使用统计流数据进行不同语言之间的机器翻译的制作方法

文档序号:11450470阅读:269来源:国知局
使用统计流数据进行不同语言之间的机器翻译的制造方法与工艺

相关申请的交叉引用

本申请是2014年12月29日提交的美国专利申请no.14/584,925的继续申请并且要求其优先权,该专利申请的全部内容通过引用并入本文。

本发明的

背景技术:

本发明涉及在需要不同语言之间的翻译时在计算机网络中使用统计数据进行机器翻译。

随着互联网和其他计算机网络跨越国际边界并提供对用不同语言编写的各种文件的访问,翻译正变得越来越重要。商业、科学、工程、政治、艺术和其他类型的人类交互通常需要翻译。人类翻译员无法跟上这一需求,并且机器翻译正变得普遍。机器翻译(mt)随着计算机执行计算机指令而由计算机产生。从某种意义上讲,mt系统应该模仿人类翻译员的工作,人类翻译员理解源语言并在目标语言中表达相同的理解。然而,人类的理解和人类的表达不能被计算机所捕获:人类和计算机都可以参考词典和语法规则,人类甚至可以在不了解语法的情况下进行翻译,并且人类在即使不说的情况下理解彼此的能力以计算机无与伦比的方式提高他们的翻译能力,计算机不了解任何东西而仅遵循指令。另一方面,计算机速度是人类无与伦比的,并且计算机存储大量数据的能力也是人类无与伦比的,这些大量的数据无需提示或线索即可系统地调用。因此,机器翻译已经开发为具有自己的词汇和统计技术的领域,旨在满足通常的工程问题,例如最小化计算机资源(存储器、处理能力、网络带宽等)的使用,同时提供足够的速度和低成本。

图1示出了具有服务器110的计算机网络,服务器110响应于通过网络130(例如,因特网)从计算机120接收到的请求来执行机器翻译。服务器110可以是单个计算机或是分布式系统,该分布式系统包括由可能包括网络130的各种网络互连的多个计算机。来自计算机120的请求可以是翻译文档的显式请求,或者可以是执行需要翻译的某些其他任务(例如以不同语言执行对文档的搜索)的请求。因此,计算机120的用户可以以一种语言提交搜索查询,但是该查询必须与用另一种语言编写的文档进行匹配,因此在搜索可以继续之前必须翻译搜索查询。

服务器110可以访问存储要搜索的文档的计算机数据库140。如果需要,机器翻译引擎160翻译查询。搜索引擎150接受经翻译的查询,搜索相关数据库140,并产生搜索结果,例如,具有针对每个文档的链接(url)的数据库文档的列表,可能具有每个文档的简要描述或文档内容的示例。

mt引擎160使用其数据库170来执行翻译。数据库170包含语言模型信息170r(其包括计算机词典和语法的计算机表示),并且还包含从已知翻译得到的统计信息170s。

重要的是,服务器可以存储关于搜索请求的信息,以帮助改进未来的翻译。这些信息显示为点击日志180。例如,假设许多用户提交了我们将表示为“qen”的英文查询,并且在获得搜索结果之后,用户经常从搜索结果中选择给定的url(统一资源定位符),例如www.fedex.com,这其是美国公司的英文主页。假设许多其他用户(可能是讲中文的人)也提交中文查询qcn,获得搜索结果,并选择urlwww.fedex.com/cn,其是同一公司的中文主页的网址。服务器110可以得出结论,英文查询qen是中文查询qcn的英文翻译。针对点击数据用于改进机器翻译的其他用途,参见例如于2010年6月24日发布的美国授予专利前公布号2010/0161642(chen等人)。

点击数据180由服务器的数据挖掘引擎190处理以用相关信息更新mt数据库170。更具体地,数据挖掘引擎190发现点击数据之间的(例如,诸如www.fedex.com和www.fedex.com/cn之类的url以及诸如qen和qcn之类的数据查询之间的)相关性,并且用改进未来翻译所需的信息(例如关于qen和qcn是彼此的翻译的指示)更新mt数据库170。

图2a是由服务器110执行的处理的流程图。在步骤210,服务器从计算机120接收关于用户请求的信息。该请求可以是对来自先前提交的搜索结果的文档的搜索查询或请求。在步骤220,服务器将请求记录在点击数据库180中。在步骤230,服务器根据请求的需要执行其他处理。

图2b示出了当用户请求是搜索查询时执行的示例处理操作230。在步骤234,服务器检查查询是否需要翻译。特别地,服务器确定查询是何种语言;这是由服务器在存储在数据库170中的字典中查找查询的词来完成的。然后,服务器确定应该以何种语言执行搜索。如果搜索应该以除查询语言之外的语言执行,则查询被提供给mt引擎160,mt引擎160在步骤238翻译查询。

则经翻译的查询或原始查询(如果不需要翻译)被提供给搜索引擎150。搜索引擎在步骤242执行搜索,并提供搜索结果。在步骤246,服务器将搜索结果发送回计算机120。



技术实现要素:

本部分概述了本公开的一些特征。其他特征可以在后面的部分中描述。本发明由所附权利要求限定,所附权利要求通过引用并入本部分。

在一些实施例中,机器翻译系统使用除了从已知翻译得到的信息170s之外的统计信息。这种信息的一个示例是在提交查询之前在同一计算机会话中的用户的活动,例如在提交查询之前通过一个或多个网站的流得到的信息。因此,即使mt数据库170不变,对于不同的用户或对于与服务器进行不同交互的相同用户可以不同地翻译相同的查询。

在简化示例中,假设查询包含俄语词“列表”(лист)。该词可以表示树的叶,或者可以表示片(例如纸或钢)。mt系统必须确定将俄语词翻译成“叶”还是“片”。假设查询是由不同的说俄语的用户提交的:一个用户刚刚浏览与园艺相关的网页,另一个用户在浏览工程文献后提交了相同的查询。对于第一个用户,mt系统可以输出“叶”作为翻译,而对于第二个用户,可以输出“片”。

用户的偏好并不总是通过简单的分析来检测,因此在一些实施例中,服务器将基于计算机的数据挖掘和机器学习技术应用于点击数据,以便在查询之前查找流的哪部分与翻译的成功在统计上相关。成功可以通过在接收到搜索结果之后从用户的动作得到的指示符来衡量。一个示例是点击率,被定义为在接收到以特定方式翻译的查询的搜索结果之后用户请求的(点击的)的文档数目:如果这个文档数目较高,则翻译被分配较高的成功得分(得分可以定义为点击率或以其他方式定义)。mt系统在随后的翻译中使用这样的成功得分。

