APP下载

基于深度学习的概念语义空间查询扩展研究

2018-06-21李卫疆王胜余正涛

软件导刊 2018年5期
关键词:深度学习

李卫疆 王胜 余正涛

摘 要:为解决信息检索应用实践中存在用户表達查询请求不够准确、文档与查询词不匹配以及查询优化等影响检索性能的问题,提出一种基于深度学习的概念语义空间查询扩展方法。利用深度学习算法为各个原查询词构建概念树,并使用WordNet将这些概念树向上溯源,建立完整的概念语义空间。以共现信息为特征参数对扩展源进行筛选,同时引入平均互信息及观察窗口得到相关度算法,通过共现信息衡量单词之间的关联度。在TREC数据集上的实验表明:与传统伪相关反馈算法的扩展质量相比,该扩展算法有所改进。

关键词:查询扩展;深度学习;语义空间;平均互信息;相关度算法

DOI:10.11907/rjdk.172669

中图分类号:TP301

Abstract:A method of query expansion based on conceptual semantic space with deep learning is proposed to solve the problems which impact query function, such as users' inaccurate query, mismatch between user query and representation of index document and query optimization. We construct conceptual tree for every query word with deep learning and trace the tree upwards in WordNet dictionary to establish complete semantic space. Co-occurrence information is employed as a parameter to filter extended source ; average mutual information and observation window are introduced to get relevance algorithm so that correlation degree between every two words is measured by co-occurrence information. The test on TREC data set shows that compared with traditional pseudo-correlation feedback algorithm, the proposed algorithm has better performance.

Key Words:query expansion; deep learning; semantic space; average mutual information; relevance algorithm

0 引言

随着因特网的飞速发展,社会信息化规模日益壮大,人们对信息获取的要求更加严格,快速即时处理海量信息、提高信息检索的准确率刻不容缓。互联网用户习惯于通过检索关键词查询信息,因此当前主流的商用搜索引擎为给用户提供一个简便的查询平台,仍然采用基于关键词查找方式,但由于用户表达查询请求不够精确,会返回大量与查询意愿无关的结果[1],因此引入查询扩展概念。

查询扩展是指利用统计学、语言学等方法,找出与原查询词的相关扩展词并加入原查询组成新的查询,使其更清楚地表达用户的查询意愿,以改善信息检索性能。对原查询进行扩展可以弥补用户查询信息不足的缺陷,解决信息检索领域“词不匹配”问题。

如何确定扩展词是查询扩展的关键。由于不同系统实现方法不同,对其进行查询扩展就需要采取不同的方法,通常包含以下几种:通过人工进行的查询扩展,通过系统进行辅助的半自动查询扩展和全自动查询扩展。而按照扩展词来源不同,扩展方法又分为基于全局分析的、基于局部分析的、基于关联规则的以及基于用户查询日志的查询方法。

1 研究现状

1960年,Marson和Kuhns[2]根据词与词的相关性提出概率模型扩展用户查询,这是最早的概率模型。1965年,Salton教授和学生创立了向量空间模型并开发基于向量空间模型的SMART信息检索系统。同年Rocchio[3]运用向量空间查询扩展和词语重新加权思想,在Salton的SMART系统中引入了一种相关反馈算法。1968年,Rocchio和Salton提出了查询扩展方法。1977年,Attar和Fraenkel[4]提出了采用聚类扩展查询的基本概念和观点。

1981年,Wu和Salton[5]使用相关反馈从文档提取概念术语词,然后使用概率公式对概念术语重新加权,再用这些概念术语进行扩展查询。1983年,Croft[6]将内文档频率引入概率公式,并引入了参数C和K。

1993年,Qiu和Frei[7]提出使用全局相似性叙词表进行查询扩展并取得了很好的结果。但是如果用户输入的检索词有多重含义,该方法会扩展一些与用户查询意愿不相关的查询扩展词,从而造成查询漂移。因此,Jing与Croft[8]提出了PhraseFinder,它要求所选的扩展词必须与所有查询词共现。与仅仅用单个查询词共现相比,多个查询词共现在消除歧义方面更有效。

Agrawal等[9]在1993年首先提出关联规则概念,一些学者对此展开了大量研究并提出一些基于关联规则的查询扩展方法。该方法利用数据挖掘技术挖掘词之间的关联规则,扩展词需要从关联规则的结论中筛选。该方法解决了局部分析的不稳定性,但是扩展词的质量依赖于使用的挖掘技术,且关联规则的形成比较困难。

