动态加载针对预测性键入的上下文本体的制作方法

文档序号:11450466阅读:249来源:国知局
动态加载针对预测性键入的上下文本体的制造方法与工艺

相关申请的引用

本申请要求在2014年10月30日提交的美国专利申请no.14/528,857的优先权,其全部内容由此通过引用并入本文。

本申请涉及数据处理。特别地,示例实施例可涉及用于动态加载针对预测性触摸屏键入的上下文本体的系统和方法。



背景技术:

随着移动设备的普及,已经开发了各种应用和接口,以扩大可以使用移动设备的应用。结果,越来越多的人可将移动设备用于除了简单地进行电话呼叫之外的其他目的。然而,因为频繁的打字错误(键入错误)和有限的屏幕尺寸,在移动设备上进行键入往往具有挑战性。为了解决这个问题,许多移动键盘在键入发生时提供自动完成的字段输入建议。但是这些键盘建议可能不适用于用户正在键入的特定上下文。例如,当在商业网站上操作时,用户键入的词可能与产品名称或特征相关,相应地提供自动完成建议。这些词在不同的上下文中可能有所不同,例如在撰写商务电子邮件时或在向朋友发送文本消息时。

附图说明

各个所附附图仅示出了本发明主题的示例实施例,并且不能被认为限制其范围。

图1是示出了根据一个示例实施例的具有被配置用于在网络上交换数据的客户端-服务器架构的网络系统的网络图。

图2是示出了形成上下文本体应用的多个模块的示例实施例的框图,所述上下文本体应用被作为图1的网络系统的一部分提供。

图3是示出了根据一些实施例的示例通信会话的界面图。

图4是示出了根据一些实施例的示例通信会话的更多交换的界面图。

图5是示出了根据一些实施例的示例通信会话的更多交换的界面图。

图6是示出根据一些示例性实施例的用于提供基于上下文的预测性键入输入的示例方法的流程图。

图7是示出根据一些示例性实施例的本体的预缓存和提供基于上下文的预测性键入输入的示例方法的流程图。

图8是示出根据一些示例性实施例的用于基于用户输入和上下文数据更新本体的示例方法的流程图。

图9是示出了计算机系统的示例形式的机器的示图表示,在所述计算机系统中,可以执行一组指令以使所述机器执行本文讨论的方法中的任意一个或多个方法。

具体实施方式

现在将具体参照用于执行本发明主题的具体示例实施例。在附图中示出了这些具体实施例的示例。应当理解,它们不旨在将权利要求的范围限制为所描述的实施例。相反,它们旨在涵盖可以包括在本发明的范围内的这种备选方案、修改和等同物。在以下描述中,阐述了具体细节,以提供对本主题的透彻理解。在没有这些具体细节中的一部分或全部的情况下,实施例也可以被实现。根据本公开,可以利用多个类型的操作系统、编程语言、计算平台、计算机程序和/或通用目的机器来实现组件、过程步骤、和数据结构。

本公开的方面描述用于动态加载针对预测性触摸屏键入的上下文本体的系统和方法。上下文可以包括与当前或之前的通信会话相关的信息,或者可以与用户的交易或查询历史、网站的内容或用户键入的词有关。上下文也可以是高度细粒度的,例如,当书写供出售的汽车的列表时,针对预测性键入加载的上下文本体可以最初特定于汽车的类别,甚至是特定的汽车类型或型号。如果用户应该列出供出售的沙发,则可以加载不同的上下文本体。如本文所使用,“用户”或“实体”可以是人(例如人类)、商业(例如公司)、组织、人群、人物角色(例如虚构角色)、机器人、或其任意组合。

根据一些实施例,可以自动存储表示通信会话的上下文的上下文数据。在其他实施例中,该方法可以包括:接收用户输入;以及响应于用户输入,收集对应于特定通信会话的上下文数据,检索对应本体,基于上下文数据和对应本体向用户呈现预测性键入输入,并且基于用户输入和与会话关联的上下文数据来更新对应本体。

该方法还可以包括:生成文本建议,并使得呈现该文本建议。以这种方式,用户可能够在移动设备上进行键入,并且接收基于输入的文本的文本建议,所述输入的文本可能与通信会话的特定上下文相关。

图1是示出了根据一个实施例的具有被配置为通过网络交换数据的客户端-服务器架构的网络系统100。网络系统100可以包括与客户端设备106和第三方服务器114通信的基于网络的内容发布方102。在一些示例实施例中,基于网络的内容发布方102可以是基于网络的市场。

基于网络的内容发布方102可以在网络系统100内进行通信和数据交换,网络系统100可以涉及与网络系统100及其用户相关联的各种功能和方面。基于网络的内容发布方102可以经由通信网络104(例如互联网)向一个或多个客户端设备(例如客户端设备106)提供服务器侧功能。一个或多个客户端设备可以由用户操作,用户通过通信网络104使用网络系统100交换数据。这些事务可以包括向网络系统100的用户发送数据、从网络系统100的用户接收(传送)数据、处理与网络系统100的内容和用户有关的数据。该数据可以包括但不限于:图像;视频或音频内容;用户偏好;产品和服务的反馈、建议和评论;产品、服务、制造商和供应商推荐和标识符;与买家和卖家相关联的产品和服务列表;产品和服务广告;排名竞价;交易数据;以及社交数据等。

在各实施例中,在网络系统100内交换的数据可以取决于用户选择的通过一个或多个客户端或用户界面(ui)可用的功能。ui可以与客户端设备(例如使用网络客户端108的客户端设备106)相关联。网络客户端108可以经由网络服务器118与基于网络的内容发布方102通信。ui还可以与在客户端设备106上执行的一个或多个应用110,例如设计为与基于网络的内容发布方102交互的客户端应用、基于网络的内容发布方102容宿的应用或服务、或容宿第三方应用116的第三方服务器114(如一个或多个服务器或客户端设备)相关联。