另一个可能的成功指示符是用户在查看针对以特定方式翻译的查询产生的搜索结果中的文档上花费的时间量:更多的时间对应于更大的成功。

基于期望的结果来选择成功指示符。例如,电子商务可以使用gmb(用户在接收到搜索结果后进行的总商品购买)、或购买的物品数目、或用户请求更多信息的物品数目、或者其他一些在商业中使用的关键性能指示符。在服务器向用户推送广告的系统中,可能的成功指示符可以涉及用户是否点击任何广告、点击的广告数目、基于广告进行购买的用户、以金钱或购买的物品数目等衡量的购买量。如果服务器允许用户对产品进行投标,或在产品上观看或执行商业价值的其他操作,则可以将积极的结果用作成功指示符。

如上所述,在一些实施例中,mt引擎使用关于用户流的信息来选择翻译。另外或替代地,使用关于用户流的信息来布置搜索结果(例如,对搜索结果进行排序)。因此,在一些实施例中,搜索引擎对多个候选翻译中的每一个(例如,上述示例中的“叶”和“片”)进行搜索,并且当搜索结果被提供给用户时,基于用户流来布置搜索结果。因此,服务器首先获得针对每个翻译的搜索结果,即针对“叶”的搜索结果和针对“片”的单独的搜索结果。然后,服务器可以将这两组搜索结果组合如下:对于对园艺感兴趣的用户(即其先前的流涉及园艺文档),服务器可以首先从针对“叶”的搜索结果中获取两个文档,然后从针对“片”的搜索结果中获取一个文档,然后接下来的两个文档从针对“叶”的搜索结果中获取,然后接下来的一个文档从针对“片”的搜索结果中获取,以此类推。对于对工程感兴趣的用户,服务器可能会对针对“片”的搜索结果给出类似的偏好。

在一些实施例中,当需要翻译用户的查询时,服务器执行以下操作:

-服务器在引起查询的用户流中获得感兴趣的参数(“感兴趣的流参数”)。感兴趣的流量参数是与先前由服务器通过点击日志180的统计分析确定的成功指示符相关联的那些流参数。

-服务器然后使用相同或相似的流参数搜索流的点击日志,并从这些流中选择获取最高成功指示的翻译。服务器为当前用户(即提交查询的用户)使用此翻译。

在一些实施例中,可能的翻译的选择或组合搜索结果考虑了随机值,例如由服务器生成的值。随机值可用于执行多变量测试,例如统计“ab测试”,即从不同翻译的成功指示符中在统计上确定哪些翻译更有可能成功。统计学中,“ab测试”表示对两个假设a和b进行测试,例如就两个可能的翻译中哪个翻译是更成功的来测试这两个可能的翻译。多变量测试涉及对任何两个或多个假设进行测试,例如就哪两个或多个可能的翻译是更成功的进行测试。因此,对于从多个用户接收到的给定查询的两个可能的翻译“a”和“b”,为每个用户生成随机值,并且基于该随机值,给予用户翻译“a”或“b”,即对于一些用户,将翻译a提供给搜索引擎,并且对于其他用户,将翻译“b”提供给搜索引擎。分析所产生的成功指示符以确定哪个翻译更好。然后仅给予未来的用户最佳翻译。或者,分析可以显示成功指示符和一些其他流参数之间的相关性。然后给予未来的用户针对该流的相应流参数的最佳翻译。

随机值可以与其他信息(例如,用户流信息)组合以确定最佳翻译和/或布置结果。

除由所附权利要求限定之外,本发明不限于上述特征和优点。

附图说明

图1是根据现有技术的计算机网络中的服务器的框图。

图2a、图2b是根据现有技术的服务器操作的流程图。

图3是根据本公开引入的一些实现方式的计算机网络中的服务器的框图。

图4包括根据本公开引入的一些实现方式的服务器操作的流程图和服务器的框图。

图5是根据本公开引入的一些实现方式的服务器操作的流程图。

图6示出了根据本公开引入的一些实现方式的数据库记录。

图7是根据本公开引入的一些实现方式的服务器操作的流程图。

图8是根据本公开引入的一些实现方式的服务器操作中的数据流的流程图。

图9包括根据本公开引入的一些实现方式的服务器操作的流程图和服务器的框图。

图10是根据本公开引入的一些实现方式的服务器操作的流程图。

图11包括根据本公开引入的一些实现方式的服务器操作的流程图和服务器的框图。

图12、图13、图14包括根据本公开引入的一些实现方式的服务器操作的流程图。

具体实施方式

本部分中描述的实施例说明但不限制本发明。本发明由所附权利要求限定。

现在将在图3的系统的示例上说明一些实施例,图3的一部分可能如图1所示或可能不如图1所示,但是服务器110集成了新颖的方面。计算机120和网络130可以如图1所示,或可以是其他类型。搜索引擎150、数据库140和mt数据库170也可以如图1所示,或可以是其他类型。点击日志180可以如图1所示,或可以包括附加数据。

数据挖掘引擎190可以执行与图1中的操作相同的操作,并且可以执行附加操作以生成统计流数据库310。统计数据310通过以下操作获得:对点击日志180进行数据挖掘以获得一方面的关于查询翻译的成功指示符与另一方面的用户流的各个方面之间的相关性的统计信息。合适的数据挖掘技术包括聚类、分类、回归、时间序列分析、序列发现、以及在许多出版物中描述的数据挖掘技术,这些出版物包括例如下面的参考书目部分中列出的参考文献[1]、[2]、[3];还参见在http://www.cs.rutgers.edu/~hirsh/publications/text.htm处可获得的“haymhirsh的出版物:文本检索、文本分类和文本挖掘”中列出的参考文献。

机器翻译引擎160除了mt数据库170之外还使用统计流数据310和当前流数据320(关于引起查询的用户流(即查询之前的流的部分)的数据)。在一些实施例中,当前流数据320是从点击日志180获得的(其通过在诸如图2a的220或230的步骤记录而获得)。或者或另外,当前流数据320可以从存储在用户计算机120上的浏览器cookie、或从向服务器提供搜索查询的url、或可能从其他源获得。

