首页> 中国专利> 基于上下文对搜索结果重新排序的方法和系统

基于上下文对搜索结果重新排序的方法和系统

摘要

一种基于上下文对搜索结果重新排序的方法,包括:在正在浏览的文档中选择需要搜索的部分作为搜索因子;根据搜索因子对数据源进行搜索并获得搜索结果;将所选择的搜索因子的上下文确定为重排序因子;根据获得的重排序因子,计算所述搜索结果中的文档与重排序因子的语义相关性,根据所述语义相关性,对搜索结果进行排序;以所述重排序来显示搜索结果。

著录项

  • 公开/公告号CN101320382A

    专利类型发明专利

  • 公开/公告日2008-12-10

    原文格式PDF

  • 申请/专利权人 索意互动(北京)信息技术有限公司;

    申请/专利号CN200810106007.6

  • 发明设计人 裘钢;

    申请日2008-05-07

  • 分类号G06F17/30;

  • 代理机构

  • 代理人

  • 地址 100089 北京市海淀区长春桥路5号12楼1701

  • 入库时间 2023-12-17 21:06:40

法律信息

  • 法律状态公告日

    法律状态信息

    法律状态

  • 2011-12-07

    授权

    授权

  • 2009-10-28

    实质审查的生效

    实质审查的生效

  • 2008-12-10

    公开

    公开

说明书

技术领域

本发明涉及计算机搜索领域,尤其涉及基于上下文对搜索查询进行差异化处理的方法和系统。

背景技术

当用户正在浏览一篇文档,该文档关于如何将家里的电器联结成一个网络时,用户对“home network”这个词条很感兴趣。于是在搜索系统中对“home network”,但由于这个词条在不同的领域中有不同的意义,导致获得结果中有大量是关于蜂窝通信的。原因是,该词条在蜂窝通信领域也有,意思是“归属网络”。

也就是说,现有的搜索技术都是直接对搜索查询进行处理,而不会考虑相同的搜索查询在不同的上下文语境中有不同的意思。

所以,需要一种技术,对搜索查询进行处理时,能够根据用户当前关注的内容来对搜索查询进行重排序处理。

发明内容

本发明的目的是提供:一种基于上下文对搜索结果重新排序的方法,包括:在正在浏览的文档中选择需要搜索的部分作为搜索因子;根据搜索因子对数据源进行搜索并获得搜索结果;将所选择的搜索因子的上下文确定为重排序因子;根据获得的重排序因子,计算所述搜索结果中的文档与重排序因子的语义相关性,根据所述语义相关性,对搜索结果进行排序;以所述重排序来显示搜索结果。

本发明更进一步的目的是提供:一种计算机程序产品,存储在计算机可读的介质上,该计算机程序产品具体地包括可读的程序方法,从而触发计算机执行上述的方法。

本发明更进一步的目的是提供:一种计算机程序,由计算机执行而实现上述方法。

本发明还有一个目的是提供:一种对搜索结果重新排序的系统,包括:数据存储装置,用于存储待搜索的数据源;搜索因子选择装置,用于在正在浏览的文档中选择需要搜索的部分作为搜索因子;搜索装置,根据搜索因子对数据源进行搜索并获得搜索结果;重排序因子确定装置,用于将所选择的搜索因子的上下文确定为重排序因子;重排序装置,用于根据获得的重排序因子,计算所述搜索结果中的文档与重排序因子的相关性,根据所述相关性,对搜索结果进行排序;显示装置,用于以所述排序来显示搜索结果。

附图描述

上述内容和其它方面的内容,以及本发明特定优选实施例的特征和优势将通过结合相应附图的详细说明更加清楚。其中:

图1是关于词条的表现方法和组合方式;

图2是词条-文档(term-document)矩阵;

图3是高维(r维)词条空间投影到低维(k维)词条空间的公式;

图4是词条向量表;

图5是描述了词条和文档在二维空间上的投影关系;

图6如何获得查询请求的向量;

图7是可以实现本发明的网络系统10;

图8是可以实现本发明的通用计算机20;

图9是执行根据本发明实施例的搜索过程的流程图;

图10是图9中的步骤34的一个具体实施例;

图11是根据本发明的一个具体应用实例。

所有附图中,同一附图标记理解为同一单元、特征和结构。

优选实施例描述

说明书中定义的内容如具体的结构和单元,是用于辅助全面理解本发明的优选实施例的。因此,根据本领域的普通技术对本申请描述的实施例进行的各种改变和修改都被认为没有脱离本发明的精神范围。同时,为了清楚和简要,省略了对公知的功能和结构的说明。

在现有技术中有大量关于基于语义搜索的技术,本领域技术人员可以利用这些技术很容易的构建词条向量,以及文档向量。其中有代表性的是潜在语义索引模型等技术。下面介绍潜在语义索引的原理,但不代表本发明一定要构建在潜在语义索引之上,本发明可以应用在所有的基于语义的搜索技术上。