客户端设备106可以是任何各种类型的设备。例如,客户端设备106可以移动设备,如运行操作系统、操作系统、black操作系统、电话操作系统、os或的iphone或其他移动设备。根据一些实施例,作为备选,客户端设备106可以是平板计算机,例如或运行以上操作系统之一的其他平板计算机。在一些实施例中,客户端设备106还可以是个人数字助理(pda)、个人导航设备(pnd)、手持式计算机、台式计算机、膝上型或上网本、机顶盒(stb)(例如由电缆或卫星内容提供商提供)、可穿戴计算设备(例如眼镜或手表)、嵌入在汽车中的多媒体设备、全球定位系统(gps)设备、支持数据能力的电子书阅读器、或视频游戏系统控制台(例如任天堂微软xbox索尼playstation或其它视频游戏系统控制台)。

客户端设备106可以经由连接112与通信网络104(例如因特网或广域网(wan))进行接口连接。根据客户端设备106的形式,可使用任何类型的连接112和通信网络104。例如,连接112可以码分多址(cdma)连接、全球移动通信系统(gsm)连接、或其它类型的蜂窝连接。这一连接112可实现任一类型的数据传输技术,比如单载波无线电传输技术(1xrtt)、演进数据优化(evdo)技术、通用分组无线电服务(gprs)技术、gsm演进的增强数据速率(edge)技术或其他数据传输技术(例如,第四代无线4g网络)。当采用了这种技术时,通信网络104可包括蜂窝网络,该蜂窝网络包括通过蜂窝电话交换互联的具有重叠地理覆盖范围的多个小区站点。这些蜂窝电话交换机可以耦接到网络主干(例如,公共交换电话网(pstn)、分组交换数据网、或其他类型的网络)。

在另一示例中,连接112可以是无线保真(wifi,ieee802.11x类型)连接、全球互操作微波接入(wimax)连接或其他类型的无线数据连接。在这一实施例中,通信网络104可包括耦合到局域网(lan)、wan、互联网、或其他分组交换数据网络的一个或多个无线接入点。在又一示例中,连接112可以是有线连接,例如以太网链路,通信网络104可以是lan、wan、互联网或其他分组交换数据网络。从而,可明确地设想多种不同的配置。

图1还示出了在第三方服务器114上执行的第三方应用116,第三方服务器114可以向客户端设备106的用户提供一个或多个服务。第三方应用116可以通过由应用程序接口(api)服务器120提供的编程接口来编程访问基于网络的内容发布器102。在一些实施例中,第三方应用116可以关联于能够与客户端设备106的用户进行交易或向客户端设备106的用户提供服务的任何组织。

具体回到基于网络的内容发布方102,api服务器120和网络服务器118分别耦接到应用服务器122,并分别向应用服务器122提供编程和网络接口。应用服务器122还可以容宿基于网络的内容发布方102的用户的多个用户账户,所述用户账户可以存储在数据库130中。如图1所示,应用服务器122还可以托管上下文本体应用126,管上下文本体应用126可被配置为:基于会话上下文,从针对预测性文本的对应本体提供预测性键入输入。例如,这样的预测性文本可以呈现在客户端设备106上。

如图1所示,经由例如有线或无线接口,应用服务器122可以经由api服务器120和网络服务器118耦接到通信网络104。相应地,应用服务器122被示出为耦合到促进对数据库130的访问的数据库服务器128。在一些示例中,应用服务器122能够直接访问数据库130,而无需数据库服务器128。在一些实施例中,数据库130可以包括可位于基于网络的内容发布方102的内部或外部的多个数据库。

数据库130可以存储与关联于网络系统100及其用户的不同功能和方面有关的数据。例如,数据库130中可以存储和维护基于网络的内容发布方102的用户的用户账户。每个用户账户可包括描述特定用户的方面的用户数据。用户数据可以包括人口统计数据、用户偏好和金融信息。人口统计数据可以例如包括描述用户的一个或多个特征的信息。人口统计数据可以包括例如性别、年龄、位置信息、雇佣历史、教育历史、联系人信息、家庭关系或用户兴趣。“财务信息”可以包括例如用户的私人财务信息,例如账户编号、证书、密码、设备标识符、用户名、电话号码、信用卡信息、银行信息、交易历史或可用来促进用户的线上交易的其他财务信息。根据一些实施例,交易历史可以包括与物品或服务(统称为“产品”)的交易有关的信息,通过使用基于网络的内容发布方102提供的市场服务,商家可以提供可供销售的所述物品或服务。交易历史信息可包括例如用户购买的产品的描述、产品标识符、产品所属类别、购买价格、数量或若干次出价。

根据一些实施例,用户数据还可以包括用户活动的记录。数据库130中可以存储每个用户会话,作为会话数据,并且可以维护该会话数据,作为关于每个用户的用户数据的一部分。因此,在一些实施例中,用户数据可以包括用户已执行的过去的关键词搜索、每个用户浏览过的网页、添加到用户愿望清单或观察名单的产品、添加到电子购物车的产品、和用户拥有的产品。可以根据用户活动推断用户偏好。

虽然市场应用124和上下文本体应用126在图1中均被示出为形成基于网络的内容发布方102的一部分,但是将理解的是,在备选实施例中,上下文本体应用126可以形成与基于网络的内容发布方102分开且不同的服务的一部分。此外,虽然图1所示出的网络系统100采用客户端-服务器架构,但是本发明主题当然不限于此种架构,并且可以同样良好地应用于例如事件驱动式、分布式或对等架构系统。应用服务器122的各个模块还可以实现为不一定具有联网能力的独立的系统或软件程序。还应理解的是,虽然在单数的情况下讨论了网络系统100的各个功能组件,但是也可采用各个功能组件中的一个或多个的复数情形。

