自动的对话阶段发现的制作方法

文档序号:13164600阅读:188来源:国知局
自动的对话阶段发现的制作方法

本发明的实施例总体上涉及辅助内容。更特定的实施例涉及基于用户与内容服务器进行交互的特定阶段来向用户的设备推送内容。



背景技术:

在正确的时间向用户提供适当的内容已经成为内容递送产业的圣杯。在典型的内容场景中,基于从查询触发的关键字(关键字可以是包含在查询中的字或与查询相关联的字)来显示不同的内容。内容提供者在不大了解用户在多阶段对话路径中所处的阶段的情况下,需要手动地选择关键字或采用第三方所建议的关键字。对话可以是在线的(访问网页、点击购买按钮、下载app)或离线的(访问实体商店地点)。假设用户的对话是一系列逻辑过程的结果,则对话阶段对于内容提供者而言是有价值的抽象。例如,眼皮手术操作可以由以下对话阶段组成:手术→对比→转换→转换后。知道用户所处的阶段向内容可以提供者提供关于如何向用户提供其内容的良好的洞察。

现有的对话阶段模型大部分是手工的。对于不同的垂直搜索,内容提供者基于其过去经验来创建阶段。还手动地插入与阶段相关联的关键字。

附图说明

在附图中通过示例而不是限制的方式示出了本发明的实施例,在附图中,相似的参考标记指示相似的元素。

图1a是示出了根据本发明的一个实施例的用于确定用户在多阶段过程中所处的对话阶段以及基于对话阶段来向用户呈现内容的在线系统的示例的框图。

图1b是示出了根据本发明的一个实施例的用于确定用户的对话阶段以获取内容的在线系统的框图。

图1c是示出了根据本发明的一个实施例的用于在在线系统中使用的、确定用户在多阶段过程中所处的对话阶段的对话发现学习系统的信息和逻辑流的框图。

图2是示出了根据本发明的一个实施例的确定用户在多阶段过程中所处的对话阶段以及根据对话阶段来向用户呈现内容的方法的框流程图。

图3是根据本发明的一个实施例的对话阶段发现学习系统的方法的框流程图。

图4是示出了根据本发明的一个实施例的数据处理系统的框图。

具体实施方式

将参照下文论述的细节来描述本发明的各个实施例和方面,并且附图将示出各个实施例。下面的描述和附图是对本发明的说明,而不应被解释为限制本发明。描述了大量具体细节以提供对本发明的各个实施例的透彻理解。然而,在某些实例中,没有描述公知或常规细节,以便提供对本发明的实施例的简洁论述。

在说明书中引用“一个实施例”或“实施例”意指结合实施例描述的特定的特征、结构或特性可以包括在本发明的至少一个实施例中。在说明书的不同地方出现短语“在一个实施例中”不必都指代相同的实施例。

根据一些实施例,计算机实现的方法可以具有包括多个对话阶段的过程。多阶段过程可以是做出决策过程、采取动作过程、或者其它多阶段过程,其中,当用户与搜索引擎交互时,用户和内容提供者期望在多个阶段中识别用户所处于的特定阶段。每个对话阶段表示过程的分立部分,用户已经针对所述过程的分立部分发出一个或多个查询以获得与过程中的特定对话阶段相关的信息。每个查询可以具有与该查询相关联的位置信息。例如,当用户发出查询以定位摩托车经销商(在所述摩托车经销商处研究新摩托车)时,用户可能在家。稍后,用户可能处于摩托车经销店,发出关于特定型号的摩托车的价格和试骑的查询。再后来,用户可能回到摩托车商店决定是否购买摩托车。这些阶段中的每一个阶段都是涉及关于摩托车的查询的过程中的对话阶段。用于指示用户在查询时所处的位置的位置信息可以结合查询关键字使用,以确定多阶段过程的类别。对话阶段预测模型可以使用类别、位置信息以及查询关键字来确定该用户关于多阶段过程(在该案例中为买摩托车)所处的特定的对话阶段。