2003年,崔航提出基于用户日志的查询扩展,考虑在用户查询日志上寻找扩展来源。在用户查询记录的基础上建立用户空间,文档集上建立文档空间,根据用户日志将两个空间中的词按某个查询所点击的文章以条件概率的方式连接起来,当新的查询到来时选择相应的条件概率最大的文档用词加入查询中[10]。

2003年,Kelly和Teevan[11]为了减少用户的直接参与,提出通过分析用户查询日志推测用户查询意向的一种隐含相关反馈模型。2007年,S Jung[12]等提出将用户点击的网页作为隐含的相关反馈,实验表明该方法对准确率和召回率都有提高。

深度学习是近年的研究热点,被广泛用来处理各种自然语言处理方向的问题。深度学习工具Word2vec是Google将词表征为实数值向量的高效工具[13],其利用深度学习思想,通过训练把文本内容的处理简化为K维向量空间中的向量运算,通过词之间的距离(比如cosine相似度、欧氏距离等)判断语义相似度。而卷积神经网络(CNN)[14-15]方法是最近比较热门的研究。CNN对句子进行扫描,抽取特征、选择特征,最后组合成句子的语义表示。首先从左到右用一个滑动窗口对句子进行扫描,每个滑动窗口内有多个单词,每个单词由一个向量表示。在滑动窗口内,通过卷积操作抽取特征,这样在各个位置上得到一系列特征,之后再通过最大池化操作对特征进行选择。重复以上操作多次,得到多个向量表示,进而寻找语义关系。

2 查询扩展

语义概念查询扩展技术将用户查询扩展上升到语义概念层次,从根本上贴近用户查询意图,取得了很好的效果。语义概念查询扩展的关键是概念语义空间的构建和查询语义的提取。概念语义空间建立后,就能利用各种方法对原查询进行扩展。

本文拟通过概念语义空间对查询词进行语义扩展,解决语义匹配问题。首先利用深度学习对文档进行训练,找出与初始查询词语义相关的初始扩展词,再利用WordNet词典将初始查询词与扩展词构建概念语义空间,从中提取与原查询语义相关的概念。初次查询得到反馈的前N篇文档,运用观察窗口模型对其进行处理。通过一定阈值与规则筛选出扩展概念,使其更接近用户查询意图,从而提高查准率。

2.1 概念语义空间构建

本文采用深度学习工具Word2vec的Skip-gram模型擴展初始查询词。对整个文档集利用Word2vec进行训练,用一个简单的模型训练出一个连续的词向量。基于词向量表达训练一个简化连续的N-gram神经网络模型即Skip-gram。Skip-gram模型本质是计算输入词的input vector与目标词的output vector之间的余弦相似度,并进行softmax归一化。由于余弦相似度大小代表了词语之间关系的远近,这样便可根据余弦相似度找出查询词的扩展词。计算公式如下:

模型如图1所示,其中q为查询词,wi为任意词。

