利用用户反馈处理查询的系统和方法

文档序号:6456474阅读:298来源:国知局
专利名称:利用用户反馈处理查询的系统和方法
技术领域
本发明涉及因特网搜索,更具体地,涉及使用语义消歧和扩展 的因特网搜索。更具体地,本发明提供了使用户能够选择期望的查 询解释的查询处J里方法和系统。
背景技术
当使用诸如因特网上的网页或文档的数据库的大的数据集进行 工作时,大量的可用数据使得难以找到相关信息。在这样的信息库 中找到相关信息的尝试中,使用了各种搜索方法。 一些众所周知的 系统为因特网搜索引擎,诸如允许用户执行基于关键字的搜索的 Yahoo (商标)和Google (商标)。这些搜索典型地包括将用户输入 的关4建字与网页索引中的关4建字进行匹配。
然而,现有的因特网搜索方法常常产生一些不是特别有用的结 果。该搜索可以返回许多结果,^f旦是4又有4艮少或没有与用户的查询相关的结果。另一方面,该搜索可能仅返回少量结果,但其中没有 用户明确查找的,同时也没有返回潜在的相关结果。
在执行这种搜索中遇到 一些困难的 一个原因是在自然语言中使 用的字的歧义。具体地,因为一个字可具有多个含义而经常遇到困 难。通过使用一种称为字义消歧的技术,已经在过去解决了该困难,
该:汰术包括将字改变为具有特定语义含义的字义。例如,字"bank" 可以具有"金融才几构(financial institution )"或属于它的另一定义的 字义。
美国专利6,453,315教导了基于含义的信息组织和4企索。该专 利教导了通过概念词典以及概念之间的关系来创建语义空间。多个 查询^皮映射到表示语义空间和查询定位的多个含义区分器 (differentiator )上。通过确定这些区分器之间的语义差别以确定接 近性和含义来完成搜索。该系统依赖用户来基于由该系统确定的含 义来精炼搜索,或可选地通过在搜索结果中找到的节点进行导航。
如在本领域中已知的,通过"精确度"和"查全率(recall)" 来量化信息检索效率的评价。精确度通过将在搜索中找到的正确结 果数除以总的结果数来量化。查全率是通过将在搜索中找到的正确 结果lt除以总的可能的正确结果凄t来量^:。理想的(例如100%) 查全率可以通过返回所有可能结果而简单地获得,当然这将给出非
常寸氐的精确度。大多数现有系统力求查全率和精确度标准的平衡。 例如通过使用同义字提供更多的可能结果来增加查全率,会必然降 低精确度。另一方面,通过限制搜索结果来提高精确度,例如通过 选4奪与查询中的字的精确顺序相匹配的结果,会降低查全率。
这需要一种解决现有4支术中不足的查询处理系统和方法。

发明内容
根据本发明的一个方面,提供了一种搜索信息的方法,包括以
下步骤对查询进行消歧;根据关键字含义对信息进行消歧和索引; 搜索索引的信息以使用查询中的关键字含义和与查询中的关键字含 义i吾义相关的其它字含义来查找与查询相关的4言息;以及返回包括「 包含关键字含义和其他语义相关字含义的信息的搜索结果。
该方法可以被应用到使用关键字索引的任意数据库。优选地, 该方法应用到因特网的^臾索。
语义关系可以是两个字之间的任意逻辑上或句法上定义的关联 类型。这种关联的实例为同义、下义关系等。
对查询进行消歧的步骤可以包括为字含义分配可能性。相似地, 对信息进行消歧的步骤可以包括将可能性附给字含义。
在本方法中〗吏用的关4建字含义可以是更^r确字含义的粗略分组。
另一个方面,^是供了一种处理指向凄t才居库的查询的方法。该方 法包括以下步骤获4寻来自用户的查询;以及4吏用知识库对该查询 进行消歧以获得查询中字的一个可识别的含义集,称为查询的"解 释"。另夕卜,如果该集包括多于一个的可识别解释,则可以执行下面 的附加步骤从该集中选择一个解释作为最佳的解释;利用该查询 的最佳解释来识别与最佳解释有关的来自数据库的相关结果;通过 排除与最佳解释相关联的结果来对该集的其余解释进行重新消歧; 从其余解释中选4奪下一个最佳解释;以及利用该查询的下一个最佳 解释来识别与下一个最佳解释有关的来自数据库的相关结果。又一个方面,本发明提供了处理指向凄t据库的查询的方法,该
方法包纟舌以下步骤
——获得来自用户的查询;
——4吏用知识库^"该查询进4亍消歧以获4寻用于一个或多个字的 一个含义集;
——基于该含义集获得该查询的一个解释集;
——向用户呈J见该解释集;
——从用户获得从该解释集中选择的解释;以及
——识别与所选4奪的解释有关的来自数据库的相关结果。
又一个方面,本发明提供了用于处理指向信息库的查询的系统, 该系统包括
一一用于获得来自用户的查询的装置;
--包4舌知识库的凄t据库;
——消歧模块,用于使用知识库对查询进行消歧以提供用于一 个或多个字的一个含义集并纟是供该查询的 一个解释集;
——用于向用户呈现一个解释集的装置;
——用于从用户获得从该解释集中选择的解释的装置;
——用于利用选择的解释来/人#:据库识别相关结果的处理器;
——用于向用户呈现结果的装置。


