基于语义查询扩展的微博检索,本文主要内容关键词为:语义论文,此文献不代表本站观点,内容供学术参考,文章仅供参考阅读下载。
1 引言
第31次中国互联网络发展状况统计报告指出,即时通信、博客/个人空间、微博、社交网站、视频分享等社会化媒体类应用的用户使用率均位于前列,作为典型代表的微博,其用户规模达到3.09亿,用户使用率达54.7%[1]。由此可知,微博作为典型的社会化媒体,逐渐成为人们分享和获取信息的重要途径。有研究表明,社会化媒体的信息检索已经变成检索领域的一个重要部分[2],新浪微博在2011年10月20日推出独立的微博搜索(http://s.weibo.com)。
目前,Web2.0的检索依然大多采用关键词检索。对于单关键词检索,现有的搜索引擎会得到一个较大的结果集,导致用户查询主题的漂移。对于两个关键词的检索,现有的搜索引擎通常会得到一个适中的结果集,但依据检索词的歧义不同也会产生主题漂移,如搜索词为“苹果”、“价格”,结果中会有手机和水果两种主题价格的信息,依然会降低查准率;对于多关键词的检索,搜索引擎仅仅得到很小的结果甚至没有。总的来说,基于关键词的检索未考虑查询词的具体词义,这种完全匹配检索方式不足以满足用户搜索意图。
鉴于此,很多研究人员提出了查询扩展的检索方法。所谓查询扩展技术,是指利用自然语言处理、分类、聚类等多种技术手段,对初始查询重新组织以提高信息检索的检索性能的过程[3]。从用户参与角度看,查询扩展可分为用户相关反馈和伪相关反馈方法[4],Abberley等[5]研究中的实验表明,用户相关反馈在较小的查询集合中对于查询精度有较好的改善,但是这种人工参与的需求也加大了用户查询的负担。因此,很多学者逐渐开始研究基于伪相关反馈的查询扩展方法。Kurland等[5]提出了一种迭代的伪反馈技术,重复性地进行查询词的扩展,直至达到满意的效果。然而这种反复迭代的方法易加剧查询主题的漂移,虽然文中给出了解决此问题的方法,但同时也增加了算法的复杂度,相类似的研究还有文献[6]和[7]。
本文是在伪相关反馈的基础上展开的研究,由于微博信息与规范的文档信息相比具有短文本、书写不规范和创造性等特征,又隐藏着很多语义信息,仅考虑关键词增加的查询扩展会导致计算过程中矩阵稀疏,难以取得满意的效果。因此,本文用语义查询扩展的方法代替基于词汇同现的方法找到与关键词语义相关的扩展词,以期规避关键词检索的缺陷,从而构建基于查询扩展的微博语义检索模型。文本旨在探索两方面的问题:一是如何将语义查询扩展应用于微博检索中;二是探讨与关键词检索相比较本文提出的检索模型是否具有优势。
2 语义检索系统概述
本文提出的查询扩展属于伪相关反馈的内容,是对第一次检索排名靠前的文档进行分析。基于语义查询扩展的微博检索分为三个阶段来实现,检索算法框架见图1。
首先,需要对用户输入的查询进行预处理,包括分词和去停用词,以便于搜索引擎根据处理之后的关键词检索相关文档(假设排名靠前的文档与查询词相关的文档);其次,对反馈的文档集进行分析处理,从词语的主题层和文档层综合考虑扩展候选词的权重,得到扩展候选集,再利用KL相似度计算取相关度最高的Top-K个查询扩展词反馈给搜索引擎,搜索引擎根据新的查询词进一步实现二次检索;最后,对得到的文档进行相关度排序,得到最终的检索结果。
本文提出的基于语义查询扩展的微博检索方法实际上是一个简化的语义搜索方法,根据Tim提出的语义网概念[8],完全意义上的语义检索应该具备五点,即概念对象及其相互间的语义关系、描述对象的元数据集、建立数据与资源的赋值机制、对赋值关系进行标记的标记语言以及检索推理机制,这正是语义网的构想蓝图。但是,由于微博上存在的网页文档大都是非结构化的、无语义标注的形式,要进行如此大规模的文档标注并非一朝一夕可以实现的,所以我们寻求了一种过渡时期的语义检索技术,利用潜在语义分析和TF-IDF权重的方法尽可能找到合适的查询扩展词,用得到的扩展词进行检索,希望能有所突破。
3 语义查询扩展
3.1 基于潜在语义分析的词语权重计算
查询扩展的一个主要问题是易产生查询主题漂移,而查找与查询词所表达的主题相同的候选词是克服这一问题的方法之一。对此,很多学者研究基于潜在语义分析的查询扩展[9],本文也选用概率潜在语义分析的方法得到候选词的权重。在潜在语义分析方法中,Blei等[10]提出的隐含狄利克雷分配(LDA,Latent Dirichlet Allocation)模型,是近年来发展起来的一种重要提取潜在主题的潜在语义分析建模方法。在此我们也选用LDA来实现候选词属于某一主题的概率权重。
图2是LDA的贝叶斯模型,其主要思想认为文档是若干主题的混合分布,而每个主题又是一个关于单词的概率分布,因此,可以将隐含主题看做词汇的概率分布(topic-word),单个文档可表示为这些隐含主题的概率分布(doc-topic),这种假设也有利于大规模数据处理中的空间降维,即把文档投射到topic空间。
本文中,参数θ和主题z表示隐含变量,w是候选词;D是一个包含M个排序靠前的微博文档集合,每个文档d包含N个候选词,假设D的主题数目为T个,LDA生成模型如下:
(1)生成T维多项式向量Φ服从参数为β的Dirichlet分布,Φ~Dirichlet(β)。
(2)生成T维多项式向量θ服从参数为α的Dirichlet分布,θ~Dirichlet(α)。
(3)对文档中的每个候选词(1<n<N):
①生成一个主题服从参数为θ的多项式分布。
②根据特定的主题比例β,对生成P(|,β)。
由此可得到主题下候选词的概率分布,对于每个特定的候选词,最终的权重为各个主题下概率的加权,如公式(1):
对数据集D来说,LDA的主题抽取过程就是通过θ和z,求出使P(D|α,β)最大的参数α和β的值。在计算过程中,文本的单词是可观测数据,而主题是隐性变量,因此可通过概率推导来实现参数估计。本文选取吉布斯抽样(Gibbssampling)方法推理LDA模型的参数。在抽样过程中,可得到两个矩阵:特征词—主题矩阵和微博—主题矩阵[11]。通过这两个矩阵可以计算出潜在变量θ和z的值,具体方法如下:
其中,表示微博文档d中分配给主题j的特征词数量,表示微博文档d中被分配的特征词总数,K表示潜在主题的数量;表示特征词w被分配给主题j的次数,表示分配各主题j的所有特征词数量,V表示文档中所有特征词的数目。由此可以由公式(1)计算出每个词语的权重。
3.2 基于平均TF-IDF的权重计算
一个文本内容是否与查询词相关,首先要分析该文本的描述能力,即该文本所描述的内容是否与查询词密切相关;其次要分析文本的辨别能力,即人们是否能准确地断定其所属类别,如提到“烹饪”我们很容易辨别其所属类别为“美食”。为了对描述能力和辨别能力进行定义,需要引入应用在空间向量模型中的IDF和TF两个测量方法[12],公式如下:
公式(2)中TF(Term Frequency)指某一个特征词在文本中出现的频率是该词在文本中出现的次数,分母表示在文本中所有特征词的出现次数之和。如果某个特征词在该文本中出现的次数较多,表示该特征词对于文本具有较好的描述能力;公式(3)中,|D|代表语料库中文档的总数,分母表示包含特征词的文档数目。IDF的主要思想是:如果包含特征词的文档数越少,IDF越大,说明词条具有很好的辨别能力。对于文档—词语层的权重,文本利用TF-IDF的权重计算方法,综合考虑词语的描述能力和辨别能力。由于每个候选词在不同微博文档中权重不同,为了考察当前候选词在整个伪反馈文档中的权重,我们取候选词在整个微博文档中的平均值,见公式(4):
通过加权线性组合,最终得到的候选词的权重为:
3.3 查询扩展词的生成
得到查询扩展词的最后一步需要计算查询词与候选词的相似度。取查询词所在主题内的高概率词和文档—词语层的高权重词的交集,至此我们得到高文档解释能力和与查询词有着共同主题倾向的查询扩展候选词,计算交集内词语—词语间的相似度是本节所要解决的重要问题。据统计可知,用户使用的查询绝大多数属于短查询[13],因此文本主要是针对单个关键词实现的查询扩展。对于单个关键词的查询扩展,直接计算候选词与查询词的距离,得到相似度排名靠前的K个候选词作为查询扩展词。
对于探讨相同主题空间里的两个词语概率分布的差异情况,KL(Kullback-Leibler Divergence)距离(也称相对熵)是解决此类问题的有效方法之一。KL距离越大,则词语间的相似度越小,反之越大。然而,虽然KL被称为距离,但是其并不具备距离的对称性条件,即词语到的距离并不等于到的距离。因此,我们利用KL的变形JSD(Jensen-Shannon Divergence)距离来表示候选词与查询词之间的差异性,二者的差异值见公式(6)。取其倒数作为相似度值,由此可得到查询词p与候选词t的相似度,如公式(7)。
其中,w(q)表示查询词的最终权重,w(t)表示候选词的最终权重。根据相似度大小可以得到与查询词相关的扩展词的排名列表。
3.4 检索结果排名
对于查找到的相关文档,要根据其和查询的相关程度进行排序,取相似度最大的Top-K文档返回给用户。对此,我们构建了查询语义向量和文档语义向量。首先,将查询表示成语义向量的形式,查询向量由查询词和排名靠前的扩展词组成。向量的权值设定如下:原始查询词的权值设为1,扩展词的权值即由公式(5)得到的,由此查询语义向量可表示为:;同理,构建文档语义向量,特征词即询问中的查询词和扩展词,文档语义向量可表示为:。最后,使用Cosine相似性度量计算每个返回候选文档向量与查询向量的语义相关性。
根据相似度计算,将相关文档按照与查询语义相关的大小进行排序,取前K个最相关的文档返回给用户。
4 实验分析
为了验证构建方法的有效性,从微博网站上以“平板电脑”为关键词抓取20页检索结果,去掉重复和垃圾微博,获得333条微博数据进行实验分析。
4.1 实验过程
(1)数据抓取。本文用网站内容抓取软件工具包MetaSeeker抓取微博数据,它通过直接分析DOM结果,采用XPath表达式定位被抓取内容,并以XML的格式输出结果,通过Java程序将多个XML文档合并,以便转化为结构化数据实现进一步处理。
(2)特征词提取。对抓取的数据进行分词和词频统计,取词频在10以上的词语作为特征词,共100个。
(3)主题—词语层的数据处理。将XML文档导入Excel中,通过VBA实现“ID:Frequency”的数据格式,其中ID表示特征词的ID号,Frequency表示该特征词在每条微博中的频数。将每个微博文档用此数据格式表示,并用Matlab编程实现主题抽取,设主题数为4,得到的主题如图3所示。
(4)文档—词语层的数据处理。利用步骤(2)中得到的特征候选词,通用利用VBA编程计算每个特征候选词的平均TF-IDF值。
(5)查询扩展候选词的排序结果。首先,分别设参数λ为0.1、0.3、0.5、0.7和0.9,运用公式(5)得到每种参数下特征词的最终权重;再利用公式(7)得到查询候选词与查询词的相似度,并根据相似性大小进行排序,结果如表1所示。
(6)实现语义检索。对λ取五种情况得到的扩展词排序列表,分别取前5个(QE@5)、前10个(QE@10)和前20个(QE@20)查询候选词,运用文档相似度计算,得到最后检索到的文档。在与传统关键词查询进行对比时,这里我们取检索到的前10个文档作为标准进行精度计算,进而分析本文提出方法的可行性和有效性,结果如图4所示。
4.2 实验结果及分析
实验根据过程中的六个步骤进行,由于在实验过程中发现,步骤(5)中λ取0.7和0.9时得到的排名结果相同,因此本实验只探讨λ的前四个取值情况。各阶段的结果如下:
由图3可知,在主题1下排名靠前的词语有“手机”、“智能”、“设备”等,可判断,主题1是与平板电脑基本特征相关的主题;“市场”、“研究”、“份额”等在主题2下,可判断该主题下所表达的含义与平板电脑市场经济发展数据有关;主题3下的词语如“移动”、“服务”、“终端”等,可知此主题是有关平板电脑服务方面的内容。同理,由在主题4下的词语可判断,该主题是有关平板电脑科技性能有关的内容。根据前文介绍的公式(1),可得到在所有主题下词语的权重列表,从表中可知,用户搜索的词更多的是关于在主题1的内容。
图4表示λ取不同值下得到的检索精度值(Precision=Rel./Ret.),其中“虚线”表示利用传统关键词,在排名前10个文档时的检索精度。从整体来看,无论λ取值为多少,取前10个候选词作为查询扩展词时,检索精度最高,因此本文提出的方法适合选择前10个候选词作为查询扩展词;从个体来看,随着λ取值的增大,检索效果有所提高,当λ为0.5时检索精度较稳定而且效果最好。究其原因在于当λ <0.5时,其更多考虑的是词语在文档中的解释能力和辨别能力,对其语义方面考虑较少,也引入了大量无关文档,当λ>0.5时又过多地考虑了主题性,使得主题列表中排名靠后的词语,即词频相对低的词被引用进来,也会引入无关文档,只有在两者比重相当时检索效果最好;最后,从图中可知,当λ>0.5时得到的检索效果明显高于传统关键词检索,进一步证明了本文提出方法的有效性。
5 结语
随着Web2.0应用的不断发展,社会化媒体逐渐成为人们获取信息的主要途径之一。本文以典型的社会化媒体平台微博为例,针对传统基于关键词匹配搜索方法的局限性,提出了基于语义查询扩展的微博检索策略,通过主题—词语层和文档—词语层两个方面考虑查询词与候选词的语义权重,进而得到排名靠前的查询扩展词,同时通过查询扩展得到的权重值,对返回的候选文档进行了相似度计算。实验表明,该方法较基于传统关键词匹配的方法得到了较大改善。
本文提出的基于语义查询扩展的微博检索方法是从关键词搜索到语义网搜索的过渡,语义仍停留在浅层的语义层面,对于深层次推理层面的语义研究本文并未涉及,在语义网刚刚起步并逐渐完善的相当长的时间里,将此方法作为一种过渡的方法是值得提倡的。