检测搜索查询的源语言的制作方法

文档序号:6484859阅读:157来源:国知局
检测搜索查询的源语言的制作方法
【专利摘要】描述了用于搜索查询的自动语言检测的用计算机实现的方法、系统、计算机程序产品。在客户机设备上存储字符到语言映射。客户机设备可以对搜索查询的每个查询字符进行处理,以根据字符到语言映射确定查询字符可能存在的候选“语言-书写系统”对的数量。可以在与候选“语言-书写系统”对相关联的每个查询字符的情境下,针对每个候选“语言-书写系统”对,生成各自的子评分。可以通过对针对候选“语言-书写系统”对生成的所有子评分进行总计,针对每个候选“语言-书写系统”对,计算最终评分。可以基于针对搜索查询识别出的所有候选“语言-书写系统”对的各自的总评分,确定搜索查询的源语言。
【专利说明】检测搜索查询的源语言
【技术领域】
[0001]本说明书涉及用计算机实现的自动语言检测,尤其涉及针对搜索查询的自动语言检测。
【背景技术】
[0002]搜索引擎可以提供与用户的查询输入相对应的输入建议(例如查询建议)。输入建议包括与用户输进的部分查询输入匹配的、对用户提交的搜索查询和/或建议(例如自动完成)的查询替换项(例如扩展)。将与用户的查询输入直接匹配的输入建议称为“主语言输入建议”。
[0003]有关同一主题或信息的因特网内容在万维网上经常以不同的自然语言和/或书写系统而存在。多语言用户可以受益于用于定位不同语言和/或书写系统的相关内容的不同语言和/或书写系统的相应的查询。一些搜索引擎可以响应于用户的查询输入,提供跨语言输入建议(例如跨语言查询建议)。可以对每个跨语言查询建议提供相应的主语言查询建议,并且每个跨语言查询建议是相应的主语言查询建议的翻译。
[0004]当基于主语言查询建议生成跨语言查询建议时,搜索引擎可以使用机器翻译服务,来翻译主语言查询建议。在提高向用户提供的跨语言查询建议的质量时,正确并且适当地识别主语言查询建议的源语言的技术是有用的。

【发明内容】

