信息检索方法和系统的制作方法

文档序号:6461256阅读:162来源:国知局
专利名称:信息检索方法和系统的制作方法
技术领域
本发明涉及信息检索,更具体地,涉及自适应的个性化信息检索。

背景技术
随着因特网和大容量存储设备等的迅速发展,世界进入了信息过剩的时代。如何从海量的信息中获取有用的信息,成为人们关心的问题。
目前,解决这一问题最常见的方法是搜索引擎。通过目前商用的以Google、百度为代表的搜索引擎,可以得到基本上令人满意的搜索结果。
然而,与人们对于有效信息获取的需求相比,目前的搜索引擎提供的结果还远远不能满足要求。这首先体现在,现有的搜索引擎获取用户信息的手段比较单一,主要采用基于关键词的布尔表达式作为输入。因此,搜索引擎很难准确理解隐含在这些关键词之后的用户真实信息需求。更重要的是,现有的搜索引擎采用与用户无关的通用搜索算法,不论用户是谁,不论用户来自何方,只要输入的查询语句相同,返回的结果都是相同的。而事实上,用户的需求非常个性化。例如一个旅游者和一个程序员在输入“Java”时,前者想搜索与爪哇岛相关的旅游资讯,而后者想要找与Java编程语言相关的信息。但目前常见的搜索引擎都对这种情况不加区分。因此,对于那些与用户的个性化需求密切相关的信息需求,目前的搜索引擎就不太适用了。此外,对于用户的某个长期感兴趣的话题,如果要用搜索引擎来查找信息,那么就要反复地到搜索引擎上输入相同的关键词,然后每次都从大量的网页中去查找其中新出现的相关信息,这显然大大加重了用户的使用负担。此外,虽然用户的个性化信息需求在一段时间内是稳定的,但长期来看,这种信息需求还是会有所改变的。显然,采用上述方法无法捕捉这种变化。
自适应的个性化信息检索研究,目标是满足用户个性化和持续关注型的信息需求。该项研究根据用户的兴趣和关注点的不同,通过对无关信息的过滤,向用户提供最有价值的信息。它能够满足用户的个性化信息需求,通过长期观察用户的搜索行为,从中识别用户的信息需求偏好,并且能够根据用户对搜索结果的评价,自动调整搜索策略,使得对于同一检索请求,不同用户能够得到最贴近自已需求的信息。
在目前个性化信息检索的研究中,比较流行的上下文检索,相对于传统的信息检索方法,能够针对不同的用户提供更加个性化的结果。总体而言,这些方法的思想大多可以概括如下要求用户输入比关键词更复杂的查询语句,把每一个查询输入视为一个兴趣,利用这些输入构造用户兴趣模型,基于查询语句中的关键词,使用传统的信息检索算法得到初始网页列表,然后利用用户兴趣模型对此列表进行过滤。如果用户对结果进行直接反馈,则根据这些反馈对用户模兴趣型进行调整,并基于新的用户兴趣模型对网页列表进行过滤。
例如,在非专利文献1中,采用经典的向量空间模型来对上下文进行建模,但这种方法基本上借用的都是文本信息,而其他非文本信息基本上无法纳入这个框架。
在非专利文献2中,将上下文检索任务看作一个决策问题,把用户查看的文档、以往的查询历史等上下文信息与查询和文档综合在一起来优化对检索结果的判定,但这项工作只考虑了几种易于表示的特征,而且把这些特征在分类算法的框架里固定了下来,难以扩展,也没有提及当用户兴趣发生改变时如何捕捉这种变化。
在非专利文献3中,则采用基于Ontology的方法,将用户上下文表示成Ontology上的一个向量,并把上下文预测的结果与传统的信息检索算法所得的结果用一个线性函数组合起来,从而得到最终的个性化的结果,但Ontology的构造需要较为专业的知识,而且还需要大量人力物力,即便如此,所能覆盖的知识体系也是很有限的。
在专利文献1中,提出了一种采用用户模型根据与相应用户特征相关的信息来个性化一般查询和/或搜索结果的系统和方法,该专利同样列举了目前可能与个性化检索相关的特征,这些特征是预先划定的一个范围,而不是一个可以考虑任何特征的完全泛化的框架。
在专利文献2中,提出了一种利用用户概况排序搜索引擎返回的搜索结果中的放置内容的系统和方法,但这种方法同样设定了可能有作用的个性化特征的范围,而且没有使用机器学习方法来确定各种特征对最终结果的影响,此外,也没有考虑用户对结果的反馈的处理。
综上,目前现有的个性化信息检索技术存在以下不足之处 1.所利用的用户信息本质上都是内容相关的,即所有的用户特征最终都表现为文本特征。在考虑某些非文本特征时,现有方法也往往是按照一定的比例或系数将其映射为文本特征。这种做法主观性较强,缺少理论基础。
2.用户兴趣模型基于用户先后输入的查询请求生成,这样产生的各个兴趣之间相互独立,缺少关联,很难用一体化的模型来表示,而通常人们认为,用户的兴趣是有一定关联性和延续性的。
3.模型中的关键参数基本都是设计者根据经验设定,对于所有用户都有效,存在很大的局限性,缺少理论基础。
非专利文献1Massimo Melucci,2005,Contextmodeling anddiscovery using vector space bases,Proceedings of the 14th Conference onInformation and Knowledge Management(CIKM),pages 808--815,Bremen,Germany,October 31-November 5,2005. 非专利文献2Xuehua Shen,Bin Tan,Cheng Xiang Zhai,2005,UCAIRCapturing and Exploiting Context for Personalized Search,Proceedings of2005 ACM Conference on Research and Development on InformationRetrieval--Information Retrieval in Context Workshop(IRiX′2005) 非专利文献3David Vallet,Miriam Fernández,Pablo Castells,PhivosMylonas,and Yannis Avrithis,2006,Personalized Information Retrieval inContext,21st National Conference on Artificial Intelligence-3rdInternational Workshop on Modeling and Retrieval of Context,Boston,USA,16-17 July 2006 专利文献1中国专利申请公开CN1758248,申请人为微软公司,名称为“用于提供个性化搜索和信息访问的系统、方法和接口” 专利文献2中国专利申请公开CN101019118,申请人为谷歌公司,名称为“搜索结果中放置内容排序的个性化”