图2是示出了形成上下文本体应用126的多个模块的示例实施例的框图,所述上下文本体应用被设为基于网络的内容发布方102的一部分。上下文本体应用126被示为包括全都被配置为相互通信(例如,经由总线、共享存储器、交换机、或应用编程接口(api))的通信模块200、上下文数据模块204、本体检索模块206、预测性键入输入模块208、呈现模块210和本体数据库202。上下文本体应用126的各个模块可以经由数据库服务器128访问数据库130,并且上下文本体应用126的各个模块中的每一个可以与一个或多个第三方应用116通信。此外,上下文本体应用126的各个模块可以访问客户端设备106的机器可读存储器。

根据一些实施例,通信模块200可被配置为接收一个或多个输入/输出(i/o)设备产生的用户输入,所述输入/输出(i/o)设备可包括在客户端设备106中或通信耦接至客户端设备106。根据客户端设备106的形式,i/o设备可以是例如鼠标、触摸板、键区、键盘、多点触摸感应面(如触摸屏或触摸板)、麦克风、扬声器、相机等。用户输入可被上述i/o设备之一接收,并且在一些实施例中,可被发送至应用服务器122,以便被通信模块200接收。

本体数据库202可以被配置为存储可以由本体检索模块206访问的一个或多个上下文本体。在一些实施例中,本体数据库中的本体可被定义为两个或更多个越来越具体的本体组件的组合。例如,与“汽车”相关的本体可以由多个越来越窄的本体组件组成,例如表示“美国汽车”的本体、表示“雪佛兰制造的美国汽车”的本体,等等。

上下文数据模块204可被配置为捕捉和存储上下文数据,所述上下文数据表示通信会话的状态并且可以用于在以后回调通信会话的内容。上下文数据是指在客户端设备(例如,客户端设备106)上执行的一个或多个应用110所访问的特定网站或应用环境的内容。上下文数据的示例包括描述下述内容的元素:特定通信会话的内容和主题;用户交易历史;用户查询历史;或用户在进行在线交易、完成在线表单、进行在线调查、书写电子邮件和创建列表时执行的操作。

上下文数据可以包括客户端设备106与应用服务器122的交互,例如用户提供的信息、用户激活的按钮(或其他可视指示符)、用户完成的步骤的标识、击键、光标和指针的移动、用户取消的动作以及其他类型的点击流数据。因此,上下文数据模块204可被配置为使用一个或多个设备(例如客户端设备106)和网络系统100的各个模块来监视、跟踪和记录用户的活动和交互。

本体检索模块206可以被配置为:基于通信会话的上下文,从本体数据库202检索对应本体。在一些实施例中,用户可以通过用户界面手动指定要使用的特定本体。然后,提供给用户的对应本体将允许预测性键入输入模块208基于对应的上下文数据来生成更相关且准确的预测性键入输入。

在一些实施例中,本体检索模块206还可以被配置为定期地创建本体以填充本体数据库202。例如,本体检索模块206可以定期地从网站或在线市场接收上下文数据。本体检索模块然后可以使用所收集的上下文数据来创建最新的且相关的本体,然后所述本体可以被传递到预测性键入输入模块208,以便为用户创建预测性键入输入。

本体检索模块206还可以被配置为:基于用户历史以及上下文数据来预缓存对应本体。用户历史可以包括与用户先前创建的列表相关的信息,如物品属性、位置属性和定价信息。在一些实施例中,本体检索模块206还可以向对应本体分配等级,然后基于关于特定用户的相对等级来选择对应本体。分配的等级可以基于与特定上下文、特定用户的总使用量、或整体使用频率、或使用行为的相关性。在其他实施例中,分配的等级可以基于与特定本体相关联的转换率或投资回报,其中较高的转换率或投资回报对应于本体数据库202内的与其他本体相比的较高等级。转换率被定义为特定网站的访客中完成网站所有者设置的目标的访客的百分比。

本体检索模块206还可以被配置为:基于用户输入和用户行为来创建新的本体。例如,用户可以定期地结合特定上下文来使用特定的单词或短语。因此,本体检索模块206可以针对独一的上下文组装对应本体,并将所述本体存储在本体数据库202中。在另外的实施例中,本体检索模块206还可以基于实时用户输入来更新新的本体。在另外的实施例中。本体检索模块206还可以被配置为:基于用户输入和上下文数据来更新对应本体。在这样做时,本体可以精确地对应于特定用户的需要。

在一些实施例中,本体检索模块206可被配置为在上下文数据模块204收集对应的上下文数据时动态地检索本体。在另外的实施例中,本体检索模块206还可以被配置为:从本体数据库202中检索越来越窄的本体。在另外的实施例中,本体检索模块204可以被配置为:检索包括基准本体和类别专用本体在内的两个或更多个对应本体,使得通用的关键词、文本预测和序列不必要被再次加载。

在其他实施例中,本体检索模块206可以被配置为:通过从对应本体内的最常用的关键词开始的方式来检索和向用户流传输本体。例如,在基于上下文数据选择供使用的本体时,本体检索模块206可以流传输该对应本体中的用户最常使用的关键词,确保预测性键入输入模块208可以立即开始生成预测性键入建议。