在另一个实施例中,可以从针对特定类别的大量用户查询日志的样本中生成阶段预测模型。在一个实施例中,可以提取针对某一类别的查询日志,所述查询日志具有多阶段过程中的类似数量的查询。可以从查询中确定关键字。可以基于位置信息来对齐查询。可以针对关键字来确定词频/逆文档频率(tf-idf),其中“文档”(针对idf)是特定的一排查询内的查询的总和。替代地,“文档”可以是针对这类查询的总和。可以使用tf-idf和位置信息来精炼查询对齐以确定在相邻的对齐的查询之间的差异显著性测量。相邻查询的差异程度(按位置对齐)是用于识别对话阶段的良好指示符。

在一个实施例中,上文功能中的任何功能可以实现为存储在非暂时性计算机可读介质上的可执行指令。在一个实施例中,系统可以包括耦合到包括指令的存储器的至少一个硬件处理器,当所述指令被至少一个硬件处理器执行时,可以实现上文功能中的任何功能。

图1a是根据本发明的一个实施例,示出了用于基于关于过程的查询来确定用户所处的多阶段过程的对话阶段以及基于对话阶段来向用户呈现内容的在线系统100的示例的框图。参照图1a,系统100包括但不限于:通过网络103通信地耦合到服务器104和105的一个或多个客户端设备101-102。客户端设备101-102还被称为用户设备,可以是任何类型的客户端设备,诸如个人计算机(例如,桌上型计算机、膝上型计算机和平板计算机)、“薄”客户端、个人数字助理(pda)、具有web功能的装置、智能手表或移动电话(例如,智能电话)等。网络103可以是任何类型的网络,例如局域网(lan)、诸如互联网等的广域网(wan)、或其组合、有线的或无线的。客户端设备101和102可以具有一个或多个装置111(诸如web浏览器)以有助于与服务器104的交互。一个或多个内容服务器107可以耦合到网络103,并且对于服务器104和105是可访问的。

根据一个实施例,用户设备101可以与终端用户相关联,其中用户设备101可以是移动设备(例如,平板计算机)、智能电话、智能手表、或者能够通过网络103与其它设备进行通信的设备。用户设备102可以是与特定实体或组织相关联的代理人、个人或合伙人的代理设备,其中代理设备102可以是移动设备(例如,平板计算机、智能电话、智能手表)、或者能够通过网络与其它设备进行通信的设备。例如,代理人可以与特定的内容项目的内容提供者相关联,在该示例中,内容提供者提供特定的内容项目(例如,受赞助的内容项目)。出于说明的目的,遍及本申请,将对用户设备、代理设备以及服务器之间的通信进行描述,以说明跟踪用户和代理人与内容项目的交互、在用户设备、代理设备以及服务器之间路由数据、以及将用户设备的用户与代理设备的代理人连接的方法。然而,将认识到的是,遍及本申请描述的技术还可以应用于其它场景。

服务器104、105和107可以是任意种类的服务器或服务器群,诸如web或云服务器、应用服务器、后端服务器、或其组合。在一个实施例中,服务器104可以包括但不限于在线阶段预测系统120。在一个实施例中,服务器104还可以包括阶段学习系统150。在另一个实施例中,阶段学习系统150可以在服务器105上。在线阶段预测系统120可以包括搜索引擎122、查询处理器130、类别模块132、阶段预测模块134、以及内容模块135。服务器104还可以包括接口(未示出),以允许客户端(诸如客户端设备101-102)访问服务器104所提供的资源和服务。接口可包括web接口、应用编程接口(api)、和/或命令行接口(cli)。