发明内容
本发明的目的在于,克服现有搜索引擎不能满足用户个性化信息需求的缺陷,以及以往的个性化信息检索方法存在的只适合使用文本特征,模型中用户兴趣正交化及参数的设置依赖于经验值的缺陷,从而为满足用户的长期关注型的个性化信息需求提供一种自适应的一体化个性化信息检索方法与框架。
在本发明中,从所有可能影响到用户对检索结果做出个性化决策的用户上下文中选取多个因素,每一个因素视为一个特征,针对每个特征建立检索模型,通过这多个检索模型构建用户兴趣模型。每个检索模型根据用户的检索请求,从不同的角度进行检索。通过用户兴趣模型计算各个检索模型所检索到的信息与用户的检索请求之间的相关度,从而输出最终的个性化检索结果。
在本发明的一个方面,提供了一种信息检索方法,根据用户输入的查询请求从大量信息构成的信息集合中搜索所希望的信息,该方法包括以下步骤确定影响用户对信息与查询请求间的相关性判断的多个因素,作为个性化特征;对于各个个性化特征设定相关的权重,且分别基于各个所述个性化特征建立反映用户的查询请求与信息集合中的信息之间的相关性的检索模型,通过所述的权重将所述检索模型组合成用户兴趣模型;接受用户的查询请求,分别通过各个所述的检索模型对所述信息集合进行检索,分别生成一个有序信息列表;通过所述的用户兴趣模型,计算每个所述检索模型得到的有序信息列表中的每一条信息与所述查询请求的相关度;根据所述用户兴趣模型输出的相关度,输出最终检索结果。
根据本发明,基于用户的个性化特征从不同的角度分别进行检索,并组合基于个性化特征得到的检索结果而输出最终检索结果。由此,能够得到与用户相应的个性化检索结果。
在本发明中,所述的信息集合包括,但不限于,互联网上的信息的集合、内部网上的信息的集合、用户的本地机器中存储的信息的结合。
本发明的信息检索方法可以进一步包括以下步骤步骤2.1把所述权重设定为预定的值;步骤2.2对于用户提交的多个查询请求,得到多个所述的最终检索结果;步骤2.3记录用户对于这多个最终检索结果的反馈,构造由正确匹配的信息构成的训练集;步骤2.4基于所述训练集,通过机器学习确定所述的权重。
所述正确匹配的信息可以是通过用户的显式或隐式评价而确定为与检索请求匹配的信息。显式评价例如可以是用户直接给出的“相关”或“不相关”的评价,而隐式评价例如可以是通过记录用户对检索结果进行的操作而得到的评价。
由此,无需对用户兴趣模型进行人工调节,只需通过用户日常的检索操作,即可自动地对用户兴趣模型进行训练,使得检索结果最终贴近用户的真正需求。
本发明的信息检索方法可以进一步包括以下步骤根据预定的条件,反复地执行所述步骤2.2至步骤2.4,从而更新所述的权重。
由此,能够自动更新用户兴趣模型,追随用户的兴趣漂移,使得检索结果能够适应用户的兴趣变化。
本发明的信息检索方法还可以进一步包括以下步骤检测用户的个性化特征的改变或接受用户对个性化特征的修改;接收用户对所述最终检索结果的反馈,构造由正确匹配的信息构成的训练集;计算所述最终检索结果与所述训练集之间的差异,调整所述权重,使得所述最终检索结果与所述训练集之间的差异最小。
由此,在用户的个人特征发生改变的情况下,能够适应这个改变,使检索结果保持与用户的预期一致。
根据本发明,可以针对不同的用户分别建立用户兴趣模型。
在本发明的另一个方面,提供了一种信息检索系统,其根据用户输入的查询请求从大量信息构成的信息集合中搜索所希望的信息,该系统包括输入单元,其输入用户的查询请求;多个检索单元,该多个检索单元分别针对预先确定的影响用户对信息与查询请求相关性判断的多个个性化特征,根据不同的准则计算所述查询请求与信息集合中的信息之间的相关度,根据所计算的相关度输出一个有序信息列表;用户兴趣单元,其通过规定的权重组合所述多个个性化特征,计算每个所述检索单元得到的有序信息列表中的每一条信息与所述查询请求的相关度;输出单元,其根据所述用户兴趣单元计算的相关度,输出最终的检索结果。
本发明的信息检索系统可以进一步包括训练集构建单元,其对于用户提交的多个查询请求,得到多个所述的最终检索结果,并记录用户对于这多个最终检索结果的反馈,构造由正确匹配的信息构成的训练集;训练单元,其基于所述训练集,通过机器学习确定所述的权重。
本发明的信息检索系统可以根据预定的条件,反复地通过所述训练集构建单元和所述训练单元更新所述的权重。
在本发明的信息检索系统中,可以在检测到用户个性化特征的改变或接收到用户对于个性化特征的修改时,所述训练集构建单元接收用户对所述最终检索结果的反馈,构造由正确匹配的信息构成的训练集;所述训练单元计算所述最终检索结果与所述训练集之间的差异,调整所述权重,使得所述最终检索结果与所述训练集之间的差异最小。
根据本发明的信息检索系统,可以得到与上述本发明的信息检索方法同样的优点。