预测性键入输入模块208可以被配置为:基于一个或多个参数并结合本体检索模块206所检索到的对应本体,提供预测性键入输入。在一些实施例中,所述参数可以包括:接收的用户输入、用户历史、以及围绕特定通信会话的上下文数据。预测文本可以具有单词或短语的形式,或者在另外的实施例中,可以是基于上下文数据的预测的价格范围、位置预测或时间帧。在与一些实施例相一致的一个示例实施例中,如果用户正在列出一对用于出售的ray-ban太阳镜,则预测性键入输入模块208可向用户提供在该特定上下文外本可能不会提供的文本建议,例如与太阳镜(甚至更具体地,ray-ban太阳镜)一起最常使用的词语和短语。在另外的实施例中,预测性键入输入模块208还可以:基于针对类似太阳镜的其他类似的列表,建议列表的价格范围或时间限制。

呈现模块210可以被配置为:将来自预测性键入输入模块208的文本建议呈现给用户。在一些实施例中,文本建议可以作为用户可选择的选项提供给用户,用户可以选择接受或拒绝所述可选择的选项。在另外的实施例中,呈现模块210可以向用户呈现两个或更多个预测性键入输入,用户可以从所述预测性键入输入中进行选择。

在用户已经选择或拒绝所建议的预测性键入输入之后,呈现模块210可以通过将响应传达给预测性键入输入模块208来进行响应。预测性键入输入模块208于是可以确定本体检索模块206所选择的特定本体对于该特定上下文是否是准确的。在一些实施例中,预测性键入输入模块208于是可以向本体检索模块206查询不同的本体,或者可以使用来自特定上下文的信息来更新本体,以便创建更准确的本体以供将来使用。

图3是示出了根据一些实施例的示例通信会话的界面图。图3中示出的第一客户端设备对应于图1的客户端设备106。如图3所示,示例通信会话可包括:用户通过键盘308在客户端设备106显示的界面上输入的用输入302,所述用户输入可以作为请求被发送给应用服务器122。

如图所示,用户输入302可以是在线市场应用中的搜索请求,在线市场应用可以生成搜索结果306。在一些示例性实施例中,可以基于对应本体、用户输入302、上下文数据和用户历史来向键入用户输入302的用户提供上下文相关的文本建议304。上下文数据可以包括特定于特定类别、物品类型或网站内容、以及用户输入302本身的主题的信息。用户历史可以包括对应于特定用户的信息,诸如用户简档信息、先前的搜索请求、交易历史和用户选择的偏好。例如,根据一些示例实施例,用户可以使用通信模块200来开始键入搜索查询。响应于该输入,上下文数据模块204可以收集对应的上下文信息以及与用户历史和用户输入相关联的信息,然后这些信息可以提供给本体检索模块206。一旦本体检索模块206接收到上下文数据,就可以向预测性键入输入模块208提供对应本体,以便向用户提供准确的上下文相关的预测性键入输入。本体检索模块206可以在本体数据库202中存储和检索本体。一旦本体检索模块206已经选择了对应本体,则预测性键入输入模块208可以使用对应本体来生成上下文相关的文本建议304。然后可以将上下文相关的文本建议304提供给呈现模块210,呈现模块210将该上下文相关的文本建议304呈现给用户。

在一些示例性实施例中,呈现模块210可以向用户提供单个上下文相关的文本建议304;然而,在其他实施例中,呈现模块210可呈现两个或更多个上下文相关的文本建议304,用户可以从中进行选择。在用户选择建议之后,呈现模块可以通过向上下文数据模块204提供该选择来进行响应,以便对本体进行改进以更好地适合特定上下文。

转到图4,示出了根据一些实施例的描绘针对在线市场中的列表的用户输入细节的用户界面图。如图所示,用户可能希望在详情(details)字段406中填写与发布有关的相关详情。在一些示例性实施例中,上下文本体应用126可以被配置为向用户提供文本建议408。文本建议408可以基于列表402的上下文和参数,如表示该物品的图像404以及列表标题410。上下文数据模块204可以被配置为从对应图像识别上下文数据。例如,用户可以上传或以其他方式提供可以标识要在列表中使用的具体物品的图像404。然后,上下文数据模块204可以识别该图像并将关联的数据递送给本体检索模块206,本体检索模块206于是可以基于该图像404来检索对应本体。然后,上下文本体应用126可以向用户提供文本建议408,用户于是可以通过选择来决定是否使用该文本建议。

在另外的实施例中,上下文本体应用126可以被配置为:当上下文数据模块204收集到更多的上下文数据时,动态地向用户提供越来越具体的本体。例如,一旦上下文数据模块204识别出图像404表示一副太阳眼镜,则可以向用户提供太阳镜的对应本体,以生成相关的文本建议。当用户键入和添加列表的详情(例如通过添加指定太阳镜的品牌或类型的列表标题410)时,上下文数据模块204可以动态地识别这些相关属性,并向用户提供更窄的本体,例如具体对应于ray-ban太阳镜的本体。当用户继续添加列表上下文的详情时,上下文数据模块204将继续动态地识别并向本体检索模块206提供数据,以便向用户提供可能的最相关的本体。

图5示出了用户希望向在线市场中的列表添加价格信息502的示例场景的界面图。在一些示例性实施例中,上下文本体应用126还可以被配置为向用户提供价格建议504。例如,上下文数据模块204可以基于相关的上下文数据来识别用户正在创建在线市场中的列表。然后,上下文数据模块204可以通过检索其他类似列表的定价信息或者从用户的先前交易历史来收集与当前列表相关的定价信息。呈现模块210然后可以向用户呈现价格建议504以供用户选择。

图6是示出用于基于上下文数据、接收到的输入和对应本体向用户提供预测性键入输入的示例方法600的流程图。方法600可以以计算机可读指令来体现,所述计算机可读指令被一个或多个处理器执行时,使得应用服务器122或客户端设备106(具体地,包括上下文本体应用126的模块200-210)可以部分或整体地执行方法600的步骤。