用户设备101的客户端用户应用111可以通过网络经由接口向服务器104发送搜索查询,并且搜索查询被搜索引擎122接收。响应于搜索查询,搜索引擎122可以从搜索查询中提取一个或多个关键字。查询处理器130还可以将查询的位置信息与关键字相关联。类别模块132可以从查询处理器130接收位置信息和关键字以确定查询类别。类别模块132可以确定用户的位置并且确定例如用户在查询时在摩托车商店中。类别可以是一般的或特定的。类别可以具有子类别。例如,查询模块132可以根据位置信息并且可选地根据关键字确定用户对手术感兴趣,具体地对眼皮手术感兴趣,眼皮手术是类别“手术”的子类别。或者,用户可能对摩托车感兴趣,具体地对决定是否购买新摩托车感兴趣,新摩托车是类别“摩托车”的子类别。阶段确定模块134可以确定用户关于多阶段过程所处的阶段,该被称为“对话阶段”。例如,用户可能在关于手术的手术前阶段。用户的位置在查询时可能在医院里面。替代地,用户可能在关于手术的手术后阶段。查询可以包括搜索针对术后护理、饮食考虑、药店、恢复时间等的术语。基于查询中的对话阶段和关键字,内容模块135可以向用户呈现内容。内容可以基于查询中的类别、位置、对话阶段和/或关键字。例如,在手术前对话阶段中,针对眼皮手术的类别的内容可以包括关于医院、药店、医师以及与眼皮手术相关的其它护理的内容。内容107还可以包括至与手术、手术前考虑(诸如用户是否应当计算让某人在手术之后开车将他送到家、执行手术后驾驶服务的乘车服务等)相关的医学文章的链接。对于摩托车的类别,在初始对话阶段,内容可以包括用户附近的经销商的位置、用户查询的摩托车型号的可用性、型号说明、推销、以旧换新、保修、试骑信息、保险信息、骑手小组、针对新骑手的训练等。

服务器105可以包括阶段学习系统150、内容抓取器180以及内容数据库(db)185。阶段学习系统150可以替代地在服务器104上实现。阶段学习系统150可以包括大量用户的存储的查询日志的数据库152、以及查询处理器155。查询处理器155可以查询针对特定类别的查询日志。在一个实施例中,查询处理器155可以应用随机过程以选择针对特定类别的查询日志的子集或样本。在一个实施例中,查询处理器155可以使用类别数据库(db)160来确定要用于选择针对特定类别的查询的位置和/或关键字。在一个实施例中,查询处理器155可以选择针对某一类别的具有在多阶段过程期间发出的类似数量的查询的查询日志。特征对齐模块165可以使用关键字和位置来对齐查询特征,以确定可能的对话阶段。阶段显著性模块170可以确定用户的顺序查询之间的差别是否是足够不同的用于确定对话阶段是由相邻查询之间的显著性差别指示的。在一个实施例中,阶段显著性模块170可以应用chi方分布来确定关键字关于对话阶段的拟合优度。关键字的分布的显著变化可以将阶段对话指示为在查询的两个相邻对齐之间。经识别的对话阶段可以存储在存储数据库(db)175中。存储对话阶段可以包括存储来自指示阶段对话的查询的类别、关键字以及可选地位置数据。阶段学习系统150可以处理与类别相关的用户查询的大样本,以确定针对某一类别的阶段对话关键字的置信模型。阶段学习系统150还可以包括并入类别、对话阶段、关键字以及相邻阶段之间的tf-idf显著性测量的阶段预测模型178。

在一个实施例中,可以将针对特定的多阶段过程的经识别的阶段对话、其相应的关键字以及位置信息卖给内容提供者。在一个实施例中,可以将针对特定的多阶段过程的经识别的阶段对话、其相应的关键字以及位置信息拍卖给投标人。

服务器105还可以包括内容抓取器180和内容数据库(db)185。内容抓取器180可以抓取web、访问诸如内容服务器107上的内容。内容抓取器180所获取的内容可以被过滤并且被存储在内容db185上,使得其对于服务器104上的内容模块134是易于访问的。在一个实施例中,将内容存储在内容db185中可以包括存储至内容的连接或url以及与至内容的连接或url相关的源数据。在一个实施例中,可以将与内容相关的一个或多个关键字与内容一起存储在内容db185中。在一个实施例中,可以从类别db160和/或阶段db175获得与内容相关的关键字。

客户端设备101和102上的用户应用111可以是浏览器应用或移动应用(如果用户设备是移动设备的话)。搜索引擎122可以是可从百度公司获得的搜索引擎,或者替代地,搜索引擎122可以表示搜索引擎、微软bingtm搜索引擎、搜索引擎或其它搜索引擎。

搜索引擎122(诸如web搜索引擎)是被设计为在万维网上搜索信息的软件系统。通常用经常被称为搜索引擎结果页面的一行结果来呈现搜索结果。信息可以是web网页、图像以及其它类型的文件的混合。一些搜索引擎还挖掘在数据库或开放式目录中可获得的数据。不像web目录(其仅由人类编辑来维护),搜索引擎122还可以通过在web抓取器(诸如内容抓取器180)上运行算法来维护实时信息。