潜在语义索引的原理

为了能够更加容易的解释LSI原理,下面通过一个具体例子来描述。设文档由17本书的标题组成。

图1中,有下划线的词表示词条。当然,对于本领域技术人员,存在很多其他选择词条的规则,可以增加或减少词条的数量,也可以改变词条的组合方式等。

图2是16x17词条-文档(term-document)矩阵,被称作A。行代表词条(term),列代表文档(document)。矩阵的值代表该词条在该文档中出现的次数。

奇异值分解把词条-文档矩阵A分解为三个矩阵的乘积形式,即

A=U∑VT    公式1

其中,∑是奇异值的对角矩阵。

图3是潜在语义索引方法通过降维,将高维(r维)词条空间投影到低维(k维)词条空间。

为方便图示表示,在本例中选择k为2,即表示将原词条空间降维到二维词条空间上。矩阵U的前两列表示了词条在二维空间中的向量。获得的向量组即词条向量表如附图中图4所示。

利用这些基本的词条向量,可以根据

v=qTUk-1k    公式2

来合成新的向量。例如文档向量Bi、用户输入的查询请求,都可通过分析所引用的词条按公式2相合成。本领域技术人员很容易明了,在合成向量时可以考虑词条向量的权重。

图5描述了词条和文档在二维空间上的投影关系。词条向量之间的夹角越小或夹角的余弦值越大,代表词条和和该文档的相关性越大。例如,以词条“oscillation”为例,在所有词条中“delay”与其夹角最小,即“delay”与其最相关。

当用户输入一个查询请求时,如“application theory”,系统通过分析该请求中包含的关键词“application″、“theory”,将该两关键词相关的词条向量按公式2合成如图6,从而获得查询请求的向量。

通过计算文档向量与该查询请求向量的夹角的余弦值,其值越大,表示该文档与查询请求越相关。

词条与文档的相关度是计算词条向量与文档向量之间的夹角的余弦值,其值越大,表示该文档与查询请求越相关。例如,“nonlinear”这个词条与B9的文档向量间的夹角的余弦值最大,所以与“nonlinear”最相关的文档是B9。

本领域技术人员已知的实际应用中,通过上述原理,对现有的足够数量的文献进行上述处理,即可获得全面的词条向量表。计算文档向量的方法是抽取文档中的词条,比对词条向量表获得相关词条的向量,将这些向量合成为文档向量如公式2。为了简化的目的,本申请不再详细描述如何获得词条向量表,因为本领域技术人员可以根据现有技术能够很容易地获得词条向量表。本发明是在现有的词条向量表的基础上描述的。

相关的参考文献如下:

1.M.W.Berry.S.T.Dumaiis&G.W.O’Brien.Using Linear AlgebraIntelligent Information Retrieval.Computer Science Department CS-94-2701994-12。

2.居斌.潜在语义标引在中文信息检索中的研究与实现.计算机工程2007-03。

3.陈越 郭力.隐含语义检索及其应用.信息检索技术2001年第6期。

4.Michael W.Berry,Paul G.Young.Using latent semantic indexing formultilanguage information retrieval.Volume 29,Number 6/1995年12月

图7是可以实现本发明的网络系统10。至少一个客户机12通过网络13,例如因特网与搜索引擎系统14相连。搜索引擎系统14包括至少一个搜索引擎15。搜索引擎负责处理客户机12的搜索因子,按照搜索因子生成搜索结果,和将结果返回给客户机。搜索引擎系统14还包括至少一个内容服务器16、至少一个重排序服务器17。内容服务器16存储从不同网站上搜索地大量带索引的文档。可替代地,或另外,内容服务器16存储在各种网站上存储的文档的索引。搜索引擎15与至少一个内容服务器16通信,响应特定搜索因子选择多个文档。

重排序服务器17根据重排序因子对上述选定的文档进行重新排序,并按照新的排序将结果发送给相关客户机。该重排序因子是根据某个规则来设置的,该规则可以由用户实时输入,也可以事先设置,也可以由系统设置为默认规则。

图8是可以实现本发明的通用计算机20。该通用计算机20运行了一个操作系统21,在该操作系统21上运行有一个数据库或文件系统22和一个重排序处理单元23。操作系统21用于从通用计算机20的输入单元(未示出)接收用户的搜索因子,并将该搜索因子发送给数据库或文件系统22。数据库或文件系统22可以是现有的任何合适的数据库,例如DB2、ACCESS、MSSQL、MYSQL、ORCLE、VF等。数据库或文件系统22也可以是任何合适的文件系统,例如FAT32或NTFS。数据库或文件系统22从操作系统21接收到用户的搜索因子后,进行相应的查询操作,并将查询结果发送给重排序处理单元23。