在操作605中,通信模块200可以接收用户输入。在操作610中,响应于用户输入,上下文数据模块204可以收集对应于该输入的上下文数据。然后,上下文数据模块204可将该上下文数据递送给本体检索模块206。在接收到上下文数据时,在操作615中,本体检索模块206可以选择存储在本体数据库202中的对应本体。本体检索模块206然后可以将对应本体提供给预测性键入输入模块208。在一些实施例中,本体检索模块206可将对应本体流传输给用户。在另外的实施例中,本体检索模块206可以向用户流传输两个或更多个对应本体,使得本体可被组合以形成更大的更全面的本体。

在操作620中,预测性键入输入模块208可以使用对应本体和上下文数据来通过呈现模块210向用户提供文本建议。在从呈现模块210接收到文本建议之后,用户可以选择选用该建议或忽略该建议。在一些实施例中,预测性键入输入模块208可以在对应本体仅被部分流传输时开始生成预测性键入输入。

图7是示出方法700的流程图,通过方法700,上下文本体应用126可以在接收用户输入之前预缓存对应本体。在操作705中,上下文本体应用126可以基于用户历史来预缓存本体。用户历史可以包括用户的交易历史、用户已经查看或创建的先前的列表、用户的搜索查询历史以及用户最常使用的本体。然后,在操作710中,通信模块200可以接收来自用户的输入。在操作715中,响应于用户输入,预测性键入输入模块208可以基于接收到的输入和预缓存的本体立即向用户提供文本建议,用户可以选择接受或拒绝该文本建议。

在操作720中,上下文数据模块204可以收集与用户输入对应的上下文数据。然后,上下文数据模块204可以将上下文数据提供给本体检索模块206。在操作725中,本体检索模块206于是可以基于用户输入、预缓存的本体和上下文数据模块204收集的上下文数据,向预测性键入输入模块208提供更窄且更具体的本体。在操作730中,预测性键入输入模块208和呈现模块210可以提供预测性键入输入。

图8示出了用于利用用户输入数据来更新本体数据库202内的本体的方法800。用户输入数据可以包括与文本输入以及被接受或拒绝的预测性键入输入建议相关联的信息。例如,用户可以拒绝预测性键入输入模块208提供的特定文本建议。结果,上下文本体应用126可以更新对应本体以在给定上下文中消除特定文本建议。在另外的示例实施例中,上下文本体应用126可以更新对应本体,以替代该建议而包括用户提供的文本输入。以这种方式,可以使用对应于特定上下文的相关信息来定期更新本体。

在操作805中,通信模块200可以接收用户输入。作为响应,在操作810,上下文数据模块204可以收集对应于该输入的上下文数据。然后,上下文数据模块204可将该上下文数据递送给本体检索模块206。在接收到上下文数据时,在操作815中,本体检索模块206可以选择存储在本体数据库202中的对应本体。本体检索模块206然后可以将对应本体提供给预测性键入输入模块208。在操作820中,预测性键入输入模块208于是可以生成文本建议,并将该建议递送给呈现模块210,然后呈现模块210可以将该建议提供给用户。然后,用户可以选择接受并使用建议的文本,或者在一些实施例中可以拒绝该建议并提供他们自己的输入文本。在操作825中,本体检索模块206可以基于用户对该建议的响应来更新对应本体。例如,如果用户接受该建议,则本体检索模块206可以通过提高对应本体相对于其他本体的等级来更新对应本体。然而,如果用户拒绝该建议并提供输入文本,则本体检索模块126可以降低对应本体的等级,并且还可以将所提供的来自用户的输入文本添加到本体以供将来使用。

在另外的实施例中,本体检索模块206还可以基于用户的键入输入来创建新的本体。本体检索模块206可以基于键入输入来创建新的本体,并且用提供给用户的所建议的关键词来实时更新新的本体。

模块、组件和逻辑

某些实施例在本文中被描述为包括逻辑或多个组件、模块或机制。模块可以构成软件模块(例如在机器可读介质上或在传输信号中体现的代码)或硬件模块。硬件模块是能够执行某些操作并可以按特定方式来配置或布置的有形单元。在示例实施例中,一个或多个计算机系统(例如独立计算机系统、客户端计算机系统或服务器计算机系统)或计算机系统的一个或多个硬件模块(例如处理器或处理器组)可以由软件(例如,应用或应用部分)配置为进行操作以执行本文描述的某些操作的硬件模块。

在各实施例中,硬件模块可以用机械方式或电子方式来实现。例如,硬件模块可以包括永久地被配置为执行某些操作的专用电路或逻辑(例如,硬件模块可以是专用处理器,例如现场可编程门阵列(fpga)或专用集成电路(asic))。硬件模块还可以包括由软件暂时配置以执行某些操作的可编程逻辑或电路(例如,包含在通用处理器或其它可编程处理器中的可编程逻辑或电路)。应理解:以机械方式、以专用和永久配置的电路或以临时配置的电路(例如由软件配置)实现硬件模块的决定可出于成本和时间的考虑。

因此,短语“硬件模块”应当被理解为包含有形实体,应当是物理构成的、永久配置(例如硬连线的)或暂时配置(例如编程的)以在特定方式下工作或以执行本文描述的特定操作的实体。考虑临时配置(例如编程)硬件模块的实施例,无需在任一时刻配置或实例化硬件模块中的每一个。例如,在硬件模块包括由软件配置的通用处理器的情况下,通用处理器就可以在不同时间被配置为各自不同的硬件模块。因此,软件可以将处理器例如配置为在一个时刻构成特定硬件模块并在另一时刻构成不同的硬件模块。

