用于内容选择的自动用户语言检测的制作方法

文档序号:31753795发布日期:2022-10-11 23:27阅读:36来源:国知局
用于内容选择的自动用户语言检测的制作方法
用于内容选择的自动用户语言检测


背景技术:

1.在诸如因特网的计算机联网环境中,内容提供者可以提供要插入到由在客户端设备上运行的应用(例如,网络浏览器)处理和渲染的信息资源(例如,网页)中的内容项。


技术实现要素:

2.至少一个方面涉及用于自动检测用户语言以进行内容选择的系统和方法。具有与存储器耦合的一个或多个处理器的数据处理系统可以从客户端设备接收对识别帐户简档的内容的请求。数据处理系统可以使用识别帐户简档的多个活动的日志记录来从多种语言中确定第一候选语言集合。数据处理系统可以响应于对内容的请求,来根据排名识别要呈现给客户端设备的多个信息资源。数据处理系统可以基于每个信息资源中的内容和每个信息资源的对应排名,从多种语言中确定第二候选语言集合。数据处理系统可以识别被包括在第一候选语言集合和第二候选语言集合两者中的语言集合,该语言集合包括来自多种语言的第一语言和第二语言。数据处理系统可以以一个或多个数据结构存储帐户简档、第一语言和第二语言之间的关联。
3.在一些实施方式中,数据处理系统可以基于第一语言在响应于对内容的请求而识别的多个信息资源或多个活动中的至少一个中的第一出现次数来生成第一语言的第一置信度分数。在一些实施方式中,数据处理系统可以基于第二语言在响应于对内容的请求而识别的多个信息资源或多个活动中的至少一个中的第二出现次数来生成第二语言的第二置信度分数。
4.在一些实施方式中,数据处理系统可以响应于确定第一语言的第一置信度分数大于阈值分数,将第一语言包括到第一候选语言集合中。在一些实施方式中,数据处理系统可以响应于确定第二语言的第二置信度分数大于阈值分数,将第二语言包括到第二候选语言集合中。
5.在一些实施方式中,数据处理系统可以识别第一语言的第一多个内容项和第二语言的第二多个内容项。在一些实施方式中,数据处理系统可以向客户端设备提供从第一多个内容项和第二多个内容项中的一个选择的内容项,该内容项是以第一语言或第二语言中的一个。
6.在一些实施方式中,数据处理系统可以识别第一语言的第一多个内容项和第二语言的第二多个内容项中的每个内容项的选择值。在一些实施方式中,数据处理系统可以根据内容选择协议从第一多个内容项和第二多个内容项选择内容项以提供给客户端设备,该内容项是以第一语言或第二语言中的一个。
7.在一些实施方式中,数据处理系统可以识别与第一语言或第二语言的内容项相关联的信息资源。在一些实施方式中,数据处理系统可以确定内容项的语言对应于信息资源的语言。在一些实施方式中,数据处理系统可以响应于确定内容项的语言对应于信息资源的语言,将内容项添加到多个候选内容项以供客户端设备从中选择。
8.在一些实施方式中,数据处理系统可以从帐户简档的语言设置、在客户端设备上
运行的应用的语言配置或被包括在对内容的请求中的一个或多个关键字中的至少一个识别第三候选语言集合。在一些实施方式中,数据处理系统可以识别被包括在第一候选语言集合、第二候选语言集合和第三候选语言集合中的语言集合。
9.在一些实施方式中,数据处理系统可以基于在日志记录中识别的多个活动从多种语言确定包括以下中的至少一个的多个活动:从客户端设备接收的搜索查询、客户端设备对信息资源的访问、以及与信息资源上的元素的交互。在一些实施方式中,数据处理系统可以基于在响应于对内容的请求而识别的跨多个信息资源的第二候选语言集合的每种语言的频率从多种语言确定。
10.在一些实施方式中,数据处理系统可以从客户端设备接收包括一个或多个关键字的查询。在一些实施方式中,数据处理系统可以使用查询的一个或多个关键字执行搜索操作以识别多个信息资源。在一些实施方式中,数据处理系统可以提供包括多个信息资源中的至少一个以及从第一语言的第一多个内容项和第二语言的第二多个内容项中的一个选择的内容项的输出,该内容项是以第一语言或第二语言中的一个。
11.下面详细讨论这些和其他方面和实施方式。前述信息和以下详细描述包括各个方面和实施方式的说明性示例,并且提供了用于理解要求保护的方面和实施方式的性质和特征的概述或框架。附图提供了对各个方面和实施方式的说明和进一步理解,并且被结合到并构成了本说明书的一部分。
附图说明
12.附图并非旨在按比例进行绘制。各个附图中相似的附图标记和名称表示相似的元素。为了清楚的目的,并非每个组件可以被标记在每个附图中。在附图中:
13.图1是根据说明性实施例的用于自动检测用户语言以用于内容选择的系统的框图;
14.图2是根据说明性实施例的用于自动检测用户语言以用于内容选择的系统的查询处理过程的序列图;
15.图3是根据说明性实施例的用于自动检测用户语言以用于内容选择的系统的语言剖析(language profiling)过程的序列图;
16.图4是根据说明性实施例的用于自动检测用户语言以用于内容选择的系统的结果评估过程的序列图;
17.图5是根据说明性实施例的用于自动检测用户语言以用于内容选择的系统的内容选择过程的序列图;
18.图6是根据说明性实施例的用于自动检测用户语言以用于内容选择的系统的结果提供过程的序列图;
19.图7是根据说明性实施例的自动检测用户语言以用于内容选择的方法的流程图;和
20.图8是示出根据说明性实现的计算机系统的一般架构的框图,该计算机系统可以被采用以实现本文描述和示出的系统和方法的元素。
具体实施方式
21.下面是对与在联网环境中确定用户语言的方法、装置和系统相关的各种概念和实施方式的更详细描述。上面介绍的和下面更详细讨论的各种概念可以以多种方式中的任何一种方式来实现,因为所描述的概念不限于任何特定的实施方式。
22.内容分发平台的集中式服务可以使用任意数量的选择参数从各种内容提供者选择内容项以发送到客户端设备。每个内容项可能已被配置为以一种特定语言(例如,英语)呈现音频、视频或文本内容。每个内容项的选择参数可以由相应的内容提供者设置,以定义当与特定语言标识符相关联时将内容项提供给客户端设备。当从客户端设备接收到对内容的请求或查询时,服务可以识别客户端设备的用户使用(use)的语言。可以从与用户相关联的帐户的语言设置、客户端设备上的应用(例如,网络浏览器)的语言配置或查询本身的文本中识别语言。利用该识别,服务可以响应于请求来选择并提供具有使用(in)与为客户端设备识别的语言相同的语言的内容的内容项中的一个。例如,当识别为由请求客户端设备的用户使用中的语言也是意大利语时,服务可以提供具有如选择参数中所指定的意大利语的视频内容的内容项。
23.以这种方式的选择内容项的一个缺点可能是这种方法忽略了请求客户端设备的用户可能是多语言(例如,西班牙语和意大利语)的可能性。这种疏忽可能会因许多用户(包括绝大多数多语言用户)没有自行报告他们在帐户简档或应用设置中使用哪种语言的事实而进一步加剧。这种方法的另一个缺点可能是识别用户使用的其他语言的准确性非常低,即使接收到的查询是不同的语言。这可能是因为查询的文本通常很短,因此在给出有限的上下文中不明确,其中查询中的关键字可能是使用多种语言的词。例如,包含关键字“taxi(出租车)”的查询可能是模糊的,因为很难确定用户想要的语言是英语还是法语,还是其他语言,因为所有这些语言都使用这个词。
24.结果,对于这样的多语言用户(例如,西班牙语和意大利语两者),用于潜在选择的候选内容项的集合可能被限制为语言之一(例如,西班牙语或意大利语),从而排除用户可能熟悉或精通的其他语言。排除使用其他语言的此类内容项可能会导致计算和网络资源的更大消耗,因为用户可能会重复查询以找到相关内容。此外,从其他语言中排除内容项也可能导致用户与客户端设备之间的人机交互(hci)质量更低,因为内容可能仅使用一种语言,但不使用用户熟悉的其他语言。
25.为了应对这些和其他技术挑战,内容分发平台的服务可以基于各种质量和覆盖程度的各种信号的混合来确定请求客户端设备的用户使用的语言。该服务可以从帐户或应用设置中识别用户声明的语言,并且还可以从查询本身的关键字导出语言。除了这些因素之外,该服务还可以从客户端设备的浏览历史构建用户语言简档。该服务可以识别经由客户端设备执行的如在浏览历史中被识别的各种访问活动。活动可以包括例如访问信息资源(例如网页)、在信息资源的图形用户界面上录入输入(例如评论)、以及导致信息资源的先前查询等。通过该识别,服务可以确定与访问活动相关联的语言以构建用户语言简档。该服务还可以考虑从用户声明和用户语言简档中查询本身的关键字识别的语言。用户语言简档可以指示客户端设备的用户被预测为使用一种或多种语言。
26.结合起来,服务可以从查询的搜索结果中识别客户端设备的用户使用的语言。在识别中,服务可以使用查询的一个或多个关键字执行网络搜索操作,以找到内容与关键字
匹配或相关的信息资源的集合。网络搜索操作可以涉及以查询使用或调用搜索引擎,并将信息资源的集合作为搜索结果返回。可以基于指示结果信息资源与查询的关键字的相关性的排名来按顺序对信息资源的集合进行排序。该服务可以解析每个信息资源以从信息资源上的内容确定语言。该服务可以通过考虑从其导出语言的信息资源的排名以及所确定的语言在搜索结果的信息资源中的频率来缩小语言的数量。
27.服务可以从在构建的用户语言简档中指示的初始的语言的集合识别每种识别的语言的候选内容项的集合。每个内容项可以具有指示当为用户确定的语言与由内容提供者定义的语言匹配时要选择内容项的选择参数。该服务可以通过识别用户简档中的语言的集合与从搜索结果确定的语言的集合之间的交集来过滤用户简档中的语言。通过过滤为用户预测的语言数量,该服务可以通过扩展过滤有资格被选择以提供给客户端设备的候选内容项的集合。
28.一旦内容项被过滤,服务可以运行内容选择过程以选择内容项以提供给客户端设备。这可能导致选择与用户在帐户简档或应用设置中声明的语言不同的语言的内容项。例如,递交查询的客户端设备可以将帐户简档设置为指示用户使用英语,但浏览历史可能指示用户经常访问波兰语网页。根据访问历史和搜索结果,可以确定用户懂英语和波兰语两者,并且可以为有资格的内容项的池选择使用任一种语言的内容项。从内容选择过程中,服务也可以选择使用任一语言的内容项。提供给客户端设备的内容项可以与使用查询的关键字找到的搜索结果一起呈现。所提供的内容项的语言可以使用与搜索结果的至少某些不同的和与其他一些搜索结果相同的语言。
29.通过以这种方式使用多个因素,与仅使用用户声明的语言或从查询的关键字导出的语言相比,预测用户使用的语言的准确度可以显著增加,多至70%-90%。此外,要从中选择和提供的内容项的集可以扩展为包括以更高的准确度和精确度确定的多种语言。包含这些内容项以用于选择可以导致计算和网络资源的消耗减少,用户经过客户端设备进行较少的查询以找到相关内容。结合预测语言准确性的提高,跨多种语言添加内容项可以导致用户和客户端设备之间的hci质量更高,因为内容可以使用确定用户知道的任何语言。
30.由于第一语言和第二语言已经基于帐户简档的活动和响应于对内容的请求而识别的信息资源两者来确定,所以选择的内容项使用用户熟悉的语言。因此,凭借在本文公开的方法,以高准确度提供更大的可理解内容项的池。还改进了向客户端设备提供的内容项的选择,因为它是从多于一种语言的内容项中提取的。因此,该方法有效地选择用户可以理解的内容项,因为准确地确定了用户对多于一种语言的精通。因此,可以从比现有方法提供的更大的数据池中做出对可理解的内容数据的选择。
31.现在参考图1,所描绘的是描绘用于确定用户语言的计算机联网环境或系统100的一种实施方式的框图。总的来说,系统100可以包括用于系统100的组件之间的通信的至少一个网络105。系统100可以包括至少一个数据处理(processing)系统110,以处理经由网络105传送的请求。数据处理系统110可以包括至少一个查询处理器(handler)135、至少一个查询处理器135、至少一个简档导出器140、至少一个搜索评估器145、至少一个语言评价器150和至少一个内容聚合器155等等。系统100可以包括至少一个内容提供者115,以提供内容项。系统100可以包括至少一个内容发布者120,以提供信息资源(例如,网页)。系统100可以包括至少一个客户端设备125,以经由网络105进行通信。系统100可以包括至少一个索引
服务130(在本文中有时称为搜索引擎和网络爬虫),以使用由客户端设备125提供的一个或多个关键字来查找信息资源。系统100的每个组件(例如,网络105、数据处理系统110及其组件、内容提供者115及其组件、内容发布者120及其组件、以及客户端设备125及其组件)可以使用本文结合图8详细描述的计算系统800的组件来实现。
32.更详细地,系统100的网络105可以将数据处理系统110、内容提供者115、内容发布者120和客户端设备125彼此通信耦合。系统100的数据处理系统110、内容提供者115和内容发布者120中的每一个可以包括位于至少一个数据中心或服务器群中的多个服务器,这些服务器经由网络105彼此通信地耦合。数据处理系统110可以经由网络105与内容提供者115、内容发布者120和客户端设备125进行通信。内容提供者115可以经由网络105与数据处理系统110、内容发布者120和客户端设备125进行通信。内容发布者120可以经由网络105与数据处理系统110、内容发布者120和客户端设备125通信。客户端设备125可以经由网络105与数据处理系统110、内容提供者115和内容发布者120通信。
33.内容提供者115可以包括由内容提供者实体操作的服务器或其他计算设备,以提供内容项以用于在客户端设备125处在信息资源上显示。由内容提供者115提供的内容可以采取任何方便的形式。例如,第三方内容可以包括与其他显示内容相关的内容,并且可以是例如与显示内容相关的网站页面。内容可以包括用于在信息资源上显示的第三方内容项或创意(例如广告),诸如包括由内容发布者120提供的主要内容的信息资源。内容项也可以显示在搜索结果网页上。例如,内容提供者115可以提供或作为内容项的来源,用于显示在信息资源(诸如其中网页的主要内容由公司提供的公司的网页)的内容槽(content slot)(例如,内嵌框架元素)中,或用于显示在搜索引擎提供的搜索结果登录页面上。与内容提供者115相关联的内容项可以显示在网页之外的信息资源上,诸如作为在智能手机或其他客户端设备125上应用的运行的一部分而显示的内容。
34.内容发布者120可以包括由内容发布实体操作的服务器或其他计算设备,以经由网络105提供包括用于显示的主要内容的信息资源。例如,内容发布者120可以包括提供主要内容以在信息资源上显示的网页运营商。信息资源可以包括除了由内容发布者120提供的内容之外的内容,并且信息资源可以包括被配置用于显示来自内容提供者115的内容项的内容槽。例如,内容发布者120可以操作公司的网站,并且可以提供有关该公司的内容以显示在网站的网页上。网页可以包括被配置用于显示由内容提供者115或由内容发布者120本身提供的内容项的内容槽。在一些实施方式中,内容发布者120可以包括操作搜索引擎网站的搜索引擎运营商的搜索引擎计算设备(例如服务器)。搜索引擎网页(例如,结果或登陆网页)的主要内容可以包括搜索的结果以及显示在信息资源的内容槽中的第三方内容项,诸如来自内容提供者115的内容项。
35.数据处理系统110可以包括由内容放置(placement)实体操作的服务器或其他计算设备,以选择或识别经由网络105要插入到信息资源的内容槽中的内容项。在一些实施方式中,数据处理系统110可以包括由搜索引擎运营商操作的服务器和计算设备。在一些实施方式中,数据处理系统110可以包括内容放置系统(例如,在线广告服务器或其他数据提供者)。数据处理系统110可以维护内容项的清单以从中进行选择,以通过网络105提供而插入到信息资源的内容槽中。可以在数据处理系统110可访问的数据库上维护清单。内容项或内容项的标识符(例如,地址)可以由内容提供者115提供。在一些实施方式中,数据处理系统
110可以包括操作搜索引擎网站的搜索引擎运营商的搜索引擎计算设备(例如服务器)。搜索引擎网页的主要内容(例如,结果或登陆网页)可以包括搜索的结果以及显示在信息资源的内容槽中的第三方内容项,诸如来自内容提供者115的内容项。
36.每个客户端设备125可以包括用以经过网络105进行通信来显示数据的计算设备。显示内容可以包括内容发布者120提供的内容(例如,信息资源)和内容提供者115提供的内容(例如,用于在信息资源的内容槽上显示的内容项),如由数据处理系统110所识别的。客户端设备125可以包括台式计算机、膝上型计算机、平板计算机、智能手机、个人数字助理、移动设备、消费者计算设备、服务器、客户端、数字视频记录机、电视机顶盒、视频游戏控制台、或配置为经由网络105进行通信的任何其他计算设备。
37.索引服务130可以包括由搜索引擎服务操作的服务器或其他计算设备,以聚合可经由网络105访问的信息资源并响应于对客户端设备125的查询来提供搜索结果。在一些实施方式中,索引服务130可以是数据处理系统110或内容发布者120的一部分。在一些实施方式中,索引服务130的功能可以分布在数据处理系统110、内容提供者120或索引服务130中的一个或多个上。搜索引擎网页(例如,结果或登陆网页)的主要内容可以包括搜索结果以及显示在信息资源的内容槽中的第三方内容项,诸如来自内容提供者115的内容项。
38.客户端设备125可以由至少一个用户160操作或使用(例如,使用输入/输出(i/o)设备)。在一些实施方式中,用户160可以与客户端设备125a相关联(例如,经由帐户登录到客户端设备125a)。用户160可以精通或可以理解多种语言,例如第一语言165a和第二语言165b(以下总称为语言165)。语言165可以包括任何自然语言,诸如英语、西班牙语、法语、德语、普通话、印度乌尔都语、阿拉伯语、俄语、葡萄牙语、日语、韩语、印度尼西亚语和意大利语等。语言165可以用文本表示(例如,使用符号)。用户160还可以精通或理解一种语言,诸如第一语言165a或第二语言165b。
39.现在参考图2,描绘了用于自动检测用户语言以用于内容选择的系统100的查询处理过程200的序列图。如图所示,客户端设备125可以运行或包括至少一个应用205。应用205可以是在客户端设备125上可运行以经由网络105访问资源的程序。例如,应用205可以是网络(web)浏览器、网络应用、移动应用或文字处理应用等。应用205可能已经从数据处理系统110或内容发布者120检索或取回至少一个信息资源210(例如,网页)。信息资源210可以包括一个或多个用户界面元素,用户160利用这些用户界面元素可以经由客户端设备125的i/o设备进行交互以输入。在一些实施方式中,信息资源210可以对应于来自数据处理系统110的搜索引擎网页。搜索引擎网页可以包括至少一个用户界面元素(例如,文本框)以输入用于搜索内容的查询。对信息资源210的用户界面元素的输入可以根据第一语言210a或第二语言210b。
40.应用205可以具有至少一种语言配置215(在本文中有时称为语言设置)或与至少一种语言配置215相关联。语言配置215可以定义、指定或以其他方式识别要在应用205上使用的一种或多种语言。根据语言配置215,应用205可以发送对指定语言的内容的请求并检索一个或多个指定语言的信息资源(例如,信息资源210)。例如,语言配置215可以指定要使用葡萄牙语。在该示例中,应用205可以通过发送对指定葡萄牙语的内容的请求来取回葡萄牙语网页。在一些实施方式中,可以将应用215的语言配置215设置为默认语言。默认语言可以基于客户端设备125的地理区域、客户端设备125的语言设置(例如,由操作系统(os)指
定),或由应用205预先配置。
41.此外,应用205、客户端设备125或用户160可以与至少一个帐户简档220相关联。帐户简档220可以对应于下述帐户或与下述帐户相关联:用户160用该帐户被认证以使用客户端设备125或应用205。例如,用户160可以使用帐户标识符和用于要登录的帐户的密码来登录以使用应用205。帐户简档220可以经由帐户标识符与用户160相关联。可以在客户端设备125或可经由应用205访问的远程服务(例如,数据处理系统110)上维护帐户简档220。帐户简档220可以定义、指定或以其他方式识别与用户160(或扩展的帐户)、客户端设备125或应用205相关联的一种或多种语言(例如,经由帐户的语言设置)。与语言配置215一样,由帐户简档220指定的语言可用于发送对内容的请求并检索一个或多个信息资源(例如,信息资源210)。
42.在客户端设备125上运行的应用205可以生成至少一个对内容的请求225,并通过网络105将其传输到数据处理系统110。请求225的生成和传输可以响应于用户160经由在客户端设备125上运行的应用205(例如,用户元素)的输入。请求225可以识别帐户简档220。在一些实施方式中,请求225可以包括引用用户160的标识符(例如,在指定字段中的字母数字字符的集合)、关联帐户或帐户简档220。在一些实施方式中,请求225可以包括或可以对应于经由搜索引擎网页生成的搜索查询。例如,请求225可以在应用205上加载的搜索引擎网页上输入查询时生成。在一些实施方式中,请求225可以包括或识别与应用205或客户端设备125相关联的语言配置215。例如,请求225可以包括由语言配置215指示的一种或多种语言。
43.请求225可以包括一个或多个关键字230a-n(以下总称为关键字230)。请求225的一个或多个关键字230的输入可以经由客户端设备125的一个或多个i/o设备来执行。查询230的一个或多个关键字230可以对应于或包括文本输入中的字母数字字符的集合。在一些实施方式中,查询230的关键字230可以对应于信息资源210(例如,搜索引擎)的元素上的输入。在一些实施方式中,输入可以是经由麦克风或用于音频输入的另一种形式的换能器进行的音频输入。查询230的一个或多个关键字230可以对应于音频输入的与字母数字字符的集合对应的部分。在一些实施方式中,应用205可以使用自然语言处理(nlp)技术(例如,语音识别)将输入音频转换成字母数字字符的集合(例如,文本)以作为查询230的关键字230包括在内。在一些实施方式中,输入音频可以包括在查询230中以在数据处理系统110处被转换为字母数字字符的集合。
44.在数据处理系统110上运行的查询处理器135可以检索、识别或以其他方式接收来自客户端设备125的请求225。在接收时,查询处理器135可以解析查询处理器135以识别关键字230。在一些实施方式中,查询处理器135可以提取请求225中包括或识别的文本输入。使用提取的文本,查询处理器135可以确定或识别一个或多个关键字230。例如,查询处理器135可以将由空格或换行符彼此分隔的字母数字字符的集合分组或识别为请求225的关键字230。在一些实施方式中,查询处理器135可以提取在请求225中包括或识别的音频输入。查询处理器135可以应用nlp技术(例如,语音识别)来从请求225的音频输入的一个或多个部分识别关键字230。在应用nlp技术时,查询处理器135可以建立、训练和维护语音识别模型以应用于音频来识别关键字230。
45.使用与请求225相关联或由请求225识别的信息,在数据处理系统110上运行的查
询处理器135可以确定或识别候选集合240的候选语言235a-n(下文总称为候选语言235)。候选语言235可以是估计、预测或以其他方式确定用户160使用一种或多种候选语言325。与请求225相关联的信息可以包括语言配置215、帐户简档220和关键字230。在一些实施方式中,查询处理器135可以基于与应用205或客户端设备125相关联的语言配置215来确定或识别候选语言235。查询处理器135可以解析请求225以识别由语言配置215定义为候选语言235的一种或多种语言。查询处理器135可以将从语言配置215识别的候选语言235添加、插入或包括到候选集合240。
46.在一些实施方式中,查询处理器135可以基于帐户简档220来确定或识别候选语言235的集合。查询处理器135可以解析请求225以识别帐户简档220。例如,查询处理器135可以解析请求225以提取与帐户简档220相关联的帐户标识符,并且可以找到与帐户标识符相关联的帐户简档220。从帐户简档220,查询处理器135可以识别定义为由用户160使用的一种或多种语言。查询处理器135可以将从帐户简档220识别的候选语言235添加、插入或插入到候选集合240。
47.在一些实施方式中,可以由数据处理系统110建立和维护至少一个语言识别模型245,以确定在请求225的关键字230中使用的语言。语言识别模型245可以是人工智能(ai)算法或机器学习(ml)模型(例如,人工神经网络、n-gram模型、贝叶斯网络、随机森林、支持向量机或决策树等)。一般而言,语言识别模型245可以包括输入的集合、输出的集合、以及权重(在本文中有时称为参数)的集合以使输入和输出相关。输入可以包括文本(例如,从请求225中提取的关键字230)。输出可以包括或识别文本所用的语言235。在一些实施方式中,输出还可以包括指示文本对于每种语言235的置信度的可能性度量。权重可以根据ai算法或ml模型的架构。
48.可以使用训练数据集来训练语言识别模型245(例如,通过数据处理系统110)。训练可以根据有监督或无监督学习算法。训练数据集可以包括为语料库标记的每种语言235的文本的语料库。通过将来自每个语料库的文本应用到语言识别模型245,可以从语言识别模型245生成对应于语言235中的一个的结果。基于结果与训练中数据集的语料库的标记语言的比较,可以确定误差。误差可以是均方误差(mse)、均方根误差(rmse)或交叉熵误差等。使用该误差,可以调整或修改语言识别模型245的权重。可以重复语言识别模型245的权重的更新,直到收敛。例如,当确定权重值的变化小于收敛阈值时,可以确定语言识别模型245的权重已经收敛。可以在从一个或多个客户端设备125接收请求225之前执行语言识别模型245的建立和训练。
49.在一些实施方式中,查询处理器135可以基于请求225的关键字230中的一个或多个来识别或确定候选语言235。第一语言210a可以指代在请求225的关键字230中使用的语言。为了确定,在一些实施方式中,查询处理器135可以将语言识别模型245应用到请求225的关键字230。在应用中,查询处理器135可以将请求225的关键字230作为输入反馈给语言识别模型245。查询处理器135可以使用语言识别模型245的权重来处理输入以生成或产生输出。语言识别模型245的输出可以指示请求225的关键字230使用哪种语言235。在一些实施方式中,输出可以包括具有对应的可能性度量的语言210。查询处理器135可以从由语言识别模型245生成的输出中识别语言210。在一些实施方式中,查询处理器135可以识别具有由语言识别模型245计算的最高可能性度量的语言235。查询处理器135可以将使用语言识
别模型245确定的候选语言235添加或插入到候选集合240。
50.现在参考图3,描绘了用于自动检测用户语言以用于内容选择的系统100的语言剖析过程300的序列图。如图所示,从至少一个数据库330,简档导出器140可以针对请求225识别的帐户简档220选择或识别至少一个日志记录305。日志记录305可以被维护和存储在数据库300上。日志记录305包括或识别一个或多个活动310a-n(以下总称为活动310)。在一些实施方式中,日志记录305的活动310可以使用一个或多个数据结构来布置。例如,日志记录305可以使用利用数据库管理系统(dbms)维护的关系数据库来维护,并且可以包括日志记录305的每个活动310的条目。
51.可以在数据库300上针对特定客户端设备125、特定应用205或特定帐户简档220(例如,如所描绘的)维护日志记录305。在日志记录305中识别的活动310可以对应于由与帐户简档220相关联的客户端设备125(或应用205)经由网络105执行的先前动作。活动310也可以与内容相关联或包括内容。在一些实施方式中,日志记录305的至少一个活动310可以包括或对应于从客户端设备125接收到的对内容的请求(例如,搜索查询)。例如,包括关键字的搜索查询可能已经从与帐户简档220相关联的客户端设备125递交以使用关键字检索网页。在一些实施方式中,日志记录305的至少一个活动310可以包括或对应于客户端设备125对信息资源(例如,网页)的访问。例如,cookie可以用于识别由与帐户简档相关联的客户端设备125访问的网页,并且客户端设备125的访问可以记录在日志记录305上。在一些实施方式中,日志记录305的至少一个活动310可以包括或对应于经由客户端设备125执行的与信息资源上的元素的交互。例如,与帐户简档220相关联的用户165可以在网页上输入评论,并且评论可以通过记录在日志记录305上的活动310来识别。
52.使用日志记录305的一个或多个活动310,简档导出器140可以选择、识别或确定候选集合240'的一种或多种候选语言235'a-n(下文总称为候选语言235')。在一些实施方式中,简档导出器140可以选择或识别活动310的子集以用于确定候选集合240'的候选语言235'。例如,简档导出器140可以从在接收请求225之前的时间窗口选择活动310的子集。对于从日志记录305识别的每个活动310,简档导出器140可以识别或确定候选语言235'。在确定时,简档导出器140可以解析活动310以识别由客户端设备125(或应用205)经由网络执行的动作。
53.利用该识别,简档导出器140可以识别与对应于记录的活动310的动作相关联的内容。该内容可以包括例如对内容的请求中的关键字、访问的信息资源上的文本、以及在信息资源上的一个或多个用户界面元素上的输入等等。简档导出器140可以将语言识别模型245应用到与活动相关联的内容,以按照上面所述的方式确定候选语言235'。可以通过日志记录305重复识别活动310和从与活动310相关联的内容确定候选语言235'的过程。
54.对于从活动310识别的每种候选语言235',简档导出器140可以计算、确定或以其他方式生成置信度分数。置信度分数可以指示用户165实际使用对应候选语言235'的概率或确定度。在计算中,简档导出器140可以从日志记录305的活动310识别候选语言235'的出现次数。在一些实施方式中,简档导出器145可以维护计数器以跟踪从解析日志记录305的活动310识别的候选语言235'的出现次数。基于出现次数,简档导出器140可以生成置信度分数。在一些实施方式中,简档导出器140可以使用对应语言235'的出现频率来确定置信度分数。该频率可以基于对应候选语言235'的出现次数和所有识别出的候选语言235'的出现
总次数。一般来说,出现次数越多,置信度分数可能越高。相反,出现次数越少,对应候选语言235'的置信度分数可能越低。
55.使用置信度分数,简档导出器140可以确定是否在候选集合240'中添加或包括候选语言235'。在一些实施方式中,简档导出器140可以选择对应于n个最高置信度分数的候选语言235'以包括到候选集合240'。在一些实施方式中,简档导出器140可以将对应候选语言235'的置信度分数与阈值分数进行比较,以确定是否包括到候选集合240'。阈值分数可以描绘或划分对应候选语言235'被包括在候选集合240'中的置信度分数的值。当置信度分数满足(例如,大于或等于)阈值分数时,简档导出器140可以选择对应候选语言235'以包括到候选集合240'。另一方面,当置信度分数不满足(例如,小于)阈值分数时,简档导出器140不选择对应候选语言235'以包括在候选集合240'中。
56.有益地,通过使用置信度分数来确定是否将候选语言包括到候选集,候选集中的不同语言的数量可以仅在已经充分使用候选语言(即满足或超过阈值分数)时增加。例如,当置信度分数没有满足或超过阈值分数时,已确定候选语言的使用不足以使这种语言成为候选集合的一部分。由于以这种方式使用阈值分数,候选集合可能仅包括特定用户实际理解的语言。因此,这避免了增加候选集合的大小,并因此避免了不必要地增加该方法可识别的内容项的数量。通过将内容项的数量准确地限制为仅用户能够使用的那些语言,该方法能够更有效地以用户可理解的语言提供内容项。
57.现在参考图4,描绘了用于自动检测用户语言以用于内容选择的系统100的结果评估过程400的序列图。如图所示,在数据处理系统110上运行的搜索评估器145可以使用请求225的关键字230来进行、运行或以其他方式执行至少一个搜索操作405,以识别至少一个查询结果410。为了执行搜索操作405,搜索评估器145可以使用请求225的关键字230的关键字来调用(invoke)索引服务130。在一些实施方式中,搜索评估器145可以通过转发请求230'(在此也称为查询)来发送或提供关键字230。请求230'可以包括原始请求230的关键字230的至少一个子集。在一些实施方式中,搜索评估器145可以生成并发送包括原始请求225的关键字230的请求225'以提供给索引服务130。
58.索引服务130可以聚合可经由网络105(例如,因特网)访问的一个或多个信息资源(例如,网页)。在一些实施方式中,索引服务130可以通过网络105进行或执行索引过程(在本文中也称为网络索引或爬虫(spidering))以识别信息资源420a-n(在下文中总称为信息资源420)。每个信息资源420可以由标识符(例如,统一资源定位符(url))唯一地标识或引用。此外,每个信息资源420可以包括内容(例如,文本或视听)并且可以与元数据相关联。索引服务130可以解析每个识别的信息资源420以提取或识别包括在信息资源420中的至少一部分内容以及与信息资源420相关联的元数据。利用该识别,索引服务130可以维护和存储信息资源420的标识符、内容的至少该部分、以及数据库410上的元数据。
59.在接收时,索引服务130可以解析请求225'(或请求225)以提取或识别一个或多个关键字230'。使用关键字230',索引服务130可以识别一个或多个信息资源420。在一些实施方式中,索引服务130可以使用关键字230'来搜索数据库410以找到经由索引过程而聚合的一个或多个信息资源420。在识别中,索引服务130可以将来自请求225'的关键字230'与信息资源420的内容或元数据进行比较。在一些实施方式中,索引服务130可以使用或应用自然语言处理(nlp)过程来比较关键字230'与信息资源420的内容或元数据。例如,索引服务
130可以使用语义知识图来生成具有语义相似性(例如,同义词)的附加单词和短语作为请求225'的关键字230'。然后索引服务130可以使用附加关键字或短语来匹配信息资源420的内容或元数据。基于比较,索引服务130可以确定信息资源420的内容或元数据的至少一部分是否匹配或对应于一个或多个关键字230'。在一些实施方式中,索引服务130可以确定信息资源420包括与关键字230'或附加的相关联的词和短语匹配的内容或元数据。
60.根据该确定,索引服务130可以生成至少一个查询结果415以提供给搜索评估器145。查询结果415可以包括或识别被确定为具有匹配或对应于请求225'的关键字230'的内容或元数据的一个或多个信息资源420。当确定信息资源402的内容或元数据不匹配或不对应于任何关键字230'时,索引服务130可以从查询结果415中排除信息资源420。相反,当信息资源402的内容或元数据被确定为匹配或对应于关键字230'时,索引服务130可以将信息资源420添加或包括到搜索查询415。
61.通过对要包括的一个或多个信息资源420的识别,索引服务130可以确定或生成查询结果415的至少一个排名425。排名425可以指定、定义或识别与请求225'的关键字230'相关的信息资源420的相关度。排名425还可以识别信息资源420(或信息资源420的标识符)将被呈现(例如,在搜索结果页面上)的顺序。在确定时,索引服务130可以计算、确定或生成每个识别的信息资源420的相关性分数。相关性分数的计算可以基于关键字230'在信息资源420的内容或元数据中的出现次数。基于识别的信息资源420的相关性分数,索引服务130可以确定排名425。一般而言,查询结果415中给定信息资源420的相关性分数越高,信息资源420在排名425方面可能越高。相比之下,查询结果415中给定信息资源420的相关性分数越低,信息资源420在排名425方面可能越低。随着生成,索引服务130可以向搜索评估器145发送或提供查询结果415。
62.搜索评估器145可以从搜索操作405识别根据排名425排序的信息资源420。在一些实施方式中,搜索评估器145可以解析从索引服务130接收的查询结果415,以识别信息资源420和排名425。基于信息资源420和排名425,搜索评估器145可以选择、识别或确定候选集合240”的一种或多种候选语言235”a-n(以下总称为候选语言235”)。对于每个信息资源420,搜索评估器145可以识别或确定信息资源420所用的候选语言235”。搜索评估器145可以解析信息资源420以提取或识别内容的至少一部分。搜索评估器145可以将语言识别模型245应用于信息资源420的内容,以按照上述方式确定候选语言235”。可以通过查询结果415重复识别信息资源420和候选语言235”的过程。
63.在一些实施方式中,搜索评估器145可以使用候选集合240'来布置和生成候选集合240”。搜索评估器145可以使用候选集合240'中的候选语言235'作为候选集合240”的候选语言235”的初始集合。当确定候选语言235'在查询结果415的一个或多个信息资源240中时,搜索评估器145可以维护来自候选集合240”的候选语言235'。否则,当确定在查询结果415的任何信息资源240中都没有找到候选语言235'时,搜索评估器145可以从候选集合240中移除候选语言235'。
64.对于从信息资源420中识别的每种候选语言235”,搜索评估器145可以计算、确定或以其他方式生成置信度分数。置信度分数可以指示用户165实际使用对应候选语言235”的概率或确定度。在计算中,搜索评估器145可以从查询结果415的信息资源420识别候选语言235”的出现次数。在一些实施方式中,搜索评估器145可以维护计数器以跟踪从解析查询
结果415的信息资源420识别的候选语言235”的出现次数。此外,搜索评估器145可以从排名425识别被识别为候选语言235”的信息资源420的一个或多个顺序。如上面所讨论的,排名425可以指示信息资源420与关键词230的相关度,并且可以识别信息资源420在查询结果415中的顺序。
65.基于从信息资源420的排名425识别的顺序和出现次数,搜索评估器145可以生成每种候选语言235”的置信度分数。在一些实施方式中,搜索评估器145可以使用对应语言235”的出现频率来确定置信度分数。该频率可以基于对应候选语言235”的出现次数和所有识别出的候选语言235”的出现总次数。一般而言,出现次数越高且排名425中的顺序越高,候选语言235”的置信度分数可能越高。相反,出现次数越低且排名425中的顺序越低,对应候选语言235"的置信度分数可能越低。
66.使用置信度分数,搜索评估器145可以确定是否在候选集合240”中添加或包括候选语言235”。在一些实施方式中,搜索评估器145可以选择对应于n个最高置信度分数的候选语言235”以包括到候选集合240”。在一些实施方式中,搜索评估器145可以将对应候选语言235”的置信度分数与阈值分数进行比较以确定是否包括到候选集合240”。阈值分数可以描绘或划分对应候选语言235”将包括到候选集合240”的置信度分数的值。当置信度分数满足(例如,大于或等于)阈值分数时,搜索评估器145可以选择对应候选语言235”以包括到候选集合240”。另一方面,当置信度分数不满足(例如,小于)阈值分数时,搜索评估器145不选择对应候选语言235”以包括在候选集合240”中。
67.如上面已经描述的,通过使用置信度分数来确定是否将候选语言包括到候选集中,候选集合中的不同语言的数量仅可以在已经充分使用候选语言(即满足或超过阈值分数)时增加。因此,这避免了增加候选集合的大小,并因此避免了不必要地增加通过该方法可识别的内容项的数量。通过将内容项的数量准确地限制为仅用户能够使用的那些语言,该方法能够更有效地以用户可理解的语言提供内容项。
68.现在参考图5,描绘了用于自动检测用户语言以用于内容选择的系统100的内容选择过程500的序列图。如图所示,在数据处理系统110上运行的语言评价器150可以从候选集合240、240'、240”的候选语言235、235'、235”确定或识别用户160所使用的语言集合505的一种或多种语言(例如,语言165a和165b)。在一些实施方式中,语言评价器150可以从该确定中省略候选集合240(和候选语言235)。在一些实施方式中,语言评价器150可以确定或识别候选集合240、240'、240”之间的交集以识别共同的候选语言235、235'、235”。当一种或多种候选语言235、235、235”在所有候选集合240、240'、240”中被找到时,语言评价器150可以将其识别或确定为共同的。相比之下,当一种或多种候选语言235、235、235”在少于所有候选语言集合240、240'、240”中被找到时,语言评价器150可以将其识别或确定为不是共同的。基于该交集,语言评价器150可以确定或识别共同的候选语言235、235'、235”作为针对语言集合505的用户160使用的语言。
69.语言评价器150可以将语言集合505的识别语言(例如,所描绘的语言165a和165b)与帐户简档220相关联。语言评价器150还可以将帐户简档220与语言集合505的一种或多种语言的关联存储到数据库300上并对其进行维护。关联可以以在数据库300上存储和维护的一个或多个数据结构(例如,链表、数组、树、dmbs上的条目)的方式。相反,语言评价器150还可以将在候选集合240、240'、240”之间的交集之外的候选语言235、235'、235”确定或识别
为未被与客户端设备125相关联的用户160使用。在一些实施方式中,语言评价器150可以将交集之外的语言识别为不与帐户简档220相关联。语言评价器150还可以将帐户简档220的关联的缺乏存储到数据库300上并对其进行维护。该关联可以以在数据库300上存储和维护的一个或多个数据结构(例如,链表、数组、树、dmbs上的条目)的方式。
70.在数据处理系统110上运行的内容聚合器155可以在数据库300(或单独的数据库)上维护来自一个或多个内容提供者115的内容项510的集合。每个内容项510可以对应于或包括要经由客户端设备125呈现的文本、图像、音频、视频或多媒体内容。内容项510可以对应于或包括要插入到信息资源(例如,信息资源210)上的对象。根据html5,该对象可以是例如内嵌框架、文本对象、图像、音频对象、画布对象或视频对象等。每个内容项510可以由标识符(诸如url或另一字母数字字符的集合等)引用。
71.在一些实施方式中,内容聚合器155可以经由网络105从内容提供者115检索、识别或接收内容项510本身。在接收时,内容聚合器155可以在数据库300上存储和维护内容项510。在一些实施方式中,内容聚合器155可以从内容提供者115检索、识别或接收内容项510的标识符。内容项510的标识符可以引用或对应于由内容提供者115存储或维护的内容项510的位置,并且可以是例如url或另一字母数字字符的集合等。在接收时,内容聚合器155可以在数据库300上存储和维护内容项510的标识符。
72.内容项510可以包括一种或多种语言165(例如,所描绘的第一语言165a和第二语言165b)的内容。例如,如所描绘的,内容项510可以包括第一语言165a的内容项510a-1到510a-x(以下总称为内容项510a)。内容项510还可以包括第二语言165b的内容项510b-1到510b-x(以下总称为内容项510b)。每个内容项510可以与至少一个选择标准相关联。选择标准可以指定、定义或识别参数,根据这些参数将选择相关联的内容项510作为提供给客户端设备125的候选者。例如,内容项510可以包括由“xyz”公司提供的足球的文本和图像。在该示例中,相关联的选择标准510可以指定客户端设备125先前访问过包含与足球或公司相关的内容的信息资源(例如,网页)。选择标准的参数可以包括帐户段、地理区域和设备类型等。选择标准可以由将内容项510提供给数据处理系统110的内容提供者115配置或设置。
73.在一些实施方式中,内容项510识别为用一种语言可以由内容提供者115提供。例如,当将内容项510递交给数据处理系统110时,内容提供者115可以发送标记内容项510的语言165(例如,作为第一语言165a或第二语言165b之一)的指示。在一些实施方式中,内容项510识别为用一种语言165可以由语言评价器140以上述方式执行。例如,在接收到内容项510时,内容聚合器155可以将语言识别模型305应用于内容项510的内容以确定内容项510的语言。
74.在一些实施方式中,内容聚合器155可以验证或确定内容项510的语言是相关联的信息资源的相同语言。信息资源可以经由包含在内容项510中的链接来关联。例如,相关联的信息资源可以是内容项510的登陆页面。为了验证,内容聚合器155可以识别与内容项510关联的信息资源(例如,经由链接)。内容聚合器155可以将内容项510所用的语言与相关联的信息资源所用的语言进行比较。内容聚合器155可以通过将语言识别模型245应用于内容项510来确定内容项510的语言。此外,内容聚合器155可以通过将语言识别模型245应用于信息资源来确定相关联的信息资源的语言。当语言被确定为匹配或对应时,内容聚合器155可以将内容项510包括或添加到相应语言的候选集合中。否则,当语言被确定为不匹配或不
对应时,内容聚合器155可以将内容项510从相应语言的候选集合中排除。
75.现在参考图6,描绘了用于自动检测用户语言以用于内容选择的系统100的结果提供过程600的序列图。如图所示,内容聚合器155可以识别或选择至少一个内容项510'以提供给客户端设备125。内容项510'的选择可以来自使用第一语言165a的内容项510a的集合和使用第二语言165b的内容项510b的集合。在一些实施方式中,内容聚合器155可以针对每个识别的内容项510生成、确定或识别选择值。选择值可以用于识别至少一个内容项510'以提供给客户端设备125以供呈现。内容项510的选择值的确定可以基于请求225和内容项510的选择标准之间的比较。例如,内容聚合器155可以通过比较请求225中的关键字230、帐户简档202的段、以及客户端设备125的设备类型和位置等与确定选择值的内容项510的选择标准,来确定选择值。
76.使用内容项510的选择值,内容聚合器155可以从使用第一语言165a的内容项510a的集合和使用第二语言165b的内容项510b的集合中选择内容项510'。在一些实施方式中,内容聚合器155可以选择对应于最高选择值的内容项510'。在一些实施方式中,内容聚合器155可以根据内容选择协议来选择内容项510'。内容选择协议可以包括例如实时竞价协议和头部竞价协议等。内容选择协议的操作可以分布在数据处理系统110、内容提供者115和客户端设备125之间。在执行内容选择协议时,内容聚合器155可以从具有候选集合515a或515b中的内容项510的每个内容提供者115检索、识别或接收递交值(例如,竞价值)。在一些实施方式中,内容聚合器155可以将递交值与内容提供者115的内容项510的选择值组合以修改或确定选择值。在组合时,内容聚合器155可以识别或选择对应于最高选择值的内容项510以用作所选择的内容项510'。所选择的内容项510'可以来自使用第一语言210a的候选集合或使用第二语言210b的候选集合。
77.利用该选择,内容聚合器155可以向客户端设备125发送、传输或提供内容项510'。在一些实施方式中,内容聚合器155可以向内容项510'提供从搜索操作405识别的信息资源420(或信息资源420的标识符)。内容项510'和信息资源420的提供可以经由至少一个输出605。应用205可以经由网络105接收从数据处理系统110发送的内容项510'。在接收时,应用205可以在信息资源215'上呈现内容项510'。在一些实施方式中,应用205可以根据排名425在信息资源215'上呈现信息资源420。例如,信息资源215'可以是搜索结果页面,并且可以呈现信息资源420的对应标识符、连同内容项510'。
78.以这种方式,系统100可以改进数据处理系统110和客户端设备125的整体功能。通过确定客户端设备125的用户160能够以目标方式理解多种语言165a和165b,候选集合515a和515b可以扩展为包括使用这些语言165a和165b的内容项。最后,从候选集合515a和515b中选择的内容项510'可以是语言165a或165b,并且可以被提供用于呈现给操作客户端设备125a的用户160。结果,信息资源220'可以使用第一语言165a,而插入内容槽610中的内容项510'可以使用第二语言165b。通过消除针对使用那些语言165的内容提供单独查询的必要性,包含使用多种语言165a和165b的内容可以减少客户端设备125和数据处理系统110两者处的计算资源的消耗。此外,用户160和系统100之间的人机交互(hci)可以通过以潜在的多种语言165呈现内容来增强。
79.现在参考图7,描绘了自动检测用户语言以用于内容选择的方法700的流程图。方法700可以使用本文结合图1至图6和图8详细描述的任何组件来实施或由其执行。方法700
还可以包括本文结合图1至图6和图8详细描述的任何组件的动作、操作和功能。简而言之,数据处理系统可以接收对内容的请求(705)。数据处理系统可以从对内容的请求确定候选语言(710)。数据处理系统可以从日志记录确定候选语言(715)。数据处理系统可以从搜索结果确定候选语言(720)。数据处理系统可以识别使用的语言(725)。数据处理系统可以选择内容项(730)。数据处理系统提供带有内容项的输出(735)。
80.更详细地,数据处理系统(例如,数据处理系统110)可以接收对内容的请求(例如,请求225)(705)。对内容的请求可以包括来自客户端设备(例如,客户端设备125)的一个或多个关键字(例如,关键字235)。关键字可以是搜索查询的一部分,并且可以用于识别索引的信息资源。该请求可以识别帐户简档(例如,帐户简档220)或与该帐户简档相关联。
81.数据处理系统可以从对内容的请求确定候选语言(例如,候选语言235)(710)。数据处理系统可以解析该请求以识别客户端设备的语言配置或帐户简档的语言设置。此外,数据处理系统可以使用模型(例如,语言识别模型245)来识别关键字所用的语言。根据解析,数据处理系统可以识别候选语言以包括到候选集(例如,候选集合240)。
82.数据处理系统可以从日志记录(例如,日志记录305)确定候选语言(例如,候选语言235')(715)。数据处理系统可以识别在客户端设备或帐户简档的日志记录上维护的一个或多个活动。对于每个识别的活动,数据处理系统可以识别相关联的内容。数据处理系统可以通过应用模型来确定与活动相关联的内容所使用的语言。数据处理系统可以将候选语言添加到候选集合(例如,候选集合240')。
83.数据处理系统可以从搜索结果(例如,查询结果415)确定候选语言(720)。使用针对内容的请求的关键字,数据处理系统可以执行搜索操作(例如,搜索操作405)。根据搜索操作,数据处理系统可以识别一个或多个索引的信息资源(例如,信息资源420)。数据处理系统可以应用模型来确定信息资源所用的语言。数据处理系统可以将候选语言添加到候选集合(例如,候选集合240”)。
84.数据处理系统可以识别使用的语言(例如,语言165a和165b)(725)。数据处理系统可以确定语言的候选集合之间的交集。交集可以包括跨候选集合共同的一种或多种语言。使用交集,数据处理系统可以识别客户端设备使用的语言。
85.数据处理系统可以选择内容项(例如,内容项510')(730)。内容项可以是被识别为由客户端设备使用的语言中的一个。数据处理系统可以根据内容选择协议识别内容项。数据处理系统可以提供带有内容项的输出(例如,输出605)(735)。输出可以包括所选择的内容项、连同索引的信息资源。
86.现在参考图8,示出了根据一些实施方式的可用于实现本文讨论的任何计算机系统(包括数据处理系统110及其组件、内容提供者115、内容发布者120和客户端设备125)的说明性计算机系统800的一般架构。计算机系统800可用于经由网络830提供信息以供显示。计算机系统800包括与存储器825通信地耦合的一个或多个处理器820、与至少一个网络830(例如网络105)通信地耦合的一个或多个通信接口805、以及一个或多个输出设备810(例如一个或多个显示单元)和一个或多个输入设备815。
87.处理器820可以包括微处理器、专用集成电路(asic)、现场可编程门阵列(fpga)等,或者它们的组合。存储器可以包括但不限于电子、光学、磁性或能够为处理器提供程序指令的任何其他存储或传输设备。存储器825可以包括任何计算机可读存储介质,并且可以
存储计算机指令,诸如用于为各个系统实现本文所述的各种功能的处理器可运行指令,以及与之相关的、由此产生的或经由通信接口或输入设备(如果存在)接收的任何数据。存储器825可以包括软盘、cd-rom、dvd、磁盘、存储芯片、asic、fpga、只读存储器(rom)、随机存取存储器(ram)、电可擦除rom(eeprom)、可擦除-可编程rom(eprom)、闪存、光学介质或处理器可从中读取指令的任何其他合适的存储器。指令可以包括来自任何合适的计算机编程语言的代码。
88.图8所示的处理器820可以用于运行存储在存储器825中的指令,并且在这样做时,还可以从存储器读取或写入根据指令的运行处理和/或生成的各种信息。与存储器825(本文统称为处理单元)耦合的处理器820可以包括在系统100的组件中,诸如数据处理系统110(以及还有内容提供者115、内容发布者120、客户端设备125和索引服务130)。例如,数据处理系统110可以包括存储器825作为数据库240。与存储器825耦合的处理器820(在本文中统称为处理单元)可以包括在内容提供者115中。例如,内容提供者115可以包括存储器825以存储内容项505或505'。与存储器825耦合的处理器820(本文统称为处理单元)可以包括在内容发布者120中。例如,内容发布者120可以包括存储器825以存储信息资源210。与存储器825耦合的处理器820(在此统称为处理单元)可以包括在客户端设备125中。
89.计算机系统800的处理器820还可以通信地耦合到或被制成为控制通信接口805以根据指令的运行来发送或接收各种信息。例如,通信接口805可以耦合到有线或无线网络、总线或其他通信装置,因此可以允许计算机系统800向其他设备(例如,其他计算机系统)发送信息或从其他设备接收信息。虽然未在图1至图6的系统中明确示出,但是一个或多个通信接口促进系统800的组件之间的信息流。在一些实施方式中,通信接口可以被配置(例如,经由各种硬件组件或软件组件)以提供网站作为对计算机系统800的至少一些方面的访问门户。通信接口805的示例包括用户接口(例如,应用215、信息资源220或220'、以及内容项505或505'),用户可以通过这些用户接口与系统100的其他设备进行通信。
90.可以提供图8中所示的计算机系统800的输出设备810,例如,以允许结合指令的运行来查看或以其他方式感知各种信息。例如,可以提供输入设备815,例如,以允许用户在指令的运行期间进行手动调整、做出选择、输入数据或以各种方式中的任一种与处理器交互。此处进一步提供了与可用于本文讨论的各种系统的通用计算机系统架构有关的附加信息。
91.网络830可以包括计算机网络,诸如因特网、局域网、广域网、城域网或其他区域网络、内联网、卫星网络、其他计算机网络(诸如语音或数据移动电话通信网络),以及它们的组合。网络830可以是在系统100的组件(诸如,数据处理系统110及其组件、内容提供者115、内容发布者120、客户端设备125和索引服务130)之间中继信息的任何形式的计算机网络。例如,网络830可以包括因特网和/或其他类型的数据网络,诸如局域网(lan)、广域网(wan)、蜂窝网络、卫星网络或其他类型的数据网络。网络830还可以包括被配置为在网络830内接收和/或发送数据的任意数量的计算设备(例如,计算机、服务器、路由器、网络交换机等)。网络830还可以包括任意数量的硬连线和/或无线连接。客户端设备125可以与收发器进行无线通信(例如,经由wifi、蜂窝、无线电等),该收发器硬连线(例如,经由光纤电缆、cat5电缆等)到网络830中的其他计算设备。
92.本说明书中描述的主题和操作的实施方式可以实现在数字电子电路中,或实现在有形介质、固件或硬件(包括在本说明书中公开的结构及其结构等同物)上体现的计算机软
件中,或其中一种或多种的组合。本说明书中描述的主题的实施方式可以实现为一个或多个计算机程序,即,一个或多个计算机程序指令模块,编码在计算机存储介质上以用于由数据处理装置运行或控制其操作。程序指令可以在人工生成的传播信号上编码,该信号例如机器生成的电、光或电磁信号,该信号被生成以编码信息以传输到合适的接收器装置以供数据处理装置运行。计算机存储介质可以是或包括在计算机可读存储设备、计算机可读存储基板、随机或串行存取存储器阵列或设备、或它们中的一个或多个的组合中。此外,虽然计算机存储介质不是传播信号,但计算机存储介质可以包括编码在人工生成的传播信号中的计算机程序指令的源或目的地。计算机存储介质也可以是或包括在一个或多个单独的物理组件或介质(例如,多个cd、盘或其他存储设备)中。
93.本文公开的特征可以实现在智能电视模块(或连接的电视模块、混合电视模块等)上,其可以包括被配置为将因特网连接与更传统的电视节目源(例如,接收经由电缆、卫星、无线或其他信号)集成的处理模块。智能电视模块可以是物理上结合到电视机中,或可包括单独的设备,诸如机顶盒、蓝光或其他数字媒体播放器、游戏机、酒店电视系统或其他配套设备。智能电视模块可以配置为允许观众在网络、本地有线电视频道、卫星电视频道或存储在本地硬盘驱动器上搜索和查找视频、电影、照片和其他内容。机顶盒(stb)或机顶单元(stu)可能包括信息器件设备,该设备可能包含调谐器并连接到电视机和外部信号源,从而将信号转换为内容,该内容然后显示在电视屏幕或其他显示设备上。智能电视模块可以被配置为提供主屏幕或顶层屏幕,包括用于多个不同应用的图标,诸如网络浏览器和多个流媒体服务、连接的有线或卫星媒体源、其他网络“频道”等。智能电视模块还可以被配置为向用户提供电子节目指南。智能电视模块的配套应用可以在移动计算设备上操作以向用户提供关于可用节目的附加信息,以允许用户控制智能电视模块等。在一些实施方式中,特征可以在膝上型计算机或其他个人计算机、智能手机、其他移动电话、手持计算机、平板个人计算机或其他计算设备上实现。在一些实施方式中,本文公开的特征可以在可穿戴设备或组件(例如,智能手表)上实现,该可穿戴设备或组件(例如,智能手表)可以包括被配置为集成因特网连接(例如,与另一个计算设备或网络830)的处理模块。
94.本说明书中描述的操作可以被实现为由数据处理装置对存储在一个或多个计算机可读存储设备上的数据或对从其他源接收的数据执行的操作。术语“数据处理装置”、“数据处理系统”、“用户设备”或“计算设备”包括用于处理数据的所有类型的装置、设备和机器,包括例如可编程处理器、计算机、一个或多个芯片上的系统、或前述的组合。该装置可以包括专用逻辑电路,例如fpga(现场可编程门阵列)或asic(专用集成电路)。除了硬件之外,该装置还可以包括为所讨论的计算机程序创建运行环境的代码,例如,构成处理器固件、协议栈、数据库管理系统、操作系统、跨平台运行时环境、虚拟机或其中一个或多个的组合的代码。该装置和运行环境可以实现各种不同的计算模型基础设施,诸如网络服务、分布式计算和网格计算基础设施。
95.计算机程序(也称为程序、软件、软件应用、脚本或代码)可以任何形式的编程语言编写,包括编译或解释语言、声明性或过程性语言,并且它可以用任何形式部署,包括作为独立程序或作为模块、组件、子例程、对象或其他适用于计算环境的单元。计算机程序可以但不必对应于文件系统中的文件。程序可以存储在保持其他程序或数据的文件的一部分中(例如,存储在标记语言文档中的一个或多个脚本)、在专用于所讨论程序的单个文件中、或
在多个协调文件(例如,存储一个或多个模块、子程序或部分代码的文件)中。可以部署计算机程序以在一台计算机或位于一个站点或跨多个站点分布并通过通信网络互连的多台计算机上运行。
96.本说明书中描述的过程和逻辑流程可以由一个或多个可编程处理器执行,该一个或多个可编程处理器运行一个或多个计算机程序以通过对输入数据进行操作并生成输出来执行动作。过程和逻辑流程也可以由专用逻辑电路(例如fpga(现场可编程门阵列)或asic(专用集成电路))执行,并且装置也可以实现为该专用逻辑电路。
97.适合于运行计算机程序的处理器包括例如通用和专用微处理器两者,以及任何类型的数字计算机的任何一个或多个处理器。通常,处理器将从只读存储器或随机存取存储器或两者接收指令和数据。计算机的基本元件是用于根据指令执行动作的处理器以及用于存储指令和数据的一个或多个存储器设备。通常,计算机还将包括用于存储数据的一个或多个大容量存储设备,例如磁盘、磁光盘或光盘,或可操作地耦合以从一个或多个大容量存储设备接收数据或向其传输数据或两者。然而,计算机不需要有这样的设备。此外,计算机可以嵌入到另一个设备中,例如像移动电话、个人数字助理(pda)、移动音频或视频播放器、游戏控制台、全球定位系统(gps)接收器或便携式存储设备(例如,通用串行总线(usb)闪存驱动器)。适用于存储计算机程序指令和数据的设备包括所有形式的非易失性存储器、介质和存储器设备,包括例如半导体存储器设备,例如eprom、eeprom和闪存设备;磁盘,例如内部硬盘或可移动盘;磁光盘;和cd-rom和dvd-rom盘。处理器和存储器可以由专用逻辑电路补充或结合在专用逻辑电路中。
98.为了提供与用户的交互,本说明书中描述的主题的实施方式可以在具有用于向用户显示信息的显示设备(例如crt(阴极射线管)、等离子体或lcd(液晶显示器)监视器)以及键盘和指向设备(例如鼠标或轨迹球)的计算机上实现,用户可以通过键盘和指向设备向计算机提供输入。其他种类的设备也可用于提供与用户的交互。例如,提供给用户的反馈可以包括任何形式的感觉反馈,例如视觉反馈、听觉反馈或触觉反馈,并且可以以任何形式接收来自用户的输入,包括声学、语音或触觉输入。此外,计算机可以通过向用户使用的设备发送文档和从用户使用的设备接收文档来与用户交互,例如,通过响应于从网络浏览器接收到的请求向用户的客户端设备上的网络浏览器发送网页。
99.本说明书中描述的主题的实施方式可以在计算系统中实现,该计算系统包括后端组件(例如,作为数据服务器),或者包括中间件组件(例如,应用服务器),或者包括前端组件(例如,具有图形用户界面或网络浏览器的客户端计算机,用户可以通过其与本说明书中描述的主题的实施方式进行交互),或者一个或多个这样的后端组件、中间件组件或前端组件的任何组合。系统的组件可以通过任何形式或媒介的数字数据通信(例如通信网络)互连。通信网络的示例包括局域网(“lan”)和广域网(“wan”)、互联网(例如,因特网)和对等网络(例如,自组织对等网络)。
100.诸如系统800或系统100的计算系统可以包括客户端和服务器。例如,系统100的数据处理系统110及其组件、内容提供者115、内容发布者120、客户端设备125和索引服务130可以各自包括一个或多个数据中心或服务器群中的一个或多个服务器。客户端(例如,客户端设备125)和服务器通常彼此远离并且通常通过通信网络进行交互。客户端和服务器的关系是通过在各自的计算机上运行并且彼此具有客户端-服务器关系的计算机程序而产生
的。在一些实施方式中,服务器将数据(例如,html页面)传输到客户端设备(例如,为了向与客户端设备交互的用户显示数据并从其接收用户输入)。在客户端设备处生成的数据(例如,用户交互的结果)可以在服务器处从客户端设备接收。
101.虽然本说明书包含许多具体的实施细节,但这些不应被解释为对任何发明的范围或可能要求保护的内容的限制,而是对特定于在此描述的系统和方法的特定实施方式的特征的描述。本说明书中在单独实施方式的上下文中描述的某些特征也可以在单个实施方式中组合实现。相反,在单个实施方式的上下文中描述的各种特征也可以在多个实施方式中分开实现或以任何合适的子组合实现。此外,尽管特征可能被描述为以某些组合起作用,并且甚至最初如此要求保护,但在某些情况下,来自要求保护的组合的一个或多个特征可以从组合中删除,并且要求保护的组合可以针对子组合或子组合的变体。
102.类似地,虽然在附图中以特定次序描绘了操作,但这不应理解为要求以所示特定次序或按顺序次序执行此类操作,或者执行所有所示操作以实现期望结果。在某些情况下,权利要求中所述的动作可以以不同的次序执行,并且仍能达到期望的结果。此外,附图中描绘的过程不一定需要所示的特定次序或顺序次序来获得期望的结果。
103.在某些情况下,多任务和并行处理可能是有利的。此外,上述实施方式中各种系统组件的分离不应理解为在所有实施方式中都需要这种分离,而应当理解,所描述的程序组件和系统通常可以一起集成在单个软件产品中或打包成多种软件产品。例如,查询处理器135、简档导出器140、搜索评估器145、语言评价器150和内容聚合器155可以是数据处理系统110的一部分、单个模块、具有一个或多个处理模块的逻辑设备、或一个或多个服务器。
104.对于本文讨论的系统收集关于用户的个人信息或可能利用个人信息的情况,可以向用户提供机会来控制是否可以收集个人信息(例如,关于用户的社交网络、社交动作或活动、用户的偏好或用户的位置的信息)的程序或特征,或控制是否或如何从内容服务器或其他可能与用户更相关的数据处理系统接收内容。此外,某些数据在存储或使用之前可能会以一种或多种方式匿名化,以便在生成参数时去除个人可识别信息。例如,用户的身份可能是匿名的,使得无法确定用户的个人可识别信息,或者用户的地理位置可能在获得位置信息的地方被概括(例如城市、邮政编码或州级),使得无法确定用户的特定位置。因此,用户可以控制如何收集关于他或她的信息并由内容服务器使用。
105.现在已经描述了一些说明性的实施方式,显然前述内容是说明性的而不是限制性的,已经以示例的方式呈现。特别地,虽然这里呈现的许多示例涉及方法动作或系统元素的特定组合,但是这些动作和那些元素可以以其他方式组合以实现相同的目标。仅结合一种实施方式讨论的行为、元素和特征并不意图从其他实施方式或实施方式中的类似角色被排除。
106.本文使用的措辞和术语是为了描述的目的,而不应被视为是限制性的。本文中使用的“包括”、“包涵”、“具有”、“包含”、“涉及”、“特征是”、“特征在于”及其变体,意在包括其后列出的项目、其等同物和附加项目,以及作为由其后专门列出的项目组成的替选实施方式。在一种实施方式中,本文所描述的系统和方法由多于一个或所有所描述的元素、动作或组件的一个每种组合组成。
107.对本文中以单数形式提及的系统和方法的实施方式或元素或动作的任何引用也可以包括包含多个这些元素的实现,并且对本文中任何实施方式或元素或动作的任何复数
引用也可以包括仅包含单个元素的实施方式。单数或复数形式的引用不旨在将当前公开的系统或方法、它们的组件、动作或元素限制为单数或复数配置。对基于任何信息、动作或元素的任何动作或元素的引用可以包括其中动作或元素至少部分地基于任何信息、动作或元素的实施方式。
108.本文公开的任何实施方式可以与任何其他实施方式组合,并且对“一种实施方式”、“一些实施方式”、“替选实施方式”、“各种实施方式”、“一个实施方式”等的引用不一定是彼此排他性的,并且旨在表示结合实施方式描述的特定特征、结构或特性可以包括在至少一个实施方式中。本文使用的这些术语不一定都指代相同的实施方式。任何实施方式可以以与本文所公开的方面和实施方式一致的任何方式与任何其他实施方式包括性地或排他性地结合。
109.对“或”的引用可以被解释为包含性的,使得使用“或”描述的任何术语可以指示单个、多于一个和所有描述的术语中的任何一个。
110.在附图、详细描述或任何权利要求中的技术特征后面带有附图标记的情况下,包含附图标记的唯一目的是增加附图、详细描述和权利要求的可理解性。因此,无论是参考符号还是它们的缺失都对任何权利要求元素的范围没有任何限制效果。
111.在不背离其特性的情况下,本文描述的系统和方法可以以其他特定形式体现。尽管这里提供的示例涉及选择要在联网环境中提供的内容,但是本文描述的系统和方法可以包括应用于其他环境。前述实施方式是说明性的,而不是限制所描述的系统和方法。因此本文描述的系统和方法的范围由所附权利要求而不是前面的描述来指示,并且在权利要求的等效含义和范围内的变化被包含在其中。
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1