web搜索引擎122通过存储关于许多web页面(它们从页面的超文本标记语言(html)标记获取这些页面)的信息来工作。这些页面是通过web抓取器(例如内容web抓取器180)来获取的,所述web抓取器是跟在站点上的每个链接之后的自动的web抓取器。搜索引擎122随后分析每个页面的内容以确定应当如何对其进行索引(例如,可以从标题、页面内容、题名、或被称为元标签的特殊字段中提取的字)。将关于web页面的数据存储在索引数据库中以用于在稍后的查询中使用。索引帮助尽可能快地找到与查询相关的信息。在一个实施例中,将页面存储在内容数据库(db)185中。

当用户在搜索引擎122中输入查询时(通常通过使用一个或多个关键字),搜索引擎122检查其索引并且根据其标准来提供最匹配的web页面的列表,通常具有包含文档的标题和有时包括部分文本的短概述。索引是根据与数据存储在一起的信息以及对该信息进行索引所采用的方法来构建的。搜索引擎122查找正如所输入的字或短语。一些搜索引擎122提供被称为邻近搜索的高级特征,其允许用户限定关键字之间的距离。还有基于概念的搜索,其中研究涉及使用对包含你搜索的字或短语的页面的统计分析。同样,自然语言查询允许用户以与向人类提问相同的形式来输入问题。

搜索引擎122的有用性取决于其返回的结果集合的相关性。虽然可能存在百万个包括特定字或短语的web页面,但是一些页面可能比其它页面更相关、更受欢迎或更权威。大部分搜索引擎122采用对结果进行排名以首先提供“最优”结果的方法。搜索引擎122如何决定哪些页面是最优匹配以及应当以什么样的顺序来显示结果从一个引擎到另一个引擎变化很大。

服务器104可以根据与搜索引擎122的交互以及查询日志数据库152中存储的搜索日志来将用户的标识符同与用户相关联的搜索活动相关。在一个实施例中,用户的标识符可以是用户用来发出搜索查询的电子设备的标识符。在一个实施例中,用户标识符可以是登录名,诸如用于利用搜索引擎122的登录凭证。当执行搜索时,可以捕获搜索活动信息并且将其日志在查询日志数据库152中。在一个实施例中,查询日志可以与发出查询的用户的标识符相关联。服务器104可以从查询日志数据库152中检索用户的用户信息。下文参照图1c描述了阶段学习系统150的额外细节。

图1b是示出了根据本发明的一个实施例的用于确定用户在发出查询时在多阶段过程中所处的对话阶段的在线阶段预测系统120的框图。

客户端(诸如客户端101)可以通过向搜索引擎122的查询/用户接口发出查询来开始使用在线阶段预测系统120。在一个实施例中,搜索引擎122可以通过包含在从用户接收的查询中的客户端101的硬件标识来识别用户。在一个实施例中,可以通过用户对线阶段预测系统120或搜索引擎122的登录名来识别用户。可以将用户查询缓存在缓存的查询日志123中,使得可以访问由同一个用户进行的先前的和后来的(“相邻的”)查询以确定相邻的查询之间的差别显著性,以确定用户在查询时在多阶段过程中所处的对话阶段。查询预处理器可以将用户的查询以及一个或多个相邻的查询处理成一个或多个关键字。类别模块可以使用关键字和与查询相关联的位置数据以及类别数据库160来确定查询的类别。阶段预测模块134可以使用阶段数据库165、阶段预测模型178、以及从类别模块132接收的关键字和类别来确定用户在查询时所处的多阶段过程中的对话阶段。内容模块135可以从阶段预测模块134接收查询的类别、查询中的关键字、以及对话阶段。内容模块135还可以分别从类别数据库160和阶段db165接收额外的类别关键字和对话阶段关键字。内容模块135可以响应于查询,使用所接收的信息中的任何或全部信息来确定呈现给用户的内容,连同查询/用户接口122处的查询结果。可以从内容服务器107和/或内容数据库185获得内容。

图1c是示出了根据本发明的一个实施例的用于在生成由阶段预测系统120使用的阶段预测模型178时使用的阶段对话学习系统150的信息和逻辑流的框图。