硬件模块可以向其他硬件模块提供信息并从其他硬件模块接收信息。因此,所描述的硬件模块可以被看作通信地耦合。在多个这种硬件模块同时存在的情况下,可以通过信号传输(例如在连接硬件模块的适当的电路和总线上)来实现通信。在多个硬件模块在不同时间配置或实例化的实施例中,可以例如通过存储并获取多个硬件模块可访问的存储器结构中的信息来实现这样的硬件模块之间的通信。例如,一个硬件模块可以执行操作并在与其通信耦合的存储设备中存储该操作的输出。另一硬件模块接着可以稍后访问存储器设备,以取得并处理所存储的输出。硬件模块还可以发起与输入或输出设备的通信,并且能够对资源(例如信息的集合)进行操作。

此处描述的示例方法的各种操作可以至少部分地由临时配置(例如通过软件)或永久配置为执行相关操作的一个或多个处理器执行。无论是暂时地还是永久地配置,这样的处理器可以构成进行操作以执行一个或多个操作或功能的处理器实现的模块。在一些示例实施例中,本文中提及的“模块”包括处理器实现的模块。

类似地,本文中描述的方法可以至少部分由处理器实现。例如,方法的至少一些操作可由一个或多个处理器或处理器实现的模块执行。某些操作的执行可以分布在一个或多个处理器中,并不只驻留在单个机器中,而是布置在多个机器中。在一些示例实施例中,一个或多个处理器或处理器可以位于单个地点(例如在家庭环境、办公室环境或服务器群中),而在其他实施例中,处理器可以分布在多个地点。

一个或多个处理器还可以操作以支持在“云计算”环境下的相关操作的执行或作为“软件即服务”(saas)的相关操作的执行。例如,至少一些操作可以由一组计算机(例如,包括处理器的机器)来完成,这些操作是可经由网络(例如,互联网)以及经由一个或多个适当的接口(例如,api)访问的。

电子装置和系统

示例实施例可以用数字电子电路或者用计算机硬件、固件、软件或它们的组合来实现。示例实施例可以使用计算机程序产品来实现,计算机程序产品例如是在信息载体中有形地表现的计算机程序,信息载体例如是由数据处理装置执行的机器可读介质或用于控制数据处理装置的操作的机器可读介质,数据处理装置例如是可编程处理器、计算机、或多个计算机。

可以以任何形式的编程语言来编写计算机程序,该编程语言包括:编译或解释语言,并且可以以任何形式来部署计算机程序,包括部署为独立的程序或者部署为适合于用于计算环境的模块、子例程,或者其它单元。计算机程序可以被配置为在一个计算机执行或在位于一个地点处的多个计算机上执行或者在分布在多个地点上并通过通信网络互连的多个计算机上执行。

在示例实施例中,操作可以通过一个或多个可编程处理器执行计算机程序来执行,以通过操作输入数据并产生输出来执行功能。方法操作还可以通过由专用逻辑电路(例如,fpga或asic)来执行,并且示例实施例的装置可以实现为专用逻辑电路。

计算系统可以包括客户端和服务器。客户端和服务器一般相互远离并且通常通过通信网络进行交互。客户端和服务器的关系通过在相应计算机上运行并且相互具有客户端-服务器关系的计算机程序来产生。在使用可编程计算系统的实施例中,将清楚的是,需要考虑硬件架构和软件架构二者。具体地,将清楚的是,在永久配置的硬件(例如asic)中、在暂时配置的硬件中(例如软件与可编程处理器的组合)、或是在永久配置的与暂时配置的硬件的组合中实现特定功能可以是设计选择。下文阐述了可以在各种示例实施例中部署的硬件架构(例如机器)和软件架构。

示例机器架构和机器可读介质

图9是示出了具有计算机系统900的示例形式的机器的示图表示,在所述计算机系统中,可以执行一组指令924以使所述机器执行本文讨论的方法中的任意一个或多个方法。根据一些实施例,计算机系统900可以对应于客户端设备106、第三方服务器114或应用服务器122。在备选实施例中,机器可以作为独立设备来操作,或者可以连接(例如联网)到其它机器。在连网部署中,该机器可以在服务器-客户端网络环境中以服务器机器或客户端机器的能力进行操作,或者在对等(或分布式)网络环境中作为对等机器进行操作。机器可以是个人计算机(pc)、平板pc、机顶盒(stb)、pda、蜂窝电话、智能电话(例如)、平板计算机、网络设施、网络路由器、交换机或桥接器、或能够(顺序地或以其他方式)执行指定要由机器进行动作的指令的任何机器。此外,尽管只示出了单个机器,但是术语“机器”还应当被视为包括单独或共同地执行指令集合(或多个集合)以执行本文描述的任意一个或多个方法的机器的任意集合。

示例计算机系统900包括处理器902(例如中央处理单元(cpu)、图形处理单元(gpu)或这二者)、主存储器904和静态存储器906,它们经由总线908相互通信。计算机系统900还可包括视频显示单元910(例如液晶显示器(lcd)或阴极射线管(crt))。计算机系统900还包括一个或多个输入/输出(i/o)设备912、位置组件914、磁盘驱动单元916、信号产生设备918(例如扬声器)、以及网络接口设备920。i/o设备912可以例如包括键盘、鼠标、小键盘、多触摸表面(例如,触摸屏或跟踪板)、麦克风、相机等。

位置组件914可用于确定计算机系统900的位置。在一些实施例中,位置组件914可对应于可利用网络接口设备920来与gps卫星传送gps信号的gps收发机。位置组件914还可被配置为通过使用互联网协议(ip)地址查找或通过基于附近的移动通信塔进行三角定位来确定计算机系统900的位置。位置组件914还可被配置为在主存储器904或静态存储器906中存储用户定义的位置。在一些实施例中,启用移动位置的应用可与位置组件914和网络接口设备920联合工作,以将计算机系统900的位置发送到应用服务器或第三方服务器,以便识别操作计算机系统900的用户的位置。

