基于知识图谱的问答系统[1]作为信息检索的一种应用场景, 使用简单而准确的自然语言回答用户提出的问题, 而几乎不必关心数据源的格式或结构。自然语言查询的表达灵活多变, 增加了理解查询意图的难度。如果查询的概念存在歧义, 则会造成问题领域性的不确定性, 其查询结果可能会产生错误或遗漏, 从而无法满足用户真实的信息需求。此外, 对于同一个含义的表达, 用户的查询和数据源中的数据所使用的术语可能不一致, 导致基于知识图谱的问答系统查询不到匹配的答案或答案不理想。为了解决这个问题, 通常使用语义查询扩展方法对用户的查询进行扩展。查询扩展可以使用第三方库(例如字典、知识图谱、社区问答资源)作为数据源, 其中第三方库可以针对通用领域库或特定领域。
WordNet[2-3]是一个大型的英语词汇数据库, 其中包含大量的名词、动词、形容词和副词, 而且它可以用于查询某个词汇的同义词、上义词和下义词等。词汇和它的语义是相互关联的, 既可以根据词汇查询其语义, 也可以查询某个语义下的一组词汇。因此, WordNet可以为名词或动词的同义词扩展、上义词扩展和下义词扩展提供数据支持。
Microsoft Concept Graph[4-5]是一个巨大的概念图, 它的数据是从海量的网页和搜索日志中抽取出来的。其中, 包含540多万个概念、1 200多万个实例以及8 700多万个IsA关系。通过Microsoft Concept Graph, 可以查询一个词汇的概念, 也可以查询其实例。因此, Microsoft Concept Graph可以为名词的上义词扩展和下义词扩展提供数据支持。
WordNet和Microsoft Concept Graph都可以从不同的语义角度对一个查询术语进行扩展。WordNet涵盖了词汇的大部分含义, 对于查询术语(名词和动词)在WordNet中的每一种含义, WordNet都可以为其提供该含义下的同义词、上义词和下义词扩展结果。Microsoft Concept Graph包含丰富的常识性知识, 为查询术语(名词)提供的上义词和下义词扩展结果中包含和查询术语相关的常识知识。此外, WordNet中的词义分组和Microsoft Concept Graph中的相关度系数, 都可以在一定程度上反映查询术语与其扩展词之间的相关程度, 可用于对扩展结果的筛选。因此, 本文选择WordNet和Microsoft Concept Graph用于实现查询术语的多语义角度扩展, 同时设计不同的过滤策略对扩展结果进行筛选, 进而理解用户初始查询意图。
1 相关工作随着互联网的飞速发展, 知识图谱中不同领域的数据呈爆炸式增长。因此, 用户在进行信息查询时, 可能无法快速地或直接地获得所需数据。基于知识图谱的问答系统[6]致力于满足人们精准而迅速地从知识图谱中获取查询结果的需求, 但查询的表达多样化或查询中术语的歧义等都是问答系统需要面对的难题。为了使用户通过基于知识图谱的问答得到满意的查询结果, 可以使用语义查询扩展技术。文献[7]介绍的查询扩展技术主要有:对查询术语进行同义词扩展; 对查询术语进行词干提取, 得到其不同的形态; 对查询术语的拼写错误进行修正; 对查询术语重新进行加权。除了同义词之外, 有的查询扩展方法还考虑缩略词[8-10]或相关词[11-15]。下面具体介绍基于缩略词的查询扩展、基于相关词的查询扩展和基于权值更新的查询扩展。
1) 基于缩略词的查询扩展。一个句子中的缩略词会为人们对句子的理解带来一些困难, 尤其是对非母语的人。文献[8]提出基于网络数据资源对查询中的缩略词进行消歧。文献[9]提出在对医学信息进行检索时, 利用缩略词对查询进行扩展。文献[10]提出一个基于支持向量机和标准条件随机场的缩略词的查询识别方法, 从而帮助用户理解缩略词的含义。
2) 基于相关词的查询扩展。基于同义词的查询扩展考虑的因素是语义相似度, 它可能将其他的相关词错认为同义词。因此, 基于同义词的扩展结果需要根据某种过滤策略进行筛选。数据源提供的答案文本和查询术语可能不直接匹配或相关, 为此, 文献[12]提出HEW这一概念对查询扩展方法进行改进和评估, 并为不理想的检索效果提供一个可能的解释。对于小语种的问答系统, 因为其语言固有的困难以及缺乏相关专家的帮助, 其问答研究进度比较慢。文献[13]为阿拉伯语问答系统提出一种基于语义等价关键词的查询扩展方法, 降低了查询术语和数据源中数据之间的差距。文献[14]提出一个基于词汇资源和词嵌入的查询扩展方法, 为查询的关键词提供同义词和上义词, 以帮助意大利语问答系统更好地理解问题。文献[15]在阿拉伯语问答中利用阿拉伯语WordNet进行基于关键字的相关信息检索。
3) 基于权值更新的查询扩展。用户查询的术语有多个, 但是每个术语反映查询意图的能力不一样。类似地, 每个术语的扩展词也有多个, 但是每个扩展词和原始术语的相关度或者相似度是不一样的, 因此, 可以对查询中的术语或者术语的扩展词赋予不同的权重。文献[16]设计一个为扩展词赋予不同权重的查询扩展方法, 并且定量地比较了在索引时应用词干还原算法和在检索时执行查询扩展, 发现后者的召回率更高。文献[17]提出一个基于领域知识自动构建相关词库的查询扩展模型, 该模型为每个查询术语赋予不同的权重, 并对它们进行相关词扩展。文献[18]提出一种基于模糊逻辑规则的查询扩展方法, 根据其他方法给出的权重来为每个查询术语赋予新的权重。文献[19]提出一个基于认知符号模型的查询扩展方法, 使用上下文敏感加权语法预测一个查询的相关术语。
基于缩略词的查询扩展和基于相关词的查询扩展之间的一个区别是, 后者主要考虑语义相似度。并且, 在基于同义词进行扩展时, 其他的相关词可能被错认为同义词。为此, 可以对相关词扩展结果进行消歧, 或设计过滤策略以选择正确的相关词扩展结果。传统的权重计算方法比较适用于长文本, 而用户的查询多为短文本。因此, 在计算查询中的术语权重时, 需要对传统的权重计算方法进行改进。
在基于缩略词的扩展方法和基于同义词的扩展方法的基础上, 本文提出的扩展方法从同义词、上义词和下义词等多个语义角度实现对查询术语的扩展, 且可以识别出每个扩展词所对应的语义角度。此外, WordNet实现了基于语义的扩展, 而Microsoft Concept Graph提供的扩展结果中包含常识性知识, 因此, 本文方法对基于语义的扩展补充了常识知识, 可以使扩展结果尽可能丰富。
2 语义查询扩展方法对于基于知识图谱的问答, 用户的自然语言查询可以转化为三元组<Subject, Predicate, Object>, 从而实现问题的结构化表示。其中, Subject、Predicate和Object分别表示一个语义关系中的主语、谓语和宾语。本文称这种结构化表示为问题三元组。利用自然语言解析器Stanford CoreNLP[20]解析问题三元组中的查询术语可以得到其POS标记和Lemma标记, 为语义扩展提供方便。通过WordNet和Microsoft Concept Graph可以对问题三元组中的查询术语进行不同语义角度的扩展。对基于WordNet的扩展结果, 结合相似度计算方法UMBC[21]和扩展词所属的语义进行筛选。而对基于Microsoft Concept Graph的扩展结果, 结合UMBC方法和扩展词对应的相关度数值进行筛选。最后, 基于问题三元组中的查询术语的扩展结果实现对问题三元组的扩展。本文提出的语义查询扩展方法如图 1所示。
![]() |
Download:
|
图 1 语义查询扩展方法结构 |
基于WordNet的扩展针对查询术语的每一种含义都提供不同语义角度的扩展词, 并且有些含义下的扩展词是Microsoft Concept Graph难以提供的; 而基于Microsoft Concept Graph的扩展结果中蕴含常识知识, 并且有些知识是WordNet所无法提供的。WordNet可以支持对名词和动词的同义词、上义词和下义词扩展; 而Microsoft Concept Graph只能用于对名词的上义词和下义词扩展。即基于WordNet的扩展和基于Microsoft Concept Graph的扩展所支持的查询术语的词性不同, 且扩展的语义角度不同。因此, WordNet和Microsoft Concept Graph对查询术语的扩展可以起到互相补充的作用。
2.1 基于规则的查询术语标记为了更好地理解问题三元组中的查询意图, 可以使用Stanford CoreNLP对其中的数据进行标记。本文选择的标记信息包括词性标注POS和词汇还原Lemma。例如, “Halloween”的标记信息可以表示为“Halloween#NNP# Halloween”, 其中第1个和第2个“Halloween”分别包含查询术语本身和它的词汇还原标记, 而其POS标记“NNP”说明“Halloween”是一个专有名词。特别地, 在基于WordNet对一个词进行语义扩展时需要它的POS标记和Lemma标记。
对问题三元组中主语、谓语或宾语e的标记类型可分为部分标记和整体标记, 它们分别表示:将e中的c每个词分别进行标记; 将e中所有的词视为一个整体, 这些词共享一个POS标记。例如, “jazz albums”的部分标记结果为“jazz#NN#jazz albums#NNS#album”, 而“New York”的整体标记结果为“New York#NNP#New York”。对e的标记规则如式(1)和式(2)所示。
$ isNoun\left( e \right) \wedge isCompound\left( e \right) \wedge \neg isNNP\left( e \right) \to partTag\left( e \right) $ | (1) |
$ \begin{array}{l} isVerb\left( e \right) \vee \left( {isNoun\left( e \right) \wedge isWord\left( e \right)} \right) \vee \\ \;\;\;\;\left( {isNoun\left( e \right) \wedge isCompound\left( e \right) \wedge isNNP\left( e \right)} \right) \to fullTag\left( e \right) \end{array} $ | (2) |
其中, isNoun(e)和isVERB(e)分别表示e中单词的POS标记全部为名词和部分为动词, isWord(e)和isCompound(e)分别表示e中包含一个和多个单词, isNNP(e)表示e中单词的POS标记为专有名词。式(1)表示, 当e中包含多个名词且e不为专有名词时, 对e进行部分标记。式(2)表示, 当e中包含动词时, 或e中只包含一个名词时, 或e中包含多个名词且e为专有名词时, 对e进行整体标记。
2.2 基于WordNet的查询术语扩展基于WordNet可以对问题三元组中的查询术语进行同义词、上义词和下义词这3个不同语义角度的扩展。本文设计了2种方法对基于WordNet的扩展词汇进行筛选:
1) 基于WordNet中的语义选择扩展词
在WordNet中, 一个词汇可能有多种语义(Sense), 同时每个语义也可能对应多个词汇。其中, 相同语义下的词汇之间具有同义关系。基于WordNet可以获取一个词以不同语义在语料中出现频率的相对大小, 并且其出现的频率按照Sense 1、Sense 2和Sense 3等的顺序依次变小。根据WordNet中的语义选择扩展词集合如式(3)所示。
$ ExSet\left( e \right) = \bigcup\limits_{i = 1}^K {\left( {SenseSet\left( {{e_i}} \right)} \right)\left( {1 \le K \le SenseSize\left( e \right)} \right)} $ | (3) |
其中, e表示问题三元组中主语、谓语或宾语, ExSet(e)表示e的扩展词集合, SenseSet(ei)表示e在某语义角度下的语义Sense i中的相关词集合, SenseSize(e)表示e的不同语义的个数。式(3)表示当选择一个K值时, e在Sense K以及前面的各个语义下的相关词均属于e的扩展词集合。
2) 基于UMBC相似度值选择扩展词
除了单词之间的相似度, UMBC相似度方法还可以计算词组之间的相似度值。在使用UMBC方法计算2个词组之间的相似度时, 词组中词的顺序对相似度结果没有影响。UMBC方法对词序的不敏感性可以表示为式(4)。
$ \begin{array}{*{20}{c}} {UmbcSim\left( {{a_1}{a_2} \cdots {a_n},{b_1}{b_2} \cdots {b_n}} \right) = }\\ {\sum\limits_{k = 1}^n {\frac{{UmbcSim\left( {{a_k},{b_k}} \right)}}{n}} } \end{array} $ | (4) |
其中, a1a2…an表示包含a1, a2, …, an单词的词组, b1b2…bn表示包含b1, b2, …, bn单词的词组, UmbcSim(a1a2…an, b1b2…bn)表示a1a2…an和b1b2…bn之间基于UMBC方法的相似度值。式(4)表明, 2个词组之间的UMBC相似度值为词组中对应单词对之间UMBC相似度值的平均值。
例如, 根据UMBC方法, UmbcSim(metal, iron)=1.0, UmbcSim(carving, sculpture)=0.71;而UmbcSim(metal carving, iron sculpture)=UmbcSim(carving metal, sculpture iron)=0.86≈(UmbcSim(metal, iron)+UmbcSim(carving, sculpture))×0.5。
通过使用UMBC方法计算查询术语和其扩展词之间的相似度值, 可以选择Top N相似度值的扩展词, 或符合某个相似度阈值的扩展词对查询术语进行扩展。
2.3 基于Microsoft Concept Graph的查询术语扩展在Microsoft Concept Graph中存在一种语义关系:概念-实例关系。根据这种关系, 可以对问题三元组中的查询术语进行上义词扩展和下义词扩展。在Microsoft Concept Graph中, 每个词语和其上义词或下义词之间存在一个相关度数值, 这个相关度数值反映了这个词语和它的上义词或下义词之间的相关程度。例如, “metal”在Microsoft Concept Graph中的一个下义词为“copper#11142”(“#”后数字为相关度数值)。因为有些扩展结果可能是不理想的, 需要对基于Microsoft Concept Graph的扩展结果进行过滤, 所以本文设计以下2种过滤方法:
1) Top1近邻选择函数
在Microsoft Concept Graph中, 与一个查询术语的相关度数值最大(即Top1)的上(下)义词是与该词相关程度最高的上(下)义词。基于查询术语的Top1相关度数值, 上(下)义词扩展结果的筛选条件如式(5)所示。
$ K \times scor{e_1} + \alpha \le scor{e_i},i \ge 2 $ | (5) |
其中, score1和scorei分别表示查询术语的上(下)义词中的Top1和Top i相关度数值。K是一个介于0和1之间的系数, α是一个偏移量, 本文设定为0~5的一个整数。式(5)表示, 当scorei比score1与K的乘积至少大α时, scorei所对应的上(下)义词会被保留。
2) Top N&相关度数值选择函数
基于Microsoft Concept Graph的扩展结果中包含扩展词汇和相关度数值, 可以根据相关度数值的大小对扩展词汇进行降序排列, 使得Top1相关度数值对应的扩展词汇排名为1。此时, 扩展词汇的排名和扩展结果中相关度数值的大小都可以反映该扩展词汇和查询术语之间的相关程度。Top N&相关度数值选择函数如式(6)所示。
$ rank\left( {ex} \right) \le N\& score\left( {ex} \right) \ge M $ | (6) |
其中, ex表示查询术语基于Microsoft Concept Graph得到的一个上(下)义词扩展结果, score(ex)表示查询术语和ex之间的相关度数值, rank(ex)表示ex的排名, N和M各表示一个正整数。式(6)表示, 当查询术语和ex之间相关度数值不小于M并且ex的排名在N以内, ex会被保留。
2.4 问题三元组的扩展根据问题三元组中主语、谓语和宾语的语义扩展结果, 可以实现问题三元组的扩展。基于WordNet和Microsoft Concept Graph可以对查询术语进行不同语义角度的扩展, 因而问题三元组也可以实现相应语义角度的扩展。对于问题三元组t=<sub, pre, obj>, 其扩展规则如式(7)所示。
$ \begin{array}{l} triEx\left( t \right) = \left\{ {\left\langle {s,p,o} \right\rangle \left| {t = \left\langle {sub,pre,obj} \right\rangle ,} \right.} \right.\\ \;\;\;\;\;\;\;\;\;\;\;\;\;\;s \in ExSet\left( {sub} \right),p \in ExSet\left( {pre} \right),\\ \;\;\;\;\;\;\;\;\;\;\;\;\;\;\left. {o \in ExSet\left( {obj} \right)} \right\} \end{array} $ | (7) |
其中, triEx(t)表示t的某种语义角度下的扩展集合, s、p和o分别为sub、pre和obj的扩展集合中的任意一个元素。式(7)表明, 基于问题三元组中主语、谓语和宾语的一个语义扩展词, 可以得到该三元组的语义扩展集合。
问题三元组的扩展结果也是一个三元组。一个问题三元组扩展结果中主语、谓语和宾语的正确性共同决定该问题三元组扩展结果的正确性。只有当一个问题三元组的扩展结果中的主语、谓语和宾语都正确时, 此扩展结果才是正确的。式(8)用于判断问题三元组的扩展结果的正确性。
$ \begin{array}{l} \forall \left( {t = < sub,pre,obj > } \right) \cdot \forall \left( {t2 = < s,p,o > } \right) \cdot \\ \;\;\;\;\;\;\;\;\left( {isEx\left( {sub,s} \right) \wedge isEx\left( {pre,p} \right) \wedge } \right.\\ \;\;\;\;\;\;\;\;\left. {isEx\left( {obj,o} \right) \to isEx\left( {t,t2} \right)} \right) \end{array} $ | (8) |
其中, 三元组t2=<s, p, o>是问题三元组t=<sub, pre, obj>的一个语义扩展结果, isEx(sub, s)表示s是sub的一个正确扩展结果。式(8)表明, 只有当s、p和o分别是sub、pre和obj的一个正确的扩展结果时, t2才是t的一个正确的扩展结果。
例如, 问题三元组<Ludwig van Beethoven, die, ?when>(它的查询意图是“When did Ludwig van Beethoven die?”)基于WordNet的同义词扩展结果有:
结果1 <Beethoven, perish, ?when>
结果2 <van Beethoven, pass away, ?when>
结果3 <van Beethoven, expire, ?when>
其中, “Beethoven”和“van Beethoven”是“Ludwig van Beethoven”的正确扩展词汇, “perish”和“pass away”是“die”的正确扩展词汇, “expire”是“die”的错误扩展词汇。因此, 结果1和结果2是问题三元组<Ludwig van Beethoven, die, ?when>的正确扩展结果, 而结果3是该三元组的错误扩展结果。
3 实验结果与分析 3.1 基于WordNet的同义词扩展阈值选择为了确定用WordNet进行同义词扩展时同义词的选择, 本文设计了一个实验确定语义阈值。实验数据为QALD[22]问答数据集(简称QALD)中的304个名词(非专有名词)、209个专有名词和102个动词。选择不同的语义阈值时的扩展准确率如图 2所示。其中, NNP_same、NOUN_same和VERB_same分别表示专有名词、名词和动词的同义词扩展结果。Sense N(N=1, 2, …, 8)表示不同语义阈值, 例如, Sense 3表示只保留Sense 1、Sense 2和Sense 3对应的同义词, 而将Sense 4及以后(如果有的话)的同义词过滤。
![]() |
Download:
|
图 2 选择不同语义阈值时的扩展准确率 |
由图 2可知, 当语义阈值由Sense 1逐渐变为Sense 2, Sense 3, …, Sense 8时, NNP_same、NOUN_same和VERB_same这3种情况下的扩展准确率都不断变小。因为一个词以语义Sense 1出现的频率高, 而以Sense 2和Sense 3等出现的频率相对较低。因此, 本文选择Sense 1作为基于WordNet的同义词扩展的语义阈值。
3.2 基于WordNet的上义词扩展和下义词扩展当使用3.1节中的实验数据, 以Sense 1作为语义阈值从WordNet中选择上义词和下义词扩展词汇时, 相应的扩展准确率如表 1所示, 其中, 准确率为正确扩展结果的个数和所有扩展结果的个数之间的比值。
![]() |
下载CSV 表 1 Sense 1上(下)义词扩展的准确率 |
由表 1可知, 当语义阈值为Sense 1时, 上(下)义词扩展的准确率较低, 需要对扩展结果进行筛选。因此, 本文利用相似度计算方法UMBC对扩展结果进行过滤。
1) 基于UMBC对上义词扩展结果的过滤
本文利用相似度计算方法UMBC, 对名词和动词的上义词扩展词汇过滤后, 相应的扩展准确率如图 3、图 4所示。
![]() |
Download:
|
图 3 名词的上义词扩展过滤结果 |
![]() |
Download:
|
图 4 动词的上义词扩展过滤结果 |
由图 3可知, 在相似度阈值从0.5变化为0.9的过程中, 准确率呈逐渐上升趋势, 而召回率和F1值不断变小。阈值0.5和阈值0.6对应较高的F1值且两者差值很小, 后者以更低的召回率为代价得到了更高的准确率。为了使扩展结果尽可能多并且正确, 本文在对名词的上义词扩展结果进行过滤时, 将UMBC阈值设置为0.6。
由图 4可知, 在阈值从0.4变化为0.7的过程中, 准确率呈逐渐上升趋势, 而召回率和F1值呈逐渐下降趋势。阈值0.4和阈值0.5对应较高的F1值且两者差值较小, 但是后者以更低的召回率为代价得到了更高的准确率。因此, 本文在对动词的上义词扩展结果进行过滤时, 将UMBC阈值设置为0.5。
2) 基于UMBC对下义词扩展结果的过滤
本文利用UMBC方法对名词和动词的下义词扩展词汇过滤后, 相应的扩展准确率如图 5、图 6所示。
![]() |
Download:
|
图 5 名词的下义词扩展过滤结果 |
![]() |
Download:
|
图 6 动词的下义词扩展过滤结果 |
由图 5可知, 在阈值从0.3变化为0.5的过程中, 准确率、召回率和F1的变化趋势都很缓和。在阈值从0.5变化为0.8的过程中, 阈值0.5和阈值0.6对应较高的F1值且两者差值很小, 后者以更低的召回率为代价得到了更高的准确率。为了使扩展结果尽可能多并且正确, 本文在对名词的下义词扩展结果进行过滤时, 将UMBC阈值设置为0.6。
由图 6可知, 在阈值从0.3变化为0.8的过程中, 准确率主要呈逐渐上升趋势, 而召回率和F1值不断变小。阈值0.3、0.4和0.5所对应的F1值相近, 但是阈值0.5以更低的召回率为代价得到了更高的准确率。为了使扩展结果尽可能多并且正确, 本文在过滤动词的下义词扩展结果时, 将UMBC阈值设置为0.5。
3.3 基于Microsoft Concept Graph的语义扩展 3.3.1 专有名词的上义词扩展为了使用Top1近邻选择函数为专有名词从Microsoft Concept Graph选择上义词扩展词汇, 本文设计实验为该函数的参数K和α设置合适的数值。实验数据为QALD中的209个专有名词和其基于Microsoft Concept Graph获得的上义词扩展结果。实验结果如表 2所示, 其中, 准确率表示在每一种K和α所确定的Top1近邻选择函数下, 正确扩展词的个数和所有扩展词的个数之间的比值。
![]() |
下载CSV 表 2 不同参数条件下的扩展准确率 |
由式(5)可知, 当K=1.0时, 只有α=0, Top1近邻选择函数才有意义, 所以α为其他取值时没有给出实验结果。由表 2可知, 在K的取值由0.2变化为0.8时, 准确率逐渐增加; 当K的取值由0.8增加到0.9时, 准确率略微减小。并且, 在相同的K值下, α的取值较大时, 准确率比较高; 当K=0.8且α=1时准确率达到最大值。因此, 基于Microsoft Concept Graph对专有名词进行上义词扩展时, Top1近邻选择函数为式(9):
$ 0.8 \times scor{e_1} + 1 \le scor{e_i},i \ge 2 $ | (9) |
在基于Microsoft Concept Graph对专有名词进行下义词扩展时, 扩展结果的准确率过低。所以, 本文不使用Microsoft Concept Graph对专有名词进行下义词扩展。
3.3.2 名词的上义词扩展为了使用Top N&相关度数值选择函数为名词从Microsoft Concept Graph选择上义词扩展词汇, 本文设计一个实验确定该函数中的参数。实验数据为QALD中的304个名词, 其上义词扩展结果如表 3所示, 其中, TopN表示保留相关度数值较大的N个上义词扩展结果, 准确率表示TopN上义词中正确扩展结果的个数与N的比值。
![]() |
下载CSV 表 3 上义词扩展的准确率 |
由表 3可知, 6种情况下的扩展准确率整体偏低, 且N=1时的准确率相对最高。因此, 本文只保留Top1相关度数值所对应的上义词。因为使用Top1相关度数值所对应的上义词进行扩展时, 准确率较低(34.42%), 本文对扩展结果进行过滤以提高准确率。
对于名词在Microsoft Concept Graph中的Top1相关度数值对应的上义词, 本文设计了3种过滤方法:
方法1 筛去上义词为某些抽象概念(如concept和case)的扩展结果。
方法2 筛去上义词为名词词组的扩展结果。
方法3 去除上义词为某些抽象概念或者名词词组的扩展结果。
使用这3种方法过滤上一个实验中Top1相关度数值对应的扩展结果, 对应的准确率如表 4所示。
![]() |
下载CSV 表 4 过滤名词的上义词扩展结果准确率 |
由表 4可知, 方法3所对应的准确率最高。因此, 本文使用方法3对名词从Microsoft Concept Graph得到上义词扩展结果进行过滤。基于方法3过滤后的准确率仍然较低(37.11%), 为了进一步提高准确率, 本文设计了一个实验, 对扩展结果再次进行过滤。在实验中, 为名词和其上义词之间的相关度数值设置不同的阈值, 其结果如表 5所示。
![]() |
下载CSV 表 5 选择不同相关度数值阈值时上义词扩展的准确率 |
由表 5可知, 在阈值从10变化到50的过程中, 准确率逐渐变高; 在阈值从50变化到80的过程中, 准确率逐渐变低; 在阈值为50时, 准确率达到最大值。因此, 名词和其上义词之间的相关度数值的阈值设置为50。
根据上述为名词从Microsoft Concept Graph中选择上义词而设计的3个实验, 可以得出结论:先选择Top1相关度数值对应的上义词, 再根据方法3对其过滤, 最后仅保留相关度数值大于50所对应的上义词作为扩展词。即, 结合过滤方法3和式(10)所示的Top N&相关度数值函数, 为名词从Microsoft Concept Graph选择上义词扩展词汇。
$ rank\left( {ex} \right) \le 1{\rm{\& }}score\left( {ex} \right) \ge 50 $ | (10) |
为了使用Top N&相关度数值选择函数为名词从Microsoft Concept Graph选择下义词扩展词汇, 本文设计实验确定该函数中的参数。首先对QALD中的304个名词在Microsoft Concept Graph中的下义词扩展结果进行分析, 结果如图 7所示, 其中, 准确率表示每种情况下304个名词的下义词扩展结果的平均准确率。
![]() |
Download:
|
图 7 基于Microsoft Concept Graph的下义词扩展准确率 |
由图 7可知, 在相关度数值所阈值从10变化为70的过程中, Top1、Top2和Top3的准确率呈上升趋势, 并且Top1对应的准确率最高; 在相关度数值所阈值从70变化为100的过程中, Top1、Top2和Top3的准确率继续呈上升趋势, 此时Top3对应的准确率最高。由此可以得出结论:在基于Microsoft Concept Graph对名词进行下义词扩展时, 相关度数值的阈值设置为100, 并且只保留相关度数值较高的3个下义词, 即所采用的Top N&相关度数值函数如式(11)所示。
$ rank\left( {ex} \right) \le 3~\& score\left( {ex} \right) \ge 100 $ | (11) |
为了评估本文方法对问题三元组的扩展效果, 本文设计了一个实验。实验数据为QALD中的100个问题所对应问题三元组, 其扩展结果如图 8所示。其中, wn_same、wn_up和wn_low分别表示基于WordNet对问题三元组的同义词扩展、上义词扩展和下义词扩展, cg_con和cg_ins分别表示基于Microsoft Concept Graph对问题三元组的上义词扩展和下义词扩展, all_num和yes_num分别表示在每种扩展情况下, 100个问题所对应的问题三元组的扩展结果的平均个数和正确扩展结果的平均个数。
![]() |
Download:
|
图 8 问题三元组扩展的评估结果 |
由图 8可知, 在wn_same和wn_low情况下, all_num和yes_num的之间的差值相对较大, 因为基于WordNet对查询术语进行同义词扩展时没有对扩展结果进行过滤; 而在下义词扩展时扩展结果的个数比较多但准确率不足够高。在5种情况下, 问题三元组的扩展结果的平均准确率均大于83%, 因此, 本文中所提出的语义查询扩展方法对问题三元组的扩展效果比较好。
4 结束语本文提出一种语义查询扩展方法, 基于WordNet和Microsoft Concept Graph对问题三元组中的查询术语进行同义词、上义词或下义词等不同语义角度的扩展, 并对每种语义角度下的扩展结果设计不同的过滤策略, 根据查询术语的语义词扩展结果, 实现对问题三元组的语义扩展。实验结果表明, 本文方法可以有效地实现对问题三元组的扩展。考虑到本文方法对动词的扩展效果较差, 因此下一步将设计基于其他第三方库的动词扩展策略, 并对扩展结果的过滤方法进行改进。此外, 根据问题三元组中查询术语的标记信息(如NER标记和POS标记)及其扩展词标记信息的一致性, 优化问题三元组扩展结果的筛选方法, 以提高问题三元组同义词扩展和下义词扩展的准确率。
[1] |
CUI Wanyun, XIAO Yanghua, WANG Wei.KBQA: an online template based question answering system over freebase[C]//Proceedings of International Joint Conference on Artificial Intelligence.Cambridge, USA: AAAI Press, 2016: 4240-4241.
( ![]() |
[2] |
FELLBAUM C. WordNet[M]. Hoboken, USA: Blackwell Publishing Ltd., 2012.
( ![]() |
[3] |
石杰, 周兰江, 线岩团, 等. 基于WordNet的中泰文跨语言文本相似度计算[J]. 中文信息学报, 2016, 30(4): 65-70. ( ![]() |
[4] |
WU Wentao, LI Hongsong, WANG Haixun, et al.Probase: a probabilistic taxonomy for text understanding[C]//Proceed-ings of ACM International Conference on Management of Data.New York, USA: ACM Press, 2012: 481-492.
( ![]() |
[5] |
WANG Zhongyuan, WANG Haixun, WEN Jirong, et al.An inference approach to basic level of categorization[C]//Proceedings of ACM International Conference on Information and Knowledge Management.New York, USA: ACM Press, 2015: 653-662. https://dl.acm.org/citation.cfm?doid=2806416.2806533
( ![]() |
[6] |
李舟军, 李水华. 基于Web的问答系统综述[J]. 计算机科学, 2017, 44(6): 1-7. ( ![]() |
[7] |
BHOGAL J, MACFARLANE A, SMITH P. A review of ontology based query expansion[M]. New York, USA: Pergamon Press Inc., 2007.
( ![]() |
[8] |
WEI Xing, PENG Fuchun, DUMOULIN B.Analyzing Web text association to disambiguate abbreviation in queries[C]//Proceedings of International ACM SIGIR Conference on Research and Development in Information Retrieval.New York, USA: ACM Press, 2008: 751-752. https://www.mendeley.com/catalogue/analyzing-web-text-association-disambiguate-abbreviation-queries/
( ![]() |
[9] |
OH H S, JUNG Y, KIM K Y.A multiple-stage approach to re-ranking medical documents[C]//Proceedings of International Conference of the Cross-Language Evaluation Forum for European Languages.Cham, Switzerland: Springer, 2015: 166-177. https://link.springer.com/chapter/10.1007/978-3-319-24027-5_14
( ![]() |
[10] |
LIU Jie, CHEN Jimeng, ZHANG Yi, et al.Learning conditional random fields with latent sparse features for acronym expansion finding[C]//Proceedings of ACM International Conference on Information and Knowledge Management.New York, USA: ACM Press, 2011: 867-872. https://www.mendeley.com/catalogue/learning-conditional-random-fields-latent-sparse-features-acronym-expansion-finding/
( ![]() |
[11] |
年梅, 张兰芳. 维吾尔文网络查询扩展词的构建研究[J]. 计算机工程, 2015, 41(4): 187-189. DOI:10.3969/j.issn.1000-3428.2015.04.035 ( ![]() |
[12] |
DERCZYNSKI L, WANG Jun, GAIZAUSKAS R, et al.A data driven approach to query expansion in question answering[C]//Proceedings of the 2nd Workshop on Information Retrieval for Question Answering.Vancouver, Canada: ACL, 2008: 34-41. http://www.oalib.com/paper/4031199
( ![]() |
[13] |
AL-CHALABI H, RAY S, SHAALAN K.Semantic based query expansion for Arabic question answering systems[C]//Proceedings of the 1st International Conference on Arabic Computational Linguistics.Boston, USA: IEEE Press, 2016: 127-132. https://ieeexplore.ieee.org/document/7422290/
( ![]() |
[14] |
DAMIANO E, MINUTOLO A, SILVESTRI S, et al.Query expansion based on wordnet and word2vec for Italian question answering systems[C]//Proceedings of Advances on P2P, Parallel, Grid, Cloud and Internet Computing.Cham, Switzerland: Springer, 2018: 301-313. https://link.springer.com/chapter/10.1007%2F978-3-319-69835-9_29
( ![]() |
[15] |
ABOUENOUR L, BOUZOUBAA K, ROSSO P.IDRAAQ: new Arabic question answering system based on query expansion and passage retrieval[C]//Proceedings of CLEF 2012 Conference and Labs of the Evaluation Forum.Cham, Switzerland: Springer, 2012: 17-20.
( ![]() |
[16] |
BILOTTI M W, KATZ B, LIN J.What works better for question answering: stemming or morphological query expansion[C]//Proceedings of the Information Retrieval for Question Answering Workshop at SIGIR 2004.Berlin, Germany: Springer, 2004: 1-7.
( ![]() |
[17] |
QIU Yonggang, FREI H P.Concept based query expansion[C]//Proceedings of International ACM SIGIR Conference on Research and Development in Information Retrieval.New York, USA: ACM Press, 1993: 160-169.
( ![]() |
[18] |
SINGH J, PRASAD M, DARAGHMI Y A, et al.Fuzzy logic hybrid model with semantic filtering approach for pseudo relevance feedback-based query expansion[C]//Proceedings of 2017 IEEE Symposium Series on Computational Intelligence.Boston, USA: IEEE Press, 2017: 1-7.
( ![]() |
[19] |
SIRENKO A, CHERKASOVA G, PHILIPPOVICH Y, et al.Cognitive semiotic model for query expansion in question answering[C]//Proceedings of Analysis of Images, Social Networks and Texts.Cham, Switzerland: Springer, 2014: 222-228. https://link.springer.com/chapter/10.1007/978-3-319-12580-0_23
( ![]() |
[20] |
MANNING C D, SURDEANU M, BAUER J, et al.The stanford CoreNLP natural language processing toolkit[C]//Proceedings of the Association for Computational Linguistics: System Demonstrations.Vancouver, Canada: ACL, 2014: 55-60.
( ![]() |
[21] |
HAN Lushan, KASHYAP A L, FININ T, et al.UMBC EBIQUITY-CORE: semantic textual similarity systems[C]//Proceedings of the 2nd Joint Conference on Lexical and Computational Semantics.New York, USA: ACM Press, 2013: 44-52.
( ![]() |
[22] |
FREITAS A, CIMIANO P. An introduction to question answering over linked data[M]. Berlin, Germany: Springer, 2014.
( ![]() |