[0005]本说明书描述与自动语言检测相关,特别与用于将主语言输入建议翻译成跨语言输入建议的自动源语言检测相关的技术。
[0006]通常,在本说明书中描述的主题的一个方面可以在包括如下动作的方法中实施:将字符到语言映射存储在客户机设备上,所述字符到语言映射包括多种自然语言和书写系统的输入字符,并且指定所述输入字符中的每个所存在的各自的一个或更多个自然语言和相关联的书写系统;获得包括多个查询字符的搜索查询,所述搜索查询是基于在所述客户机设备上接收到的用户提交的查询输入生成的查询建议;对于所述多个查询字符中的每一个:(I)根据所存储的字符到语言映射,针对所述查询字符识别各个包括所述查询字符的各自的一个或更多个候选“语言-书写系统”对;以及(2)基于所述各自的一个或更多个候选“语言-书写系统”对的各自的计数,对针对所述查询字符识别出的所述各自的一个或更多个候选“语言-书写系统”对中的每一个,生成子评分;对于针对所述多个查询字符识别的所述候选“语言-书写系统”对中的每一个,对针对所述候选“语言-书写系统”对生成的所有子评分进行总计,以获得所述候选“语言-书写系统”对的各自的评分;基于针对所述多个查询字符识别的所述候选“语言-书写系统”对的各自的评分,确定所述搜索查询的源语言;以及生成对机器翻译服务的翻译请求以将所述搜索查询从所述源语言翻译成与所述源语言不同的目标语言。
[0007]该方面的其它实施例包括各自被配置为执行这些方法的动作的相应的计算机系统、装置和记录在一个或更多个计算机存储设备上的计算机程序。可以如此构成一个或更多个计算机的系统,通过将软件、固件、硬件或它们的组合安装在该系统上,在操作中使系统执行这些动作。可以如此构成一个或更多个计算机程序,通过具有指令,当由数据处理装置执行这些指令时,指令使装置执行这些动作。
[0008]通常,在本说明书中描述的主题的一个方面可以在包括如下动作的方法中实施:接收包括多个查询字符的搜索查询;对于所述多个查询字符中的每一个:(I)根据存储的字符到语言映射,针对所述查询字符识别各个包括所述查询字符的各自的一个或更多个候选“语言-书写系统”对;以及(2)基于所述各自的一个或更多个候选“语言-书写系统”对的各自的计数,对针对所述查询字符识别出的所述各自的一个或更多个候选“语言-书写系统”对中的每一个,生成子评分;对于针对所述多个查询字符识别的所述候选“语言-书写系统”对中的每一个,对针对所述候选“语言-书写系统”对生成的所有子评分进行总计,以获得所述候选“语言-书写系统”对的各自的评分;以及基于针对所述多个查询字符识别的所述候选“语言-书写系统”对的各自的评分,确定所述搜索查询的源语言。
[0009]该方面的其它实施例包括各自被配置为执行这些方法的动作的相应的计算机系统、装置和记录在一个或更多个计算机存储设备上的计算机程序。可以如此构成一个或更多个计算机的系统,通过将软件、固件、硬件或它们的组合安装在该系统上,在操作中使系统执行这些动作。可以如此构成一个或更多个计算机程序,通过具有指令,当由数据处理装置执行这些指令时,指令使装置执行这些动作。
[0010]这些和其它实施例可以任选地包括以下特征中的一个或更多个。
[0011]在一些实施方式中,该技术还包括将所述字符到语言映射存储在执行所述识别、生成、总计和确定动作的客户机设备上的动作。
[0012]在一些实施方式中,所述字符到语言映射针对多个不重叠的字符集合中的每个唯一字符,识别所述唯一字符所存在的各自的一个或更多个“语言-书写系统”对。
[0013]在一些实施方式中,对针对每个查询字符识别出的每个候选“语言-书写系统”对生成的所述子评分,与针对所述查询字符识别出的所述候选“语言-书写系统”对的所述各自的计数呈负相关。
[0014]在一些实施方式中,对针对所述候选“语言-书写系统”对生成的所有子评分进行总计,以获得所述候选“语言-书写系统”对的各自的评分的动作还包括如下动作:如果所述候选“语言-书写系统”对是针对所述多个查询字符中的一个或更多个所识别出的唯一的候选“语言-书写系统”对,则提升针对所述候选“语言-书写系统”对生成的一个或更多个子评分。
[0015]在一些实施方式中,所述搜索查询是响应于向搜索引擎提交的查询输入所生成的
主语言查询建议。
[0016]在一些实施方式中,该方法还包括如下动作:发送将所述搜索查询从所确定的源语言翻译成与所确定的源语言不同的目标语言的机器翻译请求;以及提供响应于所述机器翻译请求所接收到的机器生成的所述搜索查询的翻译,作为与所述搜索查询相对应的跨语
言查询建议。
[0017]可以实施在本说明书中描述的主题的特定实施例,以实现以下目的中的一个或更多个:[0018]有时,可能很难基于用机器实现的语言检测技术,来确定基于用户的查询输入生成的主语言查询建议的实际语言。可以在服务器侧实施许多复杂的技术,来实现这种自动语言检测,但是检测处理需要许多时间和计算资源。另外,尽管如此,当主语言查询建议包括来自多种语言或书写系统的单词和/或字符时,这些复杂的技术可能产生错误的结果。另外,当主语言查询建议包括存在于多种语言和相关联的书写系统中的单词和/或字符时,还可能在自动语言检测中出现混淆。在本说明书中描述的技术可以解决传统语言检测方法的这些问题。
[0019]例如,使用在本说明书中描述的技术,可以使用简单的客户机侧处理,快速并高效地完成自动语言检测。这些技术适合于检测其它复杂的语言检测方法经常认为太短,而无法产生准确的语言检测结果的搜索查询的语言。另外,这些技术可以识别合适的混合语言搜索查询(例如包含多种语言的单词或字符的查询)的源,从而可以通过将混合语言搜索查询从识别的源语言翻译成希望的目标语言,生成有用的跨语言查询建议。
[0020]在附图和下面的描述中叙述在本说明书中描述的主题的一个或更多个实施例的细节。从文字描述、附图和权利要求,本主题的其它特征、方面和优点将变得明显。
【专利附图】