每次用户访问阶段对话预测系统120的搜索引擎122时,可以将用户的查询存储在查询日志数据库(查询日志db)152中。查询日志db152中的查询日志包含大量用户的一个或多个查询。在一个实施例中,查询日志db152包含超过十亿用户的查询日志。在一个实施例中,每个查询可以与用户的标识符相关联,使得可以提取特定用户的所有查询。查询日志还可以标记有位置数据(诸如gps坐标、一个或多个小区塔标识符、wifi标识符、网络地址、或这些项的组合)以确定用户是否已经去往医院以及用户去往医院多久。在一个实施例中,每个查询可以与该查询被搜索引擎122接收时的日期/时间戳一起存储。

查询日志处理器可以从针对特定类别的查询日志db选择针对多个用户的查询日志的样本。在一个实施例中,查询日志处理器155从类别db160接收类别定义。在一个实施例中,将查询日志的样本选择为具有针对多阶段过程所发出的基本类似数量的查询。例如,典型的用户可能在多阶段过程中发出用于选择和获得眼皮手术以及后续护理的十一个(11个)查询。因此,例如,可以从具有9到13个之间的查询日志db152中选择查询,以完成多阶段过程中的包括与多阶段过程的下一阶段相关的查询的阶段,诸如手术后的后续照料。具有针对多阶段过程的类似数量的查询特征对齐,以用于确定对话阶段。

对于样本中的大量用户,特征对齐模块165可以初始地基于用户在查询时所处的位置来对齐查询。例如,用户在初始地执行关于医院、医生、以及眼皮手术一般信息的前期研究时可能在家中。后来,用户可能去往一个或多个医院拜访医务人员以及查看医院设施。用户可能随后在医院发出涉及关于医院和特定医生等的研究的查询。后来,用户可能在医院接受眼皮手术并且可能发出关于出租车送回家、手术后食物、护理、或者应用于特定手术的药的查询。再后来,用户可能在家中并且发出关于家中护理、从手术恢复的时间、以及其它手术后细节的查询。特征对齐模块165可以使用查询的位置和关键字来对齐查询。阶段显著性模块可以对所对齐的查询执行词频/逆文档频率(tf-idf)计算,以确定对相邻的查询之间的差别的测量。在一个实施例中,“文档”(针对idf)是针对某一类别的样本的查询的总和。在一个实施例中,“文档”是按特征(位置或关键字)对齐的查询的总和。阶段显著性模块170可以初始地使用例如chi方分布来确定关键字的分布和关键字的tf-idf。整数编程算法(诸如模拟退火算法)可以用于确定相邻的经对齐的查询之间的显著性差别。在经对齐的查询之间的最大差别指示阶段对话。阶段显著性模块170可以向阶段db175输出类别、阶段对话描述、关键字和相关的tf-idf以及阶段显著性值。阶段预测模型178可以存储相同信息或相同信息的子集以供阶段预测系统120使用。

图2是根据本发明的一个实施例的、确定用户在发出与多阶段过程相关的查询时所处的多阶段过程中的对话阶段的方法200的框流程图。

在操作205中,在线阶段对话预测系统120的搜索引擎查询/用户接口122可以接收包含与多阶段过程相关的关键字的查询/输入。在操作210中,查询处理器130可以从搜索引擎查询/用户接口122接收与查询相关联的查询和位置信息。查询处理器130可以随后将用户查询解析成一个或多个关键字132并且根据与查询相关联的位置信息来确定用户的位置。在操作215中,类别模块132可以从查询处理器130接收查询、关键字、以及位置信息并且确定查询类别。在操作220中,阶段预测模块134可以确定用户在查询时所处的多阶段过程中的对话阶段。阶段预测模块134从类别模块132接收类别、位置、以及查询关键字。阶段预测模块134还可以接收或访问阶段db165中的对话阶段信息。阶段预测模块134还可以利用阶段预测模型178,使用类别、关键字、以及可选地使用位置来确定与用户的查询相关的多阶段过程中的用户的对话阶段。在操作230中,在线阶段预测系统120中的内容模块135可以经由搜索接口122选择内容并且将其呈现给用户。

