面向文献搜索系统的用户实时需求发现方法

  • 投稿
  • 更新时间2018-04-14
  • 阅读量59次
  • 评分0
  • 0
  • 0

  摘要:针对当前文献搜索系统不能理解用户实时需求的问题,提出了一种面向文献搜索系统的用户实时需求发现方法。首先,分析用户浏览、下载等个性化搜索行为;其次,根据用户搜索行为与用户需求的关系构建用户实时需求文档(RD);然后,从用户需求文档中提取用户需求关键词网络;最后,运用随机游走的方法提取出关键词网络的核心节点构成用户需求图。实验结果表明:在模拟用户需求的环境下,提取需求图的方法比Kmedoids算法在检索指标F值上平均高2.5%;在用户搜索文献真实情况下,提取需求图的方法比DBSCAN算法在检索指标F值上平均高5.3%,因此,在用户需求比较稳定的文献搜索中,该方法能够获取用户需求从而提升用户体验。


  关键词:用户行为分析;实时需求;文献搜索系统;个性化;关键词网络


  中图分类号:TP391.3文献标志码:A


  0引言


  随着互联网技术的发展,在线文献数量急剧增长,学术研究者可以通过使用文献搜索系统来减少获取文献的时间和成本。然而当前文献搜索系统呈现出搜索不准确、返回结果有效信息稀疏等缺点,而用户潜意识地希望只付出较少的检索代价就能准确获得想要的结果,因此,用户希望搜索系统能够提供从有效信息稀疏的返回结果中挑选出用户所需要文献的个性化检索服务。为用户不同的检索需求定制个性化检索结果来提高搜索质量的个性化的搜索将是一种有发展前景的方法[1]。


  造成文献搜索系统呈现出上述缺点的主要原因在于搜索系统不能理解用户的实时需求。目前大多数文献搜索系统的入口都是条件搜索框,而用户在向系统输入需求时由于他们的表述能力的不足和搜索框的功能限制,通常只以少数检索词来表示自己的需求。而目前搜索系统的重点仍然停留在关键词的匹配方面,因此对于不同用户不同场景搜索,搜索系统仍然提供相同的结果。特别地,在学术搜索系统中,用户大部分是学术研究者,他们有着各自的研究领域,每个用户熟悉的专业知识也不一样,对相同的查询词汇,不同用户有着不同的理解,因此要提高用户的搜索体验为用户提供个性化服务,首先就要对用户的查询意图进行识别和提取出用户的需求。


  1研究现状


  目前很多研究者都对学术文献搜索方面进行了研究:Kaya等[2]着重从个性化、可伸缩性和探索性搜索的三个重要属性方面改进学术推荐服务来提供更好的学术搜索。文献[3]通过采用能够区别文档相关性和位置偏好的检验假设来建立用户点击模型,观察用户点击行为是否能被相关性和位置偏好完全解释。Griffiths等[4]在作者主题模型[5]的基础上提出作者会议主题连接(AuthorConferenceTopicConnection,ACTC)模型来研究学术网络,该模型在作者会议主题(AuthorConferenceTopic,ACT)模型上增加了会议主题和主题之间的潜在映射信息。文献[6]在处理个性化信息检索时进行了用户兴趣建模,分析真实可以代表用户兴趣的浏览、保存、收集或打印网页的用户访问行为;文章阐述了用户兴趣和访问行为的关系,通过对文档量化探讨了文档结构和遗忘因子对用户兴趣度的影响,通过兴趣模型来对结构过滤,最终提高用户的满意度。


  上述的工作大都是对文献或用户的研究,而本文研究的目的是增强文献搜索系统对用户需求的理解,从而为用户提供个性化服务,提高用户的搜索体验,因此本文的研究重点是用户实时需求的获取。用户搜索文献是一种有较强目的的行为,因此用户的搜索过程存在着一定的规律,而目前搜索系统在理解用户需求时通常忽略了用户检索文献的个性化行为。用户的搜索行为包括浏览、下载、略过、翻页、收藏、分享等操作;这些行为准确地反映了用户的需求,而记录这些行为只会增加很小负担,分析这些行为有助于更好地理解用户的偏好[7]。另一方面由于文献文本有着半结构化的特殊的形式,文献搜索系统对文献呈现方式也存在着特点,通常搜索系统将文献的标题、摘要、关键词、引用、正文等都分开显示,因此学术搜索系统的返回对象的格式十分统一。


  由于用户搜索文献的行为和搜索系统返回文献的格式都比较统一,因此可以在搜索系统的基础上增加用户需求分析模块,在用户搜索文献时对用户进行需求分析并为用户提供个性化服务。整个需求获取流程如图1所示,在文献列表呈现后增加用户需求分析模块,该模块首先对用户浏览、下载的行为以及相应的文献进行分析,并根据用户搜索行为建立需求文档并提取其关键词网络,再提取出用户关键词网络的核心语义以图的形式呈现给用户并对用户需求的表达进行提示。从用户搜索过程可以看出,在搜索系统呈现出文献列表之后,不管用户进行了哪些操作,搜索系统都不会对用户有任何响应。而在增加需求分析模块后,充分利用了用户与搜索系统的交互信息,对用户的每种检索行为都能给出响应和提示和当前页面文献列表更新。


  2用户需求提取方法


  用户需求的提取过程包含3个步骤:首先,是能够形式化的表示出文献文本;其次,对用户的搜索行为和与行为相关的文献进行分析;最后,提取并形式化地表示出用户需求。


  2.1文献文本的表示


  2.1.1文献文本的特点


  文献文本不同于一般的长文本:1)文献文本中关键词会随所处领域的不同而表现出不同的含义,比如“LDA”在文本表示中就是潜在狄利克雷分布(LatentDirichletAllocation,LDA)的主题模型,而在模式识别领域一般为线性判别式分析(LinearDiscriminantAnalysis,LDA)。2)文献文本由标题、摘要、正文等多部分组成,每个部分的意义和作用都不一样,通常标题部分的信息比摘要部分的信息重要,而摘要部分的信息又比正文中的信息重要。


  为了能够合理地表示文献文本,针对文献文本的第一个特点本文使用图表示模型,以关键词作为图的节点,关键词与关键词的关系作为图的边。关键词的具体意义通过该关键词与周边词汇的关系来体现。为了体现出文献文本的半结构化的特性,本文提出了基于结构权重的文本表示方法,该方法把一篇文献分为几部分,每个部分赋予不同的权重,越重要的部分结构权重越大。对标题、摘要和正文处要赋予合理的权值将是一个难点,文献[7]中的方法是对不同位置赋予人为的权重,那种方法太主观,本文结合文献文本的自身特点最终使用“关键词密度”作为权值的衡量标准,某部分“关键词密度”反映了该部分关键词的密集程度,越重要的部分关键词越密集。最终密度公式为:


  其中:Density为该部分关键词的密度,n为该部分所有关键词的个数,N为该部分的所有词的个数。结合以上两种因素最后通过建立关键词网络来表示文献文本。


  2.1.2关键词网络的形式化表示


  在获得一篇文献的标题、摘要、关键词、正文等信息后就很容易建立该篇文献的关键词网络,最终关键词网络用四元组表示:


  2.1.3关键词网络相似度


  传统的图文本表示模型的相似度计算方法大都是将图的节点与边分开来考虑的,这样很难表现出节点与边对相似度的共同影响,本文在文献[8]的基础上提出了基于最大公共子图的相似度计算方法,通过动态地改变节点与边的权衡因子,关键词网络相似度较小时主要考虑节点之间的关系,相似度较大时边的影响就会较大,这样使之在相似度较低的文献中和相似度较高的文献中都有很好的分辨能力,最终得到相似度计算公式:


  2.2用户需求文档构建方法


  用户在搜索文献时总是按照自己的需求对搜索系统返回的结果进行挑选,略过自己不感兴趣的论文,浏览自己感兴趣的论文,下载自己所需要的论文。用户与搜索系统交互所产生的文献序列就是用户需求的一种体现,因此可以通过用户的浏览、下载的文献来表达出用户的实时需求。然而用户的需求是一种很模糊的抽象概念,面临的问题就是如何通过用户浏览、下载的文献序列来合理地构建出用户需求。用户搜索文献的行为通常包含略过、浏览、下载、收藏、分享、保存等操作。文献[9]通过提出了一种基于访问时间的方法来区分这些行为,访问时间越长则认为越重要;而文献[10]在访问时间的基础上结合页面大小和历史记录来计算用户行为的重要程度。


  用户在搜索文献时下载一篇文献,说明该篇文献内容符合用户的需求;用户浏览一篇文献时说明该篇文献Title部分内容用户比较感兴趣,而用户放弃下载该篇文献则说明Abstract部分内容不是用户的主要需求。用户的收藏、分享、保存行为都是文献内容符合用户的需求的表现归属于下载操作。最终为了能够充分体现用户的需求,本文根据用户检索流程采用文档构造法来建立用户需求文档(RequirementDocument,RD),再提取出用户的需求。需求文档可用四元组表示如下:


  构建过程如图2所示,首先把用户下载的所有文献的Title合成为Part1;把用户下载的所有文献的Abstract部分合成Part2;把用户只浏览未下载的所有文献的Title部分合成Part3。这3部分最终构成一个新的文档为D。该文档D的关键词为所有下载的文献关键词的集合。最后提取出需求文档关键词网络KWND。


  2.3需求图的提取方法


  需求文档的关键词网络虽然能够反映出用户的需求,但是节点比较多并且包含很多冗余信息,如果直接用来作为用户查询意图的上下文计算,不但计算量很大而且不能突出用户的主要需求点,因此本文从需求文档的关键词网络中提取核心节点来构成需求图作为用户的需求上下文。提取思想:把关键词网络节点按重要程度进行排序,选取前K个节点作为需求图的节点。


  关键词网络节点重要程度取决于两个因素:1)节点的权重,节点权重越高则越重要。2)网络拓扑结构中节点的关键程度。目前传统的网络节点排序方法很多,例如局部中心性排序方法[11]、k壳分解法[12]以及PageRank[13]等方法。这些方法大都只考虑网络的某一指标,而且关键词网络边和节点都含有权重,很难直接运用上述方法。本文为了综合考虑节点权重和拓扑结构关键程度两种因素,最终使用随机游走方法对网络节点进行排序,方法描述如下:


  假设一个Agent在关键词网络节点间随机游走,Agent只能选择跳转和游走。当Agent处于节点vi,则Agent下一步选择跳转的概率为pvi→jump=1/(Degree(vi)+1);如果Agent选择跳转,则跳到节点vj的概率为pjump→vj=wvj;如果选择游走则只能游走到相邻节点,游走到节点vj的概率为pwalk→vj=weij/(∑wei·)这个“we.”中的点号表示什么含义,请明确一下。,其中∑wei·为节点vi组成的所有的边权重之和。


  节点重要度求取步骤如下:


  1)Agent以概率pjump→vi跳转到某一节点vi,Agent经过节点vi次数加1。


  2)Agent以概率pvi→jump选择跳转或以1-pvi→jump选择游走,如果选择跳转则转到步骤1),选择游走则转到步骤3)。


  3)Agent以概率pwalk→vj从当前节点vi游走到邻节点vj,Agent经过节点vj次数加1,转到步骤2)。


  一直循环上述步骤并记录Agent经过每个节点vi次数为n(vi),估算出Agent经过该节点概率p(vi),在Agent经过每个节点的概率波动小于阈值时停止循环。最后p(vi)就为该节点的Rank值。


  该随机游走方法在循环过程直接运用关键词网络节点的权重作为跳转概率,不存在跳转概率的更新因此计算规模只和关键词网络的规模相关,相比传统的随机游走方法[14],该方法收敛速度更快。


  提取出前K大个此处语句不通顺,请作相应调整。Rank值的节点


  将所有的节点按照Rank值从大到小排序,提取出前K个节点


  以及这些节点之间的边来构成需求图,然后可以将需求图直接展示给用户,对用户下一个查询词进行提示;计算当前页面文献列表的文献与需求图的相似度,对文献列表进行排序。


  3实验分析


  3.1实验设置


  需求图的提取是一种半监督学习。为了验证需求图代表用户需求的能力,实验采用一种比较需求图的分类效果和半监督聚类效果的方法。由于实验验证涉及到用户的需求因此实验采用了两种方案。


  第1种方案描述如下。


  实验数据选取了7个领域的论文,分别是JiaWeiHan在DataMining领域的论文;LingLiu在PeertoPeer领域的论文;FranciscoHerrera在FuzzyTheory领域的论文;EdwardFox在DigitalLibrary领域的论文;W.BruceCroft在InformationRetrieval领域的论文;HermannNey在MachineTranslation领域的论文和AmitSheth在SemanticWeb领域的论文,每类各50篇和50篇每类各50篇总共350篇,另外加上50篇


  此处语句不太通顺,容易让人产生共700篇的论文,故请对此句进行调整。作为实验数据杂质的其余类别的论文,共计400篇论文,每领域的论文都是同一作者在同一研究课题所写的文献;每一类论文作为用户的同一需求。


  实验方案采用需求图分类方法。每类随机选择n篇论文作为用户下载的论文来模拟用户行为,构建需求文档提取出需求图;得到所有类的需求图后,计算剩余论文与各需求图的相似度,把论文归到与之相似度最大的需求图类别。半监督聚类:每类也随机选择n篇论文,将400篇论文聚成7类,采用Kmedoids聚类方法,要求每类选择的n篇论文必须聚到同一类,不同类论文不能聚到一类。最后,比较两种方法在n分别取2,3,5,10的情况下检索的准确率、召回率和F值。


  第2种方案描述如下。


  实验数据获取多名用户在IEEEXploreDigitalLibrary搜索文献的日志,选取20个下载量较高的查询的前50篇文献,其中包含用户略过、浏览和下载的文献。平均每个查询50篇文献中有7.4篇被下载。


  实验方案采用需求图分类方法。在用户下载了n篇论文时,从日志中获取用户在该次搜索中前面下载和浏览的所有文献,结合用户下载和浏览的行为与相关文献提取出需求图;计算需求图与列表中文献的相似度,将相似度大于阈值的论文归为用户需求类。半监督聚类:用DBSCAN(DensityBasedSpatialClusteringofApplicationswithNoise)[15]聚类方法将文献列表中50篇文献聚成若干个类。聚类时增加约束,保证下载的前n篇论文必须聚到同一类作为需求类;在下载的第n篇论文前的所有浏览和略过的论文都不能聚到需求类中。两种方法都是把日志中用户下载的所有论文作为用户的需求标准论文集,比较需求类和需求标准集中的文献,计算检索的准确率、召回率和F值。最后在n分别取1,2,3,4,5的情况下对这两种方法进行对比。


  3.2实验结果分析


  第1种方案实验效果如图3所示,从实验结果可以看出,在总体趋势上随着选取的论文数目n的增加,需求图和半监督聚类的效果均越来越好。在论文篇数n=2时,半监督聚类方法比需求图分类效果要好。当选择论文数量大于3篇时,需求图的分类效果就要好于半监督聚类,最终在n取3,5时可计算得到需求图的效果比半监督聚类效果在F值上平均高2.5%。


  第2种方案实验效果如图4所示,当用户下载了一篇论文时,半监督聚类和需求图两种方法效果都普遍偏低,但半监督聚类要比需求图方法好很多。当n=2时需求图方法的结果F值就已经好于半监督聚类;在n=3时需求图检索F值比半监督聚类高5.3%。随着n的增大,需求图方法的精度、召回率和F值均有所增加,而半监督聚类下载了几篇论文后精度呈现下降趋势,最终F值不会有很大的提升。


  两种方案实验的趋势表明,提取需求图的方法比半监督聚类方法效果更好,在用户进行文献搜索时,随着用户交互的增加,需求图将越来越接近用户的实时需求。


  4结语


  本文在文献搜索系统的基础上,结合文献文本的特点提出了基于结构权重的文本表示模型;通过对用户搜索文献时的交互行为进行深入研究,分析并提取用户与搜索系统交互所反映的与用户需求相关的信息,构建需求文档来进一步明确用户检索意图。最后提取出用户搜索的核心需求,以图的形式对用户的下一步搜索进行提示,从而节约用户搜索文献的成本。


  作者:徐浩等