【附图说明】
[0021]图1是示出生成不同自然语言的查询建议的示例系统中的示例数据流的框图。
[0022]图2是示出针对机器翻译请求确定主语言查询建议的源语言的自动语言检测子系统的示例的框图。
[0023]图3是示出针对机器翻译请求确定主语言查询建议的源语言的示例处理的流程图。
[0024]各个图中相同的附图标记和指定指示相同的元素。
【具体实施方式】
[0025]搜索引擎可以响应于用户输进的查询输入,提供主语言查询建议。主语言查询建议是诸如用户的原始查询输入的扩展或自动完成的基于用户的原始查询输入生成的查询建议。经常基于存储在一个或更多个查询日志中的用户提交的搜索查询,来生成主语言查询建议。一些搜索引擎还可以提供针对每个主语言查询建议的跨语言查询建议,其中,跨语言查询建议是使用与主语言查询建议不同的第二语言或书写系统书写的查询。
[0026]当提供跨语言查询建议时,搜索引擎一般使用机器翻译服务,来生成每个主语言查询建议的候选翻译。对于每个翻译任务,机器翻译服务需要主语言查询建议的源语言的规范(specification)和翻译的目标语言的规范。跨语言查询建议的质量取决于对主语言查询建议的源语言的正确并适当的识别。
[0027]当主语言查询建议是混合语言查询,并且包括来自多种语言和/或书写系统的词时,自动语言检测可能是有挑战性的。传统的基于机器的识别这种混合语言查询的单个源语言的技术经常产生不正确并且不可预知的结果。例如,自动检测到的示例主语言查询建议“Autobot玩具”的语言可能是德语,并且自动检测到的示例主语言查询建议“AutoCad教程”的语言可能是马来西亚语,而实际上两个查询建议一半是英语,一半是中文。
[0028]使用这种不正确源语言规范的机器翻译,经常产生在检索关于与主语言查询建议所针对的主题相同的主题、但是使用不同的语言的跨语言内容时无效的跨语言查询建议。例如,机器生成的从德语到英语的主语言查询建议“Autobot玩具”的翻译还是“Autobot玩具”。如果提供“Autobot玩具”作为针对主语言查询建议“Autobot玩具”的跨语言查询建议,则这两个查询建议中的一个将是多余的。
[0029]如在本说明书中所描述的,可以在客户机设备上存储字符到语言映射。在一些实施方式中,字符到语言映射覆盖可以作为由用户输入的文本输进并且形成用户向搜索引擎提交的搜索查询的部分的所有唯一字符。在一些实施方式中,字符到语言映射覆盖所有这种唯一字符的子集(例如在30种最常用的语言和书写系统中使用的字符集合)。
[0030]每一个唯一字符具有唯一的标识符(例如Unicode编码)。字符到语言映射针对映射中的每一个唯一字符,指定该唯一字符可能存在(例如作为字母表的一部分或者文字)的语言和相关联的书写系统的相应的集合。例如,可以通过唯一字符的唯一的标识符,根据该字符到语言映射,来识别与每个唯一字符相关联的语言和书写系统对的集合。
[0031]基于该字符到语言映射,语言检测模块可以对搜索查询(例如主语言搜索查询)的每个字符进行处理,并且识别该字符可能存在的候选“语言-书写系统”对的各自的集合。然后,语言检测模块可以对针对字符识别的候选“语言-书写系统”对的各自的集合的每一个生成子评分,其中,子评分取决于针对字符识别的候选“语言-书写系统”对的计数。例如,越高的计数可以对应于越低的子评分,而越低的计数可以对应于越高的子评分。
[0032]在对搜索查询的所有字符进行处理之后,对每个候选语言-书写对的子评分进行记分,以产生针对候选“语言-书写系统”对的最终评分。然后,语言检测模块可以基于候选“语言-书写系统”对的最终评分,根据候选“语言-书写系统”对,来识别搜索查询的合适源语言。在一些实施方式中,如果针对查询中的特定字符,仅识别出了一个候选“语言-书写系统”对,则可以提升在该特定字符的情境中针对该候选“语言-书写系统”对生成的子评分。因此,当将提升的子评分相加到该候选“语言-书写系统”对的最终评分时,可以增大将该候选“语言-书写系统”对选择为查询的源语言的总体可能性。
[0033]在一些实施方式中,如果根据字符到语言映射在特定候选“语言-书写系统”对中找到了搜索查询的所有查询字符,则也可以对该特定候选“语言-书写系统”对应用提升,从而可以增大将该候选“语言-书写系统”对选择为查询的源语言的总体可能性。
[0034]图1是示出提供不同的自然语言的输入建议(例如查询建议)的示例系统100中的示例数据流的框图。在图1中,在客户机设备115上运行的模块110监视在搜索引擎查询输入栏中从用户122接收到的输入120。输入120作为字符的序列而书写。每个字符具有将其与相同或不同语言和书写系统中的所有其它字符进行区分的各自的唯一编码。这种唯一编码系统的示例是Unicode系统,其针对超过93种文字的超过109000个字符中的每一个提供唯一编码。例如,输入“auto”包括四个英语字符:“a”、“b”、“c”和“d”。输入“汽车人”包括三个中文字符“汽”、“车”和“人”。输入“汽车人movie”包括九个字符“汽”、“车”、“人”、空格、“m”、“ο”、“V”、“ i ” 和 “e”。
[0035]在一些实施方式中,模块110是在客户机设备115上运行的web浏览器中执行的JavaScript脚本或者安装在客户机设备115上运行的web浏览器中的插件软件。模块110接收输入120,并且在接收到输入120时,自动将输入120发送到建议服务模块125。在一些实施方式中,建议服务模块125是在接收文本输入(例如用户提交的查询输入)并且返回文本输入(例如查询建议)的替换项的服务器上运行的软件。
[0036]在一些实施方式中,建议服务模块125基于用户的查询输入120,确定主语言查询建议的集合。搜索引擎可以基于存储在一个或更多个查询日志中的用户提交的查询,生成主语言查询建议(例如查询输入的扩展和自动完成)。根据查询日志生成的主语言查询建议有时可能包括混合语言查询以及用户指定的首选语言或者机器指定的默认语言之外的语言的查询。因此,当要使用机器翻译技术翻译主语言查询建议时,有时需要进行附加步骤来确定主语言查询建议的实际源语言。
[0037]在一些实施方式中,建议服务模块125可以联系机器翻译服务以获得候选翻译,供作为针对由建议服务模块125生成的主语言查询建议的跨语言查询建议使用。可选地,建议服务模块125可以向模块110返回主语言查询建议的集合,然后模块110联系翻译服务模块130,以获得每个主语言查询建议的翻译。模块110可以向用户显示翻译作为与主语言查询建议相对应的跨语言查询建议。通过在客户机侧实施翻译请求处理,可以减轻建议服务125的负荷。
[0038]在一些实施方式中,模块110根据自动检测到的主语言查询建议的源语言和用户指定的跨语言查询建议的首选语言,指定每个翻译请求的源语言和目标语言。参考图2提供模块110如何确定主语言查询建议的合适源语言的更多细节。
[0039]翻译服务模块130可以使用各种机器翻译技术,响应于翻译请求翻译主语言查询建议。机器翻译技术的示例包括基于规则的机器翻译技术、统计机器翻译技术、基于示例的机器翻译技术和上述技术中的一个或更多个的组合。其它机器翻译技术也是可以的。
[0040]在一些实施方式中,如果模块110没有以足够的置信水平识别出主语言查询建议的源语言,则模块110可以与翻译请求一起,向翻译服务模块提供多个候选“语言-书写系统”对。翻译服务模块130可以在进行翻译之前,基于其它技术进行附加的自动语言检测处理。
[0041]在一些实施方式中,模块110可以实时(即在用户122正在搜索引擎查询输入栏中键入字符时)在用户接口 124中向用户122呈现主语言查询建议和跨语言查询建议。例如,模块110可以呈现与用户122键入的第一字符相关联的、第一组的主语言查询建议和跨语言查询建议,并且响应于用户122键入第一字符和第二字符的序列中的第二字符,呈现与该序列相关联的、第二组的主语言查询建议和跨语言查询建议等。
[0042]图2是示出示例语言检测模块200的操作的框图。语言检测模块200可以用来实施图1所示的语言检测器135。图2还示出了字符到语言映射204。字符到语言映射134在图1中示出。
[0043]如图2所示,语言检测模块200接收主语言查询建议(Q)202。主语言查询建议(Q) 202可以由建议服务模块基于用户的原始查询输入生成,并且提供给语言检测模块200。主语言查询建议Q包括字符的序列,其中,字符的序列形成一种或更多种语言的和相关联的书写系统中的一个或更多个单词。
[0044]在语言检测模块200接收到主语言查询建议(Q) 202之后,语言检测模块200的字符处理模块210对主语言查询建议(Q) 202的每个字符进行处理。对字符的处理可以是并行的或者相继的。
[0045]对于查询建议Q的字符的序列中的每个字符,字符处理模块210可以根据字符的唯一标识符,在字符到语言映射204中进行查找。在一些实施方式中,字符到语言映射204可以包括针对在搜索引擎处接收到的搜索查询中可以找到的每个唯一字符的条目。由于搜索引擎可以接受使用许多自然语言和相关联的书写系统中的一个或更多个书写的查询,因此字符到语言映射204也覆盖来自许多不同的语言和相关联的书写系统的字符。
[0046]例如,字符到语言映射204可以包括中文字符、阿拉伯语字符、英语字符、日语平假名字符、日语片假名字符、韩语韩文字符、罗马数字以及其它语言和相关联的书写系统的字符的条目。
[0047]另外,由于许多语言和相关联的书写系统可以共享字符集合的一部分或全部,因此字符到语言映射204中的每个唯一字符可以映射到多于一个的语言和书写系统对。例如,许多中文字符也在日语中作为Kangji (汉字)字符,并且在韩语中作为Hanja(汉字)字符使用。对于另一示例,英语字母“A”也可以在许多其它语言和相关联的字母表(例如德语、意大利语、中文拼音、西班牙语等)中找到。
[0048]在一些实施方式中,可以将字符到语言映射204作为文本文件存储在针对搜索查询(Q) 202进行自动语言检测的设备本地。通过将字符到语言映射存储在本地,可以提高自动语言检测的速度。在一些实施方式中,字符到语言映射204可以实现为可搜索表或者可搜索索引,可搜索表或者可搜索索引使用每个字符各自的唯一字符标识符(例如Unicode)编码作为到与该字符相关联的“语言-书写系统”对的集合的密钥。
[0049]在一些实施方式中,字符到语言映射204还可以针对每个唯一字符,指定字符可能存在的语言和相关联的书写系统(例如“语言-书写系统”对)的数量的各自的计数(N)。该计数可以用作指示:有多大的可能性包括特定字符的查询是使用这些语言和相关联的书写系统中的一个所书写。
[0050]例如,如果字符是在许多语言和相关联的书写系统中找到的共同字符(例如字母“a”),则共同字符的存在是搜索查询提供该搜索查询可能使用包括该共同字符的许多语言和相关联的书写系统中的一个所书写的弱指示。
[0051]相反,如果字符是仅在少数语言和相关联的书写系统中找到的稀有字符(例如字符“王”),则该稀有字符的存在提供搜索查询可能使用少数语言和相关联的书写系统中的一个所书写的强指示。
[0052]如果字符(例如字符“ O ”)仅在一个语言和相关联的书写系统中(例如在日语和相关联的平假名书写系统中)找到,则在搜索查询中该字符的存在是该搜索查询可能使用该一个语言和相关联的书写系统所书写的非常强的指示。
[0053]在一些实施方式中,字符处理模块210通过在字符到语言映射204中查找字符,来对搜索查询(Q)202中的所有字符进行处理,并且根据映射到该搜索查询的至少一个字符的“语言-书写系统”对,来确定该查询的候选“语言-书写系统”对。在一些实施方式中,可以在该字符处理步骤之前,去除搜索查询中的一些字符。例如,字符处理模块210可以去除并且不使用诸如空格、罗马数字的所有语言和书写系统通用的字符。
[0054]在一些实施方式中,当对搜索查询(Q) 202的每个字符(Ci)进行处理时,字符处理模块210可以针对字符(Ci)的情境中的一个或更多个候选“语言-书写系统”对(Lp的集合中的每一个,生成子评分(SSa u)。子评分(SSa u)可以与针对字符(Ci)识别出的候选“语言-书写系统”对的计数(Ni)负相关。换句话说,对于每个候选“语言-书写系统”对Lj,越大的Ni的值对应于越小的SSa u的值。在一些实施方式中,如果Ni=I,则可以提升每个候选“语言-书写系统”对Lj的SSci u的值(例如乘以大的乘数)。
[0055]一旦字符处理模块210结束了对搜索查询(Q) 202的所有字符的处理,并且对针对搜索查询(Q) 202识别出的每个候选“语言-书写系统”对生成了全部子评分,则语言评分模块220可以生成针对搜索查询(Q) 202识别出的候选“语言-书写系统”对中的每一个的最终评分。针对每个候选“语言-书写系统”对生成的子评分的数量,等于识别出候选“语言-书写系统”对的查询字符的数量。换句话说,针对每个候选“语言-书写系统”对生成的子评分的数量,等于可以根据字符到语言映射204找到存在于候选“语言-书写系统”中的查询字符的数量。
[0056]在一些实施方式中,语言评分模块220可以通过对针对候选“语言-书写系统”对生成的所有子评分进行记分,来生成每个候选“语言-书写系统”的最终评分。例如,假设向语言检测模块200提交了搜索查询“春O花”。当字符处理模块210对第一个字符“春”进行处理时,确定第一个字符“春”映射到三个0#=3)不同的“语言-书写系统”对(例如日语-Kanj1、中文-汉字、韩语-Hanja)。因此,可以针对这三个候选“语言-书写系统”对(例如日语-Kanj1、中文-汉字、韩语-Hanja)中的每一个,生成子评分SSitf (例如SS#=1/3)。当字符处理模块210对第二个字符“ O ”进行处理时,确定第一个字符“ O ”仅映射到一个(Ni5=I)候选“语言-书写系统”对(例如日语-平假名)。因此,可以针对该单个候选“语言-书写系统”对(例如日语-平假名),生成子评分(例如SS ^=1)。当字符处理模块210对第三个字符“花”进行处理时,确定第三个字符“花”映射到两个(Nie=I)候选“语言-书写系统”对(例如日语-平假名和中文-汉字)。因此,可以针对这两个候选“语言-书写系统”对(例如日语-平假名和中文-汉字),生成子评分(例如SS^l/2)。当语言评分模块220计算针对查询“春G花”识别出的候选“语言-书写系统”对中的每一个的最终评分时,语言评分模块220可以对针对候选“语言-书写系统”对生成的所有子评分进行总计(例如求和)。例如,对于日语-Kangji,最终评分是FSeSS.+SS^^l/^+l/^zS/e。对于中文-汉字,最终评分是FSZ=SSf^SSie =1/3+1/2=5/6。对于韩语-Hanja,最终评分是FS3=SS#=l/3。对于日语-平假 名,最终评分是SSi5=U因此,基于候选“语言-书写系统”对的最终评分,语言评分模块220可以确定该搜索查询最可能是用日语书写的。由于日语经常组合使用平假名和Kangji书写系统,因此语言评分模块220可以简单地得出搜索查询“春O花”的源语言是日语的结论,并且不进一步确定该搜索查询的特定书写系统。
[0057]在一些实施方式中,在对每个候选“语言-书写系统”对的子评分进行总计之前,假如在特定查询字符的情境中得出的特定候选“语言-书写系统”对是映射到该特定查询字符的唯一 “语言-书写系统”对,则语言评分模块220可以提升该特定候选“语言-书写系统”对的子评分。在一些实施方式中,可以通过对子评分乘以大的乘数,来实现提升。在一些实施方式中,代替对候选“语言-书写系统”对的子评分应用提升常数,可以将提升常数相加到候选“语言-书写系统”对的最终评分。
[0058]在一些实施方式中,如果根据字符到语言映射,在特定候选“语言-书写系统”对中找到了搜索查询的所有查询字符,则也可以对该特定候选“语言-书写系统”对的最终评分应用提升。
[0059]一旦语言评分模块220基于针对搜索查询(Q) 202识别出的候选“语言-书写系统”对的最终评分,确定了搜索查询(Q)202的适当源语言,则语言评分模块220可以向翻译请求模块230发送识别出的源语言。然后,翻译请求模块230可以向翻译服务模块,发送请求将搜索查询(Q)从所确定的源语言翻译成希望的目标语言(例如用户指定的跨语言查询建议的首选语言)的翻译请求。
[0060]注意,上面的描述仅用于进行说明,本领域技术人员可以进行各种修改和变形,而不脱离所描述的技术的范围和精神。例如,在一些实施方式中,使用候选“语言-书写系统”对的最终评分,作为确定搜索查询(Q)202的适当源语言时的几个因素中的一个。在一些实施方式中,如果几个候选“语言-书写系统”对具有相同的最终评分,则语言评分模块可以在单独的翻译请求中,作为源语言向翻译服务模块提供候选“语言-书写系统”对中的每一个。
[0061]图3是示出确定搜索查询的合适源语言的示例处理300的流程图。例如,处理300可以由图1中的模块110或者图2中的语言检测模块200实施。
[0062]当接收到搜索查询(302)时,示例处理300开始。搜索查询包括多个查询字符。在一些实施方式中,对搜索查询进行预处理,以去除没有特定“语言-书写系统”关系的某些字符(例如空格、阿拉伯数字等)。对于多个查询字符中的每一个:根据存储的字符到语言映射,针对查询字符识别各自的一个或更多个候选“语言-书写系统”对(304)。在一些实施方式中,将字符到语言映射存储在执行处理300的一个或更多个步骤的客户机设备上。在一些实施方式中,字符到语言映射针对多个不重叠的字符集合中的每个唯一字符,识别该唯一字符存在的各自的一个或更多个“语言-书写系统”对。
[0063]在一些实施方式中,当基于各自的一个或更多个候选“语言-书写系统”对的各自的计数,对针对每个查询字符识别出的各自的一个或更多个候选“语言-书写系统”对中的每一个,生成了子评分(306)时,处理300继续。在一些实施方式中,对针对每个查询字符识别出的每个候选“语言-书写系统”对生成的子评分,与针对查询字符识别出的候选“语言-书写系统”对的各自的计数呈负相关。例如,可以使用递减函数,来定义子评分和相应的计数之间的关系。
[0064]然后,对于针对该多个查询字符识别出的候选“语言-书写系统”对中的每一个,对针对候选“语言-书写系统”对生成的所有子评分进行总计,以获得候选“语言-书写系统”对的各自的评分(308)。在一些实施方式中,如果候选“语言-书写系统”对是针对该多个查询字符中的一个或更多个识别出的唯一的候选“语言-书写系统”对,则可以提升针对候选“语言-书写系统”对生成的一个或更多个子评分。
[0065]一旦获得了最终评分,则可以基于针对多个查询字符识别出的候选“语言-书写系统”对的各自的评分,针对搜索查询确定源语言(310)。
[0066]在一些实施方式中,搜索查询是响应于向搜索引擎提交的查询输入生成的主语言查询建议,并且处理300还可以包括如下步骤:发送将搜索查询从所确定的源语言翻译成与所确定的源语言不同的目标语言的机器翻译请求;以及提供响应于机器翻译请求接收到的机器生成的搜索查询的翻译,作为与搜索查询相对应的跨语言查询建议。
[0067]在本说明书的其它部分中,例如针对图1-2,描述上述示例处理和其它处理的其它特征。
[0068]可以使用数字电子线路,或者使用计算机软件、固件或硬件,包括在本说明书中公开的结构和它们的结构等同物,或者它们中的一个或更多个的组合,来实现在本说明书中描述的主题的实施例和功能操作。可以作为一个或更多个计算机程序产品(即在有形程序载体上编码的由数据处理装置执行或者用于控制数据处理装置的操作的计算机程序指令的一个或更多个模块)来实现在本说明书中描述的主题的实施例。有形程序载体可以是计算机可读介质。计算机可读介质可以是机器可读存储设备、机器可读存储基板、存储器设备或者它们中的一个或更多个的组合。
[0069]术语“数据处理装置”包含用于对数据进行处理的所有装置、设备和机器,作为示例包括可编程处理器、计算机或者多个处理器或计算机。除了硬件之外,装置还可以包括创建所讨论的计算机程序的执行环境的代码,例如构成处理器固件、协议栈、数据库管理系统、操作系统或者它们中的一个或更多个的组合的代码。
[0070]可以使用任何形式的编程语言,包括汇编或解释性语言或者声明或过程语言,来编写也已知为程序、软件、软件应用、脚本或代码的计算机程序,并且可以以任意形式,包括作为独立程序或者作为模块、部件、子例程或者适合在计算环境中使用的其它单元,来调用计算机程序。计算机程序不一定与文件系统中的文件相对应。可以将程序存储在保持其它程序或数据、例如存储在标记语言文档中的一个或更多个脚本的文件的一部分中、所讨论的程序专用的单个文件中或者多个协作文件、例如存储一个或更多个模块、子程序或代码部分的文件中。可以调用计算机程序,以在一个计算机上或者在位于一个地点或跨多个地点分布并且由通信网络互连的多个计算机上执行。
[0071]可以通过一个或更多个可编程处理器执行用于通过对输入数据进行运算并生成输出来执行功能的一个或更多个计算机程序,来执行在本说明书中描述的处理和逻辑流。还可以由例如FPGA(场可编程门阵列)或ASIC(专用集成电路)的特殊用途逻辑线路执行这些处理和逻辑流,并且还可以作为例如FPGA (场可编程门阵列)或ASIC (专用集成电路)的特殊用途逻辑线路来实现装置。
[0072]作为示例,适合执行计算机程序的处理器包括通用和特殊用途微处理器以及任意种类的数字计算机的任意一个或更多个处理器两者。通常,处理器接收来自只读存储器或随机存取存储器或者两者的指令和数据。计算机的必要元素是用于执行指令的处理器以及用于存储指令和数据的一个或更多个存储器设备。通常,计算机还包括例如磁盘、磁光盘或者光盘的用于存储数据的一个或更多个大容量存储设备,或者操作性地耦合计算机,以从一个或更多个大容量存储设备接收数据或者向一个或更多个大容量存储设备传送数据或者进行数据接收和数据传送两者。然而,计算机不必需要具有这些设备。此外,可以将计算机嵌入另一设备,仅举例来说,例如移动电话、个人数字助理(PDA)、移动音频或视频播放器、游戏机、全球定位系统(GPS)接收器。
[0073]适合存储计算机程序指令和数据的计算机可读介质包括所有形式的非易失性存储器、介质和存储器设备,作为示例包括例如EPROM、EEPROM的半导体存储器设备和闪存设备;例如内部硬盘或可移动盘的磁盘;磁光盘;以及CD-ROM和DVD-ROM盘。处理器和存储器可以由特殊用途逻辑线路进行补充或者包含在特殊用途逻辑线路中。
[0074]为了提供与用户的交互,可以在具有用于向用户显示信息的例如CRT(阴极射线管)或LCD(液晶显示器)监视器的显示设备以及用户可以用来向计算机提供输入的例如鼠标或跟踪球的键盘和指示设备的计算机上,实现在本说明书中描述的主题的实施例。还可以使用其它种类的设备,来提供与用户的交互;例如,向用户提供的反馈可以是任意形式的感官反馈,例如视觉反馈、听觉反馈或触觉反馈;并且可以以任意形式接收来自用户的输入,包括声音、语音或触觉输入。
[0075]可以在包括例如作为数据服务器的后端部件、或包括例如应用服务器的中间件部件、或包括例如具有用户可以用来与在本说明书中描述的主题的实施方式进行交互的图形用户接口或Web浏览器的客户计算机的前端部件、或者一个或更多个这种后端部件、中间件部件或前端部件的任意组合的计算系统中,实现在本说明书中描述的主题的实施例。系统的这些部件可以用任意形式的数字数据通信或数字数据通信介质、例如通信网络互连。通信网络的示例包括局域网(“LAN”)和例如因特网的广域网(“WAN”)。
[0076]计算系统可以包括客户机和服务器。客户机和服务器通常彼此远离,并且一般通过通信网络进行交互。客户机和服务器的关系借助于在各自的计算机上运行并且彼此具有客户机-服务器关系的计算机程序形成。
[0077]虽然本说明书包含许多【具体实施方式】细节,但是这些细节不应当被解释为对任意实施方式的范围或要求保护的内容的限制,而是作为对具体到特定实施方式的特定实施例的特征的描述。在单独的实施例的情境下在本说明书中描述的某些特征,也可以在单个实施例中组合地实现。相反,在单个实施例的情境下描述的各个特征,也可以在多个实施例中单独或者以任意适当的子组合实现。此外,虽然上面作为在某些组合中进行动作、甚至最初要求这样进行保护,描述了特征,但是在一些情况下,可以从要求保护的组合中去除该组合中的一个或更多个特征,并且要求保护的组合可以针对子组合或者子组合的变化。
[0078]类似地,虽然按照特定顺序在附图中描绘了操作,但是这应当被理解为要求按照所示出的特定顺序或者按照相继的顺序进行这些操作,或者进行所有示出的操作,以获得希望的结果。在某些情形下,多任务和并行处理是有利的。此外,上面描述的实施例中的各个系统部件的分离,不应当被理解为要求在所有实施例中进行这种分离,而应当被理解为所描述的程序部件和系统通常可以在单个软件产品中被集成在一起,或者被打包到多个软件广品中。
[0079]对在本说明书中描述的主题的特定实施例进行了描述。其它实施例在所附权利要求的范围内。例如,可以按照不同的顺序进行在权利要求中叙述的动作,而仍然获得希望的结果。作为一个示例,在附图中描绘的处理不一定需要按照所示出的特定顺序或相继的顺序进行,以获得希望的结果。在某些实施方式中,多任务和并行处理是有利的。
【权利要求】
1.一种用计算机实现的方法,包括: 将字符到语言映射存储在客户机设备上,所述字符到语言映射包括多种自然语言和书写系统的输入字符,并且指定所述输入字符中的每个所存在的各自的一个或更多个自然语言和相关联的书写系统; 获得包括多个查询字符的搜索查询,所述搜索查询是基于在所述客户机设备上接收到的用户提交的查询输入生成的查询建议; 对于所述多个查询字符中的每一个: 根据所存储的字符到语言映射,针对所述查询字符识别各个包括所述查询字符的各自的一个或更多个候选“语言-书写系统”对;及 基于所述各自的一个或更多个候选“语言-书写系统”对的各自的计数,对针对所述查询字符识别出的所述各自的一个或更多个候选“语言-书写系统”对中的每一个,生成子评分; 对于针对所述多个查询字符识别的所述候选“语言-书写系统”对中的每一个,对针对所述候选“语言-书写系统”对生成的所有子评分进行总计,以获得所述候选“语言-书写系统”对的各自的评分; 基于针对所述多个查询字符识别的所述候选“语言-书写系统”对的各自的评分,确定所述搜索查 询的源语言;以及 生成对机器翻译服务的翻译请求以将所述搜索查询从所述源语言翻译成与所述源语言不同的目标语言。
2.一种用计算机实现的方法,包括: 接收包括多个查询字符的搜索查询; 对于所述多个查询字符中的每一个: 根据存储的字符到语言映射,针对所述查询字符识别各个包括所述查询字符的各自的一个或更多个候选“语言-书写系统”对 '及 基于所述各自的一个或更多个候选“语言-书写系统”对的各自的计数,对针对所述查询字符识别出的所述各自的一个或更多个候选“语言-书写系统”对中的每一个,生成子评分; 对于针对所述多个查询字符识别的所述候选“语言-书写系统”对中的每一个,对针对所述候选“语言-书写系统”对生成的所有子评分进行总计,以获得所述候选“语言-书写系统”对的各自的评分;以及 基于针对所述多个查询字符识别的所述候选“语言-书写系统”对的各自的评分,确定所述搜索查询的源语言。
3.根据权利要求2所述的方法,还包括: 将所述字符到语言映射存储在执行所述识别、生成、总计和确定的客户机设备上。
4.根据权利要求2所述的方法,其中,所述字符到语言映射针对多个不重叠的字符集合中的每个唯一字符,识别所述唯一字符所存在的各自的一个或更多个“语言-书写系统”对。
5.根据权利要求2所述的方法,其中,对针对每个查询字符识别出的每个候选“语言-书写系统”对生成的所述子评分,与针对所述查询字符识别出的所述候选“语言-书写系统”对的所述各自的计数呈负相关。
6.根据权利要求2所述的方法,其中,对针对所述候选“语言-书写系统”对生成的所有子评分进行总计,以获得所述候选“语言-书写系统”对的各自的评分还包括: 如果所述候选“语言-书写系统”对是针对所述多个查询字符中的一个或更多个所识另O出的唯一的候选“语言-书写系统”对,则提升针对所述候选“语言-书写系统”对生成的一个或更多个子评分。
7.根据权利要求2所述的方法,其中,所述搜索查询是响应于向搜索引擎提交的查询输入所生成的主语言查询建议。
8.根据权利要求7所述的方法,还包括: 发送将所述搜索查询从所确定的源语言翻译成与所确定的源语言不同的目标语言的机器翻译请求;以及 提供响应于所述机器翻译请求所接收到的机器生成的所述搜索查询的翻译,作为与所述搜索查询相对应的跨语言查询建议。
9.一种系统,包括: 一个或更多个处理器;以及 存储有指令的存储器,当由所述一个或更多个处理器执行所述指令时,所述指令使所述一个或更多个处理器进行包括如下步骤的操作: 接收包括多个查询字符的搜索查询; 对于所述多个查询字符中的每一个: 根据存储的字符到语言映射,针对所述查询字符识别各个包括所述查询字符的各自的一个或更多个候选“语言-书写系统”对;以及 基于所述各自的一个或更多个候选“语言-书写系统”对的各自的计数,对针对所述查询字符识别出的所述各自的一个或更多个候选“语言-书写系统”对中的每一个,生成子评分; 对于针对所述多个查询字符识别的所述候选“语言-书写系统”对中的每一个,对针对所述候选“语言-书写系统”对生成的所有子评分进行总计,以获得所述候选“语言-书写系统”对的各自的评分;以及 基于针对所述多个查询字符识别的所述候选“语言-书写系统”对的各自的评分,确定所述搜索查询的源语言。
10.根据权利要求9所述的系统,其中,所述操作还包括: 将所述字符到语言映射存储在执行所述识别、生成、总计和确定的客户机设备上。
11.根据权利要求9所述的系统,其中,所述字符到语言映射针对多个不重叠的字符集合中的每个唯一字符,识别所述唯一字符所存在的各自的一个或更多个“语言-书写系统”对。
12.根据权利要求9所述的系统,其中,对针对每个查询字符识别出的每个候选“语言-书写系统”对生成的所述子评分,与针对所述查询字符识别出的所述候选“语言-书写系统”对的所述各自的计数呈负相关。
13.根据权利要求9所述的系统,其中,对针对所述候选“语言-书写系统”对生成的所有子评分进行总计,以获得所述候选“语言-书写系统”对的各自的评分还包括:如果所述候选“语言-书写系统”对是针对所述多个查询字符中的一个或更多个所识另O出的唯一的候选“语言-书写系统”对,则提升针对所述候选“语言-书写系统”对生成的一个或更多个子评分。
14.根据权利要求9所述的系统,其中,所述搜索查询是响应于向搜索引擎提交的查询输入所生成的主语言查询建议。
15.根据权利要求14所述的系统,其中,所述操作还包括: 发送将所述搜索查询从所确定的源语言翻译成与所确定的源语言不同的目标语言的机器翻译请求;以及 提供响应于所述机器翻译请求所接收到的机器生成的所述搜索查询的翻译,作为与所述搜索查询相对应的 跨语言查询建议。
【文档编号】G06F17/30GK103703461SQ201180072574
【公开日】2014年4月2日 申请日期:2011年6月24日 优先权日:2011年6月24日
【发明者】谭卫华, 陈启亮 申请人:谷歌公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1