重排序处理单元23根据接收到重排序因子对上述的搜索结果进行处理。该重排序因子是根据某个规则来设置的,该规则可以由用户实时输入,也可以事先设置,也可以由系统设置为默认规则。比较搜索结果和重排序因子的相关度。根据相关度的高低在显示单元(未示出)显示搜索结果。

图9是执行根据本发明实施例的重排序搜索结果的流程图。流程开始于步骤30,用户正在关注某个文档,并对该文档中的某个部分非常感兴趣,希望能够有进一步的了解,所以在文档中选择了该部分,希望进行搜索,该部分被称为搜索因子,搜索因子可以是系统给出的关键词;也可以是用户选择的一段文字,例如一个词,一个词组或一个句子。在步骤31,搜索装置(例如是图7中的搜索引擎,或者图8中的数据库或文件系统)接收某用户提交的搜索因子。搜索设备可以根据搜索查询可选的生成查询策略(例如,将搜索查询标准化成用户进一步处理的适当形式,和/或可以按照预定准则修正搜索查询,以便自动扩大或缩小搜索查询的范围)。在步骤31,搜索设备根据搜索查询(或查询策略,如果生成的话)进行搜索,搜索设备获得与搜索查询匹配的一系列文档,并将搜索结果发送给重排序设备(例如图7中的重排序服务器,图8中的重排序单元)。如果用户输入的搜索因子属于布尔搜索,则搜索结果是符合搜索条件的全部文档。如果用户输入的搜索因子属于智能语义搜索,则搜索结果是与搜索因子最相关的N个文档。众所周知,相关度可以是根据搜索因子的合成向量与被搜索文档的文档向量之间的余弦值来确定的。

在步骤32,系统获得重排序因子的设定规则,重排序因子是搜索因子的上下文,设定规则是对上下文范围的规定,例如如果搜索因子是单词或词组,则可以将上下文定义为该搜索因子所在的句子或段落。在步骤33,根据获得的重排序因子,计算所述搜索结果中的文档与重排序因子的相关性,根据所述相关性,对搜索结果进行排序。在步骤34,以所述排序来显示搜索结果,即将在步骤31中获得的搜索结果全部显示,但是按照与重排序因子的相关度进行排序。同样的,此处的相关度也是根据重排序因子的合成向量与被搜索文档的文档向量之间的余弦值来确定的。

图10是图9中的步骤34的一个具体实施例,描述了用语义相关来重排序的例子。开始于步骤41,根据词条向量库来处理重排序因子,获得所述重排序因子的向量。重排序因子可以是被选择的搜索因子所在的。即将重排序内容中的所有词条在词条向量库中找到对应的向量,将这些词条的向量相加,从而获得重排序内容的向量。而词条向量库可以根据本领域技术人员公知的智能语义搜索技术获得,例如潜在语义索引模型。在步骤42中,逐一计算搜索结果中每一个文档的向量与重排序内容向量间的余弦值。在步骤43,根据所述余弦值的大小,对所述搜索结果中的所有文档进行排序。相关值越大的文档表示与重排序内容越相关,也是用户最期望看到的文档。

图11是根据本发明的一个具体应用实例。其中有两篇文档,第一篇文档A的主题是“水田作业机”,第二篇文档B的主题是“起重机的臂架收放展开装置”,在这两篇文档中同时出现了“作业姿势”这个关键词,如果用户对“作业姿势”特别感兴趣,希望能够进一步检索进行了解,此时,“作业姿势”就是搜索因子。那么,当用户将鼠标移动到第一篇文档的“作业姿势”上时,系统首先将搜索因子“作业姿势”输入到搜索系统进行搜索处理,获得搜索结果。例如,但不限于搜索结果可以是所有包含“作业姿势”的文档。如果采用现有技术,即现有搜索引擎技术,用户将在上述两例搜索中获得相同的搜索结果,用户分别感兴趣的文档将被淹没在大量文档中。在本实施例中,系统将基于上下文语境对搜索结果重新排序。系统首先根据重排序因子的设定规则,例如,但不限于是搜索因子所在的段落来获取重排序因子,并利用词条向量库计算重排序因子的合成向量,然后计算该合成向量与搜索结果中获得的文档的文档向量的余弦值。最后,根据计算结果从大到小排列并显示搜索结果。虽然,在文档A和B中需要搜索的都是“作业姿势”,通过该搜索因子获得的搜索结果是相同的。但是,由于搜索因子“作业姿势”在文档A和B中的上下文语境是不同的,即重排序因子是不同的,通过该包含上下文语境信息的重排序因子对搜索结果进行重新排序的搜索结果是不同,分别与文档A和B相关联。例如文档A的排序在前的结果都是有关水田作业的,而文档B的排序在前的结果都是关于起重机的。

尽管本发明通过一些特定的优选实施例加以表述,但是本领域的技术人员都应知道,可能的形式上的各种变化和具体化都没有脱离本发明的精神以及权利要求及其等价内容所定义的范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号