例:用户的查询向量为Q(q1,q2,…,qn),为使用深度学习工具对其进行语义扩展,定义Q中每个查询词qi(0

2.2 初始权重计算

确定概念树规模以后,为了计算扩展节点的初始权重,需要分析概念树CT中各个节点与原查询节点之间相关度。定义原查询节点qi的子节点wi权重为K-b,其中b为该节点与其对应的原查询节点距离,即相对于原查询节点层数,原查询节点qi的父节点F权重为K-2b(b的意义同上)。公共祖先节点和原查询节点的其它父节点权重等于其相连的各个原查询节点的权重之和。该权值体现公共祖先节点、原查询节点的其它父节点和与之相连的所有子节点的关联程度(K=2,n=4,L=1,M=2),如图2所示。

2.3 扩展词筛选

初始化集合Qe,并引入变量λ,然后遍历概念树CT中的每一个节点Ti,得到每个节点的权重,将权重weight_(Ti)>λ的节点加入集合Qe中,这样便得到查询扩展词集合Qe。与此同时,随着变量λ值的调整,扩展词集的数量也随之改变。

为了使扩展词更真实贴近用户查询意图,将原查询词与筛选的查询扩展词集Qe进行初次检索,将前N篇最相关的文档作为伪反馈的文档集。

窗口概念多用于基于统计方法的自然语言处理系统[16]。如果在大规模语料中两个词频繁共同出现在同一个文本窗口中,则认为这两个词在语义上是有关联的,并且它们的语义关联程度与共现的频率呈正相关。因此,对初始查询词与伪相关文档集中各词共现信息进行计算分析,寻找并确定最终的查询扩展词集。本文将窗口大小定为一篇文档范围。

词与词的相关性以词之间的相似度为基础。Rosenfeld[17]提出用平均互信息(Average Mutual Information,AMI)评估词之间的相似度:

c(x)是词x出现在文档集中的次数,c(x,y)是词x和y共现在文档集同一句子中的次数,利用适当的训练集训练,同时统计c(x)和c(x,y)数值,再利用公式(2)进行计算,便可生成词与词之间的平均互信息资源。事实上,即使在同一个窗口单元中,词之间的相关性也不一定相同。通过大量观察、分析发现,词与词之间的相关程度会随着词间距离的增大呈指数递减。为此,在公式(2)中引入一个变量因子eDis(x,y)表达这种特性,故将词x和词y的相似度定义为:

df(xC)表示语料集C出现词x的文档个数,N为语料集C的总文档数。加入idf(xC)是为了作为一个控制因子,防止有些词重要性不大但在语料出现的频率却很高,这样也会获得很高的相关度值。末尾加1作为控制,让其最小,不会出现0值。

为了筛选扩展词,最后引入相关度显著性阈值ε用来筛选相关度值高(即具有显著性)的扩展词,ε为0~1的值。当Chd(w,Q)>ε时,词语w就会选为最终查询扩展词,当Chd(w,Q)<ε时,将w剔除。

在基于统计的自然语言处理系统中,相关度显性阈值经过多次实验设定为[0.7,0.8]时效果最好,为了使扩展范围尽可能优化,可以动态调整该阈值达到人工调节扩展词的规模。

查询扩展词筛选算法步骤:

输入:查询文档集D 初始查询词集Q 初始扩展词集Qe 相关反馈文档集S

输出:最终查询扩展集TQe

利用深度学习工具Word2vec训练文档集,找出与初始查询词集Q语义相关度高的候选扩展词,构建概念树

计算各节点的权值weight,引入阈值λ,将weight>λ的节点加入初始扩展词集Qe

引入相关度显著性阈值ε,根据当前基于统计的自然语言处理系统中多次经验论证,其初始值通常设定在0.7~0.8之间。将相关度Chd(w,Q丨S)>ε的词加入最终查询扩展词集TQe中,多次调节阈值大小进行对比实验。

3 实验与分析

本文在TREC2&3的Associated Press数据集(AP880212-AP901231)上对提出的查询扩展方法进行实验,表1列出了测试集合。

实验采用Google开源深度学习工具Word2Vec训练文档集后,引入候选扩展词,结果见表2。再利用WordNet提供的接口实现概念语义空间构造。

将得到的扩展词与原查询词一起在检索系统初检,得到最相关的N篇伪相关反馈文档。根据观察窗口大小编程实现计算词相关度值模型,再对相关度显性阈值进行动态调整,寻找最优值。

获取最终查询扩展词集后,在AP数据集进行检索。将传统非扩展方法检索结果和加入偽相关反馈的TF·IDF查询扩展检索结果同本文提出的扩展方法检索结果进行比较。

查全率(Recall)、查准率(Precision)和F-measure一直以来都是检索性能的主要评价指标,本实验还引入Pr@n作为辅助评价指标。

Recall=检索出的相关文档数文档库中的全部相关文档数(9)

Precision=检索出的相关文档数检索出的文档总数(10)

F-measure=2×Recall×PrecsionRecall+Precision(11)

Pr@n=检索结果的前n篇中相关文档数n(12)

初始扩展词数值的大小也是影响查询性能的重要因素,确定利用Word2Vec训练后每个查询词引入扩展词的个数多少达到最好效果。为了使概念树的规模不至于过大影响实验,令L=1,通过控制M即最大子节点数目大小,分别引入1、3、5、7个扩展词,在数据集上依次进行查询,然后分别计算检索结果的平均查准率,实验结果见表3。

通过对表3的数据分析可知,当利用Word2vec引入扩展词个数是5个左右时,可以获得较高的查准率。当扩展词个数太少或太多时,平均查准率都会出现一定程度下降。这是因为扩展词太少,不能理解和满足用户查询,而扩展词过多则会造成查询漂移,影响查全率和查准率。

然后再对非扩展查询方法、TF·IDF伪相关反馈方法和基于深度学习的概念语义空间查询扩展方法进行测试比较,实验结果见表4。

从实验结果看,本文提出的查询扩展方法相对于不加扩展的 TF·IDF 算法以及加入伪相关反馈的TF·IDF算法,无论是查准率还是召回率都有一定提高。这是由于经过深度学习后,将各个词语义关系用词向量进行量化,根据向量之间余弦相似度(余弦距离),可以更加准确地寻找到与原查询词相关度匹配高的扩展词。再经过各种阈值控制筛选,在语义上使其更加贴近用户查询意图,从而反馈给用户准确的查询信息,使查询性能得到优化。

为了更直观地检测非扩展查询方法、TF·IDF伪相关反馈方法和基于深度学习的概念语义空间查询扩展方法的查询性能,绘制3种方法的11点平均准确率比较图,如图3所示。从图中可以明显看出,基于深度学习的概念语义空间查询扩展方法比扩展查询方法、TF·IDF伪相关反馈方法更具优势。

为了验证该方法的普适性,在TREC的San Jose Mercury News (SJ1991)数据集上进行实验,并将结果与AP数据集的实验结果绘图比较,如图4所示。

通过分析图4可知,本文所提方法在SJ数据集上同样拥有较高的检索性能。

4 结语

本文从概念语义层次上提出一种基于深度学习的概念语义空间查询扩展技术。首先使用深度学习和WordNet语义网络构建用户查询概念树,筛选初始扩展词并初检,利用平均互信息对伪反馈文档进行窗口观测,计算词对共现权重,得出最终扩展词集。通过实验比较了传统非扩展检索方法、伪相关反馈的TF·IDF查询扩展方法和基于深度学习的概念语义空间查询扩展方法的召回率、准确率、F-measure指数和 Pr@10,得出基于深度学习的概念语义空间查询扩展系统在检索性能上高于另两个系统。

参考文献:

[1] 文坤梅,卢正鼎,孙小林,等.语义搜索研究综述[J].计算机科学,2008(5):1-4.

[2] MARON M E, KUHNS J L. On relevance, probabilistic indexing and information retrieval[J]. Journal of the ACM,1960,7(3):216-244.

[3] ROCCHIO J J. Document retrieval systems-optimization and evaluation[M]. Cambridge: Harvard University Press,1966.

[4] ATTAR R, FRAENKEL A S. Local feedback in full-text retrieval systems[J]. Journal of the Association for Computing Machinery.1977,24(3):397-417.

[5] WU H, SALTON G. The estimation of term relevance weights using relevance feedback[J]. Journal of Documentation.1981,37(4):194-214.

[6] CROFT W B.What do people want from information retrieval[J].D-lib Magazine,1995(1):129-131.

[7] QIU Y, FREI H P. Concept based query expansion[EB/OL]. https://en.wikipedia.org/wiki/Query_expansion.

[8] JING Y, CROFT W B. An association thesaurus for information retrieval[J]. RIAO,1994(6):146-160.

[9] 王旭陽,尉醒醒.基于本体和局部共现的查询扩展方法[J].计算机科学,2017,44(1):214-218.

[10] 李卫疆,王锋.基于概念树剪枝的LCA查询扩展[J].计算机科学,2015,42(s1):479-483.

[11] KELLY D, TEEVAN J. Implicit feedback for inferring user preference: a bibliography[C]. ACM SIGIR Forum, 2003. ACM,2003:18-28.

[12] JUNG S Y, HERLOCKER J L, WEBSTER J. Click data as implicit relevance feedback in web search, information processing and management[J].Pergamon Press, Inc 2007,43(3):791-807.

[13] 陈元娟,严建峰,刘晓升,等.基于时空数据的用户社交联系强度研究[J].计算机科学,2016,43(1):251-254

[14] HU B, LU Z, LI H, et al. Convolutional neural network architectures for matching natural language sentences[J]. International Conference on Neural Information Processing Systems,2015(3):2042-2050.

[15] KALCHBRENNER N, GREFENSTETTE E, BLUNSOM P. A convolutional neural network for modelling sentences[J]. EprintArxiv,2014(1):62-65.

[16] 严华云,刘其平,肖良军.信息检索中的相关反馈技术综述[J].计算机应用研究,2009(1):11-14.

[17] ROSENFLED R. A maximum entropy approach to adaptive statistical language modelling[D]. Pittsburgh:Carnegie Mellon University,1994.

(责任编辑:杜能钢)

猜你喜欢

深度学习
从合坐走向合学:浅议新学习模式的构建
搭建深度学习的三级阶梯
有体验的学习才是有意义的学习
利用网络技术促进学生深度学习的几大策略
MOOC与翻转课堂融合的深度学习场域建构
大数据技术在反恐怖主义中的应用展望
构建“单元整合、主题牵引”诗歌鉴赏“深度学习”课堂的策略