所包含的附图用于提供对本发明的进一步理解,其被并入说明书并构成其一部分,

了本发明的实施例,并与说明书一起用于解释本发明的原理。其中 图1示出了本发明的实施例1的信息检索系统的示意性功能框图; 图2示出了实施例1的信息检索系统所进行的检索处理的概略流程图; 图3示出了本发明的实施例2的信息检索系统的示意性功能框图; 图4示出了实施例2中的训练单元执行的训练处理的概略流程图; 图5示出了实施例2的训练单元在用户的个性化特征发生改变时执行的重训练处理的概略流程图。

具体实施例方式 下面以互联网上的网页信息检索为例,对本发明的信息检索系统和信息检索方法的实施例进行详细说明。
实施例1
图1示出了本实施例的信息检索系统的示意框图,图2示出了本实施例的信息检索系统所进行的检索处理的概略流程。
如图1所示,本实施例的信息检索系统包括索引建立单元10,输入单元20,4个检索单元30-1~30-4,用户兴趣单元40,以及输出单元50。
索引建立单元10执行网页采集和数据标引。具体而言,索引建立单元10通过网页采集器(例如,可以使用开源的网页采集器larbin),按顺序对互联网上的指定地址或全部地址的网页进行采集,按照网页结构存储所采集的页面,同时生成日志文件。在日志文件中存储每个网页的采集时间、URL、文件大小等信息。关于网页采集器没有任何限制,只要能够对指定站点或整个互联网进行网页采集即可。
在进行了网页采集之后,进行数据标引。在此,可以按照如下步骤进行数据标引(1)网页预处理,把网页转换成统一编码(例如Unicode)、统一格式(例如XML)的文件,并提取网页的标题和时间;(2)对于中文网页,通过词法分析工具(例如中国科学院计算机技术研究所开发的词法分析系统ICTCLAS)进行分词,对于英文网页,则进行词根还原(例如,可以利用开源工具snowball);(3)将经过以上处理的结果存储为XML文件;(4)对所得到的XML文件建立索引(例如,可以利用开源工具Lemur),得到索引库。另外,索引建立单元10可以定期地、或者根据预定的条件重新建立索引库或者对索引库进行更新。
用户通过输入单元20输入检索请求(query),所输入的检索请求同时传送至检索单元30-1~30-4。各个检索单元的输出连接至用户兴趣单元40。另外,如本实施例的情况那样,若检索单元30-1~30-4之间存在依赖关系,即某个检索单元除了需要输入检索请求之外,还需要以其他检索单元的输出结果作为输入,则该检索单元还输入其他检索单元的输出结果。输入单元20是用户与本实施例的信息检索系统之间的接口,例如,可以由鼠标、键盘、触摸屏等实现。所述的检索请求是指用户通过输入单元20输入的对信息需求的描述,包括但不限于以下方面以关键词、语句描述和示例文本等方式输入的对目标网页的内容描述,以时间区间方式输入的对目标网页的时间描述。
检索单元30-1~30-4是分别基于不同的用户个性化特征而建立的。在此,个性化特征是指任何可能影响用户对网页与查询请求之间相关性判断的因素,这种个性化特征与用户相关,但是对用户而言是透明的。这里,“透明”是指这种个性化特征只在系统内部存在,对用户是不可见的,即用户意识不到它的存在。例如,如果用户喜欢看最近的信息,那么他在检索时会倾向于选择距当前时间较近的文本,但用户自己可能并未意识到这一点,而在系统中用于表示“新颖性”的个性化特征就会把更新的文本排在前面,“新颖性”特征对用户而言就是透明的。
具体而言,在检索单元30-1~30-4中,分别基于不同的个性化特征建立了检索模型。检索模型是指把用户的查询请求与网页集合中的网页之间的相关性映射到
区间一个实数值的函数,如下式所示 Ffi(fi(q),fi(dk))=α α∈
其中,q是用户的查询请求,dk是网页集中的第k个网页,Ffi是对应于第i个个性化特征的检索函数,fi(q)是对应于第i个特征的用户查询的形式化表示函数,fi(dk)是对应于第i个特征的文档dk的形式化表示函数。例如,如果第i个特征是基于命名实体的特征,即该特征特别关注人名、地名、机构名、品牌、产品型号等,那么fi(q)与fi(dk)就要分别把用户查询q和文档dk中表示命名实体的词抽取出来表示成一个向量。α是
区间上的一个实数,这个值用于表示用户查询q和文档dk的相关性的高低,α越高表示越相关,否则表示越不相关。
这些检索模型根据不同的准则计算用户输入的查询请求与索引库中的网页之间的相关度,按照所计算的相关度的大小顺序输出一个有序网页列表。
在用户兴趣单元40中,通过对上述的多个检索模型进行组合而构建了用户兴趣模型。用户兴趣单元40遍历检索单元30-1~30-4输出的有序网页列表中的每一个网页,通过用户兴趣模型计算其与用户的检索请求之间的相关度。按照相关度的大小顺序,输出最终的检索结果(有序网页列表)。通过输出单元50,将该作为最终检索结果的有序网页列表呈现给用户。
下面对检索单元30-1~30-4进行详细的说明。
在进行详细说明之前,先阐述对用户的检索相关性判断产生影响的因素。这些因素包括用户自身的属性,以及用户所处周边环境的属性。这些都可能会对用户对当前检索结果正确性的判断产生直接或间接的影响。其中用户自身的属性包括用户的年龄、性别、所从事的职业、当前的工作任务、信仰等,用户周边环境的属性包括用户所在国家的文化、当前的经济环境、当前的社会热点话题等。其中很多因素对用户检索的行为没有影响,有些则有着直接或间接的影响,我们可以把这些因素看作隐藏在用户背后以某种方式对检索结果产生影响的隐含变量。
很多影响用户判断检索结果的因素是难以直接衡量的,但可以通过其他方式间接获得。例如,很难直接获得用户所处的文化环境,但可以通过跟踪用户的查询历史来间接猜测。又例如用户的职业,由于在真实使用环境中,用户通常不愿提供详细个人信息,而且职业的种类千差万别,变化也很频繁,很难对职业建立一个可计算的模型,但用户在进行检索时,职业因素可能会作为一种隐含的背景对用户最终的判断产生影响,因此可以寻找一些比较容易实现的特征,例如很多时候由于职业关系,用户常常特别关注文本中的命名实体信息,例如影评人特别留意文章中的电影名称、演员名等,因此可以假定命名实体与职业特征有间接的联系,由于命名实体的提取相对而言较为容易,可以给其赋予一个权重来间接表示职业对最终结果的影响。
如上,考虑到可能会对用户的相关性判断产生影响的因素,在本实施例中,设置了4个检索单元30-1~30-4。这4个检索单元分别地对索引库进行检索。
(1)检索单元30-1 检索单元30-1完全基于查询语句和网页的纯文本特征进行检索。即,在检索单元30-1中只对用户输入的查询语句和网页建模,并计算两者的相关性,不考虑其他因素。
在本实施例中,检索单元30-1中的检索模型是基于KL距离的一元语言模型。这里,KL距离(Kullback-Leibler divergence)是衡量两个随机分布之间差异程度的一种方法。具体来说,假设用户输入的查询q的分布函数为p(q),而文本集合中某个文本d的分布函数为p(d),两者之间的KL距离用D(p(q)‖p(d))来表示,则。KL距离值越大,表明两者分布越不相似。
在检索单元30-1的检索模型中,根据网页语言模型与查询语言模型之间的KL距离对网页进行排序。
令θQ表示查询Q的语言模型,θD表示网页D的语言模型,网页按照-D(θQ‖θD)从大到小的顺序排列,其中 假定p(w|θD)具有如下形式 同时假定 则由此可以推出网页按照下面的公式来排序 其中的αD是网页相关常数,即对Q中那些没有出现在D中的词分配一个概率。
具体的做法是 给定一个查询Q=(q1,q2...,qN)和一个网页D=(d1,d2...,dN),其中q1,……,qN和d1,……,dN都是查询词,则相关度分值score为 score(Q,D)=g(w(q1,d1,Q,D)+...+w(qN,dN,Q,D),Q,D) 即,一个网页相对于一个查询的分值,是所有相匹配的查询词的权重的和函数,将这个函数表示为g,则最终的分值取决于函数g与函数w。其中函数w给出了匹配的查询词相对于网页的一个权重,函数g的作用在于,在求得所有匹配查询词的权重的和之后,可以在利用查询和网页的某些总体信息,来对这个原始分值作某些转换,最终得到更为合理的分值。
之后,依据negative KL-divergence调整策略对这一结果进行调整,它的计算过程为 首先计算该查询与整个网页集合的KL距离。令表示某个项ti在查询query中的先验概率,其中N为整个query中的项数,freqti为query中ti的出现次数;Pr(ti|C)表示ti在整个集合中的出现的先验概率,则该query与集合的KL距离为 则最终的相关度分值score1为 其中score1(Q,D)是查询Q和某个文档D在检索单元30-1中的最终相关度分值,score(Q,D)是前述的相关度分值,NQ是查询Q中的查询词的数目,unseenCoeff(D)是为查询Q中没有出现在文档D中的词分配的一个系数。
由于数据稀疏问题,在计算score1(Q,D)时采用Dirichlet插值法对结果进行平滑。
由此,按照相关度分值score1的从大到小的顺序,向用户兴趣单元40输出一个有序网页列表以及与该列表中各个网页相关联的相关度值。此外,还将该有序网页列表以及与该列表中各个网页相关联的相关度值输出给检索单元30-2和30-3。
(2)检索单元30-2 检索单元30-2在纯文本特征的基础上考虑时间因素。基于人们查阅网页的一般心理,假定日期越新的网页,其相关性越强,即在内容相似的网页中,距离用户查看日期越近就越相关。显然,在对网页结果进行排序时只考虑时间因素是不合理的,应该把内容和时间综合考虑。
检索单元30-2提取检索单元30-1输出的有序网页列表,对于其中的每个网页设定一个时间戳(网页自身的时间或者采集时间)。时间戳是一个很大的整数,为便于计算,将其进行归一化。然后如下式所示,与检索单元30-1得到的相关度分值集成在一起,得到本特征下的查询Q与网页D之间的相关度分值score2 其中,score2(Q,D)是检索单元30-2输出的查询Q与网页D之间的相关度分值,timestamp(D)是网页D的时间戳,current_time是当前时间,而score1(Q,d)是检索单元30-1输出的查询Q与网页D之间的相关度分值。
然后把所得结果按照score2从大到小排列,按照score2的从大到小的顺序,向用户兴趣单元40输出一个有序网页列表以及与该列表中每个网页相关联的相关度值。
(3)检索单元30-3 检索单元30-3利用命名实体识别获得的信息,采用基于向量空间模型的方法,结合查询,对原始的网页序列中每个网页的次序进行适量调整。
在本实施例中,将可能的命名实体短语分为品牌类(BRA)、型号类(TYP)、和其他类(OTH)三部分,分别表示为三个向量VBRA、VTYP和VOTH。具体而言,在检索单元30-3中,对于任意一个文本d,首先通过命名实体识别工具识别出三种类型的命名实体,包括品牌名称,如长虹、诺基亚,型号名称,如凯越、捷达,以及其他类型的名称,如人名、地名等。然后把每一类命名实体都分别表示成一个向量T={(w1,a1),...(wN,aN)},其中(w1,a1)是向量T中的各维,wi是具体的词,如果i≠j,则wi≠wj,ai是wi的权重,可以用TF-IDF公式计算得到,即ai=tf(wi)/df(wi),其中tf(wi)表示wi在某一个文本d中出现的次数,而df(wi)表示在整个文本集合中包含wi的文本的数量。然后分别计算三个向量VBRA、VTYP和VOTH与查询向量VQ的相似度sim(Q,D) sim(Q,D)=αcos(VQ,VBRA)+βcos(VQ,VTYP)+γcos(VQ,VOTH) 其中α,β,γ是预设的常系数,cos是三角余弦函数,用于表示两个向量之间的夹角。例如,对于任意两个向量



