在此引用下面一起待审批和共同待批的在相同日期提交的专利申请:标题为“在检索提示句时检测用户意图的方法和系统”的美国专利序列号No.___及标题为“使用扩展查询检索提示句的方法和系统”美国申请序列号No.______,发明人均为周明(Ming Zhou)。
示范性实例详细说明
本发明提供帮助用户以非母语写作并通过参考建议性的句子润色他们的句子的有效系统。建议性的句子,可以为确认句和提示句,是将用户的句子作为查询自动地从句子数据库中检索出的。为了实现这个系统,提议采纳几种技术。例如,第一种技术涉及改进的例句推荐方法。第二种技术涉及改进的帮助在用户的母语中搜索的跨语言信息检索方法和技术。还提议采纳其他技术。
图1展示在其中可以实现本发明的适合的计算系统环境100的例子。计算系统环境100仅是适合的计算环境的一个例子并不意味着对本发明的使用范围或功能的任何限制。也不应将计算环境100解释为与在示范性操作环境100中展示的组件中的任何一个或其组合有任何相关性或需求。
本发明可以工作在大量其他通用或或专用计算系统环境或配置中。适合于使用本发明的众所周知的计算系统、环境及/或配置的例子包括,但不仅限于,个人计算机、服务器计算机、手持设备或膝上设备、多处理器系统、基于微处理器的系统、机顶盒、可编程消费者电子产品、网络PC、小型计算机、大型计算机、电话系统、包含任何上述系统或设备及类似系统的分布式计算环境。
本发明可以在计算机可执行指令的通用环境中说明,如由计算机执行的程序模块。通常,程序模块包括执行特殊的任务或实现特殊的抽象数据类型的例行程序、程序、对象、组件、数据结构等等。本发明也可以实现在分布式计算环境中,其中任务是由通过通讯网络链接的远程处理设备执行的。在分布式计算环境中,程序模块可以位于本地和远程的包括存储器存储设备的计算机存储媒体。
参考图1,实现本发明的示范性系统包括形式为计算机110的通用计算设备。计算机110的组件包括,但不仅限于,处理单元120、系统存储器130和耦合包括系统存储器的不同系统组件到处理单元120的系统总线121。系统总线121可以为几种总线结构的任何一种,包括存储器总线或存储器控制器、外围设备总线,和使用多种总线结构的任何一种的本地总线。作为例子,而非限制,这样的结构包括工业标准结构(ISA)总线、微通道结构(MCA)总线、扩展ISA(EISA)总线、视频电子标准协会(VESA)本地总线,和也称为Mezzanine总线的外围元件互连接口(PCI)总线。
计算机110通常包括多个计算机可读媒体。计算机可读媒体可以为任何可以被计算机110访问的可用媒体并且包括易失的和非易失的媒体,可移动的和不可移动的媒体。作为例子,而非限制,计算机可读媒体可以包括计算机存储媒体和通讯媒体。计算机存储媒体包括用来存储信息如计算机可读指令、数据结构、程序模块或其他数据的以任何方法或技术实现的易失的和非易失的媒体,可移动的和不可移动的媒体。计算机存储媒体包括,但不仅限于,RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、盒式磁带、磁带、磁盘存储或其他磁存储设备,或其他可以用来存储所需信息并可以由计算机110访问的任何媒体。通讯媒体通常包括计算机可读指令、数据结构、程序模块或以已调制数据信号方式的其他数据,如载波或其他传输机制,也包括其他任何信息传输媒体。术语“已调制数据信号”是一种信号,它的一个或多个特性被设置或改变的方式对信号中的信息进行编码。作为例子,而非限制,通讯媒体包括以声音、RF、红外线或其他载体实现的有线或无线的技术。上述任何媒体的组合应包括在计算机可读媒体的范围内。
系统内存130包括形式为可移动和/或不可移动、易失的和/或非易失的存储器的计算机存储媒体如只读存储器(ROM)131和随机存取存储器(RAM)132。包含基本的例程来帮助在计算机110的元件之间传输信息,如在启动过程中的基本输入/输出系统133(BIOS)一般存储在ROM 131中。RAM 132通常包含需要能够马上访问的和/或正在由处理单元120处理的数据和/或程序模块。作为例子,而非限制,图1用图示说明操作系统134、应用程序135、其他程序模块136和程序数据137。
计算机110可以包含其他的可移动的/不可移动的、易失的/非易失的计算机存储媒体。仅作为例子,图1展示了一个读写不可移动的、非易失的磁媒体的硬盘驱动器141,一个读写可移动的、非易失的磁盘152的磁盘驱动器151,一个读写可移动的、非易失的光盘156的光盘驱动器155如CD-ROM或其他光学媒体。其他可以用在示范性的操作环境里的可移动的/不可移动的、易失的/非易失的存储媒体包括,但不仅限于,磁带和盒式磁带、闪存卡、数字式多用途盘、数字视频磁带、固态的RAM、固态的ROM等等。硬盘驱动器141通常与系统总线121通过不可移动的存储器接口相连,如接口140,以及磁盘驱动器151和光盘驱动器165通常与系统总线121通过可移动的存储器接口相连,如接口150。
上面在图1中展示的驱动器以及它们相关的计算机存储媒体为计算机110存储计算机可读指令、数据结构、程序模块和其他数据。在图1中,例如,硬盘驱动器141用来存储操作系统144、应用程序145、其他程序模块146以及程序数据147。注意这些组件既可以与操作系统134、应用程序135、其他程序模块136以及程序数据137一样也可以与它们不同。操作系统144、应用程序145、其他程序模块146以及程序数据147用不同的数字标出以说明,至少它们是不同的拷贝。
用户可以通过输入设备,如键盘162、麦克风163和定点设备161,通常称为鼠标、轨迹球或触摸垫,提供命令和信息到计算机110中。其他输入设备(未标出)可以包括操纵杆、游戏垫、卫星式转盘、扫描仪或类似设备。这些和其他输入设备通过连接到总线的用户输入接口160连接到处理单元120,但也可以通过其他接口和总线结构,如并行口、游戏口,或通用串行总线(USB)来连接。显示器191或其他显示设备也通过接口,如视频适配器190与系统总线121连接。除显示器之外,计算机还可以包括通过输出外围接口195或类似的接口连接的其他周边输出设备(未标出),如扬声器197和打印机196。
计算机110可以使用与一个或多个远程计算机,如远程计算机180的逻辑连接在联网环境中运行。远程计算机180可以是个人计算机、服务器、路由器、网络PC、对等设备或其他公共网络节点,并通常包括多个或所有上述相对于计算机110的组件。图1中所示逻辑连接是局域网(LAN)171和广域网(WAN)173,但也可以包括其他网络。这样的联网环境在办公室范围或企业范围的计算机网络、企业内部互联网和因特网中是很常见的。
当用在局域网联网环境中,计算机110通过网络接口或适配器170与局域网171相连。当用在广域网联网环境中,计算机110通常包括调制解调器172或其他在广域网173上建立通讯的方法。调制解调器172,可以为内置的或外置的,通过用户输入接口160或其他适合的机制连接到系统总线121。在网络环境中,所述相对于计算机110的程序模块,或其部分,可以存储在远程存储器存储设备中。作为例子,而非限制,如图1所示,远程应用程序185可以驻留在远程计算机181的存储器设备中。应理解所示网络连接仅为示范性的,也可以使用其他在计算机之间建立通讯链路的方法。
图2是作为示范性计算环境的移动设备200的方框图。移动设备200包括微处理器202、存储器204、输入/输出(I/O)组件206和用于和远程计算机或其他移动设备通讯的通讯接口208。在一个实例中,上述组件为了互相通讯被耦合在适合的总线210上。
存储器204实现为非易失电子存储器如有备用电池模块(未标出)的随机访问存储器(RAM),使得当移动设备210的总电源关闭时存储在存储器204中的信息不丢失。存储器204的一部分最好为用于程序执行而分配作为可寻址的存储器,而存储器204的另一部分最好用于存储,如模拟在硬盘驱动器上的存储。
存储器204包括操作系统212、应用程序214和对象存储216。在运行时,操作系统212由处理器202从存储器204优先执行。操作系统202,在一个首选实例中,为商业上由微软公司提供的WINDOWSCE品牌的操作系统。操作系统212是为移动设备优先设计的,并且实现可以由应用程序214通过一组暴露的应用程序接口和方法利用的数据库特性。对象存储216中的对象由应用程序214和操作系统212维护,至少部分响应对暴露的应用程序接口和方法的调用。
通讯接口208表示大量的允许移动设备200发送和接收信息的设备和技术。列出一部分,这些设备包括有线和无线的调制解调器、卫星接收器和广播调谐器。移动设备200也可以直接连接到计算机以与其交换数据。在这种情况下,通讯接口208可以为红外收发器或串口或并口通讯连接,它们都能传输流式信息。
输入/输出组件206包括不同的输入设备如触摸屏、按钮、滚轮和麦克风以及不同的输出设备,包括音频发生器、振动设备和显示屏。上面所列设备是作为例子并不需要全部出现在移动设备200中。另外,在本发明的范围内其他输入/输出设备也可以连接到或内置在移动设备200中。
根据本发明的不同方面,所提议采纳的是对非母语的人提供实用的工具来辅助英语写作的方法和系统。本发明并不集中在辅助用户的拼写和语法,而是集中于句子润色辅助。总的来说,假设不时需要以英语写作的用户必需具有英语词汇和语法的基本知识。换句话说,给出选择时,用户有一些能力来区分好的句子和坏的句子。
本发明实例所用方法是提供适合的句子给用户,无论他或她在写什么或在什么时间写。该场景很简单:无论合适用户写一个句子,系统检测他的或她的意图,并提供一些例句。然后,用户通过参考这些例句来润色他的或她的句子。这种技术被称为“例句智能推荐”。
图3方框图,展示本发明辅助用户构建和润色英语句子的系统和方法。更通用地,该系统和方法辅助用户构建和润色以第一种语言写出的句子,但是作为例子本发明通过引用英语句子润色来说明。系统300包括用来接收或录入输入查询到系统中的输入305。输入查询可以有多种形式,包括部分或完整的英语句子、部分或完整的中文句子(或更通用地,第二种语言的句子),甚至是以第二种语言的句子结构或语法混合第一种语言的单词的形式(例如,“中文式的英语”)。
查询处理组件310提供查询,或者整个或者相关的组成部分,给搜索引擎315。搜索引擎315使用查询项或从查询项产生的信息搜索句子数据库320。在整个输入查询被提供给搜索引擎315来处理并搜索的实例中,查询处理组件310可以和输入305组合。然而,在一些实例中,查询处理组件310可以对查询执行一些处理功能,例如从查询中抽取项并将这些项传送给搜索引擎315。更进一步,虽然本发明大部分是引用由搜索引擎315整个或部分地实现方法来说明的,在其他实例中,部分或全部的方法可以部分地在组件310中实现。
数据库320包含大量从标准英语文档中抽取出的例句。搜索引擎315从数据库中检索用户期望的例句。例句由搜索引擎315排列,并在句子输出组件325处提供给用户在润色他或她写出的句子时作参考。
用户通过在运行在如图1和图2所示的计算机或计算环境中的字处理程序中写一些东西输入查询。例如,他或她可以输入一个单词,或一个短语,或整个句子。有时,查询是以他或她的母语写出,即使最终的目标是以第一种或非母语(如,英语)写出一个句子。用户的输入将被作为对搜索引擎315的查询来处理。搜索引擎搜索句子库320来找出相关的句子。相关的句子被分为两类:确认句和提示句。
确认句被用来确认或指导用户的句子结构,而提示句被用来提供扩展的表达。确认句应在句子结构或形式上接近用户输入的查询或预期的输入查询以作为语法上的例子使用。提示句应在意思上与用户的输入查询句子相似,并被用来向用户提供表达一个特定思想的另一种方法。本发明的各方面在搜索引擎组件315中以下述方式实现。然而,在其他实例中,本发明的某些方面可以在查询处理组件310中实现。注意虽然本发明是在中文和英语的上下文中说明的,本发明和语言无关并可以容易地扩展到其他语言。
为了对上述挑战中的一个或多个提供解决方法,系统300和它实现的方法使用能够进行自然语言处理(能够进行NLP)的跨语言信息检索设计。它使用常规的信息检索(IR)模型为基线,并应用NLP技术来提高检索精度。
基线系统
搜索引擎315所改进的基线系统是在传统的IR系统中广泛使用的一种方法。这种方法的总体说明如下。
以D表示的整个例句集合包含多个“文档”,每个文档实际上是句子数据库320中的一个例句。对常规IR索引方法,文档的索引结果(仅包含一个句子)可以表示为权重的一个向量,如公式1所示:
公式1
Di→(di1,di2,…,dim)
其中dik(1≤k≤m)为项tk在文档Di中的权重,m是向量空间的大小,由集合中发现的不同项的数量来确定。在一个例子实例中,项为英语单词。一个项在文档中的权重dik根据它在文档中出现的频数(tf-项频数),以及它在整个集合中的分布(idf-逆文档频数)来计算。有多种计算和定义项权重dik的方法。在这里,作为例子,我们使用公式2所示的关系:
公式2
其中fik为项tk在文档Di中出现的频数,N为集合中文档的总数,及nk为包含项tk的文档的数量。这是在IR中最普通使用的TF-IDF加权方法。
如TF-IDF加权方法中常见的那样,查询Q,即用户的输入句子,以相似的方法来索引,同时对一个查询也取得一个向量,如公式3所示:
公式3
Qj→(qj1,qj2,…,qjm)
文档集合中的文档(句子)Dj和查询句子Qj之间的相似性Sim(Di,Qj) 可以用它们的向量的内积来计算,如公式4所示:
公式4
能够进行NLP的跨语言信息检索设计
附加,或代替,使用如上所述的基线方法来进行句子检索,搜索引擎315基于该方法使用能够进行NLP的跨语言信息检索方法。NLP技术方法论提高了检索精度,如下所述。为了提高检索精度,系统300单独或组合使用两个扩展的索引单元方法。首先,为了在构建一个句子时反映语言学的意义,不同类型的索引单元被赋予不同的权重。其次,为了改进提示句检索,使用了一种新方法。对查询句子,所有的单词都被替换为它们的近义词或相关的词,例如来自辞典的同义词。然后,使用相关性三元组数据库来过滤不合法的搭配以去除可能的干扰扩展。
为了改进查询翻译,在搜索引擎315(或组件310)中使用基于相关性三元组的新的翻译模型。首先,从查询中抽取出主相关性三元组,然后基于这些三元组进行翻译。下面是有关相关性三元组数据库的说明。
相关性三元组数据库
相关性三元组包含头部、从属部及头部和从属部之间的相关性关系。使用相关性解析器,句子被分解为一组如公式5所示形式的相关性三元组trp:
公式5
trp=(w1,rel,w2)
例如,对英语句子“I have a brown dog”,相关性解析器可以得到一组如图4-1所示的三元组。相关性解析器结果的标准表达为:(have,sub,I),(have, obj,dog),(dog,adj,brown),(dog,det,a)。类似地,对中文句子“国家颁布了计划”(英语为“The nation has issued the plan”),相关性解析器可以得到一组如图4-2所示的三元组。相关性解析器结果的标准表达为:(颁布,sub,国家),(颁布,obj,计划),(颁布,comp,了)。
在一些实例中,本发明的搜索引擎315使用相关性三元组数据库360来扩展从查询中抽取出的主相关性三元组的搜索项。因此,相关性三元组数据库可以包含在,或耦合到查询处理组件310和搜索引擎315之一。图5-1展示创建相关性三元组数据库360的方法。后面所述图8展示了连接到三元组数据库360的搜索引擎。
如图5-1所示,来自文本语言资料库的每个句子由相关性解析器355解析并且生成一组相关性三元组。每个三元组都被放到三元组数据库360中。如果在三元组数据库360中已经存在一个三元组的实例,该三元组的频数增加。在解析所有的句子后,包含成千上万个三元组的三元组数据库被创建出。由于解析器不是100%E确的,同时可能会引入一些解析错误。如果需要,可以用过滤器组件365来去除由解析错误引入的干扰三元组,在数据库360中只留下正确的三元组。
使用NLP技术改进检索精度
根据本发明,搜索引擎使用两种方法中的一种或两种来改进“确认句”检索结果。一种方法使用扩展的索引项。另一种方法使用一种新的排列算法来排列检索到的确认句。
扩展的索引项
使用常规的IR方法,搜索引擎315仅使用输入查询的词条定义该搜索的索引单元来搜索句子库320。“词条”是一个单词基本的、未变形的形式,也称为词干。为了改进在句子库320中对确认句的搜索,根据本发明,除词条外下面所列之一或更多作为索引单元加入:(1)有词性(POS)的词条单词;(2)短语动词;及(3)相关性三元组。
例如,考虑一个输入查询句子:“The scientist presided over theworkshop”。使用常规的IR索引方法,如上述基线系统,只有词条被用作索引单元(即,功能词作为停止词被去除)。表1展示了这个例子输入查询句子的词条:
表1
词条 |
scientist,preside,over,workshop |
使用本发明的扩展的索引方法,对相同的例句,在表2中展示的索引项也被用在由搜索引擎315进行的数据库搜索中。
表2
词条 |
scientist,preside,over,workshop |
有词性的词条 |
scientist_noun,workshop_noun,preside_verb |
短语动词 |
preside~over |
相关性三元组 |
preside~Dobj~workshop |
虽然一个或多个可能的扩展索引单元(有词性的词条、短语动词及相关性三元组)可以被加到词条索引单元中,在本发明的一些实例中,通过添加所有三种类型的扩展索引单元到词条索引单元中能够获得有利的结果。然后使用新的排列算法来排列由搜索引擎315从句子数据库320中对特殊的输入查询使用扩展索引单元检索到的确认句。
排列算法
在搜索引擎从数据库中检索到一些确认句之后,例如使用上述扩展索引单元方法或其他方法,排列确认句来确定语法上或结构上和输入查询最相似的句子。然后,使用输出325,一个或更多的确认句被显示给用户,有着最高级别(最相似)的确认句被放在第一位或显示为最相关的。例如,排列后的确认句可以显示为编号的列表,作为例子如图3所示。
根据本发明的实例,排列算法基于它们各自于输入查询的相似性Sim(Di,Qj)排列确认句。排列算法相似性计算按如公式6所示关系进行:
公式6
其中,
Di为第ith个确认句Di->(di1,di2,…,dim)的向量权重表示(参见上面的
公式1);
Qj为输入查询Qj->(qj1,qj2,…,qjm)的向量权重表示;
Li为Di的句子长度;
f(Li)为Li的句子长度因子或函数(例如,
);及
Wjk为项qjk的语言学权重。
在一个例子实例中,不同词性的语言学权重在表3的第二列中提供。然而,本发明不限于任何具体的加权。
表3
Verb-Obj (及物动词) |
10 |
Verbal phra搜索引擎(动词短语) |
8 |
Verb(不及物动词) |
6 |
Adj/Adv(形容词/副词) |
5 |
Noun(名词) |
4 |
Others(其他) |
2 |
和常规的IR排列算法相比,例如在公式4中所示,本发明使用相似性关系在公式6中所示的排列算法包括更好地反映确认句相对于输入查询的语言学意义的两个新特性。一个是在查询Qj中的项的语言学权重Wjk。例如,及物动词相关性三元组可以被赋予最大的权重,而动词短语、不及物动词等等相应地被赋予不同的权重,每个权重都反映特殊类型的项、句子成分或词性关系在选择相关的确认句时的重要性或意义。
用户被认为更加注意反映句子结构和词组的问题。例如,他们对动词的注意超过名词。因此,可以赋予语言学权重来检索有被认为对典型用户最重要的特殊类型的项、句子成分或词性关系的确认例句。
加到相似性函数中的第二个特性是句子长度因子或函数f(Li)。在一个实例中使用的直觉是在相同的条件下短句应比长句有更高的排列次序。例子句子长度因子或函数
为辅助至少部分地基于长度排列确认句的一个可能的函数。也可以使用其他函数。例如,可以用其他指数长度函数。进一步来说,在其他实例中,可以选取长度因子使得较长的确认句有更高的排列次序,如果这样有利的话。
虽然用在这个特殊的相似性排列算法中的两个新特性(Wjk和f(Li))可以如公式6所示一起应用来改进确认句检索,在其他实例中这些特性的每一个都可以单独使用。换句话说,可以使用如公式7和8所示的相似性排列算法Sim(Di,Qj)。
公式7
公式8
改进的提示句检索
在系统300中,搜索引擎315使用本发明的查询扩展方法来改进提示句检索。查询扩展方法400总体上在方框图5-2中展示。查询扩展方法提供用在搜索句子数据库320中的替换表达。
扩展过程如下:首先,如在405所示,我们使用定义在机器可读的辞典,例如WordNet中的同义词来扩展查询中的项。这种方法通常用在常规的IR系统的查询扩展中。然而单独使用时,这种方法受干扰扩展的问题影响。为了避免干扰扩展的问题,由搜索引擎315使用的方法400在为提示句搜索句子数据库之前实现附加的步骤410和415。
如在410所示,扩展项被合并以构成可能的三元组。然后,如在415所示,用图5-1和图8所示的相关性三元组数据库360检查所有可能的三元组。只有那些曾经出现在三元组数据库中的三元组被选择作为扩展查询项。那些未在三元组数据库中发现的扩展三元组被丢弃。然后,使用余下的扩展项搜索句子数据库来得到提示句,如在420所示。
例如
查询:I will take the job
同义词集合:take|accept|acquire|admit|aim|ask|…
三元组数据库中的三元组:accept~Dobj~job,
余下的扩展项:accept~Dobj~job
提示句检索的混淆方法
有时,用户会用第一种语言的单词的混合及第二种语言的语法结构来输入查询。例如,一个以英语写作的中文用户会输入通常被称为“中文式英语”的查询。在本发明的一些实例中,搜索引擎315被设计为在搜索句子数据库得到提示句之前检测用户的意图。搜索引擎可以使用两种方法中的一种或全部检测用户的意图。
检测用户意图的第一种方法450在图6-1中用一个例子展示。这称为翻译方法。使用这种方法,用户的查询如所示在455接收,并由第一种语言(有着第二种语言的语法、结构、搭配等等)翻译为第二种语言,如在460所示。如在465所示,查询然后被从第二种语言翻译回第一种语言。作为例子,步骤460和465就中文和英语来展示。然而,必须注意这些步骤并不限于任何特殊的第一种和第二种语言。
在第一个例子中,在470所示并对应于步骤455的输入查询是包含一个常见搭配错误的中文式的英语查询,“Open the light”。如在475所示并对应于步骤460,该中文式的英语查询被翻译为中文查询“开灯”。然后,如在480所示并对应于步骤465,该中文查询被翻译回并不包含初始查询中的搭配错误的英语查询“Turn on the light”。这个方法被用来模仿用户的思维方式,但需要一个准确的翻译组件。如果翻译质量很差的话,方法450可能回产生过多的干扰。因此,可以使用图6-2所示的方法500。
第二种方法,在这里称为“混淆方法”,使用混淆集合数据库扩展在用户查询中的词对。这种方法在图6-3中展示,而构建混淆集合数据库的方法在图6-2中展示。混淆集合是一个包含混淆的词对,如“open/turn on”的数据库。这可以包含词之间的搭配、在翻译上易混淆的单个词,及其他混淆的词对。通常,词对将使用同种语言,但如果需要也可以用一个翻译的词来注释。
首先参考图6-2,所示的是构建由搜索引擎315在检测用户意图时使用的混淆集合数据库505的方法500。混淆集合的集合,或混淆集合数据库505的构建可以在词和句子对齐的双语语言资料库510的辅助下进行。在这里所用的例子中,语言资料库510是英汉双语语言资料库。如在515所示,该方法包括中文词对到英语词对的人工翻译(人工翻译以Eng’表示)。然后将英语翻译词对Eng’和正确的英语翻译词对(以Eng表示)对齐,如在520所示。这样的对齐是可能的,因为正确的翻译在原有的双语语言资料库中是现成的。在此,定义了词对的集合,该集合对于一个特殊的中文词对把英语翻译与英语原始词对(由它在双语语言资料库中的对齐来定义的正确的翻译词)相关联:
{英语翻译,英语原始}
任何在其中翻译词对和原始词对相同的词对集合,{英语翻译,英语原始}或{Eng’,Eng},被标识出并从混淆集合中去除。那些英语翻译和英语原始不同的集合保留在混淆集合数据库505中。也可以通过加入一些典型的混淆词对,如在教科书525中定义的或现有的个人混淆词的收集530l来扩展混淆集合。
图6-3展示通过使用混淆集合数据库505在用户查询中扩展词对来确定用户意图的方法。如在605所示,在输入组件处接收用户查询。然后比较用户查询中的词对和混淆集合数据库中的词对,如在搜索引擎的比较组件610所示。通常,这是比较用户查询中的英语词对和对应的数据库中的人工翻译词对,Eng’。然后在混淆集合数据库中有匹配条目的用户查询中的词对Eng’由来自该集合的原始词对,Eng,替换,如在查询扩展组件或步骤615所示。换句话说,用正确的翻译词对来替换它们。然后搜索引擎315的句子检索组件使用通过混淆集合数据库创建的新的查询来搜索句子数据库320。再次,虽然混淆集合方法是引用由以中文为母语的人写的英语词对来说明,这些方法是语言无关的,并且也可以应用到其他语言的组合。
查询翻译
如图7所示,搜索引擎315也使用查询翻译来改进句子检索。给出一个用户查询(655所示),用一个稳健的解析器抽取出关键相关性三元组,如在660所示。然后这些三元组被逐个翻译,如在665所示。最后,所有这些三元组的翻译被搜索引擎315用作查询项。
假设我们要翻译一个中文相关性三元组C=(wC1,relC,wC2)为英语相关性三元组e=(wE1,re1E,wE2)。这等价于找到根据统计翻译模型能够最大化值P(e/c)的emax。
根据Bayes定理,我们写出
公式9
因为分母P(c)是和e不相关的,并且对给定的中文三元组是一个常数,我们得到:
公式10
在此,因子P(e)是在英语中出现相关性三元组e的似然性的测度。这使得e的输出自然并且合乎语法。P(e)通常称为语言模型,它仅依赖于目标语言。P(c/e)通常称为翻译模型。
在单个三元组翻译中,可以使用MLE(极大似然估计)来估计P(e),如下面所示:
公式11
另外,我们得到:
公式12
P(c|e)=P(wC1|relC,e)×P(wC2|relC,e)×P(relC|e)
P(relC/e)是主要依赖于特定词的一个参数。但这可以被简化为:
公式13
P(relC|e)=P(relC|relE)
根据我们假设的中文相关性关系和英语相关性关系之间的对应,我们得到P(relC/relE)≈1。进一步来说,我们假设在翻译中词的选取和相关性关系的类型无关,因此我们可以假设wC1只和wE1相关,并且wC2只和wE2相关。词翻译概率P(c/e)可以用并行语言资料库来估计。
于是我们得到:
公式14
因此,给定一个中文三元组,英文翻译可以通过这种统计方法来获得。
整个系统
图8为方框图,展示搜索引擎315的实例315-1,该实例包括这里揭示的各种确认和提示句检索概念。虽然图8所示的搜索引擎实例315-1使用这里揭示的各种特性的组合来改进确认和提示句检索,如上所述,搜索引擎315的其他实例仅包括这些特性之一,或这些特性的不同组合。因此,必须理解本发明的搜索引擎包含上述特性的每一种组合。
如图8在705所示,输入查询由搜索引擎315-1接收。如在710所示,搜索引擎315-1包括确定该查询是否为英语(或更一般地是否为第一种语言)的语言确定组件。如果该查询不为英语(或第一种语言),例如该查询为中文,该查询被翻译为英语或第一种语言,如在查询翻译模块或组件715所示。查询翻译模块或组件715使用,例如,上述的图7和公式10-14所指的查询翻译方法。
如果该查询为英语或第一种语言,或在该查询翻译为英语或第一种语言之后,分析组件或步骤720使用解析器725来获得以相关性三元组形式(为逻辑形式)表示的解析结构。在用户以英语写作的实例中,解析器为英语解析器,如Microsoft Research Redmond开发的NLPWin,然而也可以使用其他已知的解析器。在获得属于该查询的这些项30后,搜索引擎315-1的检索组件735从句子库320中检索句子。对确认句检索,句子的检索包括使用上述扩展索引项方法的检索。然后使用排列组件或步骤740排列检索到的句子,例如使用上述公式6-8所示的、在745提供作为例子的排列方法。这个过程实现了确认句检索。
为了检索提示句,使用扩展组件或步骤750来扩展项列表。使用辞典755(如上参考图5-2所述)和混淆集合505(如上参考图6-2和6-3所述)两个资源之一执行项的扩展。然后,例如参考图5-2,按如上所述使用过滤组件扩展项或步骤760用三元组数据库360过滤扩展项。结果为也存在于三元组数据库中的扩展项集合765。然后检测组件735使用扩展项来检测提示句例如745。以对确认句同样的方式在740对提示句排序。在交互式搜索模式中,如果检索到的句子并不让人满意,用户可以加亮他或她希望关注的词,并且再次搜索。
虽然本方面是通过引用特殊的实例来说明的,熟悉相关技术的人会承认可以做出在形式上和细节上的更改而不偏离本发明的精神和范围。例如,引用中文为母语的人进行英语写作在概念上适用于由母语为不同于第一种语言的第二种语言的人以第一种语言进行写作。同样,其中引用识别或存储对第二种语言的词第一种语言翻译的词,这个引用包括识别或存储对应于第二种语言的词的第一种语言的短语,及识别或存储对应于第二种语言的短语的第一种语言的词。