图4是在一些实施例中由服务器110进行的查询处理的示例性流程图。服务器可以根据图2a的一般方案操作,但是步骤230是不同的。特别地,相比图2a,步骤230可以包括将更多点击数据记录到日志180中。此外,如图4所示,机器翻译的执行方式与图2b不同。

图4仅示出了说明新颖的机器翻译所需的那些步骤。一些实施例包括附加步骤,例如图2b的步骤234(确定查询是否需要翻译,以及如果不需要翻译,则将未翻译的查询提交给搜索引擎150)。

如果需要翻译,则在步骤238处由mt引擎160执行翻译,mt引擎160的架构在图4中的插入物a中示出。mt引擎160包括预翻译引擎160p和候选翻译选择模块160s。预翻译引擎160p可以生成查询的多个候选翻译(在步骤238的子步骤238p)。例如,如上所述,引擎160p可以为俄语词“列表”提供“叶”和“片”。候选选择模块160s选择一个翻译(子步骤238s)。然后将所选择的翻译提供给在步骤242执行搜索的搜索引擎150。在步骤246将搜索结果发送给用户。步骤242和246可如图2b所示。

返回mt步骤238,预翻译238p可以在或可以不在现有的mt系统中;参见例如于2010年7月15日发布的授予专利前公布号2010/0179803(sawaf等人),该专利通过引用并入本文。如其中所述,统计mt引擎可以最初基于mt数据库170提供多个候选翻译,然后选择最高概率翻译。在本发明的一些实施例中,mt引擎160(图4)具有预翻译引擎160p,其可能如上述的sawaf参考文献或以其它一些方式(可能以下面讨论的新颖方式)来确定候选翻译。然而,候选选择是不同的,因为候选选择模块160s考虑了统计流数据310和当前流数据320,将当前流数据320与先前流和由数据挖掘引擎190提供的翻译成功指示符之间的统计关系进行匹配。图4的候选选择模块160s可以是机器学习引擎,其基于先前流预测最佳候选翻译,以最大化翻译成功指示符。

现在将描述上述方案的示例性实施方式。下面的表1示出了示例性用户的示例性流程和相应的点击数据180。在该示例中,点击数据包括与由用户(即,由计算机120)在与服务器110的单一交互会话中请求的每个文档(可能是html页面)相关联的域。(“html”代表万维网(www)中经常使用的超文本标记语言;然而,本发明不限于html、www或因特网:本发明可以与其他类型的网络或网络协议一起使用)。例如,“域”是任何可能有助于选择正确翻译的信息。例如,域可以是文档所涉及的主题,如“园艺”、“工程”、“机械工程”、“金融服务”、“旅行”等。在商业中,域可以描述“鞋子”、“男鞋”、“衣服”、“行李箱”、“包”、“手机”等产品类别。单个文档或html页面可能与多个域相关联。

在表1中,服务器动作示出为a1,a2等。由服务器记录的相应点击数据示出为li,l2等。

表1:一个流和相关点击数据的示例

有时,数据挖掘引擎190分析点击数据180并创建或更新统计流db310。图5示出了在一些实施例中由数据挖掘190执行的示例性操作。除了点击日志180之外,dm190接收关于感兴趣的成功指示符(示例性成功指示符是点击率,总商品购买,以及上述其他成功指示符)的定义510。然后,dm190分析db310和成功指示符,以确定db310的相关信息。该分析的示例性算法包括[4]至[12]中描述的相关分析、聚类、分类和时间序列分析(参见下面的参考书目部分)。其他算法也是可能的。

在图5的示例中,在步骤520,dm190计算涉及查询的至少一个机器翻译的流的成功指示符。dm190还可以基于成功指示符来计算成功参数;例如,如果存在多个成功指示符,则成功参数可以是这些成功指示符的函数(例如和),并且可以用于简化进一步的处理。

在步骤524,dm190确定哪个流量参数对于机器翻译的成功是“重要的”,即哪些流量参数与特定机器翻译和成功指示符(和/或成功参数)高度相关。可以如上所述使用各种算法。在图5的示例中,步骤524包括步骤530和540。在步骤530,dm190计算查询、翻译、成功指示符/参数和各种类型的点击数据之间的相关性,以在步骤540确定点击数据的哪些翻译和其他流参数与成功指示符/参数高度相关。示例性流参数包括在翻译之前由用户在流中请求的文档的域,在翻译之前在流中指定的url,在相同流中的给定翻译之前的先前翻译中涉及的流参数(例如,域),在翻译之前发送到服务器的连续用户请求之间的时间间隔,向用户示出的前几页的背景颜色或其他视觉属性等。可以计算流参数和成功指示符/参数之间的相关性,以识别不与机器翻译高度相关的流参数。更一般地,可以计算一个或多个成功指示符/参数的集合和一个或多个流参数的集合之间的相关性。

在步骤540,dm190基于相关性来选择最佳流参数集。“最佳”集可以按不同的方式来定义。例如,相关性可以表示为皮尔逊相关系数,其为0和1之间的数字,包括0和1。步骤540可以选择相关性等于或大于预定义数目(例如等于或大于0.5)的所有流参数集,或者多达具有最高相关性的流参数的最大数目(例如,具有最高相关性的100个流参数),或者以考虑相关性的其他方式选择最佳流参数集。在一些实施例中,相关性利用基于其他期望属性的某些权重进行加权;在一个示例中,具有大量流参数的流参数集被给予较低的权重,因为这样的流参数集可能在候选选择步骤238s需要更多的计算。

在步骤550,dm190创建或更新统计流db310,以允许基于在步骤524处(即,在步骤540处)选择的流参数来预测给定查询的给定机器翻译的感兴趣的成功指示符/参数。db310填充有允许这样的预测的数据。例如,所选择的流参数集可以记录在流db310中,可能连同相应的成功指示符/参数一起记录,并且可能连同相关性、或者关于相关性是正还是负的指示(正相关性可以指示例如特定域的出现次数的增加与针对给定查询的给定翻译的特定成功指示符或参数的增加相关联;负相关性可以指示相反的关系,即域出现的出现次数的增加与针对查询的翻译的成功指示符/参数的减少相关联)一起记录。

dm190还可以执行与图5的分析无关的其他操作,例如更新统计mt数据库170s所需的操作;参见上述sawaf参考文献。