图3是根据本发明的一个实施例的对确定用户在查询时所处的多阶段过程中的对话阶段的模型178进行训练的方法300的框流程图。

在操作305中,阶段学习系统150可以选择类别或子类别,在所述类别或子类别上训练阶段预测模型178。类别可以是例如“摩托车”以及子类别可以是“购买摩托车”。在操作310中,查询日志处理器155可以接收类别信息,诸如关键字和/或位置信息。查询日志处理器155可以选择查询日志db152以获得与该类别相关的查询日志的样本。在操作315中,查询日志处理器155可以可选地选择具有针对该类别的多阶段过程的基本类似数量的查询的查询日志。在操作320中,查询处理器155可以在查询的样本上确定多个关键字,以及确定针对关键字中的一个或多个关键字的词频/逆文档频率(tf-idf)。在操作325中,特征对齐模块165可以使用位置数据、关键字、以及关键字tf-idf信息来对齐查询特征,以确定一个或多个对话阶段。在操作330中,阶段显著性模块170可以确定差别显著性测量以发现相邻的查询之间的显著性变化。在实施例中,整数编程算法(诸如模拟退火算法)可以用于对相邻的经对齐的查询之间的差别显著性进行建模。在操作335中,如果经对齐的查询之间的差别显著性不够显著,则整数编程算法基于相邻的经对齐的查询之间的差别显著性测量来继续搜索对话阶段。如果在相邻的经对齐的查询之间发现显著变化,则在操作340中,阶段显著性模块170向阶段db175和阶段预测模型178输出每个发现的对话阶段以及与每个阶段相关联的信息。输出到阶段db175的信息可以包括对话阶段关键字、针对关键字的tf-idf值、位置信息以及类别。还可以向阶段db175输出查询日志样本大小(以样本中的平均的查询/用户的数量、查询的数据的用户的数量、和/或位置的数量的形式)。输出到阶段预测模型178的对话阶段信息可以包括用于识别每个阶段的类别、对话阶段的数量、对话阶段的描述、针对每个对话阶段的关键字、针对每个关键字的tf-idf值、以及差别显著性值。

图4是示出了可以与本发明的一个实施例一起使用的数据处理系统400的示例的框图。例如,系统400可以表示上文描述的用于执行上文描述的过程或方法中的任何过程或方法的数据处理系统中的任何数据处理系统,诸如举例来说,上文描述的客户端设备101或102、服务器102或服务器104。

系统400可以包括许多不同的组件。这些组件可以被实现为集成电路(ic)、其部分、分立电子设备、或适于电路板(诸如计算机系统的母板或插卡)的其它模块、或以其它方式并入到计算机系统的底架中的组件。

还要注意系统400旨在显示计算机系统的许多组件的高级视图。然而,要理解的是,可以在某些实现方式中存在额外的组件,并且此外,可以在其它实现方式中出现所示出的组件的不同布置。系统400可以表示桌上型计算机、膝上型计算机、平板计算机、服务器、移动电话、媒体播放器、个人数字助理(pda)、智能手表、个人通信器、游戏设备、网络路由器或集线器、无线接入点(ap)或中继器、机顶盒、或其组合。此外,虽然仅示出了单个机器或系统,但是术语“机器”或“系统”还应当被认为包括单独地或联合地执行一组(或多组)指令的机器的任何集合,以执行本文论述的方法中的任何一种或多种方法。

在一个实施例中,系统400包括经由总线或互连410的处理器401、存储器403、以及设备405-408。处理器401可以表示其中包括单个处理器内核或多个处理器内核的单个处理器或多个处理器。处理器401可以表示一个或多个通用处理器,诸如微处理器、中央处理单元(cpu)等。更特别地,处理器401可以是复杂指令集计算(cisc)微处理器、精简指令集计算(risc)微处理器、超长指令字(vliw)微处理器、或用于实现其它指令集的处理器、或用于实现指令集的组合的处理器。处理器401还可以是一个或多个专用处理器,诸如专用集成电路(asic)、蜂窝或基带处理器、现场可编程门阵列(fpga)、数字信号处理器(dsp)、网络处理器、图形处理器、网络处理器、通信处理器、密码处理器、协处理器、嵌入式处理器、或能够处理执行的任何其它类型的逻辑单元。