从下面对仅以实例方式示出本发明原理的附图和本发明具体实 施例的说明,本发明的前述和其他方面将变得显而易见。在附图中, 相同的参考标号表示相同的元件(并且其中单独的元件具有唯一的
字母顺序下标)
图1是提供与本发明的一个实施例相关联的字义消歧的信息检 索系统的示意性表示;
图2是与图1中的系统相关联的字和字义的示意性表示;
图3A是用于图1中的系统的典型语义关系或字的示意性表示;
图3B是对于图1的系统用来表示图3A的语义关系的数据结构 的示图4是如由图1的系统^使用图2的字义和图3A的i吾义关系执 4亍的方法的流禾呈图5是将如由图1的系统提供的字义消歧应用到查询处理的方 法的流程图6是将如由图1的系统^是供的字义消歧应用到查询处理的另 一个方法的;危禾呈图7是将如由图1的系统^是供的个性化应用到查询处理的方法 的流程图8是包含个性化信息的数据库的示意性表示;图9是^1夺如由图1的系统才是供的个性4匕应用到查询处理的方法 的流程图。
具体实施例方式
以本发明原理的具体实施例的一个或多个实例的方式,提供了 本文中描述的实施例和以下说明。提供的这些实例用于对本发明的 这些原理进行解释而不是限制的目的。在下面的说明中,在说明书 全文和附图中用相同的相应参考标号标记相同的部件。
将在下面的"i兌明中〗吏用下面的术语,并且具有下面所示的含义
计算才几可读存储^h质用于存储用于计算机的指令或数据的硬 件。例如,,兹盘、;兹带、i者如CD ROM的光可读介质、以及诸如 PCMCIA卡的半导体存储器。在每一种情况下,介质可以釆用诸如 小磁盘、软磁盘、盒式磁带的便携式部件的形式,或可以采用诸如 硬盘驱动器、固态存储器卡或RAM的相对较大或不能移动的部件 的形式。
信息包含用户感兴趣的可搜索内容的文档、网页、电子邮件、 图像说明、抄本、存储的文本等,例如,与新闻文章、新闻组信息、 网页日志等有关的内容。
模块执行特定步骤和/或处理的软件或硬件组件,可以在通用 处理器上运行的软件中实现。
自然语言旨在被人理解而不是被机器或计算机理解的字的表述。网络设备的交互系统,配置为使用特定协议在通信信道上进 行通信。其可以是在通信线路上或通过无线传输操作的局域网、广 i或网、因4争网等。
查询表示期望搜索结果的关键字的列表,可以利用布尔运算 符(例如"和"、"或,,),可以以自然语言表示。查询可以包才舌一个 或多个字。
查询模块石更件或软件组件以处理查询。
搜索引擎^硬件或^:件组件,响应于来自用户的查询4是供与用 户感兴趣的信息有关的搜索结果。搜索结果可以利用相关性进行分 类和/或排序。
意义或字义字的含义,诸如包含在查询中的关4建字。
解释就查询而言,解释包括3于应于查询中的一个或多个字的 多个字义的集合。
参照图1,在参考标号IO处大体示出了与实施例相关联的信息 才全索系统。该系统包括通过网络14可到达的信息库(store of information) 12。信息库12可以包括文档、网页、数据库等。优选 地,网络14为因特网,且信息库12包括网页。当网络14是因特网 时,协议包括TCP/IP (传输控制协议/因特网协议)。多个客户机16 通过无线发射器和接收器或利用物理网络情况中的线;咯连接至网络 14。每个客户机16均包括如本领域技术人员将会理解的网络接口 。 网络14向客户机16提供对信息库12中的内容的接入。为了使客户 才几16能够找到信息库12中的特定信息、文档、网页等,系统10 配置为允许客户才几16通过提交查询来4臾索信息。该查询包含至少一 个关4建字列表并且还可以具有诸如"与,,和"或,,的布尔关系形式 的结构。该查询还可以以作为一个句子或问题的自然i吾言来构建。该系统包括连接至网络14的搜索引擎20以接收来自客户机16 的查询,从而将这些查询引导至信息库12中的单独的文档。搜索引 擎20可以作为专用硬件、或在通用处理器上运行的專欠件来实现。运 行搜索引擎以对与来自客户的查询相关的信息库12中的文档进行 定位。
搜索引擎20大体上包括处理器22。该引擎还可以(通过网络 或其他通信装置间接地或者直接地)连接至显示器24、接口 26、以 及计算一几可读存储介质28。处理器22连4妄至显示器24和接口 26 (其可以包括诸如键盘、鼠标或其他合适设备的用户输入设备)。如 果显示器24是触4莫感应的,则显示器24自身可以被应用为4妾口 26。 计算才几可读存4诸介质28连接至处理器22以向处理器22提供指令来 指示和/或配置处理器22执行与搜索引擎20的运行有关的步骤或算 法,这将在下面详细描述。计算才几可读存^f诸介质28的一部分或者全 部在物理上可以位于搜索引擎28之外以容纳(例如)大的存储量。 本领域4支术人员可以理解可以在本发明中4吏用多种形式的4叟索引 擎。
可选地,为了更快的计算速度,搜索引擎20可以包括并行运行 的多个处理器或任意其他的多处理器布置。这种多处理器的4吏用可 以使搜索引擎20能够在多个处理器间分割多个任务。此外,这多个 处理器不需要在物理上位于同一位置上,而是可以在地理上分离且 通过网络互连,这可以-波本领域技术人员所理解。
优选地,搜索引擎20包括数据库30,用于存储字义的索引以 及用于存储搜索引擎20所使用的知识库。数据库30以结构化形式 存储索引以允许计算上有效的存储和检索,这可以^皮本领域技术人 员所理解。凄t悟库30可以通过添加附加的关4建字字义或通过〗吏附加 文档? 1用现有的关键字字义进行更新。数据库30还提供检索能力,用于确定哪个文档包含特定的关4建字字义。H据库30可以被分割并 被存储在多个位置中,以具有更大的效率。
根据一个实施例,搜索引擎20包括字义消歧模块32,用于将 输入文档或查询中的字处理成字义。字义是考虑到其4吏用的上下文 和其相邻的字而只于字乡合出的解释。例如,句子"Book me a flight to
NewYork"中的字"book"是有歧异的,因为"book"可以是名词 或动词,每一种都有多个可能的含义。通过消歧模块32进行的字的 处理结果是消歧的文档或消歧的查询(包括字义而不是有歧义或无 法解释的字)。输入文档可以是信息库中的任意信息单位,或者是从 客户机接收到的一个查询。字义消歧模块32在文档或查询中的每个 字的字义之间进行区分。字义消歧模块32使用宽范围的连环语言技 术来分析上下文中的语法(例如言语的部分、语法关系)和语义(例 如逻辑关系)以识别字的哪个具体含义是想要的含义。可以使用表 达字义之间的清楚语义关系的字义的知识库来帮助执行消歧。知识 库可以包4舌下面参照图3A和3B描述的关系。
搜索引擎20包括用于处理消歧文档以创建关4建字字义索引以 及将索引存储在数据库30中的索引模块34。索引模块34是由搜索 引擎20使用的对数据(诸如来自文档的数据)进行索引的模块。在 一个实施例中,索引模块34能够通过使用本领域已知的技术在网络 上爬行(crawling)来搜索文档。 一旦定位了文档,索引模块将其提 供给消歧模块32以为文档内容提供字义列表。之后索引模块34对 关于数据库中的文档和字义的信息进行索引。索引包括对与其中可 以找到关键字字义的文档有关的每个关键字字义的条目。优选地, 索引被分类并且包括每个索引的关键字字义位置的指示。索引模块 34通过处理消歧的文档以及将每个关键字字义添加至索引来创建 索引。某些关4建字出现4艮多次是有用的且/或可以包含非常少的语义 信息,诸如"一个"、"这个"。这些关^:字可以不^皮索引。搜索引擎20还包括用于处理从客户机16接收到的查询的查询 模块36。查询模块36配置为接收查询并将查询传送到消歧模块32 以进行处理。于是查询模块36在与消歧的查询相关的索引中找到结 果,这将在下面描述。该结果包含与消歧的查询中的字义在语义上 有关的关键字字义。查询模块36向客户机提供该结果。该结果可以 为相关性浮皮排序和/或分类以帮助客户理解它们。
参照图2,由参考标号100大体上示出了字和字义之间的关系。 如在该实例中所见的,某些字具有多个字义。在多个其他可能之中, 字"bank"可以表示(i)指金融才几构的名词;(ii)指河i是岸的名 词;或(iii )指存钱动作的动词。字义消歧模块32将有歧义的字"bank" 拆分为具有很少歧义的字义以存储在索引中。相似地,字"interest" 具有多个含义,包括(i)表示与未清投资或货款有关的一定量可 付4&财的名词;(ii)表示对某些事物特别注意的名词;或(iii)表 示某些法定一又利的名词。
参照图3A和3B,示出了字义之间的语义关系的实例。这些语 义关系基于含义精确地限定了两个字之间的关联类型。这些关系是 字义之间的关系,即字的具体含义之间的关系。
具体地在图3A中,例如,bank (河i是岸的字义)是一种i也形 类型(意p未着陆地形状的名词含义),以及断崖也是一种地形的类型。 bank (河堤岸的字义)是斜面的类型(陆地坡度的字义)。金融机构 字义的bank与"银行公司"或"银行财团"同义。bank还是金融 机构的类型,其还是商业的类型。通过通常所理解的银行付给存款 利息并收取货款利息的事实,bank (金融机构的字义)与利息 (interest,为投资所付的钱的字义)有关并且还与借货(loan,借 出的钱的字义)有关。可以理解,存在i午多可以4吏用的其它类型的"^吾义关系。虽然在
本4页i或中已知,下面仍l合出字之间的i吾义关系的一些实例同义字 是彼此同义的字。上位词是其中 一个字表示特定实例的整个类别的 关系。例如,"transportation"是对于包括"train" 、 "chariot" 、 "dogsled,,、 和"car"的字类别的上位词,这是由于这些词提供了该类的具体实 例。同时,下位词是其中一个字是这些实例的类别的一员的关系。 乂人以上列表中,"train"是"transportation"类的一个下位词。專争口俞 词是其中一个字是某些事物的一员、本质、或构成部分的关系。例 如,对于"leg"和"knee"之间的关系,由于knee是leg的一个构 成部分,因此"knee"是"leg"的一个转喻词。同时,整体词是其 中一个字是转喻词指定一部分的整体的关系。根据前一实例,"leg" 是"knee"的一个整体词。落入到这些类别中的任何语义关系可以 被使用。另夕卜,指出字义之间特定语义和语法关系的任意已知的语 义关系可以一皮l吏用。
已知的是,当关键字串作为查询被提供时在解释中存在歧义, 以及具有查询中的关键字的扩展列表增加了搜索中找到的结果数 量。该实施例为查询提供了识别相关的、消歧的关键字列表的系统 和方法。提供描绘字义的这种列表减少了检索到的无关信息的量。 该实施例扩展了查询语言而不获得由于额外、相关字义的无关结果。 这些相关字义可以包括同义字。例如,对bank的"金融机构"的字 义的扩展将不对诸如"河堤岸"或"存款"的其它字义进行扩展。 这允许了信息管理软件为客户所查找的信息识别更加^r确的信息。
扩展查询包括 使用下面的一个或两个步骤
1.将在语义上与消歧的关键字字义相关的任何其它字及其相 关联的字义添加至消歧的查询关键字字义。2.通过解析查询的语义结构并将其转换为其他语义上等同的 查询来释义该查询。通过解析查询的语义结构并将其转换为其他语 义上等同的查询来释义该查询。索引包含识别用于字的语法结构和 语义等同物的字辜殳。释义是本领域中已知的术语和相无念。
可以认识到,在搜索中使用字义消歧解决了检索相关性的问题。 此外,用户通常4安照他们喜欢的表达语言来表达查询。然而,由于 相同的字义可以以多种不同的方式来描述,因此,当用户不以其中 最初对相关信息进行了分类的同 一具体方式表达查询时,用户会遇 到困难。
例如,如果用户寻找关于"Java"岛的信息,并且对Java(岛) 上的"holiday"感兴趣,则用户将不会检索已经使用关键字"Java" 和"vacation"进行分类的有用文档。可以认识到,根据一个实施例, 语义扩展特4i解决了该问题。已经i人识到,在自然表达的查询中用 于每个关键术语的派生的精确同义字和子概念增加了相关检索的 量。如果使用没有字义消歧的辞典来执行,则结果可能是很糟的。 例如,在首先没有建立其精确含义的情况下对字"Java"进行语义 上的扩展,将得到大量而不实用的结果集,其结果可能是在如不同 的"印尼"和"计算机程序"的字义的基础上选择的。可以认识到,
一个更加复杂并同时更具有目的性的结果集。
参照图3B,为了帮助对这种字义进行消歧,实施例利用了如上 述图3A描述的捕获字的关系的字义知识库400。知识库400与数据 库30相关联并且其可以被接入来帮助字义消歧(WSD )模块32执 行字义消歧。知识库400包含对于其每个字义的字的定义,并且还 包含字义对之间关系的信息。这些关系包括字义定义和言语的相关 部分(名词、动词等)、^青确字义的同义词、反义词、下位词、專t俞 词、相关形容词、相似的形容词关系和本领域中已知的其他关系的相关联的部分的定义。虽然已经在系统中使用了诸如WordNet (商 标)的现有技术电子字典和词汇数据库,但知识库400提供了字和 关系的增强库存。知识库400包含(i)字义之间的附加关系,诸 如将4青确字义分成组为4且略字义、新型词尾变化和派生语形学关系, 以及其他特殊目的语义关系;(ii)从公共源获得的数据中错误的大 规模校正;以及(iii)在其他现有技术知识库中没有出现的附加的
字、字义以及相关^:的关系。
在该实施例中,知识库400为广义的图表数据结构并且被实现 为节点402的表以及与两个节点一起相关联的边纟彖关系404的表。 依次描述其中的每一个。在其他实施例中,其他数据结构,诸如链 表,可以#1用来实现知识库400。
在表402中,每个节点都是表402的一行中的一个元素。每个 节点的记录都可以具有如下多个字段ID字段406、类型字萃殳408 以及注解字,殳410。表402中存在两种类型的项字和字义定义。 例如,在ID字段406A中字"bank"被由类型字段408A中的"字" 项识别为字。而且,示例性表402提供了字的多个定义。为了对这 些定义进行编目录并根据字项来区分表402中的定义项,使用标签 来识别这些定义项。例如,ID字段406B中的项被标为"LABE001"。 类型字,殳408B中的对应的定义将该标签识别为"4青确字义"字关 系。注解字^殳410B中的对应的项将该标签识别为"名词.金融才几构"。 这才羊,"bank"现在可以^皮链4妾至该字义定义。此外,对于字
"brokerage"的项也可以被链接至该字义定义。可替换的实施例可 以4吏用附有后纟叕的7>共字,以有助于字义定义的识别。例如,可^# 换的标签可以是"bank/nl",其中"/nl"后缀将该标签识别为名词
(n)并识别用于该名词的第一字义。可以理解,可以4吏用其他4示签 变形。可以j吏用识别形容词、副词等的其4也4示识f寻。类型字,殳408 中的项识别与该字相关联的类型。对于一个字可以;得到多种类型, 包括字、精确字义和粗略字义。也可以l是供其他类型。在该实施例中,当字的实例具有4青确字义时,该实例在注解字^殳410中还具 有项以纟是供该字实例的其4也事项。
边缘/关系表404包含指出节点表402中两个项之间关系的记 录。表404具有下列项源(from)节点ID列412、目的(to)节 点ID歹'J 414、类型歹'J 416和5主解歹'J 418。歹'J 412和414用于4寻表402 中的两个项链4妄在一起。列416识别链4妄两个项的关系的类型。一 个记录具有源和目的节点ID、关系类型,以及可以具有基于类型的 注解。关系类型包括"根字到字"、"字到精确字义"、"字到粗略字 义"、"4且略到精确字义"、"派生"、"下位词"、"目录"、"相关形容 词"、"相似"、"具有部分"。在其中还可以追踪其他关系。注解列 418中的各项提供一个(数字的)关键字以对给出的词性唯一地识 别从字节点到粗略节点或精确节点的边缘类型。
现在对由实施例扭^亍的步骤4是供进一 步的细节以利用乂人对与查 询相关联的字进行消歧得到的结果执行搜索。参照图4,由参考标 号300大体上示出了执行这种搜索的处理。该处理可以分成两个常 规的阶段。第一阶段包括对信息(或信息的子集)进行预处理以有 助于响应于查询的第二阶段。在预处理的第一阶段,信息库中的每 个文档(或信息库子集)都被归纳以在数据库中创建索引。在步骤 302处,字义消歧模块32在每个文档中的每个字的字义之间进行区 分。字义消歧^^莫块32如上进行定义。
于是搜索引擎在步骤304处将索引模块作用到消歧的信息以获 得关键字字义的索引。索引模块34通过对消歧的文档进行处理并将 每个关键字字义添加至索引来创建索引。 一些关键字可以出现很多 次是有用的,诸如"一个"或"这个"。优选地,这些关4建字不^皮索 引。可以认识到,该步骤有效地将一个字索引为多个不同的字义。 在步骤306处将字义的索引存4诸在数据库中。在该处理的第二阶段,在步骤308处搜索引擎接收来自 一个客 户的查询。该查询;故解析为其字成分,然后单独对其上下文以及在 与其相邻字的上下文中对每个字进行分析。对于字串的解析技术在 本领域中已知并且在这里不再重复。在步骤310处字义消歧才莫块32 在查询中每个字的含义之间进行区分。为了帮助消歧,该模块可以 利用用户之前选择的或之前用户输入的消歧的查询的结果,作为除 了查询本身中的字以外的上下文。
在该优选实施例中,如步骤312所示,搜索引擎使用知识库400 (图3B)来扩展消歧的查询以包括与查询中的特定关键字字义语义 相关的关键字字义。在字义的基础上执行该扩展并且因此产生与查 询含义有关的字义的列表。语义关系可以是上面参照图3A和图3B 描述的那些语义关系。
然后,在步骤314处,搜索引擎将消歧且扩展了的查询与数据 库中的字义信息进行比较。其字义与查询中的关4建字字义匹配的知 识库中的那些项纟皮选择作为结果。如之前注意到的,知识库包括索 引文档的数据库。于是,在步骤316处搜索引擎向客户返回这些结 果。在一个实施例中,根据在这些结果中找到的字义和查询中的关 键字字义之间的语义关系对这些结果进行加权。因此,例如,与包 含具有下^f立词的字义的结果相比,可以给予包含与查询中的关4建字 字义具有同义关系的字义的结果4交高的片又重。还可以通过在消^支的 查询和/或消歧的文档中的关4建字字义^皮才交正的可能性来对这些结 果进^f于加^又。还可以通过对应于这些结果(i者如相关字义的频率或 它们彼此相关的位置)的文档或网页的其他特征、或用于本领域技 术人员所理解的对这些结果进行排序的其他技术来对这些结果进行 力口权。
可以iU只到,该处理的第一阶革史可以在与客户交互之前作为予贞 计算步骤来执行。可以多次执行第二阶段而不重复第一阶段。可以偶尔执行第一阶段,或者以固定间隔来保持数据库的当前4A值。还 可以通过对信息的子集(诸如新增加的或修改的信息)选择执行第
一阶^:来增量式地更新ft据库。
通常,该实施例还利用字义消歧来感测标签查询。具体地,该 实施例执行下面的功能来感测标签查询
1. 使用字义消歧来识别查询关^t字的可能字义;
2. ^使用字义消歧来识别查询的其他可能可选解释;
3. 根据作为目的含义的可能性来对每个解释进行排序;
4. 使用利用字义消歧获得的可选解释来从用户获得想要的含 义和正确的解释的确i人;
5. 如果需要,则更新对于乡合定用户的查询的想要的解释。 下面纟是供这五个功能的每一个的细节。
对于第一个功能,系统10使用消歧引擎32和知识库来识别查 询的可能字义。为了识别含糊的字义,该实施例使用了多个字义消 歧部件U旦没有必要4吏用所有的)来识别其字义。 一个部件访问与 字相关联的一个规则集以确定字义。这些规则识别给定字的字义和 相邻字的字义之间存在的4壬意关系。在该实施例中,这些^L则可以 是人工编石马的。 一个失见则的实例如下只十于一个句子中的两个字, 如果该两个字在^f也们的可能字义列表中具有共同的字义,则该共同 的字义被确定为近似想要的含义。该规则的应用在下面的句子中可 找到"He sold his interest in the company which amounted to a 25% stake."。这里,字"interest"和"stake"都具有"某些事物中共享的法#\资格或片又利"的共同字义。其4也实施例可以4吏用自动编码> 规则。
第 一功能的第二处理通过识别捕获字的主语义含义的任何相干 主题来为字分配字义。该主题是加3又字义的一个向量。主题之间的 相干性作为主题中的字义在文本中 一起出现的可能性的函数进行测 量。当多个主题在文本中被识别时,每个主题都可以与其他主题相 同或相反。相反的主题可以表示查询的不同可能解释。相反的主题 是具有相同字的可选字义的不同向量,并且还导致可比较长度的向 量。
对于第二功能,实施例可以〗吏用或再次^吏用消歧处理来识别可 能的可选字义并分析与其他结果相对的每个处理的结果。下面描述 这些处理中的一些。可以理解,处理和算法可以:被看作实施例的组 成部分。
第二功能的第一处理重复查询的消歧处理,但是将字义限制在 之前没有才艮告过的字义上。然后,查询的消歧为该字选择可选字义 并可以^修改其余字的字义。对于每个字的每个字义都可以重复该处 理以获得一个可选的解释集。
第二功能的另一个处理使用所有的算法集来再次对查询进行消 歧,但是将这些算法限制为考虑这些可选主题中的一个是最有可能 的方案(以排除之前识别的最有可能的主题)。因此,当执行其他算 法时,它们的各个结果4寻改变。这可以只于每个识别的主题进4于系统 性地重复以获得一个可选的解释集。
第二功能的另一个算法将来自一个已知可能字义集的一个字义 分配《会一个字并对其余字的字义进^f于消歧。这可以对每个字的每个 字义系统性地进行重复以获得一个可选的解释集。第二个功能的每个算法都可以被独立地使用或组合使用以生成 查询含义的可能可选解释的列表。 一些生成的解释可以是4皮此的复 制并且仅单一的实例可以被保存以用于之后的处理。
对于第三个功能,排序可以被归于可以用于规定用于每个结果 的精确度的每个结果。例如,排序可以基于为每个解释生成的点击 的数量。可选地,可以设定可能性阈值并且可能性分数可以被分配 给每个处理的各个结果。如果字义分配的分数超过阈值,则每个这
样的字义都^皮^呆留。可选地,如果第一字义(top sense)和第二字 义之间的分数差超过一个特定的德耳;荅值,则第一值(top value) 4皮-现为是可接受的。而且,具有祐j人为低可能性分凄t的解释由于它 们的分数值低于不可接受的阈值,则可以被自动丟弃。
对于第四个功能,使用字义消歧,提供多种算法来获得用户对 想要含义的确认。第一算法用于得到一个由系统10引起的与查询有 关的问题。第二算法用于选择性地对消歧的结果进行分组。第三算 法用于识别查询的各种含义并且在提供结果之前获得来自用户的关 于想要含义的信息。下面依次讨论每个算法。
参照图5,示出的算法500表示第四功能的第一算法。算法500 向用户呈现一个问题,询问想要的含义是否为第二可能解释,同时 呈现基于第一解释的搜索结果。作为例子,如果原始查询仅包含关 4建字"java",则算法可识别与印尼或程序语言有关的字"Java"的 可能含义。例如,假设"印尼"是更确信的解释并且其结果被显示。 然而,作为增加的过滤器,第一算法为用户生成下列问题"你想要 面向对象的程序语言吗?,,。如果用户对问题的回答是肯定的,则显 示第二解释的结果。
为了识别术语以在问题中使用,优选地,算法500:1. 首先,获得查询(步骤502);
2. 使用消歧引擎32对查询进行消歧以识别作为第一解释的最 可能的字义(步骤504);
3. 在步骤504之后,在路径506和路径508中并行进行以下步
骤;
(A )在路径506中,执行下列步骤
——将查询扩展至语义上有关的字义;这可以利用字义消歧来 找到合适的语义上有关的字义以用于识别的字义(步骤510 ), 这可以使用描述字义以及字义之间的语义关系的知识库;之后
——将查询字义的一个扩展的集与在文档中找到的各索引字义 进行比较;索引可以由索引模块32生成(步骤512);
(B)在路径508中,执行下列步骤
——识别整个查询的第二最可能字义,其为最少一个字提供可 选的字义;这优选地通过消除来自可能结果集的在步骤504中 识别的第一最可能字义的影响,并且之后使用消歧引擎32在他 们自身中对其余的字义再次进行消歧来完成(步骤514 );
——从所选择的第二最可能解释中识别在第 一和第二解释之间 具有不同含义的字(步骤516);
——在最佳和第二最可能解释之间,识别术语或语义上仅与第 二字义有关而与第一字义无关的关联。这将第二字义和第一字 义区分开来。另外,术语可以形成问题短语的一部分。在上述 实例中,在知识库中,"Java"具有与短i吾"面向对象的程序语言"相关^:的"类型",并且"Java"具有与"印尼"相关联的 可选"类型"。诸如关联"类型"区分开"Java"的第一和第二 字义(步骤518);
4. 返回结果并基于关键字或为第二最可能解释识别的关联生 成问题。除非用户选择了问题,否则算法500优选地使用第一解释 作为想要的含义。如果选择了问题,则可以将显示搜索结果更新到 第二解释且还可以更新想要的含义(步骤520 );
5. 如果选择了第二最可能解释,则对查询再次进行消歧,该消 歧利用消歧引擎32来使用与第二最可能解释相关联的字义来重新 计算字义可能性分配,其利用了确认第二最可能解释的想要含义的 新输入(步骤522 );以及
6. 存4诸由用户为该查询选才奪的解释的结果,并相应地更新知识 库(步艰《524 );以及返回到路径506和508的开始。
在算法500中,在步骤516中通过分碎斤与查询字的所有字义的 其他字义的每个语义关系来识别第二字义的描述项。如果描述项具 有在查询字多于一个的字义中出现的语义关系,则由于其没有区分 查询字的字义而丢弃该描述项。因此,对于描述和区别特征,对其 余的语义上相关的字义进行排序。这些特征包括其语义关系的类 型、其字义的频率、其词性、其他语义上相关的字义的数量等。
可以理解,算法500为4臾索查询提供了三个等级的细分。第一 等级是在步骤504中识别第一解释的消歧处的第一不受限制途径。 第二等级是通过对其进行限制以忽略第 一答案,来识别第二最可能 结果。可以理解,第二等级的结果可以仍然是有歧义的。由于通过 限制第二等级以仅考虑可选的字义而对于第二等级有效地忽略了第 一解释,因此,由于消除了来自字义集的第一解释的影响而再次在该点上进行消歧可以更好地找到下一个最佳解释。仅当在步骤520 中用户选择问题时第三水平被激活。在这个等级中,由于用户已经 提供了关于想要的查询含义的反馈(通过回答一个问题直接地或不 通过回答问题而间接地),因此查询中字的含义不再有歧义。其字义 高度确定地已知。此后步骤522中的进一步的再次消歧是仅基于第 二最可能解释的,而忽略位于步骤514中的〗壬意附加解释。例如, 具有字"Java"的查询已经在消歧的第一等级中被解释为印尼的一 个岛。当查询^皮再次消歧和限制以忽略字义时,消歧引擎可以确定 面向对象的程序语言是该字的第二最佳解释。然而,"Java"还可以 指"咖啡"。相应:l也,在最后的消歧中,"Java"的含义纟皮确定为面 向对象的语言并且其限制可以被更新以指出该上下文中的"Java" 不是岛或咖啡的字义。
在算法500的一个可选实施例中,确定点(未示出)可以在步 骤504之后被立即插入。在确定点处,步骤504的结果被分析并且 如果在结果中是确信的,则采用路径506来处理步骤504的结果。 如果在结果中没有足够的确信度,则采用3各径506和508。
参照图6,示出的算法600表示第四功能的第二算法。算法600 向用户呈现查询的多于两个的解释的结果,并且监视用户选择哪个 结果进4于查看以确定想要的查询含义。算法600通过两种方法确定 想要的查询含义
1. 在第一种方法中,生成查询字的最可能的以及至少一种可选 解释。然而,该算法仅选择最可能的解释作为正确的解释。如果排 序分lt在特定阈值之上则〗又选择最可能的解释。随后,相应地确定 每个查询关键字的字义标签。
2. 在第二种方法中,再次生成查询字的最可能的以及至少一个 可选解释。当用户选冲奪与多个解释中的一个相关联的文档时,该算法使用选择的文档作为上下文对该查询再次进行消歧。该方法允许 基于该文档内容确认或校正每个字的字义。该文档可以提供附加的 上下文,该附加的上下文允许以4交高的可信度对可选解释中其他有 歧义的查询字进行消歧。
简要地,算法600的显著步骤如下
1. 首先,获得查询(步骤602,与步骤502相似)
2. 使用消歧模块32对该查询进行消歧(步骤604,与步骤504
相似)
3. 确定这些结果的排序。在一个可选实例中,将用于排序的排 序值阈值设置为低值阈值(步骤606 );
4. 如果满足阈值,则采用路径608。如果不满足阈值,则采用 路径610。
(A) 在路径608中,为查询的每个解释执行下列功能
——使用消歧引擎32,利用字义消歧,扩展该查询(步骤612, 与步驶i510相合乂),之后,
——将查询字义与索引进行比较(步骤614,与步骤512相似);
(B) 在3各径610中,在步艰《612和614之前^M亍下列功能
——4吏用字义消歧来识别查询的可选解释的列表。通过与最高 排序结果相关联的第一忽略结果生成该列表(步骤616,与步 艰《514相4以);5. 在步骤614之后,返回每个解释的结果并等待输入(步骤 618 );
6. 获得关于选择的解释或选择的文档的用户反馈(步骤620);
7. 通过忽略其他字义,4吏用选4奪的文档作为上下文来对该查询 再次进行消歧(步骤622,与步骤520相似);以及
8. 存储由用户选择的对于该查询的解释的结果(步骤624)。
对于算法600,可以4吏用多种方法来向用户呈现不同的结果组。 描述了三种示例性方法。第 一种方法利用明显地将这些结果聚类成 单独的多个可选解释组。可以使用之前描述的方法将每个解释的说 明或字随意地包括在每个组中,以识别与每个解释语义上有关的描 述的和不同的字。第二种方法利用链接显示第一解释的结果,该链 接允许用于查看相关联的结果的其他其余解释中的每一个。第三种 方法将来自每个解释的结果合并到多个结果的单一列表中。用户为 意识到除了基于他的选择之外,还显示了查询的多个解释,想要的 含义可以;故如上述进4于识别。
该实施例的另 一个方面使得查询的消歧对于每个用户都能够是 个性化的并且贯穿每个用户会话。这在算法500的步骤522中以及 算法600的步骤624中被优选地执行。字义消歧的个性化使得,对 于不同的用户,该实施例能够将不同的字义分配给相同或有关的查 询。由于自动获耳又以及4吏用个性化信息,因此,字义消歧的个性化 和定制改善了从改进的查询字义获得的搜索结果的质量。可以容易 地看到,由于将改善的搜索结果提供给每个客户,个性化可以增强 客户对特定搜索引擎服务提供商的忠诚度。库30中的信息。该信息 在数据库30中的查询个性化数据库800中被追踪。数据库800的数 据源自当实施例对查询消歧时识别的标签字义。
可以理解,对于搜索引擎的用户,存在与该用户和4叟索引擎的 至少三种类型的临时关系。用户被定义为使用搜索引擎的人。用户 在会话中访问搜索引擎,该会话具有与搜索引擎交互作用的、具有 清楚的开始和结束周期,该周期被定义为会话。该会话可以是一个 定义的时间革殳。在会i舌期间,用户可以寻4戈几个特定的主题,例如, 休假地点。所有用户会话的集体搜索定义了用户的用户数据。搜索 引擎的所有用户的所有用户数据定义搜索引擎的公共数据。
为了追踪用户、会话和公共信息,查询个性化数据库800被划 分为三个数据集与由所有用户使用的字义标签有关的公共数据集 802;每个用户数据集804;以及每个用户会话数据集806。还可以 追踪其他凄t据集。
利用从有关查询转换的信息或字义标签查询,对每个类型的数 据,以充足的间隔更新数据库800中的数据。例如,每个用户会话 数据806可以在每个查询之后^皮更新;每个用户数据804可以在每 个用户会话的开始或结束被更新;以及公共数据802可以以周期性 时间间隔^皮更新。通过安装并评价在其才几器上安装的Cookie,实施 例可以识别用户。可以理解,如果用户激活多个会话,可以在其才几 器上设置多个单独的Cookie来识别每个会话。
公共数据802可以存储在查询个性化数据库800的固定公共分 割区。每个用户数据804和每个用户会话数据806可以被存储在存 在用于每个用户的查询个性化凄t据库800的分割区中。字义标签查 询和派生信息可以被存储在存在用于每个用户会话的系统存储器中 的临时分割区中。优选地,存在用于每个用户和每个用户会话的7>共数据的文件。对查询进行消歧时,根据需要将这些文件中的部分 数据下载到系统存储器中。
当在特定用户会话中为给定用户的查询进行消歧时,其他多个
组件可以同时使用来自查询个性化数据库800的附加信息。这可以 y使得这些组件能够在不同的环境下生成不同的结果。除了中心消歧 凄t据库以外,源自字义标签查询的7>共的、每个用户的、和每个用 户会话的信息也被用作对组件的输入。可以理解,不同数据可以影 响不同的查询。与会话相关联的数据可以仅影响与该会话相关联的 查询。与 一个用户相关联的凄t据可以^f又影响与该用户相关联的查询。 公共数据可以影响任意用户。
参照图7,示出了识别个性化数据的显著步骤的算法700。具体 i也,对于算法700,其步艰《如下
1. 首先,获得查询(步-骤702);
2. 使用个性化数据对查询进行消歧(步骤704 );
3. 在步骤704之后,沿路径706和路径708并行进行步骤; (A )在路径706中,执行下列步骤
——对于语义上有关的字义对查询进4于扩展,以利用知识库找 到合适用于^皮识别字的语义上相关的字义(步骤710 );
——将查询字义的扩展集和消歧文档中找到的字义的索引进行 比4交(步驶《712 );
——返回查询的结果(步骤714);
——进入获得用户输入/反々责的步骤(在步骤716中);(B )在路径708中,接下来执行简单的步骤716;
4. 一旦路径706和708完成,获取关于所选择的解释或所选择 的文档的用户反馈(步骤716);以及
5.更新查询个性化凄t据(步骤718)。
对于算法700,对于步艰《716和718,进4于凄t据的个性化包括 获得并存储与查询有关的个性化数据;以及使用数据来改善查询的 字义消歧。依次讨i仑每个要求。
对于获得并存储数据,已经^f艮设,存在用于用户的字义标签初 始查询的一个系统。有效的字义标签查询具有分配给每个查询关键 字的字义。优选地,该系统对字义进行诊断使得表示想要的字含义 的字义具有高可信度。
由于用户向搜索引擎提交了查询,字义标签查询和源自其的其 他信息存储在查询个性化数据库800中。源自字义标签查询的信息 被存储在文件中用于消歧引擎32的消歧算法。消歧算法包括先验 算法;实例存储算法;n元算法;依赖算法和分类器算法。下面描 述每个算法的细节。还可以〗吏用其他算法。
具体地,该算法基于输入字义标签文本中的字义频率将可能性分配 给每个字义。这里,对输入字义标签文本中的字义进行计数并且优 选地4吏每个字的字义的分配频率标准化。注意到,输入字义标签文 本不是正在消歧的文本而是之前已经消歧过的文本,并且其中对想 要含义的正确识别的可信度非常高。
对于优化和性能问题,先验算法计算来自字义标签文本的每个 字义的频率计凄t,并且将频率凄t据作为文件存々者在凄t据库800中。中心数据库包含从字义标签文本获得的频率计数,同时个性化数据
库800保持字义标签查询的字义频率计数。而且,存在的固定文件 包含来自所有用户的字义标签查询的字义的频率计数。存在于数据 库800中的用于每个用户的单独文件包含与该用户相关联的字义标 签查询的字义频率计数。包含用户信息、用户会话数据、以及对所 有用户的公共数据的这些文件表示查询个性化数据。该数据被存储 在个性化数据库800中。因此,在更新文件之后,源自算法的最后 一次执4于的字义分配对于先一验算法的下一个扭一f于是可用的。
最后,系统保持存储器或硬盘上特定用户会话的字义标签查询 的频率计数。优选地,在利用个性化信息对查询进行消歧时不使用 该数据。
本文中,对字义标签查询中的字义进行计数,并且优选地标准 化每个字的字义的频率分配。z使用的查询集可以是来自所有用户的 所有查询、来自一个用户的所有查询、或者来自一个用户会话的查 询。该系统在每个查询^皮处理时或以适当间隔来更孝斤频率计^t。频 率分布的标准化可以在逐字基础上在对新查询或文本中的字进4亍消 歧时执行。
实例存储算法预测了短语(或字序列)的字义。短语典型地4皮 定义为连续字的序列。短i吾可以为两个字长直到达到整个句子。该 算法访问一个短语(字序列)列表,其为该短语中的每个字提供认 为是正确的字义。优选地,该列表包括出现多次的来自l命入字义标 签文本的句子片断,其中出现的每个片断的字义是相同的。优选地,
当#:分析的短语包含一个字,其中该字的字义具有不同于之前归于 该短语中的字的字义时,在#:分析的短语中的字义3皮拒绝并且不保 留在字序列的列表中。当对一个新文本或查询进行消歧时,实例存储算法识别文本或 查询的一些部分是否与之前识别的再现字序列匹配。如果匹配,则 该才莫块爿夸该序列的字义分配》会新文本或查询中的匹配字。伊乙选;也, 该算法最初:溲索最长匹配,并且如果字义与已经在文本中或查询中 -帔识别的字义相反,则不分配字义。当分才斤一个查询时,该算法在 其相关联的列表中搜索被处理成片段的查询的句子片段的匹配。当 匹配被定位时,将来自列表的字义分配给被处理的片段。该算法保 持多个列表以有助于其处理,包括具有源自训练输入字义标签文 本的正确字义的字序列列表;源自来自所有用户的字义标签查询的 列表;源自用户的所有查询的列表;以及源自用户会话的查询的列 表。
对于优化和性能问题,实例存储算法将关于字义重现序列的识 别和该类型的频率的数据作为独立的数据存储在文件中。执行该步
理。实例存储算法还存储包含源自字义标签查询的信息的文件。还 存在用于/^共凄t据的文件;用于每个用户的文件;以及用于每个用 户会话的文件。这些文件表示表示查询个性化凄t据的用户、用户会 话和公共数据。当处理查询的消歧时,根据需要将这些文件中的数 据的一部分载入到系统存储器中。当更新文件时,在先验算法的下 一次4丸4于时,源自算法的最后一次#^于的字义变得对知识库可用。
n元算法通过在单个字周围的字中寻找字或字义的重现类型来
预测该单个字的字义。而一^:地,该算法在该单个字之前或之后寻
找n个字,典型地,n被设置为两个字。该算法利用具有与每个字
都相关联的正确字义的字对列表。该列表源自来自出现多次的输入
字义标签文本的字对,其中对于每个字对出现的字义是相同的。然
而,当至少一个字的字义不同时,这种字对字义^皮拒绝并且不^f呆留
在列表中。当对文本进行消歧时,该算法将来自查询或#1处理的文 本的字对与存在于由该算法保持的列表中的字对进行匹配。当字对3皮:找到并且这两个字中的一个的字义已经存在于查询或#:处理的文 本中时识别匹配。当匹配被_识别时,分配与#1处理的字乂于中的第二
个字有关的字义。n元保持多个列表,包括具有源自训练输入字 义标签文本的正确字义的字对列表,源自来自所有用户的字义标签 查询的列表,源自用户所有查询的列表,以及源自用户会话查询的 列表。
n元算法不同于实例存储算法,这是由于其在多个字的固定范 围上4丸行,并且^又试图在一个时间预测单个字的字义一次。实例存 储算法试图预测一个序列中所有字的字义。
对于优化和性能问题,n元算法将关于字义或多个字周围重现 的类型和源自输入字义标签文本的该类型的频率的信息的数据存储 在单独的文件中。执行该步骤而不在每次该实施例对新文本进行消 A支时处理输入字义标签文本。除了中心数据库中的文件,n元算法 将以下各项存储在系统存储器中源自字义标签查询的信息文件; ^^共^t据的文件;用于每个用户的文件;以及用于每个用户会话的 文件。这些文件表示表示查询个性化数据的用户、用户会话和^^共 数据。当处理查询的消歧时,根据需要将这些文件中的数据的一部 分载入到系统存储器中。当来自用户的每个新的字义标签查询变为 可用时更新用户和用户会话文件中的信息。当这些文件被更新时, 在下一次执行先验算法时,源自该算法的最后一次执行的字义变得 对知识库可用。
依赖算法与n元算法相似,但是产生语法解析树(例如,形容 词》务饰名词、在名词短语中第一名词l奮饰第二名词等)。其对解析树 中修饰词和头之间的关联进行操作。
分类器算法通过将文本段中字的可能字义重新分组到主题中来 预测字义。具有最强重叠(即可以最好地簇集)的字义可以被看作用于段中的字集的最可能字义。重叠可以根据多个不同特征(例如 4且略字义、4青确字义等)来测量。文档文本的范围可以从几个字到 多个句子或段落变化。分类器算法使用之前用户会话查询中的字和 字义作为附加的上下文来使当前查询的消歧个性化。之前查询的字 义可以^皮添加到一个可能主题集。
返回到使用个性化数据来改善查询的字义消歧的处理,当对一
个查询进行消歧时,每个消歧引擎32组件都利用中心数据库和查询 个性化数据库800中的任意可用的信息。在字义消歧处理期间,每 个组件都可以被配置为在不同的步骤中独立且集中地访问中心数据 库和查询个性化数据库800两者。
图9示出了对于用于处理具有可选解释的查询的方法的另 一个 算法。如所示,算法卯O首先包括如利用之前描述的算法那样接收 或获4寻一个查询902。如上指出的,查询可以包4舌一个或多个字以 及可以包括布尔项。然后,该查询^皮消歧以识别其解释904。如上 所述,该步骤通过系统的消歧模块来执行。在消歧处理中,查询中 的一个或多个字被提供有一个含义集,且通过形成这种查询字含义 的有关组的集合,来获得该查询的解释。可以理解,查询的长度或 细节将确定可能解释的凄t量。例如,在详细查询中,〗又一个或几个 解释可以被识别。在其中查询不是详细的或包括(例如)单个字的 其他情况中,多个解释是可能的。
之后,查询的不同解释被呈现给用户906。在该步骤中,可以 首先通过可能性来对这些解释进行排序。这种排序在上面描述过。 可以以多种方式完成多个解释的呈J见。例如,解释可以以i者:^ "您 的字义是..."的问题形式被呈现,提示用户选择所呈现的各解释中 的一个。然后,可以4是示用户以任意方式(诸如直4妄乂人解释列表中 选择、在输入框中输入一个选择号等)来选择一个解释。各种其他形式的呈现都可以一皮本领域才支术人员所知。此夕卜,如上所述,可以 z使用上述的方法将呈现以可能性顺序:f皮任意排序。在可能有多个解释的情况下,该方法可以可选地包括仅将选择 的一定数量的选择列表呈现给用户。例如,在另一个实施例中,图9所示的方法在步骤904之后可选地包括阈值可能性(未示出)的 确定。在其他字中,可以基于与用户想要的含义匹配的解释的可能 性来对由消歧模块产生的各解释进行排序。此外,在识别出多个解 释的情况下,该方法可以包括将各解释以可能性的顺序进行排序, 并仅列出具有大于预定值可能性的那些解释。可以理解,在仅一个 解释满足这种阈值可能性的情况下,可以绕过步骤906和908。一旦用户选择查询卯8的期望的解释,则该方法包括以下步骤 扩展查询910、将扩展的查询与数据库索引912进行比较、以及返 回查询的结果914。该方法的这些步骤已经在上面讨"i仑过。本领域才支术人员可以理解,通过在呈现结果之前向用户呈J见解 释的选择,图9的方法提供了多种优点。首先,该方法消除了呈现 用于最可能的解释的结果的时间。这在由该方法确定的最可能解释 不是用户想要的含义的情况下是有价值的。此外,通过最初向用户 呈现解释列表,用户界面(即屏幕)上没有可能不想要的结果。可以理解,图9的方法是特别适用于(不是唯一的)^使用i者如 手机、个人数字助理(诸如Blackberry 设备)、以及本领域技术人 员已知的各种其他相似设备的移动设备来进行搜索。例如,如上所 述,图9的方法的一个优点是其不在用户的屏幕上显示可能不想要 的结果。该优点对于用户在诸如PDA或手机的手持设备(其中小尺 寸屏幕使得用户必须对多个结果进行滚动)上进行搜索的是特别有 用的。此外,通过避免呈现可能不想要的结果的需要,对于移动搜 索可以增加信息检索的速度。图9的方法^是供的另一个优点在于实际上由用户^是交的查询不 需要是详细的,这是因为该方法包括解释查询并在进4亍之前获得来 自用户的澄清的初始步骤。如可以理解的,这对于移动4臾索(其中 比起桌上型键盘,按键输入被认为是更加困难的)也是特别有用的。 因此,用户能够输入更短或更模糊的查询,且该方法将提供对允许 用户简单选择期望的解释的可能解释的反馈。通过该方式的实例, 用户可以简单输入术语"Java"作为查询。在积聚并呈现搜索结果 之前,图9的方法可以向用户呈现诸如下列的解释的选择咖啡、 程序语言、和印尼。之后,在选择了一个解释之后呈现结果。如上所述,本发明的一个方面包括搜索的个性化和/或定制。即, 用户之前的搜索历史可以被用于帮助查询的解释。上述讨论参照了 查询个性化lt据库(i者如图8所示的数据库800)的创建。这种个 性化是一个重要特征,这是因为一些查询是不可分的,除非知道用 户如何利用字含义输入查询。因此,本发明的方法全部或在会话期 间能够基于在进行呈现过去的一个或多个查询中进行的选择来学习 用户如4可利用字含义。可以理解,该特征对于乡合定查询来最小4b用 户输入需要的字数是非常有用的。该学习过程是非侵入的,这是因 为与追踪访问的站点等相反,其包括追踪用户想要使用的字含义。 例如,假设查询"Java"指的是印尼岛,如果之前的查询是关于印前的历史(通过多个会话)。这种查询的个性化还适于移动搜索。即, 假设移动手机旨在个性化,与用户之前查询有关的信息可以容易地 与特定移动手才几号码相关联。如可以理解地,该个性4匕步骤增加了 搜索结果的精度,同时减少了用户需要进行输入来进^f亍搜索的字数 (因此减少了按键的次数)。用于进一步限定查询解释的呈现问题的上述方法提供了与个性 4匕处理有关的另一个伊C点。即,在如上述限定的一个方面中,用户 选择一个呈现的结果,然后该结果用于使所呈现的其^^结果进一步变窄。这可以-故看作是从用户到系统的直4妄反馈。然而,通过对初 始问题的使用,用户能够通过选择查询的特定解释来提供直接反馈 并且,实际上,鼓励这样做,这是因为在问题之前没有结果被呈现 或与问题一起呈现。如本领域技术人员可以理解的,这种直接反馈 改善了个性化处理的质量。而且,如上述指出的,本发明的方法利 用用户之前的搜索历史来进一步提供更准确的搜索结果。
尽管已经参照某些具体实施例描述了本发明,但在不背离本文 所附的权利要求中所述的本发明的范围的情况下,各种修改对本领 域的技术人员是显而易见的。本领域技术人员具有至少一个或多个
以下各项训练的足够的知识计算才几程序、才几器学习和计算语言。
权利要求
1.一种处理指向数据库的查询的方法,所述查询包括一个或多个字,所述方法包括以下步骤获得来自用户的所述查询;使用知识库对所述查询进行消歧,以获得用于所述一个或多个字的一个含义集;基于所述含义集获得所述查询的一个解释集;向所述用户呈现所述解释集;从所述用户获得来自所述解释集的所选择的解释;识别来自所述数据库的与所述选择的解释有关的相关结果;以及将所述相关结果呈现给所述用户。
2. 根据权利要求1所述的方法,还包括在向所述用户呈现之前, 才艮据可能性对所述解释进行排序。
3. 根据权利要求2所述的方法,其中,所述解释集包括满足可能 性阈值水平的解释。
4. 根据权利要求3所述的方法,其中,对所述查询进行消歧的所 述步骤包括利用从以下各项选择的算法实例消歧算法、n-字 消歧算法、先验消歧算法、依赖算法以及分类算法。
5. —种用于处理指向〗言息库的查询的系统,所述查询包括一个或 多个字,所述系统包括用于获得来自用户的所述查询的装置;包括知识库的ft据库;消歧才莫块,用于4吏用所述知识库对所述查询进行消歧,以 提供用于所述一个或多个字的一个含义集,以及提供所述查询 的一个解释集,所述解释中的每一个均包括查询字含义的集合;用于向所述用户呈现所述解释集的装置;用于从所述用户获得来自所述解释集的所选择的解释的 装置;用于利用所述选择的解释识别来自所述数据库的相关结 果的处理器;用于向所述用户呈现所述结果的装置。
6. 根据权利要求5所述的系统,还包括用于在向所述用户呈现之 前,对所述查询解释进行排序的排序模块。
7. 根据权利要求6所述的系统,其中,用于获得所述查询的所述 装置包括移动通信设备。
8. 根据权利要求7所述的系统,其中,所述移动设备包括手机或 个人lt字助J里。
全文摘要
本发明提供了处理指向数据库的查询的系统和方法。本发明包括以下实现步骤获得来自用户的查询;使用知识库对查询进行消歧,以获得与查询中的字相关联的一个可识别的字义集;获得查询的一个解释集;将该解释集呈现给用户;从用户获得从该集中选择的解释;获得用于所选择的查询解释的提供结果。本发明还允许对与用于查询的最佳识别的结果有关的用户、会话和公共数据的数据库进行更新,以改善并个性化用户随后查询的消歧。
文档编号G06F7/00GK101563685SQ200780041975
公开日2009年10月21日 申请日期2007年10月3日 优先权日2006年10月3日
发明者马修·科来奇, 马克·卡里尔 申请人:阿迪利亚公司
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1