图6示出了在步骤550处在统计流db310中创建的示例性记录310r。在该示例中,dm190在步骤530、540确定重要的流参数包括在接收到查询之前在流中看到的域以及在流中看到的每个域的次数(频率)。因此,在表1的示例中,对于在l4记录的查询翻译,以及针对给定的成功指示符510(例如,在l5和l6处记录的后续点击率,或者如从l6和l7确定的在查看来自搜索结果的文档上花费的时间,或如从l7确定的总商品购买),成功指示符与在li到l3处记录的域及其频率相关(例如,如果在li和l3处看到域,而在l2处看不到域,则域频率为2)。dm190创建一个或多个记录310r,310r中的每一个包括以下字段:

-查询310r.q;

-其一个或多个翻译310r.t,这些翻译被提供给搜索引擎150(在步骤242处;如下所述,可以选择多个翻译并提供给搜索引擎);

-在翻译之前在流中看到的域310r.d,以及每个这样的域的频率;以及

-相应的成功指示符310r.s。

在一些实施例中,为每三个字段310r.q、310r.t、310r.d,即对于每个查询、翻译和域/频率组合创建单独的记录310r;相同的三元组可能在多个流中发生,并且每个成功指示符310r.s是所有这些流上的平均值。

在其他实施例中,为每对字段310r.q、310r.t,即对于每对查询和翻译创建单独的记录310r;对于具有对的所有流,域字段310r.d包括在查询之前在所有这样的流中看到的所有域;每个域的频率是所有这些流上的域的平均频率;每个成功指示符也是所有这些流上的平均值。创建db310的其他选项是可能的;对于不同的应用,最佳选择可能是不同的,并且可以通过实验来确定。

流db310中的信息可以以任何期望的方式被组织在服务器110可访问的计算机存储装置中。

图7示出了从由预选择238p提供的候选中选择翻译的步骤238s(图4)的示例性实现方式。在本实施例中,预选择238p生成候选翻译ct连同每个候选翻译的得分sc(ct);得分sc(ct)表示在统计上得到的概率或一些其他在概率上得到的数值指示,即翻译候选ct是正确的翻译。候选翻译是从mt数据库170获得的,而不考虑当前流数据320(图4)。

在步骤710,对于每个候选翻译ct,服务器检查匹配记录310r,其中“匹配”表示记录310r:

(a)具有与由mt引擎160接收到的当前查询相同的查询3l0r.q,以及

(b)具有至少一个与候选翻译ct相同的翻译310r.t。

在一些实施例中,条件(a)和(b)是松弛的;例如,条件(a)可能要求两个查询是相似的(例如,一个查询的词是另一个查询的词的同义词,和/或查询仅通过词顺序和/或仅在形态上和/或仅由介词或其他粒子和/或以被认为是次要的某些其他方式来进行区分)。

对于每个匹配记录310r,服务器110执行步骤710.1和710.2。在步骤710.1,服务器预测作为候选翻译ct的成功度量的成功参数ps(ct)。根据以下各项来评估预测的成功参数ps(ct):

-候选者的得分sc(ct);

-匹配记录的域和频率310r.d和成功指示符310r.s;以及

-当前流数据320,并且更具体地,在该示例中,当前流的域及其频率(例如在上表1中的li至l7处记录的;具体地,如果在a4处执行翻译,则相关域和频率是在l1到l3处记录的那些域和频率)。

例如,在一些实施例中,基于记录310r从部分预测成功参数ps(ct,310r)获得预测成功参数ps(ct)。针对每个记录310r评估的部分预测成功参数ps(ct,310r)如下:

1.在收到查询之前,查找记录的域3l0r.d和当前流320中看到的域之间的交叉点(即查找在这两者中出现的域)。

2.对于交叉点中的每个域,确定域的频率匹配度。这可以通过例如计算函数fd(f10,f320)来完成,其中f310是310r.d中的域的频率,f320是当前流320中的域的频率。选择函数fd,使得其相对于频率之间的绝对差absd而言反向增加,即相对于

absd=|f310-f320|,

或相对于频率之间的相对差异,即

reld=|f310-f320|/max(f310,)

或相对于频率之间的差异的一些其他测量而言反向增长。

例如,在一个实施例中,fd(f310,f320)=l/absd,并且如果absd=0,则被定义为一些较高的值。在另一个实施例中,fd(f310,f320)=1/reld,并且如果reld=0,则被定义为一些较高的值。

3.在交叉点中的所有域上添加所有fd值。我们把这个总和表示为sfd(如果交叉点由单个域组成,则sfd是该域的fd值)。函数sfd是对记录310r的域310r.d与当前流320的域匹配的程度的度量。

4.将成功指示符310r.s乘以sfd,并添加得分sc(ct)。该值是基于记录310r的候选翻译ct的部分预测成功参数ps(ct,310r)。

在步骤710.2,服务器确定用于候选ct的所有匹配记录310r的所有部分预测成功参数ps(ct,310r)值的平均值。这是候选ct的预测成功参数ps(ct)。

可以将预测成功参数ps(ct)计算为频率f310、f320、310r.s、sc(ct)、以及可能地匹配记录310r的数目的一些其他函数。在一些实施方案中,ps(ct)在310r.s、sc(ct)和absd或reld中的至少一个中增加,但是这不是必需的。

在步骤720,服务器110选择具有在步骤710确定的最大预测成功参数ps(ct)的候选翻译ct。该翻译被提供给搜索引擎150。

上述算法是示例性的,并不限制本发明。例如,如果dm190发现这样的翻译和得分是重要的,即与查询310r.q、翻译310r.t以及成功指示符310r.s高度相关,则提交的310r.d可以包括一个或多个候选翻译ct和相应的得分sc(ct)。因此,在步骤524确定的重要的流参数可以包括在接收到查询之后与流部分有关的参数。

在另一示例中,使用人造神经网络方法,即使用通过参数优化过程确定的函数,在步骤238s处选择候选翻译。让我们把这个函数称为nnf。dm190的目标是找到函数nnf,其可以例如接受当前数据流320的重要流参数连同查询及其候选翻译ct,并且输出一些在选择最佳翻译ct时有用的信息供应给搜索引擎。例如,最佳翻译ct可以是具有最佳预测成功指示符(例如上面描述的或以与成功相关的一些其他合适的方式来定义的最佳预测成功参数ps(ct))的一个翻译。或者nnf可以输出成功指示符或其他参数,例如最佳候选翻译的sc(ct),或提供一些其他的在选择最佳候选翻译时有用的信息。函数nnf最初是未知的,但是具有预定义的类型,例如它可以是具有未知系数的线性函数,或具有一些未知信息的二次或某些其他类型的函数。nnf由dm190通过参数优化确定。