在一些实施例中,网络接口设备920可对应于收发机和天线。根据计算机系统900的性质,收发机可以配置为经由天线发送和接收蜂窝网络信号、无线数据信号或其它类型的信号。

机器可读介质

磁盘驱动单元916包括机器可读介质922,在机器可读介质上存储了体现本文描述的任何一个或多个方法或功能、或被本文描述的任何一个或多个方法或功能使用的数据结构和指令924(例如软件)的一个或多个集合。当计算机系统900执行指令924时,指令924还可以完全地或至少部分地位于主存储器904、静态存储器906和/或处理器902中,主存储器904和处理器902还构成机器可读介质。

根据一些实施例,指令924可涉及操作系统(os)的操作。此外,根据一些实施例,指令924可涉及由应用(通常称为“app”)执行的操作。这种应用的一个示例是使用浏览器显示内容(比如,网页或用户界面)的移动浏览器应用。

尽管在示例性实施例中,机器可读介质922被示出为单个介质,但是术语“机器可读介质”可以包括存储一个或多个数据结构或指令924的单个介质或多个介质(例如,集中式或分布式数据库和/或相关联的缓存和服务器)。术语“机器可读介质”还应当被视为包括能够存储、编码或承载被该机器执行并且使该机器执行本公开的方法中的任意一个或多个的指令(例如指令924)或者能够存储、编码或承载被此类指令利用或与此类指令1024相关联的数据结构的任意有形介质。术语“机器可读介质”因此应当被看做包括但不限于:固态存储器以及光学和磁介质。机器可读介质的具体示例包括:非易失性存储器,其以示例的形式包括半导体存储器设备,例如可擦除可编程只读存储器(eprom)、电可擦除可编程只读存储器(eeprom)、以及闪存设备;磁盘,例如内部硬盘和可拆卸盘;磁光盘;以及cd-rom和dvd-rom盘。

此外,在一个实施例中,机器可读介质是瞬时的,体现在其实现传播信号。

传输介质

指令924还可以使用传输介质来在通信网络926上发送或接收。指令924可以使用网络接口设备920以及多个已知传输协议中的任意一个(例如http)来传输。通信网络的示例包括lan、wan、互联网、移动电话网络、pots网络以及无线数据网络(例如wifi和wimax网络)。术语“传输介质”应当被看做包括能够存储、编码或携带用于由机器执行的指令924的任何无形介质,并且包括数字或模拟通信信号或其它无形介质,以促进这样的软件的通信。在一个实施例中,传输介质是机器可读介质的实施例。

下面的编号示例是实施例。

1.一种方法,包括:

在通信会话期间接收来自用户的键入输入;

收集对应于所述输入和所述通信会话的上下文数据;

基于所述上下文数据从本体数据库中检索对应本体,其中,所述本体包括在生成预测性键入输入中使用的关键词;以及

基于所述输入、所述上下文数据和所述对应本体提供预测性键入输入。

2.根据示例1的方法,其中,所述上下文数据能够包括一个或多个参数,所述参数包括用户交易历史、用户查询历史、网站内容和所述通信会话的内容。

3.根据示例1或示例2的方法,还包括:将所述预测性键入输入作为文本建议传送;

其中,所述文本建议能够是单词、短语、数值量、价格项或其组合;

其中,用户能够接受或拒绝使用所述文本建议;以及

其中,用户能够用自定义用户输入替换所述文本建议。

4.根据示例1至3中任一项所述的方法,其中中,所述通信会话包括第一时间段和第二时间段,并且所述方法还包括:

在通信会话中的第一时段期间接收来自用户的第一键入输入;

收集对应于所述第一键入输入和通信会话中的第一时间段的第一上下文数据;

基于所述第一上下文数据,从本体数据库中检索第一对应本体;

基于所述第一键入输入、所述第一上下文数据和所述第一对应本体,提供预测性键入输入;

在通信会话中的所述第二时间段期间接收来自用户的第二键入输入;

收集对应于所述第二键入输入和通信会话中的所述第二时间段的第二上下文数据;

基于所述第二上下文数据,从本体数据库中检索第二对应本体;以及

基于所述第二键入输入、所述第二上下文数据和所述第二对应本体,提供预测性键入输入。

5.根据示例1至4中任一项所述的方法,还包括用户本地保存相应的本体;和

自动调用对应本体。

6.根据示例1至5中任一项所述的方法,其特征在于,进一步包括基于上下文数据和用户输入定期地创建新的本体;

存储所述新本体是存储在本体数据库中;以及

用后续的相关用户输入来更新所述新本体,其中,所述后续的相关用户输入与所述上下文数据和所述用户输入对应。

7.根据示例1至6中任一项所述的方法,其中,两个或更多个本体能够被流传输给用户,所述两个或更多个本体包括基准本体和类别专用本体;

其中,对应本体的最常用关键词首先被流传输给用户;

其中,所述两个或更多个对应本体被用于生成预测性键入建议;以及

其中,能够在所述两个或更多个对应本体仅被部分加载时生成所述预测性键入建议。

8.根据示例1至7中任一项的方法,其中,所述对应本体能够由两个或更多个本体组件组成;

其中,所述对应本体和所述两个或更多个本体组件从最宽泛的本体组件开始动态加载,并且基于所述上下文数据和所述输入提供附加的较窄的本体组件。

9.根据示例1到8中任一项所述的方法,还包括:

基于使用频率、转换率、使用行为和文本建议的准确性,向所述对应本体分配等级;

其中,所述使用频率是:与本体数据库中的其他本体相比,用户使用所述对应本体的总次数;

其中,较高的转换率对应于本体数据库内的较高的整体等级;

其中,所述使用行为基于所使用的来自所述对应本体的关键词;以及