处理器401(其可以是低功率多核处理器插槽,诸如超低电压处理器)可以充当用于与系统的各个组件进行通信的主处理单元和中央集线器。这种处理器可以实现为片上系统(soc)。处理器401被配置为执行用于执行本文论述的操作和步骤的指令。系统400还可以包括与可选的图形子系统404进行通信的图形接口,所述图形子系统404可以包括显示器控制器、图形处理器、和/或显示器设备。

处理器401可以与存储器403进行通信,在一个实施例中,可以经由多个存储器设备来实现所述存储器403以提供给定量的系统存储器。存储器403可以包括一个或多个易失性存储(或存储器)设备,诸如随机存取存储器(ram)、动态ram(dram)、同步dram(sdram)、静态dram(sram)、或其它类型的存储设备。存储器403可以存储信息,包括由处理器401或任何其它设备执行的指令序列。例如,多种操作系统、设备驱动器、固件(例如,输入输出基本系统或bios)、和/或应用的可执行代码和/或数据可以被加载到存储器403中并且被处理器401执行。操作系统可以是任何类型的操作系统,诸如举例来说,来自操作系统、来自苹果的mac来自谷歌的或其它实时或嵌入式操作系统(诸如vxworks)。

系统400还可以包括io设备,诸如设备405-408,包括网络接口设备405、可选的输入设备406、以及其它可选的io设备407。网络接口设备405可以包括无线收发机和/或网络接口卡(nic)。无线收发机可以是wifi收发机、红外收发机、蓝牙收发机、wimax收发机、无线蜂窝电话收发机、卫星收发机(例如,全球定位系统(gps)收发机)、或其它射频(rf)收发机、或其组合。nic可以是以太网卡。

输入设备406可以包括鼠标、触摸板、触摸感应屏(其可以集成到显示器设备404中)、指向设备(诸如触控笔)、和/或键盘(例如,物理键盘或作为触摸感应屏显示的虚拟键盘)。例如,输入设备406可以包括耦合到触摸屏的触摸屏控制器。例如,触摸屏和触摸屏控制器可以使用多种触摸感应技术(包括但不限于电容式、电阻式、红外、以及表面声波技术、以及其它接近性传感器阵列或用于确定与触摸屏的一个或多个接触点的其它元素)中的任何一种来检测接触和运动或其中断。

io设备407可以包括音频设备。音频设备可以包括扬声器和/或麦克风以促进启用语音的功能,诸如语音识别、语音复制、数字日志、和/或电话功能。其它io设备407还可以包括通用串行总线(usb)端口、并行端口、串行端口、打印机、网络接口、总线桥路(例如,pci-pci桥路)、传感器(例如,运动传感器(诸如加速计)、陀螺仪、磁强计、光传感器、指南针、接近性传感器等)、或其组合。设备407还可以包括用于促进照相功能(诸如日志照片和视频剪辑)的成像处理子系统(例如,相机),其可以包括光传感器,诸如电荷耦合器件(ccd)或互补金属氧化物半导体(cmos)光传感器。某些传感器可以经由传感器集线器(未示出)耦合到互连410,而其它设备(诸如键盘或热传感器)可以由嵌入式控制器(未示出)来控制,这取决于系统400的具体配置或设计。

为了提供对信息(诸如数据、应用、一个或多个操作系统等)的持续存储,海量存储设备(未示出)也可以耦合到处理器401。在各个实施例中,为了实现更薄和更轻的系统设计以及为了提高系统反应性,该海量存储设备可以经由固态设备(ssd)来实现。然而,在其它实施例中,海量存储设备可以主要地使用硬盘驱动器(hdd)和较少量的ssd存储来实现,所述ssd充当ssd高速缓存以实现在掉电事件期间对上下文状态和其它这样的信息的非易失性存储,使得可以在再次发起系统活动时发生快速上电。闪速设备也可以例如经由串行外围接口(spi)耦合到处理器401。该闪速设备可以提供对系统软件(包括基本输入/输出软件(bios)以及系统的其它固件)的非易失性存储。