考虑例如以下模型:函数nnf具有如上所述的预定义类型(线性或其他),并且其输出完全由重要的流参数和得分sc(ct)定义,并且更具体地,nnf输出是假设翻译按其得分sc(ct)排序的情况下的最佳候选翻译ct的索引in(ct),其中排序被预先定义为递增或递减(如果不同的翻译具有相同的得分sc(ct)),那么可以按某些其他方式对这类翻译进行排序,例如按字母顺序或随机排序)。这样的函数nnf可以存在或可以不存在,并且nnf被选择为在预定义类型的所有函数中的最佳拟合,其中“最佳拟合”被定义为最小化一些“损耗”值,例如最小化nnf输出和最佳索引in(ct)之间的差异的平均平方或最小化差异的平均绝对值,或以某些其他方式进行最小化。

因此,在一些实施例中,对于涉及查询翻译的每个动作(例如,在表1中的a4),服务器110将以下数据包括到点击db180(例如,作为数据l4):查询、候选翻译ct及其得分sc(ct)、和提供给搜索引擎150的所选择的候选翻译的索引in(s-ct),其中在如上所述对翻译进行排序时计算索引。

当dm190处理点击式db180时,dm190通过涉及以下操作的优化过程来确定最佳拟合nnf:

操作dm1:从点击日志310和成功指示符定义510确定成功指示符/参数和重要流参数;参见图5。这可以例如如上所述的在步骤520、530、540中完成。

操作dm2:对于每个db180翻译的每个查询(即,对于每个数据记录,如l4,因此对于每个动作,如a4),dm190确定接收到查询的流中的重要流参数的值;因此,dm190获得nnf函数的参数值;参数值是这些重要流参数的值和得分sc(ct)的组合。dm190还确定成功参数的值。

操作dm3:db180可以包括在不同流中或在同一流中的不同阶段处提供的相同查询的不同翻译。不同的翻译可以具有或可以不具有相同的参数值,即重要流参数和sc(ct)得分的相同组合。对于翻译的每个查询,dm190确定所有参数值,并选择最佳参数值。基于成功指示符/参数(例如,基于以某种方式总结成功指示符(例如作为成功指示符的总和)的成功参数)来选择最佳参数值。例如,“最佳”参数值可以被定义为对应于最大成功参数的参数值,或者定义为对应于最大平均成功参数的参数值,或以其他方式来定义。

如果多个参数值满足“最佳”定义,则以合适的方式选择单个“最佳”参数值。一种方法是选择针对该查询或针对多个查询最频繁出现的参数值,但当然这个标准也可以通过多个参数值来满足。在最佳参数值中对单个参数值的随机选择也是可能的。

操作dm4:最佳参数值对应于一个或多个状态(如a4)下的特定一个或多个翻译。如果存在多于一个这样的状态,则选择一个这样的状态(例如,随机地或以某些其他方式)。相应的翻译被称为下面的“最佳翻译”,并且相应的动作(例如,a4)被称为“最佳动作”。

操作dm5:为了最佳翻译和最佳动作,dm190从点击db180读取提供给搜索引擎150的所选择的候选翻译的索引in(s-ct)。我们将这个值in(s-ct)表示为值in(q,ba,ct),其中q是查询,ba是最佳参数值(在dm3中选择的)。

操作dm6:对于作为至少一个查询q的最佳参数值的每个参数值ba,dm190将in(ct)确定为具有最佳参数值ba的所有查询q的所有in(q,ba,ct)的平均值。

操作dm7:然后选择函数nnf以提供其期望值in(ct)的最佳拟合,例如以最小化在所有组合中测量的一些预测(估计)损耗。如上所述,损耗可以定义为nnf输出和最佳索引in(ct)之间的差异的平均平方,或差异的平均绝对值,其平均值在作为针对至少一些查询的最佳参数的所有参数ba上获得。损耗也可以以其他方式来定义。这种最佳拟合算法是众所周知的;参见例如下面的参考书目中的[13]和[14]。

在一些实施例中,函数nnf是从神经网络理论已知的多个函数(被认为是不同的阶段)的组合,并且多个函数中的每一个可以由dm190通过“最佳拟合”过程(优化处理)确定,可以对不同阶段进行不同的定义。

在一些实施例中,为不同的流计算单独的函数nnf。例如,dm190可以确定为了提供低损耗,对于来自一个位置的用户而言,相比于来自另一个位置的用户(例如,德国对加拿大),nnf应该是不同的,或对于包含给定的词或一组词的查询而言,相比于其他查询,nnf应该是不同的。这种确定可以通过已知的技术来进行,例如通过分别计算针对不同组流的最小损耗来进行。

当dm190找到nnf时,它在统计流db310中存储nnf定义(例如,nnf类型(例如线性或其他))、参数的定义(例如,哪些流参数是参数的一部分、是否有任何sc(ct)是参数的一部分等)、在这种类型的函数中定义nnf的系数或其他信息、和其他相关信息。如果使用多个nnf,则db310中的信息定义了哪个nnf适用于特定流。

在步骤238s处,服务器110从统计流db310获得相关函数nnf的定义,获得相关参数值(例如,作为来自当前流320的重要流参数和得分sc(ct)以及步骤238p的输出的组合),并计算这些参数的nnf值。服务器然后使用nnf值来选择候选翻译。

还可以使用其他人工神经网络模型。

还可以使用其他数据挖掘技术。图8示出了类似于隐马尔可夫模型(hmm)的技术。具体地,图8示出了dm190在从点击db180创建或更新统计流量db310时的操作。在该实施例中,每个流可以被认为是有限状态自动机(fsa)。点击db180保留所有这些fsa及其相关数据(如表1中的li,l2等)。图8示出了两个流:流id为id1的流和流id为流id2的流。每个状态si、s2等对应于诸如表1中的a1、a2等的动作。相应的点击数据示出为li、l2等。流id1的状态s和点击数据l可以不同于流id2。在每个流中,可以定义附加状态,例如子状态。例如,假设流id1是表1的流,其中在行a4/l4中具有机器翻译,则可以在db180中创建两个状态:状态s4表示对查询的接收,并且状态s4t1表示机器翻译和其后续处理直到将搜索结果发送给用户。这些状态s4,s4t1中的每一个可以与数据l4中的全部或一些相关联;例如,状态s4可以存储查询而不是其机器翻译,并且s4t1可以存储查询和机器翻译。db180的这种表示也可以与其他数据挖掘技术(例如结合图5描述的那些数据挖掘技术或人工神经网络)一起使用。