其中,预测性键入建议的准确性被计算为用户拒绝的预测性键入建议与用户接受的预测性键入建议之比;以及

预缓存具有关于用户的所分配的最高等级的对应本体。

10.根据示例2所述的方法,还包括:基于与先前的通信会话相关联的先前的上下文数据、用户交易历史和用户查询历史,预缓存对应本体。

11.一种动态加载上下文本体的系统,包括:

通信模块,配置为在通信会话期间接收来自用户的输入;

上下文数据模块,配置为收集对应于来自用户的所接收的输入和所述通信会话的上下文数据;

本体数据库,包括本体;

本体模块,配置为基于所述上下文数据从所述本体数据库中检索对应本体;

预测性键入输入模块,配置为:基于所述上下文数据、所述所接收的输入和所述对应本体,生成预测性键入输入,其中,由所述预测性键入输入模块生成的预测性键入输入是文本建议;以及

呈现模块,配置为向用户呈现所述预测性键入输入。

12.根据示例11所述的系统,其中相应的本体可以包括两个或更多个本体组件;

其中,所述本体模块还被配置为从最宽泛的本体组件开始动态地检索所述对应本体和所述两个或更多个本体组件,并且基于所述上下文数据和所述所接收的输入提供附加的窄本体组件。

13.根据示例11或12所述的系统,其中,所述通信模块还被配置为:接收用于接受所述文本建议的用户输入;和

接收用于拒绝所述文本建议的用户输入。

14.根据示例11至13中任一项所述的系统,其中,所述本体模块还被配置为:向所述对应本体分配等级;

其中,所述等级基于使用频率、转换率、使用行为和文本建议的准确性;

其中,所述使用频率是:与本体数据库中的其他本体相比,用户使用所述对应本体的总次数;

其中,较高的转换率对应于本体数据库内的较高的整体等级;

其中,所述使用行为基于所使用的来自所述对应本体的关键词;以及

其中,预测性键入建议的准确性被计算为用户拒绝的预测性键入建议与用户接受的预测性键入建议之比。

15.根据示例11至14中任一项所述的系统,其中,所述本体模块还配置为预缓存对应本体。

16.一种存储指令的机器可读存储介质,所述指令在由处理器执行时,使所述处理器执行动态加载上下文本体的方法,所述方法包括:

在通信会话期间接收来自用户的输入;

收集对应于所述输入和所述通信会话的上下文数据;

基于所述上下文数据从本体数据库检索对应本体;以及

基于所述输入、所述上下文数据和所述对应本体,生成预测性键入输入。

17.根据示例16所述的机器可读存储介质,其中,所述对应本体能够包括两个或更多个本体组件;

其中,所述动态加载上下文本体的方法还包括:

从最宽泛的本体组件开始,动态地检索所述对应本体和所述两个或更多个本体组件,并且基于所述上下文数据和所述输入提供附加的窄本体组件。

18.根据示例16或17所述的机器可读存储介质,其中,所述预测性键入输入是能被用户接受或拒绝的文本建议。

19.根据示例16至18中任一项所述的机器可读存储介质,其中,所述动态加载上下文本体的方法还包括:

预缓存所述对应本体。

20.根据示例16至19中任一项所述的机器可读存储介质,其中,所述动态加载上下文本体的方法还包括:

向所述对应本体分配等级。

21.一种承载指令集的机器可读介质,当所述指令集被处理器执行时,使得所述处理器执行根据示例1至10中任一项所述的方法。

尽管已经参照特定示例实施例描述了本发明主题的实施例,显然可以对这些实施例做出各种修改和改变,而不离开本发明主题的更宽泛的范围。因此,说明书和附图应当被看做说明性的而不是限制意义的。形成可以实现主题的具体实施例的一部分的附图是作为说明而不是限制的方式示出的。充分详细地描述示出的实施例以使得本领域技术人员能够实现本文公开的教导。可以利用并根据这些实施例得出其他实施例,从而可以在不脱离本公开的范围的情况下做出结构和逻辑上的替换和改变。因此,该“具体实施方式”部分不应当看做是限制意义,并且各种实施例的范围仅通过所附权利要求以及权利要求的等同物的全部范围来限定。

本发明主题的这些实施例被单独地和/或统一地由术语“发明”来指代,其仅是为了方便,而不是旨在主动将本申请的范围限制为任意单个发明或发明构思(如果实际上不止一个实施例被公开的话)。因此,尽管本文示出并描述了特定实施例,应当理解,适于实现相同目的的任意设置都可以用于替换所示出的特定实施例。本公开意在覆盖各种实施例的任意和所有的适应性修改或变化。通过研究上述内容,上述实施例的组合以及本文中没有具体描述的其它实施例对于本领域技术人员来说将是明显的。

本文中提到的所有公开、专利和专利文件通过引用的方式单独全文并入本文中。在本文中与通过引用并入的文件之间的使用不一致的情况下,并入的参考文献中的使用应当被看做对本文件的补充;对于不可调和的不一致,以本文件中的使用为准。

在本文件中,如专利文件中常见的,术语“一”或“一个”用于包括一个或多个,区别于“至少一个”或“一个或多个”的任何其它实例或使用。在本文中,除非另有指示,否则术语“或”用于表示非排他性的“或”,使得“a或b”包括“a但不是b”、“b但不是a”以及“a和b”。在附加的权利要求中,术语“包括”和“在其中”用作相应术语“包含”和“其中”的英语等同体。此外,以下权利要求中,术语“包括”和“包含”是开放式的;也就是说,包括除了在权利要求中的该术语之后列出的以外的内容的系统、设备、物品或过程生将被视为落入该权利要求的范围内。此外,在下文的权利要求中,术语“第一”、“第二”、“第三”等仅用做标记,并且并不旨在于对这些对象强加数量要求。

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