,其中

是矩阵乘法,

表示向量

的长度,如果则



必须维数相同,如果不一样,则用0把较短的向量补齐。
之后,按照下式通过sim(Q,D)对检索单元30-1得到的相关度分值score1进行调整,得到检索单元30-3的查询Q与网页D间的相关度分值score3(Q,D) score3(Q,D)=scorel(Q,D)·(1+Δ·sim(Q,D)) 其中,Δ为调整系数,即允许调整的最大幅度。
由此,按照score3的从大到小的顺序,向用户兴趣单元40输出一个有序网页列表以及与该列表中每个网页相关联的相关度值。
(4)检索单元30-4 检索单元30-4考虑局部扩展的特征。在此,扩展是指基于自然语言理解技术对用户输入的查询进行替换或扩充。例如,当用户输入的查询是“电脑”时,系统通过对语料的预先处理,把与“电脑”相关的词、如“计算机”、“PC”、“CPU”等,都添加到查询中。因为虽然有些文本中没有出现“电脑”,但包含了“计算机”、“CPU”、“内存”等词,同样可以认为这个文本与用户的查询相关度很高。
为了体现用户的个性化需求,应该针对每一个用户分别进行查询扩展。如果某个用户定制了若干兴趣,这些兴趣包含一些网页集合,那么系统就可以在这些网页上进行查询词的扩展训练。因为训练数据集是每个用户依据兴趣挑选出来的网页,因此扩展是局部的。
在进行训练时,统计两个词wi,wj之间的共现概率 P(wi,wj)=Count(wi,wj)/Count(wi) 其中,P(wi,wj)是词wi与wj的共现概率,即wi与wj在某一特定范围内(如相邻位置、句子或篇章)的条件概率。Count(wi,wj)是wi,wj在训练数据集的各个网页范围内共现的次数,Count(wi)是wi在训练数据集上出现的总次数。由于 P(wj,wi)=Count(wj,wi)/Count(wj), 因此P(wi,wj)≠P(wj,wi)。
对于某个词wi,如果P(wi,wj)≥阈值,则把wj添加到wi的扩展词表中。
在进行统计时,需要按照以下规则进行过滤 a)如果词w出现在停用词表中,则滤掉; b)如果P(wi,wj)<阈值,则滤掉。
利用以上所得的局部扩展矩阵,对用户输入的查询语句进行扩展。把扩展结果和用户输入的原始查询合并组成新的查询语句,然后用语言模型进行检索,得到检索单元30-4中查询Q与网页D间的相关度分值score4(Q,D) 其中Q’是通过对原始的查询Q进行查询扩展之后得到的一个新的查询。
最后,按照相关度score4从大到小的顺序,向用户兴趣单元40输出一个有序网页列表以及与该列表中每个网页相关联的相关度值。
下面对用户兴趣单元40进行详细说明。
用户兴趣单元40对检索单元30-1~30-4的检索结果进行组合而得到最终的检索结果。具体而言,在本实施例中,对每个个性化特征(也即每个检索单元)赋予一个权重,通过式1所示的对数线性(loglinear)函数而构建用户兴趣模型,通过该用户兴趣模型来计算检索单元30-1~4输出的网页列表中的每个网页与用户查询语句之间存在相关性的概率。
其中hi(R,Q,D)=scorei,其中i=1,2,3,4. 其中,权重是一组实数值,对应于每一个特征有一个权重,该权重用以表示对应的特征在判断网页与查询相关性时所起的作用大小。在本实施例中,各个权重是预先确定的值。例如,可以由用户根据需要设定,或者可以在系统设置时设定。作为一个特例,在基于内容(即检索单元30-1)的特征权重为1,其他特征为0的情况下,本实施例的信息检索系统与现有的仅基于文本内容进行检索的检索系统等同。
Q是用户查询请求,D是网页,hi(R,Q,D)是特征值,λi是特征权重,N是总的特征个数,在本实施例中为4,R’是Q与D相关性的所有可能取值,这里定义R’的值域为{‘相关’,‘不相关’}。由于大部分检索函数均以有序信息列表的形式生成结果,理论上任何网页都以一定概率或相关性与用户查询请求相关,因此这里定义在有序信息列表中的位置在第M个之前的结果为相关结果,M为预设值。一般地,搜索引擎的结果按多页组织,每页10个网页,用户通常只查看前2页结果,为保证覆盖面,M一般取50。
用户兴趣单元40遍历检索单元30-1~30-4所得到的4个有序网页列表中的每一个网页,将其代入式(1),计算P(R|Q,D)的值,按照P(R|Q,D)从大到小的排序,P(R|Q,D)≤0.5则认为不相关,从结果中过滤掉。最后,生成最终的有序结果列表,通过输出单元50呈现给用户。
作为向用户输出的检索结果,例如,每一项可以包括网页的标题、摘要、URL、P(R|Q,D)值,“相关”和“不相关”链接。
根据本发明的上述实施例,可以实现以下优点 可以实现非常灵活的个性化检索框架,在这个框架中,每一个影响用户对结果进行判断的上下文特征,都可以作为一个特征添加进来。理论上,只要为这个特征设计一个合理的检索方法和过程,就可以把这个特征融入当前的用户兴趣模型中,从而为用户以后定制的兴趣提供更加准确合理的结果; 突破了原有的围绕文本特征来判断用户查询请求与网页之间相关性的窠臼,其他特征对结果的作用可以不借助文本特征直接得以体现。
实施例2
实施例2的信息检索系统的结构与上述的实施例1大致相同,不同之处在于,在上述实施例1中,各个个性化特征的权重是固定的,而在实施例2中,通过机器学习而自动地对用户兴趣模型进行训练、确定各个权重,并且在使用中可以根据情况再次对用户兴趣模型进行训练,更改各个权重的值。在以下的说明中,重点对实施例2与实施例1间的不同之处进行说明,而省略相同之处的重复说明。并且,对于与实施例1中系统或相应的要素,在附图中赋予相同的标号。
图3示出了本发明的实施例2的信息检索系统的示意框图。与上述实施例1一样,本实施例的信息检索系统包括索引建立单元10,输入单元20,4个检索单元30-1~30-4,用户兴趣单元40,以及输出单元50。此外,本实施例的信息检索系统还包括训练集构建单元60和训练单元70。下面即主要对训练集构建单元60和训练单元70进行说明。
训练集构建单元60的作用是通过用户对输出单元50所输出的检索结构的反馈而构建用于用户兴趣模型的训练的训练集。所述的训练集是一个数据库表,该表结构描述如下 1.每一个记录对应于一个用户查询请求,以该请求的ID作为主键; 2.每一个记录包含一个“系统结果”域,存放基于个性化检索模型生成的有序列表; 3.每一个记录包含N个“特征结果”域,存放特征函数i(i=1,...,N)生成的有序列表; 4.每一个记录包含一个“用户反馈”域,存放通过用户反馈得到的正确答案。
所述的用户反馈是用户对检索结果的显式或隐式评价。为了获得用户对结果的显式评价,例如可以在每个网页之后都添加一组评价链接,包括“相关”、“不相关”两项,但显式评价增加了用户使用负担。为了在不增加用户负担的同时获得用户评价,这里考虑以下用户行为为隐式反馈 对于用户U的查询请求Q,按照如下方法构造答案集A(Q,U) 1.出现在检索结果中的每一个网页,都带有两个评价链接“相关”、 “不相关”,如果用户点击“相关”链接,则将此网页放入答案集; 2.用户直接评价的网页按照评价的先后次序放到答案集中最前面的位置; 3.对于检索结果中的每个网页,如果用户点击查看此网页,则将其放入答案集; 4.如果用户先点击查看了网页a,后查看了网页b,则a在答案集中的位置在b之前; 5.如果用户多次查看了网页a,则第i次查看,a在答案集中的位置都会前进i位。
通过用户反馈得到的有序列表即作为正确答案。
在训练集构建单元60构建了训练集之后,训练单元70即可进行用户兴趣模型的训练。
在本实施例中,采用判别式机器学习算法进行用户兴趣模型的训练。以用户兴趣模型的初始训练为例,定义A是一组特征权重,A=(a1,a2,...aN),ai是特征fi的权重,i=1,...,N。定义目标优化函数M(p(R|Q,D))是基于P@N指标的函数,概括地说,就是对于特征i,计算特征函数的有序列表中前N个网页与正确答案中这些网页位置的差值,差值越小表明结果越接近正确答案。基于最大熵的机器学习过程采用IIS算法,从特征权重的预设值开始,通过多次迭代找到使M(p(R|Q,D))最小的一组A,并将这组权重作为用户兴趣模型中各个特征的权重。
具体而言,设定初始条件f1,f2,f3,f4是检索单元30-1~30-4对应的4个个性化特征,a1,a2,a3,a4分别是f1,f2,f3,f4的权重,初始值均设为0,目标函数是M(p(R|Q,D)),训练的目标是找到这样一组a1,a2,a3,a4,使得对于某个特定的测试数据,M(p(R|Q,D))最小。M(p(R|Q,D))的选择可以根据实际应用而定,这里将其定义为一个基于P@N的函数,也就是说,对于某个查询Q,用户通过直接或间接的方式确定了一组有序网页列表L=(p1,p2,...,pM)作为用户认可的最终检索结果,而系统基于特征fi(1≤i≤4)得到的一组有序网页列表L’=(p’1,p’2,...,P’M)作为对应于特征fi的检索结果,由于L是多个特征的结果最后综合的结果,与L’可能不同,这就涉及到对(p1,p2,...,PM)的调序操作,那么对于某个网页pj∈L(1≤j≤M),表示它在L中是第j个结果,它在L’中的位置是k,如果j≠k,则它在特征fi的结果结果和最终的检索结果之间就存在位置差,这个位置差用PDi(pk)表示,可定义PDi(pk)=|j-k|,|j-k|表示j-k的绝对值。考虑到用户通常只关心总的结果中前N个结果,如果分页显示,通常用户只关心前1~2页结果,则可只比较各个结果列表中的前N个结果。如果pk在列表L’中不存在,则取j=N+1。总的目标函数就是 基于以上条件,训练处理的具体步骤可描述如下 1.分别用30-1~30-4四个检索单元生成四组检索文档列表; 2.通过收集用户的显式或隐式反馈得到最终检索结果列表; 3.对于最终检索结果列表中的前N个文档,分别依次计算每一个文档与四组检索文档列表的位置差,最后得到一个4×N的矩阵,每一行代表一个文档,第i列代表该文档在最终检索结果与特征i的位置差; 4.利用最大熵的IIS算法计算得到a1,a2,a3,a4的值。这里,关于IIS算法,可以参考Della Pietra el a1,1997,Inducing Features of RandomFields,PAMI(19),No.4,April 1997,pp.380-393. 5.通过个性化特征f1,f2,f3,f4及其权重a1,a2,a3,a4构成用户兴趣模型。
从一个较长时期来看,用户的兴趣往往会发生变化,即使输入相同的查询请求,用户期望得到的检索结果可能也会不同,这就是“兴趣漂移”现象。为了应对这种现象,在本实施例中,从上一次训练完成之后,当前用户新增提交查询请求数>P,而且这些对应查询请求的用户反馈网页数>Q时,再次进行训练。在此,例如可以设为P=10,Q=100。
在进行重训练时,可以采用与前述相同的算法,但当特征数量很大时,运算效率不高,为了节约系统资源,可以基于现有的系统参数,采用不同的机器学习方法,如基于感知机的机器学习算法。
另外,如果用户上下文特征发生了变化,那么就需要调整以上用户个性化模型以反映这种变化,从而使得系统得到的结果更准确地反映用户当前的信息需求。例如,如果“职业”是一个用户特征,那么修改职业就会对特征的权重产生影响。为了降低参数调整的复杂度,可以采用基于感知机的算法来重新训练用户兴趣模型的参数。图5示出了在本实施例中采用基于感知机的算法来重新训练用户兴趣模型的示意流程图。
具体计算按照如下步骤进行 输入训练样本,{(di,dj)q;di,dj∈C,q∈Q},当前的参数设置参数λi对应于个性化特征函数fi,i=1,...,N。
输出最佳参数设置 i预设一个最大的迭代步数T,并输入初始的参数λti(i=1,...,N) ii在每一步的迭代过程中,对每一个训练样本dk,如下调整参数 iii对每一个特征,计算该训练样本dk在该特征下的排序和答案中排序的差异。使用该差异以及一个预设的调整系数对该特征的参数进行调整。
iv如果达到最大的迭代步数。则停止。
用机器语言表示如下 i For t=1 to T iiFor each training sample dk in final result of user’s query q, iii For each λti(i=1,...,N) ivIf fi(dk)=m thenλt+1i=λti+α|m-k| 其中dk表示出现在最终结果中第k个位置的文档,fi(dk)=m表示特征函数的结果列表中dk被排在第m位,T代表预设的最大迭代步数,N代表个性化特征数,α是预设的系数,表示每次改变的速率。
根据本发明的上述实施例2,除了上述实施例1的优点之外,还可以得到以下优点 提供了自学习的机制,系统的开发者不需要人工去调节系统的参数,只需要定义认为有用的特征即可,而这些特征是否有用、作用的大小都通过机器学习自动得到。
另外,因为在检索系统的使用过程中不断地对用户兴趣模型进行重新训练,因此可以跟踪用户的兴趣漂移,总是得到符合用户预期的检索结果。
以上通过实施例对本发明进行了说明,但可以理解,本发明不限于以上说明的各种细节。
例如,虽然以上是以互联网上的网页信息检索为例对本发明进行说明,但本领域的技术人员可以理解,本发明可以同样地应用于例如内部网上的信息检索、本地机器中的文件信息检索等。
另外,在上述的实施例中,针对影响用户的相关性判断的4个因素建立了4个检索单元。但是,本发明不限于此,可以根据情况和应用场合确定任意的个性化特征并相应地设置检索单元。所引入的个性化特征可以多于或少于4个。
权利要求
1、一种信息检索方法,根据用户输入的查询请求从大量信息构成的信息集合中搜索所希望的信息,该方法包括以下步骤
确定影响用户对信息与查询请求间的相关性判断的多个因素,作为个性化特征;
对于各个个性化特征设定相关的权重,且分别基于各个所述个性化特征建立反映用户的查询请求与信息集合中的信息之间的相关性的检索模型,通过所述的权重将所述检索模型组合成用户兴趣模型;
接受用户的查询请求,分别通过各个所述的检索模型对所述信息集合进行检索,分别生成一个有序信息列表;
通过所述的用户兴趣模型,计算每个所述检索模型得到的有序信息列表中的每一条信息与所述查询请求的相关度;
根据所述用户兴趣模型输出的相关度,输出最终检索结果。
2、根据权利要求1所述的信息检索方法,其特征在于,该方法进一步包括以下步骤
步骤2.1把所述权重设定为预定的值;
步骤2.2对于用户提交的多个查询请求,得到多个所述的最终检索结果;
步骤2.3记录用户对于这多个最终检索结果的反馈,构造由正确匹配的信息构成的训练集;
步骤2.4基于所述训练集,通过机器学习确定所述的权重。
3、根据权利要求2所述的信息检索方法,其特征在于,该方法进一步包括以下步骤
根据预定的条件,反复地执行所述步骤2.2至步骤2.4,从而更新所述的权重。
4、根据权利要求1所述的信息检索方法,其特征在于,该方法进一步包括以下步骤
检测用户的个性化特征的改变或接受用户对个性化特征的修改;
接收用户对所述最终检索结果的反馈,构造由正确匹配的信息构成的训练集;
计算所述最终检索结果与所述训练集之间的差异,调整所述权重,使得所述最终检索结果与所述训练集之间的差异最小。
5、一种信息检索系统,其根据用户输入的查询请求从大量信息构成的信息集合中搜索所希望的信息,该系统包括
输入单元,其输入用户的查询请求;
多个检索单元,该多个检索单元分别针对预先确定的影响用户对信息与查询请求相关性判断的多个个性化特征,根据不同的准则计算所述查询请求与信息集合中的信息之间的相关度,根据所计算的相关度输出一个有序信息列表;
用户兴趣单元,其通过规定的权重组合所述多个个性化特征,计算每个所述检索单元得到的有序信息列表中的每一条信息与所述查询请求的相关度;
输出单元,其根据所述用户兴趣单元计算的相关度,输出最终的检索结果。
6、根据权利要求5所述的信息检索系统,其特征在于,该系统进一步包括
训练集构建单元,其对于用户提交的多个查询请求,得到多个所述的最终检索结果,并记录用户对于这多个最终检索结果的反馈,构造由正确匹配的信息构成的训练集;
训练单元,其基于所述训练集,通过机器学习确定所述的权重。
7、根据权利要求6所述的信息检索系统,其特征在于,
该信息检索系统根据预定的条件,反复地通过所述训练集构建单元和所述训练单元更新所述的权重。
8、根据权利要求6所述的信息检索系统,其特征在于,在该信息检索系统检测到用户个性化特征的改变或接收到用户对于个性化特征的修改时,
所述训练集构建单元接收用户对所述最终检索结果的反馈,构造由正确匹配的信息构成的训练集;
所述训练单元计算所述最终检索结果与所述训练集之间的差异,调整所述权重,使得所述最终检索结果与所述训练集之间的差异最小。
全文摘要
本发明提供了信息检索方法和系统,根据用户输入的查询请求从大量信息构成的信息集合中搜索所希望的信息,其中,确定影响用户对网页与查询请求相关性判断的多个因素,作为个性化特征;对于各个个性化特征设定相关的权重,且分别基于各个所述个性化特征建立反映用户的查询请求与信息集合中的信息之间的相关性的检索模型,通过所述的权重将所述检索模型组合成用户兴趣模型;接受用户的查询请求,分别通过各个所述的检索模型对所述信息集合中的信息进行检索,分别生成一个有序网页列表;通过所述的用户兴趣模型,计算每个所述检索模型得到的有序信息列表中的每一条信息与所述查询请求的相关度;根据所述用户兴趣模型输出的相关度,输出最终的检索结果。
文档编号G06F17/30GK101520785SQ20081008155
公开日2009年9月2日 申请日期2008年2月29日 优先权日2008年2月29日
发明者浩 于, 夏迎炬, 骆卫华, 群 刘 申请人:富士通株式会社
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1