dm190优化db180中定义的fsa,以创建更简单的fsa,更简单的fsa然后在db310中存储。更简单的fsa的状态在图8中示出为cs1、cs2等;其相关数据示出为状态cs1的cl1,为简单起见,未示出其他状态的相关数据。我们将针对db180中的状态使用术语“s状态”,针对db310中的状态使用“cs状态”。我们将针对db180的点击数据使用术语“l数据”(例如数据li,l2等)并且针对db310中的诸如cl1之类的数据使用术语“cl数据”。

为了定义更简单的fsa,dm190首先例如在图5的步骤520、530、540中找到重要流参数。5。然后,如果具有如其l数据所指示的相同重要流参数的不同流中的不同s状态,则可以将这样的s状态聚类,即合并到单个cs状态。在一些实施例中,具有相同重要流参数的相同流中的s状态也被聚类。当不同的状态被聚类时,其l数据的公共值也被聚类成相应的cl数据;例如,cl数据可以仅包括重要流参数。

例如,假设对于流id1和id2,其状态s1仅在用户位置上不同:id1对应于德国,id2对应于荷兰。进一步假设在步骤520、530、540处确定该位置是微不足道的,或者至少德国-荷兰的差异是微不足道的。然后,两个流的状态s1可以聚类成单个状态cs1。状态cs1与包括重要参数的值的数据cl1(“cl数据”)相关联。

如果s状态没有与任何其他状态聚类,则可以创建相应的cs状态,其中cl数据包括s状态的重要流参数的值。

在图8的示例中,假设流id1的状态s1至s4已经与流id2的相应状态s1至s4聚类成相应的状态cs1、...、cs4。特别地,对于状态cs4,流id1和id2在其相应的状态s4处得到相同的查询,但是翻译是不同的。(翻译可能不同,因为例如,在id1的s4时的mtdb170可能不同于在id2的s4时的mtdb170,例如统计db170s可能不同,或者因为随机选择用于选择候选者翻译、或由于其他原因。)因此,从状态cs4有两个可能的路径:到针对在id1中获得的翻译的状态cs4t1的一个路径,以及到针对在id2中获得的翻译的状态cs4t2的另一路径。db310将每个状态cs4t1、cs4t2与相应的翻译相关联。相应的cl数据包括查询翻译和可能的其它信息,例如候选翻译、sc(ct)得分和所选择的候选翻译的索引in(ct)。

对于来自cs4的两个可能路径中的每一个,dm190计算涉及翻译的每个s状态的预测成功指示符或其他成功参数。这些参数对于到cs4t1的路径示出为si1,对于到cs4t2的路径示出为si2。对于涉及翻译的多个s-状态聚类的每个cs状态,预测成功参数可以是这类多个s状态上的平均值。

在一些实施例中,dm190仅在db310中记录具有最高预测成功参数的路径。例如,如果si1大于si2,则在这样的实施例中仅记录到cs4t1的路径;如果si1等于si2,则可以记录两条路径,或者记录两条路径中任意选择的路径。在其他实施例中,无论成功参数值如何,都记录每个路径。

在步骤238s处,当前流320与db310匹配。例如,假设当前流320经过状态cs1,cs2,cs3,cs4。然后,步骤238s可以如在具有存储在db310中的最高预测成功参数(si1或si2)的cs4t1或cs4t2中选择候选翻译。

替代地,候选翻译按其得分sc(ct)或按某些其他方式排序时,每个路径可以与候选翻译ct的索引in(ct)相关联,并且db310可以记录平均索引,并且步骤238s可以选择具有该索引的候选翻译。其他选择方案是可能的。

如果当前流320与db310的任何流都不匹配,则多个选项是可能的。在一些实施例中,服务器110尝试在db310中找到封闭流。如果状态cs1至cs4与当前流的状态的差异仅在于流参数,其中流参数可能是重要的但与成功指示符的相关性较低(例如,相关性低于所选择的流阈值),则诸如cs1至cs4之类的流是封闭流。此外,如果流具有可能与成功指示符并非高度相关的附加cs状态,则流可能是封闭的。如果没有发现封闭流,则可以在步骤238s随机选择候选翻译,或者可以如现有技术中例如通过最高分sc(ct)选择候选翻译。当前流320被添加到点击db180,并且在下一次dm190更新db310时被考虑。

一些实施例不寻找封闭流,而是通常使用随机选择或sc(ct)得分或一些其它非随机方法来选择搜索引擎150的候选翻译。

如上所述,在一些实施例中,不是选择搜索引擎150的单个翻译,而是针对每个候选翻译执行搜索以产生“部分”搜索结果,即候选翻译的搜索结果;则流数据320用于确定部分搜索结果应该如何被布置用于被发送给用户。图9示出了该方案的一些实施例。这里,mt引擎160可以包括与图4中相同的预翻译引擎160p。mt引擎还可以包括ct优先化模块160s,其对候选翻译进行优先级排序,以当稍后组合搜索结果时,确定哪些部分搜索结果应该被给予较高的优先级。由模块238p生成的候选翻译被提供给搜索引擎150,搜索引擎150在步骤242针对每个候选翻译执行搜索以生成每个翻译的部分搜索结果。然后组合部分搜索结果(在步骤810),并在步骤246发送给用户。基于使用关于当前流数据320和统计流数据310的信息的ct优先化160s的输出来组合部分搜索结果。

例如,在一些实施例中,如图10所示执行步骤810。在该实施例中,在步骤910,ct优先化模块160s基于翻译的预测成功来对候选翻译进行优先级排序。例如,在一些实施例中,步骤910与图7的步骤710相同:ct优先化模块160s从预翻译160p接收候选翻译ct及其得分sc(ct),并生成每个候选翻译ct的预测成功参数ps(ct)。

