本申请根据35U.S.C.§119(e)要求享有于2006年3月31日提交的申请No.60/744,091和于2006年6月29日提交的申请No.11/427,678的权益,所述申请以引用的方式并入本文。
具体实施方式
现参考图1,示出了根据本发明的一个实施例的信息检索系统的系统架构。在该实施例中,系统100包括索引系统110、搜索系统120、展示系统130、前端服务器140、命名实体知识库150、字典模块155、命名实体字典160、消歧模块170以及数据准备模块180。系统100与文章的知识库200接口连接,所述文章包括关于命名实体的文章。系统100耦接到网络,并且通过这样的网络可以被任何类型的客户端装置访问。
该系统具有两个基本的操作阶段:生成已消歧的命名实体的集合以及表示特征和命名实体之间的关系的消歧排名模型230;以及第二,在查询处理期间使用消歧排名模型230来识别并对包含实体名称的查询消歧。
在生成阶段期间的全部操作如下。字典模块155从知识库200提取命名实体的字典(数据集)来形成命名实体字典160。从知识库200提取与包括在命名实体字典160中的命名实体相关联的文章来形成命名实体知识库150。数据准备模块180使用命名实体字典160以及在命名实体知识库150中的文章和命名实体文章的上下文(更普遍的特征)之间的超链接结构来创建消歧数据集220。消歧数据集220也可以包括用于识别与每个命名实体相关联的类别的类别信息。消歧模块170使用消歧数据集220来获悉在来自查询上下文的单词和来自类别分类的类别之间的关系的力度。消歧排名模型230用来对包含名称的(任何类型的)查询消歧,以便帮助检索与查询相关的文档。
第二阶段的全部操作如下。作为处理查询的先驱,通过访问各种网站190和其它文档集合,索引系统110负责根据文档内容(例如单词、词语、媒体)来对文档进行索引;索引系统110创建索引和内容数据库115以供在检索中使用。前端服务器140从客户端175的用户接收查询,并且将这些查询提供给搜索系统120。查询可以是为了任何类型的信息,但是在此感兴趣的是包括(或潜在包括)实体的名称的查询,对于所述实体的名称在命名实体知识库150中存在命名实体文章。
搜索系统120负责搜索与搜索查询相关的文档(搜索结果),包括识别搜索查询中的任何实体名称,以及从内容数据库115检索与搜索查询相关的文档。搜索系统120还识别搜索结果中的实体名称,并且使用消歧排名模型230来对搜索结果中的命名实体消歧,并且使用已消歧的名称来扩增搜索结果。扩增搜索结果包括例如根据已消歧的名称的各种意义来组织(或分组)搜索结果,基于已消歧的名称添加进一步(单独地或以组)识别或描述搜索结果的注释、摘录或其它内容,或前述的组合。例如,响应于对“John Williams”的搜索,对于名称的任何数量的不同意义,搜索系统120可以将搜索结果分组成与作曲家John Williams有关的一组文档,与摔跤运动员有关的第二组文档,与风险资本家有关的第三组文档等等。搜索系统120也可以选择性地包括(或排除)文档,例如,包括用于实体名称的每一个意义的一个文档(例如关于该实体的来自命名实体知识库150的文档)以及按相关性排名的剩余搜索结果。也可以容易地设计扩增的其它形式。搜索系统120将扩增的搜索结果提供给展示系统130;展示系统130将结果返回给客户端175。现进一步详细描述各种实施例的细节。
信息检索系统100使用知识库200,其可以是信息检索系统100的一部分或独立于信息检索系统100(例如,由相同或不同的运营商或所有者维护)。知识库200包括关于各种主题的文章(或更一般地是文档)的大型(优选)集合,其提供某种类型的在线百科全书。示例性知识库200是Wikipedia(可在www.wikipedia.com获得)。
在本发明的情况下,将使用术语“文章”,并且其被理解为包括可以被搜索引擎索引及检索的任何类型的媒体,包括web文档、图像、多媒体文件、文本文档、PDF或其它图像格式化文件等等。术语“文章”也可以与术语“文档”互换使用。文档可以具有一个或多个页面、分区、节段或其它组件,以适合于其内容和类型。等价地,文档可以被称为“页面”,如通常用来指因特网上的文档。通用术语“文档”或“文章”的使用不暗示对关于本发明的范围的限制。系统100在诸如因特网和万维网的大型文章库上操作,但是其也可以在更为有限的集合中被使用,诸如用于图书馆或私企的文档集合。在任一种情况中,应当理解,文章典型地分布在多个不同的计算机系统和站点上。于是不丧失一般性,不考虑格式或位置(例如哪个网站或数据库),文章通常将被统称为库或文档集合。每一个文章具有唯一识别该文章的相关联的标识符;标识符优选是URL,但是也可以使用其它类型的标识符(例如文档号)。在本公开中,假定使用URL来识别文章。
知识库200具有下述结构。知识库200包括已超链接的文章集合。每一个文章通过其标题来识别,所述标题典型地是单词序列,且第一个单词总是大写字母开头。典型地,标题是在文章中描述的实体的最常见的名称。当标题(或“名称”)有歧义时,其进一步通过括号中的表达来限定。例如,关于作曲家“John Williams”的文章具有标题“JohnWilliams(composer)”。当然,可以使用区别其他的歧义名称的其它方式。根据知识库200的模式和格式,可以使用特定格式化约定来格式化标题。例如,可以在文章标题中使用下划线“_”来替代空格。
因为每一个文章描述特定的实体或概念,所以术语“实体”或“命名实体”也将被用来指文章描述的实体;术语“命名实体文章”将被用来指关于特定命名实体的文章。术语“实体名称”将被用来指命名实体的专有名称,其也可以是命名实体文章的标题(或标题可以得自于实体名称,或反之亦然)。在评价查询的情况中,应当理解,识别查询(或文章)中的命名实体是确定命名实体的名称是否在查询(或文章)中出现的过程。
现介绍下面的符号:
E=在知识库200中的所有命名实体的集。
e∈E=任意命名实体。
e.title=关于e的文章的标题名称。
e.text=关于e的文章的文本(也可以被表示为e.T,其中T是与e相关联的所有文章的文本集)。
通常,在名称和实体之间存在多对多对应。这些关系通过两个附加的结构即重定向文章和消歧文章被捕捉在知识库200中。
重定向文章为可被用来指知识库200中的实体的每个替选名称而存在。替选名称被用作为文章的标题,并且该文章包含指向关于实体的实际命名实体文章的重定向链接。替选名称也可以被理解为实体的名称的别名。替选名称可以包括同义词、拼写错误、或替选拼写、首字母缩写词、常见名称、全名、俚语名称、译文、或指明特定实体的任何其它方式。例如,名称“John Towner Williams(约翰·陶纳·威廉姆斯)”是作曲家John Williams的全名,因此用作作曲家的替选名称。因此,具有标题“John Towner Williams”的重定向文章被包括在知识库200中,并且其包含指向“John Williams(composer)”的命名实体文章的重定向链接(或其它指针)。可以具有多个直接页面的实体的另一个示例是命名实体“United States(美国)”。重定向页面也可以被用于标题的错误拼写(例如,“Untied States”)、首字母缩写词(例如,“USA”、“U.S.”、“U.S.A.”)、以及译文(例如,“LosEstados Unidos”)、同义词(例如,“America(美国)”)。与给定命名实体e相关联的并且重定向到该实体的命名实体文章的所有替选名称的集用符号表示为e.R。
例如,对于实体“United States”,以下适用:
e=United States
e.title=″United States″
e.R={″USA″,″U.S.A″,″U.S.″,″US″,″Estados Unidos″,″America″,″Untied States″,...}
如上所述,一些实体名称有歧义,因为其可以指相同种类的事物的不同实例,或甚至不同种类的事物。在知识库200的情况中,歧义名称可以指两个或多个不同文章。因此,对于每一个歧义名称,知识库200进一步包括歧义名称可以具有的不同意义的枚举。在一个实施例中,在消歧页面中拥有名称的不同意义的枚举。替选地,其可以被表达为消歧页面列出可以由特定的歧义实体名称表示的所有命名实体文章。对于歧义名称的每一个不同意义,存在具有该意义的名称的相关联的描述。例如,对于命名实体“John Williams”,消歧页面可以列出具有该相同名称的多个不同实体。作为另一个示例,考虑实体Venus(金星),以及名称“Morning Star(晨星)”和“Evening Star(晚星)”。这些名称每一个都有歧义,但是两者都指实体金星;因此这些名称的每一个都具有相关联的歧义页面,所述歧义页面包括作为引用的“Venus”(以及指向关于“Venus”的命名实体文章的链接)。
因此,对于给定的命名实体,将存在如通过重定向页面的标题所指示的与该实体相关联的非歧义名称集,以及将该特定实体列出为歧义名称的意义中的一个的附加歧义名称集。对于给定实体e,e.D是其消歧页面包含指向e的链接(或替选地,至少列出e)的名称集。
知识库200的另外特征是类别的使用。在知识库200中的每一个文章都与一个或多个类别相关联。以主题-副主题层级(也称为类别分类),优选地以有向非循环图来组织类别。可以通过将类别标志(标签)关联到每一个文章,或通过维护包括在每一个类别中的文章的单独列表来进行关联,所述列表包含在该类别中的实体的名称、或指向其各自的文章的URL(或其它类型的引用,例如文档ID)。例如,可以将作曲家John Williams与类别“Star Wars music(星球大战音乐)”、“20th century classical composers(20世纪古典作曲家)”、“Film scorecomposer(电影配乐作曲家)”、“Music(音乐)”等等相关联。类别也可以具有与命名实体相同的名称。因此,“Venus”既可以是类别,也可以是对于其存在命名实体文章的命名实体;可以将命名实体文章“Venus”与更一般的类别“Planets(行星)”和“Solar System(太阳系)”相关联。对于给定的命名实体e,e.C是e所属于的类别的集。实体被认为属于其直接类别、以及在类别层级中所有其上级(ancestor)类别。图2示出了多个命名实体e(在“标题”列中列出)、以及其相关联的重定向名称(在“重定向”列中列出)、列出实体的消歧页面的标题(在“消歧”列中列出)和其相关联的类别(在“类别”列中列出)的示例。
在知识库200中的文章通常将包含对于其存在相应的命名实体文章的命名实体的提述(或“实例”)。当提及这类的命名实体时,经由超链接将该命名实体的名称链接到相应的命名实体文章。优选地使用两种类型的链接:链接和管道链接。图3示出了来自知识库200中的文章的代码摘录300和其相应的显示文本302的示例。在链接306中的字符串“Rome”表示命名实体文章的标题,因此该字符串也作为超文本链接的锚点(anchor)文本(示出为加下划线)出现在显示文本302中。在管道链接304中,命名实体文章的标题“Vatican City(梵蒂冈)”被示出在管道符号“|”之前;在管道符号之后的字符串“Vatican”是在显示文本302中作为链接名称出现的字符串。管道链接的使用允许知识库200中的文章的作者使用各种不同的名称来引用或链接到给定的命名实体文章。链接也提供对训练消歧模块有用的消歧示例。
字典模块155是用于从知识库200生成命名实体的字典(数据集)以形成命名实体字典160的装置的一个示例。命名实体字典160包含多个名称(其自身是字符串),其中将每一个名称映射(与之相关联)到来自知识库200的实体e的某个集;与给定名称相关联的实体集被表示为d.E。字典模块155基于文章的标题、包括在重定向页面上的名称、以及包括在消歧页面中的名称从知识库200确定待被包括的名称d。
在一个实施例中,字典模块155如下从知识库200生成名称d。图6示出了该过程。字典模块155使用用于检测命名实体的一组名称识别规则来处理600知识库200中的每一个文章的标题。在一个实施例中,名称识别规则如下:
·如果e.title是多单词标题,则仅当所有的实义词均为大写字母开头时e为命名实体;
·如果e.title是包含至少两个大写字母的一个单词标题,则e是命名实体;
·如果在文章内出现的标题至少75%为大写字母开头,则e为命名实体。
第一规则识别诸如“United States”或“Name ofthe Rose(玫瑰之名)”的命名实体。在此应注意,不考虑无用词(例如,前置词、冠词等等)。第二规则识别诸如“NATO”或“LAGQ”的首字母缩写词。第三规则识别在其它情况中的实体的名称,其中标题不满足前两个规则,但是在文章中标题的用法指示作者认为标题是专有名称短语(因此其是以大写字母开头);当然可以使用除75%外的阈值量。可以使用其它的或附加的规则来更自由地或更保守地识别命名实体,并且可以对其它语言使用其它的规则,其使用不同的约定(语法上的和句法上的)来表示专有名称。
优选地,该识别过程自动发生;不需要操作者人工地评审结果(特别在其中可能超过500,000个命名实体的大型知识库中)。另外,每一次向知识库200添加新的文章时可以调用字典模块155来确定其是否关于命名实体,以及识别包含在文章的主体内的命名实体的附加的提述。
字典模块155如下使用602重定向页面和消歧页面来构建命名实体字典160。对于由规则识别的每一个名称d,字典模块155将以下内容包括在命名实体字典160中:
·命名实体文章的标题d.title,
·名称集d.R,其是d的重定向名称,以及
·名称集d.D,其是d的消歧名称。
因此,对于给定的名称d,存在d可以在知识库200中表示的实体集d.E;当且仅当d=e.title、或d是e的重定向名称之一(d∈e.R)、或d是对e消歧的名称之一(d∈e.D)时,将特定命名实体e包括在该集d.E中。
从命名实体字典160和知识库200、命名实体文章集(即其名称被包括在命名实体字典160中的文章),字典模块155创建604(例如,提取、复制、索引等等)命名实体知识库165。因此,该知识库165包括所有命名实体文章(包括其超链接)、重定向到任何命名实体文章的所有重定向文章、以及包含命名实体文章的名称(或指向其的链接)的所有消歧文章。对于每一个命名实体,对于用于名称的正确意义的特定文章,在文章、其重定向名称以及其消歧名称之间进行关联。因此,对该阶段进行考虑的一种方式是,已将知识库200分割(或镜像)成仅包含关于命名实体的文章的子数据库(150)。其已经通过对文章的标题以及这样的标题的上下文的基于探试法的分析被程序地完成。
在生成阶段的下一个方面,数据准备模块180创建606消歧数据集220,其被用作为消歧模块170的训练数据。数据准备模块180是用于生成消歧数据集的装置的一个示例。数据准备模块180的一个实施例操作如下。
如上所述,对于给定的名称(“John Williams”),将存在在各种上下文中包括该名称的实例的文章。在论述作曲家时文章中的一些可以包括名称“John Williams”;在论述摔跤运动员时其它的文章可以包括相同的名称。在每一种情况中,根据在上面参考图3论述的命名实体知识库150(或替选地,也在知识库200中)的结构,这些实例被链接(经由链接或管道链接)到适当的命名实体文章,即关于正论述的实体的文章。此外,实体名称在其中出现的上下文(例如,包含该名称的句子、段落等等)提供具有用于名称的特定实例的正确意义的数据源。因此,数据准备模块180使用命名实体知识库150的这些方面来构建消歧数据集200。该数据集具有以下的结构。
为了说明的目的,并且不丧失任何一般性,术语“查询”在此用来表示实体名称在文章内的出现。如果在查询q中存在实体名称,使得所表示的实体集q.E包含至少两个实体,其中的一个是被链接到名称的出现的正确实体q.e,则将查询q包括在数据集中。更确切地,如果q.E包含n个命名实体e1,e2,...,en的名称,则利用n个对{q,ek}来扩增数据集200,表示如下:
{q,ek}=[δ(ek,q.e)|q.text |ek.title]
域q.text包含在以专有名称为中心的有限长度窗口中出现的单词。在一个实施例中,窗口尺寸被设置为55,其是可以在跨文档互引用的相关任务中提供最佳性能的一个值,尽管无疑地可以使用其它值。当ek与链接中引用的实体q.e相同时,克罗内克尔(Kronecker)δ函数δ(ek,q.e)为1。换言之,当存在具有相同名称(例如“John Williams”)的多个不同实体时,则对于包括该名称的链接实例的给定文章,比如说描述古典音乐的文章,将对于命名实体文章“John Williams(composer)”的克罗内克尔δ函数设置为1,其中与名称实例相关联的链接实际上链接到该命名实体文章。对于与名称“John Williams”相关联的所有其它命名实体文章,将δ函数设置为0。因此,从可以由名称实例表示的所有实体中,该标记指示正确的实体。因此,消歧数据集220提供对命名实体知识库150内的实体名称的每一个实例消歧的数据的集。
在一个实施例中,数据准备模块180使用以下的方法来构建消歧数据集220。对于命名实体知识库150中的每一个命名实体文章,数据准备模块180遍历文章的文本以识别其中的超链接。处理文本在此包括处理源代码、文档对象模型、索引或文章的其它表示。例如,通过包括<href>和其它的已知标志可以在HTML中识别超链接。在每一个所识别的超链接内,将存在用作链接的锚点文本的实体的名称。
对于每一个所识别的实体名称,数据准备模块180经由在命名实体字典160中的查找来确定与该实体名称相关联的一组文章。这些命名实体中的一个将是通过超链接链接到的文章的名称的命名实体;其余将是其它的文章(例如,具有非匹配的标题)。被链接的文章是实体名称(例如“John Williams”)的实例、实例的上下文(例如,“BostonPops conductor John Williams led the symphony in the debut of TreeSong,Concerto for Violin and Orchestra.(波士顿管弦乐团指挥家约翰·威廉姆斯在小提琴和管弦乐的协奏曲树之歌的首次演出中指挥交响乐。)”)和命名实体文章其自身(“John Williams(composer)”)的积极示例。对于该元组,δ函数标记被设置为“1”。对于每一个剩余元组,其为实体名称、相同上下文和文章中的另一个的组合,标记被设置为“0”。
图4示出了消歧数据集220的一小部分400,仅用于说明的目的。在此,所选择的数据400包括数据的三个不同的元组(行),由名称“John Williams”的实例与匹配该实体名称的三个不同文章(由在列406中的三个不同的命名实体文章标题示出)的三个不同组合产生。包含当前实例的查询文本(q.text)404在中间列中示出。以上述描述的方式,“John Williams”的实例将是链接,并且该链接将包含到命名实体文章的引用。
对于第一元组,超链接包括其标题“John Williams(composer)”与超链接中引用的文章相匹配的命名实体文章。对于该元组,δ函数标记402被设置为“1”。两个其它的条目用于具有实体名称“John Williams”的其它文章,例如,条目用于“John Williams(wrestler)”和“John Williams(VC)”的命名实体文章。因为这些文章的标题与包含在超链接中的标题不相匹配,所以标记402被设置为“0”。虽然这是消歧数据集220的内容的基本示例,但是期望的是,也可以包括附加的上下文数据、元数据或其它信息。
消歧模块170使用消歧数据集220(或其一部分)来获悉608消歧评分模型230。消歧模块170是用于获悉上下文信息(例如,q.text或其它特征)与实体名称之间的关联的装置的一个示例。消歧模块170以两个阶段来构建消歧评分模型230。
首先,将消歧数据集220的某个部分选择为训练部分(可以将另一个部分选择为模型确认)。为了简单的目的,仍将该部分称为消歧数据集220。
对于数据集220中的每一个元组,消歧模块170将评分函数应用于查询(例如,文章中的实体名称的实例)和命名文章自身的组合,即score(q,ek)。评分函数是确定查询与文章的相关性(或相似性)的函数,因此提供上下文-文章相似性分值。可以使用任何相关性或相似性评分函数,并且在本发明的范围内的不同消歧方法可以使用不同的评分函数,因为所使用的特定函数不是关键的。
可以使用的一个评分函数是基于查询的上下文和文章的文本之间的余弦相似性:
在该实施例中,在标准向量空间模型中表示分量q.text和ek.text,其中每个分量与词汇表中的词语相对应,并且词语权重是标准tf×idf分值。词语(单词或短语)的词汇表V是从知识库200中的文章库获取的。对于每一个词干w,确定其文档频率df(w)。丢弃无用词和过于频繁或过于稀少的单词。类属文档(文章)d然后被表示为长度的向量|V|,其中每一个词汇表单词有一个位置。如果f(w)是单词w在文档d中的频率,并且N是知识库200中的文章的总数,则在d的tf×idf表示中单词w的权重是:
使用诸如前述的评分函数,消歧模块170可以操作如下。对于给定的查询(实体名称),模块从命名实体字典160确定与名称相关联的实体。对于每一个这样的实体,消歧模块170计算在命名实体文章和查询的上下文之间的评分函数。这产生例如在命名实体文章和该查询之间的余弦相似性分值(或其它相关性类型分值)。经由下面的主排名函数,将最高评分命名实体文章识别为用于对名称消歧的正确文章:
消歧模块170获悉(1)的一般化,其将在下面被进一步详细阐述。然后在消歧评分模型230中使用所获悉的排名函数。
再次参考图1,现进一步详细描述查询处理的一个实施例。在对普通搜索的查询处理期间,搜索系统120将从客户端系统175接收类属查询。该查询可以包括实体名称(或多个实体名称)。因此,搜索系统120将查询传递到字典模块155以使用名称识别规则来确定查询是否包含实体名称。该规则可以被应用于整个查询,或应用于其一部分(例如,在查询词语上使用滑动窗口)。如果识别了实体名称,则字典模块155向搜索系统120返回命名实体的列表。搜索系统120将命名实体的列表与整个查询一起传递到消歧模块170。消歧模块170使用消歧评分模型230来处理查询和命名实体。消歧模块170向搜索系统120返回可以包括正确消歧的实体的识别的结果,以及前N个评分实体。搜索系统120使用该结果来组织并排名与搜索结果相关的文档,例如根据靠前评分实体的排名来分组文档。
在本发明的另一个实施例中,进一步使用与每一个命名实体文章相关联的类别信息来对命名实体消歧。当包含在文章中的单词没有用在关于这样的实体的查询中使用的相同单词来描述命名实体时,该特征是有益的。例如,单词“conduct(指挥)”和“concert(音乐会)”可能因为某些原因而未在关于作曲家约翰·威廉姆斯的文章中出现。如果接收到“John Williams concert(约翰·威廉姆斯音乐会)”的查询,则对于识别该文章以便对名称“John Williams”消歧,这些词语将不会因此有用。例如如果文章过于简短、不完整或仅使用同义词,则相关单词可能不会在文章中出现。
更正式地,在q和ek之间的余弦相似性(或其它相关性分值)可以被看作来自查询q的上下文的单词和用于给定的命名实体ek的命名实体文章之间的总的关联度的表示。当因为用于命名实体ek的文章没有包含与ek相关的所有单词而使关联太低时,在上下文单词和ek所属于的类别之间的关联是值得考虑的。
参考图5,示出了对名称“John Williams”的潜在查询的说明。为了避免混乱,图5仅描述了在命名实体知识库150中的具有名称“JohnWilliams”的两个实体500,作曲家和摔跤运动员。在每一个实体上,示出了在类别层级中其相关联的类别502中的一个(分别为“Film scorecomposers(电影配乐作曲家)”和“Professional wrestlers(职业摔跤运动员)”),以及其上级类别504中的一些(例如,“composers(作曲家)”和“wrestlers(摔跤运动员)”)。也示出了示例查询上下文506。在查询内,词语“concert(音乐会)”突出显示。该词语与和如在左方所示出的“John Williams(composer)”相关联的类别高度相关,而词语与和如在右方所示出的“John Williams(wrestler)”相关联的类别具有低度关联。消歧模块170进一步获悉在词语和类别之间的关联,然后将所述关联包括在评分模型230中。
消歧模块170使用消歧数据集220,其如早先所述包括用于实体名称与和这样的名称相关联的命名实体文章的每一个组合的元组,以及上下文-文章相似性分值。消歧模块170用附加的特征向量进一步扩增消歧数据集220,所述特征向量表示文章文本q.T和文章的类别之间的相似性。
消歧模块170然后将一般化的排名函数用于评分模块。该一般化的排名函数如下:
特征向量Φ(q,e
k)包含用于上下文-文章相似性分值的特征
以及与来自词汇表V的单词w和来自类别层级C的类别c的组合相对应的|V|×|C|特征
因此,对于在V中的单词w和在C中的类别c的每一个组合,如果单词w被包括在文章q的文本中并且c是文章的类别中的一个,则将特征向量
设置为1。
因此,在一个实施例中,消歧模块170执行类别信息的下列处理。对于每一个类别c,消歧模块170确定与类别c相关联的文章d;如上所指示,这些文章中的每一个具有与其的词语向量。消歧模块170确定作为这些文章向量d的向量和的类别向量Ci。这首先对作为类别层级的叶的类别来进行,再对每一个上级类别处的类别进行。该过程为类别分类中的所有类别建立了一组类别向量。
权重向量W对特征向量Φ(q,ek)的特征中的每一个的量值建模,包括每一个单词-类别关联的权重。通过对消歧数据集220进行训练来获悉权重向量,消歧数据集220如上所述被扩增来包括单词-类别特征。所获悉的权重向量然后被用在评分模型230中。
再次参考图1,如前所述,搜索系统120可以将查询提供给消歧模块170用于消歧。消歧模块170使用包括单词-类别特征的评分模型230的扩展实施例,并且返回一组前N个评分实体,包括用于每一个这样的实体的类别信息。评分系统120使用所识别并已消歧的实体和类别信息来组织搜索结果,并且将搜索结果提供给展示系统130。
作为系统的另一个特征,消歧模块170可以被配置来识别实体的名称,对于所述实体在命名实体知识库150中不存在相对应的命名实体文章。例如,如上所示,可以存在与“John Williams”有关的多个文章,但是其中没有一个可以是关于相同名称的著名萨克斯管吹奏者。因此,能够识别对于其不存在具有名称的适当意义的文章的命名实体的实例是有益的。这些“局外”实体由单个特殊实体eout表示。
为了执行这种类型的识别,消歧模块170如前所述获取用于具有相同名称的命名实体文章的分值,然后根据其分值对其进行排名。在将最高评分命名实体文章识别为正确文章之前,消歧模块170将该分值与阈值进行比较。仅当该分值大于阈值时,该文章才被识别为正确文章。如果最高分值小于阈值,则没有一个实体是正确的。
更正式地,局外实体的检测可以以下列方式被包括在评分模型230中。对于实体eout,其特征被设置为空值,例如文章文本eout.T=″″,以及类别集eout.C={}。然后更新基本排名函数(1),使得如果该分值大于阈值τ,则其返回具有最高分值的命名实体,其它情况则其返回eout:
其中一般化的排名函数(2)是使用特征函数的加权组合来实现的,于是该更改存特征向量Φ(q,e
k)中产生附加的特征
如下,
其中
φout(q,ek)=δ(ek,eout)
总之,评分模型230可以被可变地设计来在对实体名称消歧时考虑不同特征组的任何组合:表示在文章和查询的上下文之间的相似性的特征、表示在文章和与该文章相关联的类别之间的关联的特征、以及表示局外实体的特征。附加的特征也可以被酌情包括在评分模型230中。例如,附加的特征可以包括链接结构度量(例如,页面排名)、基于主题的度量、基于短语的分值、文章流行性的流行性度量、(例如,文章作者的声誉的)声誉度量、新近度量(基于文章的年限)等等。因此,在此的评分模型230应被理解为灵活地适应用来对命名实体消歧的附加特征和实现。
由消歧模块170使用的学习算法可以被实现为支持向量机(SVM)或其它监督学习算法。如上所指示,在此可以使用内核函数。一个实施例使用在关于Knowledge Discovery and Data Mining(知识发现和数据挖掘)的第八届ACM SIGKDD国际会议论文集中第133-142页(2002)Joachims的“Optimizing search engines using click-through data(使用点进数据来优化搜索引擎)”中描述的大裕量排名方法的内核版本,其解决在下面阐述的最优化问题:
最小化:
服从:
w(Φ(q,q.e)-Φ(q,ek))≥1-ξq,k
ξq,k≥0
该公式的目的是找到权重向量w,使得1)最小化被违反的来自消歧数据集220的排名约束wΦ(q,q.e)≥wΦ(q,ek)的数量,以及2)排名函数wΦ(q,ek)远超训练数据来一般化。在上面的最优化问题中,C是允许将裕量大小与训练错误折衷的参数。线性排名约束的数量是q(|q.E|-1)。作为示例,图4中示出的三个查询中的每一个都生成两个约束。
所获悉的w是特征向量Φ(q,ek)的线性组合,其使能够使用内核。它直观地示出:在两个特征向量Φ(q,ek)和Φ(q’,e’k)之间的点积与在两个查询的上下文中的共有单词的数量和对两个命名实体共有的类别的数量之间的积加上两个余弦相似性的积相等。相对应的排名内核是:
K((q,ek),(q′,e′k))=|q.T∩q′.T|·|ek.C∩e′k.C|
+cos(q.T,ek.T)·cos(q′.T,e′k.T)
为了避免数值问题,内核的第一条件是标准化并且第二条件是乘以常量,例如α=108,如下:
总之,本发明提供了用于使用带有诸如链接、重定向(别名)和消歧文章的消歧特征的文章的知识库来定义各种类型的消歧评分模型、并且在查询处理期间执行查询的消歧的各种方法和系统。
已参考各种实施例特别详细地描述了本发明,并且本领域的技术人员将理解本发明可以在其它的实施例中实践。另外,本发明的技术人员将理解本公开的下述方面。第一,组件的特定命名、词语的大写、属性、数据结构或任何其它编程或结构方面不是必须遵循或重要的,并且实现本发明或其特征的机制可以具有不同的名称、格式或协议。第二,系统可以如所述经由硬件和软件的组合或完全以硬件元件来实现。第三,在此所述的各种系统组件之间的功能性的特定划分仅是示例性的,并不是必须遵循;由单个系统组件执行的功能可以由多个组件替代执行,并且由多个组件执行的功能可以由单个组件替代执行。
以上描述的某些部分从对信息的操作的算法和符号表示的方面来描述了本发明。这些算法描述和表示是在数据处理领域的技术人员使用来将其工作的实质内容最有效地传递给该领域的其它技术人员的手段。虽然被功能性地、计算性地、或逻辑性地、或符号地描述,这些操作应被理解为由计算机程序或等效电子电路、微码等等实现。此外,其也已不时地证明将这些操作安排指代为模块是便利的,而不丧失一般性。所描述的操作和其相关联的模块可以具体化在软件、固件或硬件中。
另外,用来描述各种量、数据值以及计算的词语应被理解为与适当的物理量相关联并且仅是应用于这些量的便捷标签。除非特别陈述不同于从下面的论述显而易见的情况,应当理解,在整个描述中,利用诸如“处理”、“计算”、“确定”、“组织”、“分组”等等的词语的论述是指操作和变换数据的计算机系统或类似电子计算装置的行为和过程,所述数据被表示为在计算机系统存储器或寄存器或其它这样的信息存储、传输或显示装置内的物理(电子)量。
本发明也涉及用于执行在此的操作的设备。该设备可以为所需目的专门构建,或其可以包括通过存储在计算机中的计算机程序选择性地激活或重新配置的通用计算机。这样的计算机程序可以被存储在计算机可读存储介质中,诸如但不局限于任何类型的盘片,包括软盘、光盘、CD-ROM、磁光盘、只读存储器(ROM)、随机存取存储器(RAM)、EPROM、EEPROM、磁或光卡、专用集成电路(ASIC)、或适合存储电子指令的任何类型的媒体,并且每一个都被耦接到计算机系统总线。此外,本说明书中涉及的计算机可以包括单处理器或可以是为增强的计算能力使用多处理器设计的架构。
在此呈现的算法和显示在本质上不与任何特定的计算机或其它设备相关。根据在此的教导,也可以将各种通用系统与程序一起使用,或其可以证明构建更多专用设备来执行所需的方法步骤是便利的。用于各种这些系统的所需结构将从上述描述中发现。另外,未参考任何特定编程语言来描述本发明。应当理解,可以使用各种编程语言来实现如在此所述的本发明的教导,并且对特定语言的任何引用是为了公开本发明的实施和最佳模式而提供的。
本发明非常适合于在众多拓扑结构上的种类繁多的计算机网络系统。在该领域内,大型网络的配置和管理包括通过诸如因特网的网络通信地耦接到不同的计算机和存储装置的存储装置和计算机。
最后,应当注意,在本说明书中使用的语言主要为了易读和指导的目的而选择的,其并不是选择来划定或限定创造性主题。因此,本发明的公开是意在说明性的,而不是限制本发明的范围,所述范围在所附权利要求中阐明。