存储设备408可以包括计算机可存取存储介质409(也被称为机器可读存储介质或计算机可读介质),在所述计算机可存取存储介质409上存储用于体现本文描述的方法或功能中的一个或多个的一组或多组指令或软件(例如,模块、单元、和/或逻辑单元428)。模块/单元/逻辑单元428可以表示上述组件中的任何组件,诸如举例来说,上述搜索引擎、在线预测系统、或预测学习系统。在被数据处理系统400执行期间,模块/单元/逻辑单元428还可以完全地或至少部分地位于存储器403内和/或位于处理器401内,存储器和处理器401也组成机器可存取存储介质。模块/单元/逻辑单元428还可以经由网络接口设备405通过网络来发送或接收。

计算机可读存储介质409还可以用于持续地存储上述相同的软件功能。虽然计算机可读存储介质409在一个示例性实施例中被示为单个介质,但是术语“计算机可读存储介质”应当被认为包括存储一组或多组指令的单个介质或多个介质(例如,集中式或分布式数据库、和/或相关联的高速缓存和服务器)。术语“计算机可读存储介质”应当被认为包括能够存储或编码一组指令以被机器执行并且使得机器执行本发明的方法中的任何一种或多种方法的任何介质。因此,术语“计算机可读存储介质”应当被认为包括但不限于:固态存储器、以及光和磁介质、或任何其它非暂时性机器可读介质。

模块/单元/逻辑单元428、以及本文描述的组件和其它特征可以被实现为分立硬件组件或集成在硬件组件(诸如asic、fpga、dsp或类似设备)的功能中。另外,模块/单元/逻辑单元428可以被实现为固件或硬件设备内的功能电路。此外,可以在硬件设备和软件组件的任何组合中实现模块/单元/逻辑单元428。

注意,虽然系统400是利用数据处理系统的组件来示出的,但是其不旨在表示将组件互连的任何特定架构或方式;这是因为这样的细节不是与本发明的实施例密切相关的。还将认识到的是,具有更少组件或可能具有更多组件的网络计算机、手持计算机、移动电话、服务器、和/或其它数据处理系统也可以与本发明的实施例一起使用。

已经围绕对计算机存储器内的数据比特的操作的算法和符号表示来给出了前述具体实施方式的一些部分。这些算法描述和表示是数据处理领域的技术人员用于将其工作的实质最有效地传达给本领域的其它技术人员的方式。这里并且通常将算法设想为引起期望结果的自洽的操作序列。操作是要求对物理量的物理操控的那些操作。

然而,应当牢记的是,这些和类似术语中的所有术语将与适当的物理量相关联并且仅是应用于这些量的方便标签。除非特别声明,否者如根据上文论述显而易见的是,可以认识到遍及本描述、论述利用诸如下文权利要求中阐述的那些术语来指代计算机系统或类似的电子计算设备的动作和过程,所述动作和过程对计算机系统的寄存器和存储器内的被表示为物理(电子)量的数据进行操控并且将其转变成计算机系统存储器或寄存器或其它这样的信息存储、传输或显示设备内的被类似地表示为物理量的其它数据。

可以使用在一个或多个电子设备上存储和执行的代码来实现附图中示出的技术。这样的电子设备使用计算机可读介质(诸如非暂时性计算机可读存储介质(例如,磁盘;光盘;随机存取存储器;只读存储器;闪存设备、相变存储器)和暂时性计算机可读传输介质(例如,电、光、声或其它形式的传播信号(诸如载波波形、红外信号、数字信号)))来存储和传送(内部地和/或通过网络与其它电子设备)代码和数据。

在先前附图中描绘的处理器或方法可以由包括硬件(例如,电路,专用逻辑单元等)、固件、软件(例如,体现在非暂时性计算机可读介质上的软件)或两者的组合的处理逻辑单元来执行。虽然上文围绕一些顺序操作来描述了过程或方法,但是应当认识到的是,所描述的操作中的一些操作可以以不同的次序来执行。此外,可以并行地而不是顺序地来执行一些操作。

在前述说明书中,已经参照本发明的特定示例性实施例描述了本发明的实施例。显而易见的是,可以在不脱离在下面的权利要求书中阐述的本发明的更广精神和范围的情况下,对实施例进行各种修改。因此,说明书和附图被认为是说明性的而不是限制性的。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1