在步骤920,服务器110基于在步骤910执行的优先化来布置部分搜索结果,以获得要发送给用户的组合搜索结果。例如,在一些实施例中,来自部分搜索结果的文档与由ct优先化ps(ct)提供的优先级成比例地组合。因此,假设例如分别具有优先级为3、2和1的三个候选翻译ct1、ct2、ct3(例如由ps(ct)成功参数或以某种其他方式定义)。让我们将相应的部分搜索结果表示为psr1,psr2,psr3。然后在步骤920,服务器生成搜索结果,使得搜索结果从psr1的前3个文档开始,然后包括psr2的前2个文档,然后包括来自psr1的第一个文档。然后服务器从psr1得到接下来的3个文件,从psr2得到接下来的2个文件,并且从psr1得到下一个文档以用于搜索结果,以此类堆。

如图11所示,可以组合图4和图10的方法。首先,在图11的步骤238s,mt引擎160可以针对搜索选择少于全部候选翻译的、多于一个的候选翻译。例如,mt引擎160可以选择具有如由ct优先化160s(其可以如图10所示)所定义的最高优先级的预定义数目的候选翻译,例如前10个候选翻译。或者,mt引擎160可以选择其优先级高于某阈值的候选翻译。还可以使用其他标准。这些候选翻译被提供给搜索引擎150。

在步骤810,如图10所示对部分搜索结果进行组合。

流数据可用于修改服务器操作的其他部分,例如如图12所示的搜索。例如,在对查询执行搜索之前,一些搜索引擎将查询扩展为包括同义词、形态变体、替代拼写(或拼写错误)、拼写更正以及可能的其他变体。在一些实施例中,经翻译的查询的扩展考虑了流数据310、320。例如,在生成统计流量db310时,并且更具体地,在确定各种相关性时,dm190可以发现,某些类型的扩展与某些流参数相结合很有可能提供低成功指示符(统计意义上“非常可能”)。在示例中,假设经翻译的查询包括词“片”,并且点击db180示出词“片(sheet)”已被搜索引擎150扩展为“多个片(sheets)”、“薄片(sheeting)”、“scheet”(拼写错误)和“涂(coating)”。dm190还发现搜索引擎150已经响应于“薄片”返回了某些文档,并且这些文档没有其他变体(例如“片”、“多个片”等),并且这些文档从未被请求用户请求(除非前面的域(查询之前)包括“园艺”域),或者这些文档被请求但提供了低成功指示符(除了在查询之前具有“园艺”域的流)。则由dm190生成的db310可以指示不能使用“薄片”扩展,除非在流320中存在园艺域。

图12的技术可以与图4、图9和图11的技术组合。例如,在图9和图11中,步骤242的搜索可以由图12中的流数据310、320修改。

图13示出了上述一些方法的多功能性。在步骤238,mt引擎160向搜索引擎150提供一个或多个翻译。步骤238可以生成单个翻译或多个候选翻译(例如,在图4-12中)。在任何情况下,一个或多个翻译可以以上述方式或以某种其他方式考虑统计流数据310和当前流数据320。例如,如上述sawaf参考文献中所述,机器翻译可以使用字典,并且可以为每个域提供单独的字典。在本发明的一些实施例中,域可以从当前流数据320获取,可能考虑统计流数据310。例如,假设在图5的过程中,dm190发现在成功指示符与具有高相对频率的域之间的高度相关性,其中相对频率是流中域的出现次数与流中所有域的所有出现次数的百分比。因此,dm190可以发现在成功指示符和相对频率高于40%的域之间而不是和相对频率为40%或更低的域之间存在高度相关性。在这种情况下,在一些实施例中,当选择字典和/或执行其他翻译操作时,mt引擎160将域限制为高于40%的相对频率(如果这样的域在当前流中基于数据320存在)。

在步骤1110,搜索引擎150执行针对从步骤238接收到的每个翻译的搜索,可能考虑流数据310、320(例如,如图12中的步骤242)。如果步骤238提供多个候选翻译,则组合部分搜索结果,可能考虑流数据310和320。可以在步骤238而不是1110处考虑流数据310和320,或者在步骤1110而不是238处考虑流数据310和320,或者在步骤238和1110这两者处考虑流数据310和320。

步骤246如上所述。

如上所述,一些实施例生成可用于例如多变量测试的随机值。图14示出了包括随机值生成器1210的实施例。在该实施例中,mt引擎160包括预翻译引擎238p,其可以如上文针对图4所述。候选选择通常可以如图4所示、或者如在上述任何实施例中所示、或如现有技术中所示。然而,当选择随机选项时,暂停正常操作,并且基于由随机值生成器1210生成的随机值执行候选选择。可以由服务器110的人类操作者选择或取消随机选项,人类操作者可以通过连接到服务器或连接到与服务器进行网络通信的另一计算机的用户接口设备(未示出)访问服务器。在一些实施例中,人类操作者可以指定随机选项仅适用于某些指定的查询或类或查询(例如,基于发送查询的用户的位置或某些其他参数),或者仅用于查询中的给定的一个或多个词或表达。任何其他因素可以被指定为定义何时执行随机选项,包括例如用户属性(性别、职业等,如果已知的话)、用户位置以及可能的流数据310和/或320的任何参数。

使用正常或随机选项,在步骤242搜索所选择的候选者,并且在步骤246向用户提供搜索结果。这些步骤可以如图14所示。

在一些实施例中,对于每个多变量测试操作(即当使用随机选项时),在点击db180(例如,在图8的l数据中)中指定使用随机选项,以允许后续对查询、所选择的翻译、相应的成功指示符以及上述任何因素(性别、位置等)之间的相关性的分析。例如,分析可以如图5或上述其它实施例中所示由db190执行;产生的统计流量数据310将导致在根据图4的方案或上述其他方案执行的后续正常操作中选择查询的最佳翻译。当测试完成时,可以禁用随机选项。

随机选项可用于上述其他实施例中以执行测试。例如,参考图9,图10的ct优先化方案可以被暂停用于所选择的查询或如上面针对图14所示的其他选择的条件集,并且在步骤810,可以基于(由诸如图14中的1210之类的随机值生成器)为测试操作生成的一个或多个随机值来组合搜索结果。剩余的操作可以如上面针对图14所述。

同样,在图11中,对于测试操作,可以针对步骤238s或810或两者来暂停基于如上所述的ct优先化模块160s的操作的正常方案,并且替代地可以使用如上文针对图4(即图14)或图9或这两者所述的随机值方案。

类似地,参考图13,可以通过在步骤238或1110或这两者处使用随机值生成替代普通方案来执行测试操作。

随机值可以与其他信息(例如用户流信息)组合以确定最佳翻译和/或布置结果。例如,可以使用随机值来提供测试操作中的得分sc(ct)的权重;然后在后续的正常操作中,可以基于测试操作来更新机器翻译的得分生成。

本发明不限于搜索查询,而是适用于涉及机器翻译的任何处理。例如,假设用户请求涉及任何文本(例如,可以是科学或工程文章、文学故事或任何其他类型的文本的文档)的翻译。用户请求可以包括向用户发送翻译、或者基于翻译来执行搜索或其他任务的请求。点击数据180、产生的统计流数据320和当前流数据310可以以上述方式用于影响文本的整体或一部分的机器翻译、和/或搜索、和/或给用户的结果呈现、和/或涉及使用机器翻译的其他任务的各个阶段。这样的任务也可以处于暂停正常操作的多变量测试模式中,并且ab测试数据可用于改进如上面结合图13所讨论的后续正常操作。

本发明不限于上述的特征和优点。例如,由服务器110执行的上述各种任务(翻译、搜索等)可以在服务器和向服务器发送请求的计算机120之间分配;例如,可以由计算机120执行翻译工作的一部分。此外,本发明不限于计算机网络;服务器110可以由不经过计算机网络中介而经由用户接口设备(例如,键盘、鼠标、触摸屏或某些其他设备)接收请求的计算机系统来代替。

这里涉及的任何计算机系统中的每个计算机包括执行存储在计算机存储装置(例如,计算机可读介质,如磁盘或光盘、半导体存储器或其他类型的计算机可读介质)中的计算机指令的一个或多个计算机处理器。诸如180、310、320和其他数据之类的数据被存储在这样的计算机存储装置中,并根据需要从中读取或进行写入以执行本文所描述的任务。

其他实施例和变型在所附权利要求限定的本发明的范围内。

参考书目

本部分列出的文档[1]至[14]通过引用引入并入本文。

[1]tanp.n.,kumarv.,srivastavj.,“selectingtherightinterestingnessmeasureforassociationpattern”,8thacmsigkddinternationalconferenceonkdd,2001,sanfranciscousa67-76.

[2]v.umarani,dr.m.punithavalli,“astudyoneffectiveminingofassociationrulesfromhugedatabases”,ijcsrinternationaljournalofcomputerscienceandresearch,vol.1issue1,2010issn:2210-9668.

[3]s.m.kamruzzaman,farhanahaider,ahmedryadhhasan,“textclassificationusingdatamining”,ictm2005,在因特网上可在以下地址得到:http://arxiv.org/pdf/1009.4987.pdf

[4]navinkumartyagi,a.k.solanki,“predictionofusersbehaviorthroughcorrelationrules”,(ijacsa)internationaljournalofadvancedcomputerscienceandapplications,vol.2,no.9,2011,77-81页,可以在以下地址得到:http://www.thesai.org/downloads/volume2no9/paper%2013%20%20prediction%20of%20users%20behavior%20through%20correlation%20rules.pdf

[5]eytanadar,daniels.weld,briann.bershad,stevend.gribble,“whywesearch:visualizingandpredictinguserbehavior”,copyrightisheldbytheinternationalworldwidewebconference,committee(iw3c2);www2007,2007年5月8–12日,banff,alberta,canada.acm978-1-59593-654-7/07/0005.可以在以下地址得到:http://www.cond.org/www520-adar.pdf

[6]eugeneagichtein,ericbrill,susandumais,“improvingwebsearchrankingbyincorporatinguserbehaviorinformation”,sigir’06,august6–11,2006,seattle,washington,usa;copyright2006acm1-59593-369-7/06/0008;可以在以下地址得到:http://www.mathcs.emory.edu/~eugene/papers/sigir2006ranking.pdf

[7]adrianov.barbosa,martina.oberg,rose-mariedéchaine,ericvatikiotis-bateson,“aninstantaneouscorrelationalgorithmforassessingintraandintersubjectcoordinationduringcommunicativebehavior”,workshoponmodelinghumancommunicationdynamicsatnips2010,pages38-41.可以在以下地址得到:http://projects.ict.usc.edu/mhcd2010/hcd-barbosa.pdf

[8]dongwang,weizhuchen,gangwang,yuchenzhang,botaohu,“exploreclickmodelsforsearchranking”,cikm’10,october26-30,2010,toronto,ontario,canada.copyright2010acm978-1-4503-0099-5/10/10.可以在以下地址得到:http://www.cs.berkeley.edu/~yuczhang/files/cikm10_ran-king.pdf

[9]stevefox,kuldeepkarnawat,markmydland,susandumais,andthomaswhite,“evaluatingimplicitmeasurestoimprovewebsearch”.可以在以下地址得到:http://research.microsoft.com/en-us/um/people/sdumais/cbarticle-final.pdf

[10]sandeeppandey,mohamedaly,abrahambagherjeiran,andrewhatch,peterciccolo,adwaitratnaparkhi,martinzinkevich,“learningtotarget:whatworksforbehavioraltargeting”,cikm’11,october24–28,2011,glasgow,scotland,uk.copyright2011acm978-1-4503-0717-8/11/10.可以在以下地址得到:http://labs.yahoo.com/files/learning%20to%20target.pdf

[11]美国专利no.8,793,120.

[12]美国专利no.8,543,580.

[13]andriishelestov,serhiyskakun,olgakussul,“complexneuralnetworkmodelofuserbehaviorindistributedsystems”,internationalconference《knowledge-dialogue-solutions》2007.可以在以下地址得到:http://inform.ikd.kiev.ua/content/ua/publications/articles/content/kds07-shelestov_skakun_kussul.pdf

[14]pao-huachou,pi-hsiangli,kuang-kuchen,menq-jiunwu,“integratingwebminingandneuralnetworkforpersonalizede-commerceautomaticservice”,expertsystemswithapplications37(2010)2898–2910.可以在以下地址得到:http://csnotes.upm.edu.my/kelasmaya/pgkm20910.nsf/de8cc2082fc4d31b4825730e002bd111/1f41e6ddc7f55f6b482577760014ca84/$file/web-mining-e-commerce-2010.pdf

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