一种基于问题主题和焦点的问题相似度计算方法
【技术领域】
[0001] 本发明涉及了一种问题相似度计算方法,尤其涉及了一种基于问题主题和焦点的 问题相似度计算方法。
【背景技术】
[0002] 随着互联网的迅速发展,人们获取信息和知识的途径越来越多样化,基于常问问 题集(FAQ)的问答系统便是其中一个有效的方式。问题相似度计算的研宄对基于常问问题 集问答系统具有很重要的意义,而问题相似度计算的准确率对问答系统性能也有很重要的 作用。那么如何提高问题相似度计算的准确率自然地成为了当前研宄的热点。
[0003]目前问题相似度的计算主要分为四种方法:基于单词统计信息检索模型的方法; 基于语义词典的计算方法;基于大规模文档集的计算方法;基于编辑距离的计算方法。
[0004] TF-IDF方法基于单词词频的统计信息计算问题之间的相似度,不需要对语句进行 深度的理解。由于问题长度很短,导致特征向量稀疏,因此TF-IDF对于问题相似度计算的 效果并不是很好。
[0005] 基于语义词典的方法将问题文本分成一系列的单词,基于语义词典去计算单词之 间的相似度,然后基于单词的相似度去计算问题之间的相似度。对于英文,常用的语义词典 有WordNet,对于中文,常用的语义词典是HowNet。基于语义词典的相似度计算方法有使用 简单,计算快速等优点。但是也有两个明显的缺点:语义词典不可能包含所有的单词;有的 是一词多意,导致不好选择哪个意思去做单词相似度计算。
[0006] 基于大规模文档集进行统计的方法是近些年研宄比较多的计算短文本相似度的 方法之一。DeerwesterSC提出的latentSemanticAnalysis(LSA)就是一种流行的基于 文本集的相似度计算方法。通过LSA方法计算问题相似度也有一些问题。例如,用户输入的 问题包含了一些不在语义空间的新词,另外由于构造的概念空间是固定的,因此表示问题 的向量的维度也是固定的,可能会导致描述问题的向量非常稀疏,影响计算相似度的精度。
[0007] 编辑距离最初处理的是不考虑语义的字符,它在字符串相似度计算、数据清理、 拼写检查等众多领域有着广泛的应用。在计算语句相似度方法,也有一定的应用。例如, Leusch等人利用编辑距离计算语句相似度,而且还用于机器翻译。后来又有人提出了将编 辑距离和语义词典相结合的方法。主要内容是:以普通编辑距离算法为基础,采用词作为基 本的编辑单元而不是单个的汉字,然后采用语义距离作为单词之间的替换代价并且赋值插 入、删除和替换三种操作不同的权重。这种方法考虑了词汇的顺序和语义等信息,计算和实 现都比较简单,也能得到不错的效果。但是这些方法都是基于文本的统计属性,不能很好的 体现文本的语义相似度。
【发明内容】
[0008] 本发明是为了克服目前计算问题相似度方法的不足之处,提高问题检索的准确 率,提供一种基于问题主题和焦点的问题相似度计算方法,用于问答系统中计算用户提出 的问题和常问问题集中问题的相似度,对问题回答和常问问题集的更新都有着重要意义和 作用。
[0009] 本发明解决其技术问题采用的技术方案包括以下步骤:
[0010] 1)预处理常问问题集数据:通过自然语言处理工具将问题集数据分词,去除无效 词,记录每个问题所属的类别;
[0011] 2)划分问题的主题和焦点结构:根据分词结果构建词空间,并计算其中每个单词 的specificity得分,根据问题所包含单词的specificity得分大小对单词进行重排序形 成问题的topic链;然后基于最短描述长度的树裁剪模型将目标问题和相关问题的topic 链进行划分,得到每个问题的主题结构和焦点结构;
[0012] 3)基于问题主题和焦点计算问题间的联合相似度:针对目标问题和相关问题的 主题结构,采用语言模型的方法计算联合相似度;针对目标问题和相关问题的焦点结构,采 用基于翻译的语言模型的方法计算联合相似度;最后通过计算上述两个相似度的加权和得 到问题主题和焦点的联合相似度;
[0013] 4)计算问题相似度:基于BTM主题模型计算目标问题和相关问题之间的主题相似 度,通过将主题相似度和步骤3)中计算得出的联合相似度进行加权求和得到最终的问题 相似度。
[0014] 所述的步骤2)包括:
[0015] 2. 1)根据步骤1)中的分词结果构建词空间,并根据问题数据所属类别的统计信 息采用以下公式计算词空间中每个单词的specificity得分,构建计算单词specificity 得分的公式:
[0016] S(w) = 1/ (-EcGCP(cIw)logP(cIw) +e)
[0018] 其中,S(w)表示单词w对应的specificity得分,c表示某一问题的类别,C表示 问题数据所对应的所有类别集合,P(c|w)为单词w在类别c中出现的概率;count(c,w)表 示类别c中单词w出现的次数;e表示平滑系数。
[0019] 2. 2)对于每个问题,根据其分词后每个单词的specificity得分,对该问题的单 词重新排序,得到该问题的topic链;
[0020] 2. 3)将目标问题的topic链及其相关问题的topic链结合在一起,形成一棵问题 树,树的root节点为空;利用基于最短描述长度的树裁剪模型对这棵树进行裁剪,对于一 个树和一种裁剪方法,构建以下公式的树描述长度L(M,S)进行计算:
[0021]L(M,S) =L(r)+L( 9Ir)+L(S|r,0 )
[0022]M= (r,0 )
[0023] r=(Cpc2, ? ? ?,ck)
[0024]0 =[P(Q,P(C2),? ? ?,P(Ck)]
[0025]其中,r表示树经过裁剪过后的节点类别,0表示类别对应的概率分布向量,M表 示r决定的树裁剪模型,S表示样本集,且
,k为类别集合的总数,为类别 Ci对应的概率;
[0026] 选择使得树描述长度最短的一个裁剪方式和一个树裁剪模型M作为划分问题主 题和焦点的方法,对问题树进行裁剪,对应的树枝也会被划分为二,其中靠近根节点root 的部分构成该树枝对应问题的主题结构,剩余部分构成该树枝对应问题的焦点结构。
[0027] 所述的步骤3)包括:
[0028] 3. 1)对于目标问题T和相关问题Q的主题结构部分,基于语言模型计算主题结构 相似度,主题结构相似度采用以下公式计算:
[0031] 其中,Tt和Qt分别表示目标问题T和相关问题Q的主题结构,PM(TtIQt)表示目标 问题T和相关问题Q的主题结构相似度,Pu(w|Qt)为相关问题Q的主题结构Qt生成单词w 的概率,#(w,Qt)表示单词w在相关问题Q的主题结构Qt中出现的次数,#(w,C)为单词w 在类别C中出现的次数,A是Jelinek-Mercer平滑系数;
[0032] 3. 2)对于目标问题T和相关问题Q的焦点结构部分,利用基于翻译的语言模型计 算焦点结构相似度,主题结构相似度采用以下公式计算:
[0035] 其中,P(w|t)表示单词t到单词w的翻译概率,PmM(Tf|Qf)表示目标问题T和相关 问题Q的焦点结构相似度,a表示翻译概率部分所占的权重,PTM(w|Qf)为相关问题Q的焦 点结构%生成单词w的概率,TQf分别表示目标问题T和相关问题Q的焦点结构,# (t, Qf)表示单词t在相关问题Q的焦点结构Qf中出现的次数;# (w,Qf)表示单词w在相关问题Q的焦点结构%中出现的次数;
[0036] 3. 3)在计算了目标问题T和相关问题Q的主题和焦点相似度之后,通过加权求和 的方式计算联合相似度,构建计算联合相似度的
公式:
[0037] DisT&F(T,Q) =tPLM(Tt|Qt) + (l_t)PTRLM(Tf|Qf)
[0038] 其中,DisT&F(T,Q)表示目标问题T和相关问题Q的联合相似度;t表示加权系数。
[0039] 所述的步骤4)包括:
[0040] 4. 1)基于BTM主题模型对问题的问题集数据进行训练得到相应的主题空间和问 题对应的主题向量,利用欧式距离计算得到两个问题之间的主题相似度;
[0041] 4. 2)将通过4. 1)计算得到的目标问题T和相关问题Q的主题相似度和通过得到 的目标问题T和相关问题Q的联合相似度采用以下公式进行加权求和,最终得到目标问题T和相关问题Q之间的问题相似度:
[0042] Dis(T,Q)=yDisT&F(T,Q) + (l-i〇DisTopic(T,Q)
[0043] 其中,y表示加权系数,y= 0. 9 ;DisT&F(T,Q)表示问题T和问题Q之间的联合 相似度,DisT()pic;(T,Q)表示问题T和问题Q之间的主题相似度。
[0044] 所述步骤4. 1)中主题相似度的具体计算过程如下:
[0045] 4. 1. 1)根据问题数据和词典计算词对集合B,词对是指通过预处理之后出现在同 一个文本片段中且无序的两个不同的词,对于问题数据,可以将每个问题看成一个独立的 文本片段,为每个词对随机指定主题进行初始化操作;
[0046] 4. 1.2)根据4. 1. 1)的结果采用以下公式计算词对-主题分布P(z|b):
[0048] 其中,z表示主题,b表示词对,wJPwj表示词对b中的两个单词,P(z)表示主题 z的概率,P(Wi|z)表示主题z下单词力的概率;
[0049] 4. 1. 3)采用以下公式计算问题-词对分布P(b|d):
[0051] 其中,d表示问题,ndW表示问题d中词对b出现的次数;
[0052]4. 1. 4)根据4. 1. 2)和4. 1. 3)的结果采用以下公式计算问题-主题分布:
[0054] 通过如上四个步骤就可将问题的词向量空间映射到由BTM主题模型训练得到的 主题向量空间,得到每个问题在各个主题上的概率分布,从而得到问题的主题向量,向量的 维数等于主题空间中主题的个数;
[0055] 4. 1. 5)最后通过欧式距离计算两个问题的主体向量的距离,以这个距离作为两个 问题之间的主题相似度。
[0056] 所述步骤1)中的自然语言处理工具为fudanNLP、哈工大语言云平台LTP、结巴分 词等工具。通过这些工具将常问问题集数据分词,去除无效词,构建词向量空间,记录每个 问题所属的类别。
[0057] 本发明方法与现有技术相比具有的有益效果:
[0058] 1、该方法利用了问题数据本身的结构特点将问题划分为主题和焦点两个部分,对 问题信息利用更加充分,从而使得问题相似度计算结果更加准确;
[0059] 2、该方法针对问题是短文本数据采用了基于BTM主题模型的方法计算了两个问 题之间的相似度,通过将单词统计信息之外的问题主题信息引入到问题相似度计算,从而 使得问题相似度计算结果更加准确;
[0060] 3、该方法对于问题主题和焦点部分分别采用不同的方法,并通过将单词之间的转 移概率引入到相似度计算中,考虑到了问题之间的语义相似度,从而使得问题相似度计算 结果更加准确。
【附图说明】
[0061] 图1是本发明的总体流程图;
[0062] 图2是步骤2)的流程图;
[0063] 图3是步骤3)的流程图;
[0064] 图4是步骤4)的流程图;
[0065] 图5是实施例形成树结果示意图;
[0066] 图6是实施例剪裁结果示意图;
[0067] 图7是实施例结果部分展示图。
【具体实施方式】
[0068] 如图1所示,本发明方法,包括以下步骤:
[0069] 1)预处理常问问题集数据:通过自然语言处理工具将问题集数据分词,去除无效 词,记录每个问题所属的类别;
[0070] 所述步骤1)中的自然语言处理工具为fudanNLP、哈工大语言云平台LTP、结巴分 词等工具。通过这些工具将常问问题集数据分词,去除无效词,构建词向量空间,记录每个 问题所属的类别。
[0071] 2)划分问题的主题和焦点结构:
[0072] 如图2所示,根据分词结果构建词空间,并计算其中每个单词的specificity得 分,根据问题所包含单词的specificity得分大小对单词进行重排序形成问题的topic链; 然后基于最短描述长度的树裁剪模型将目标问题和相关问题的topic链进行划分,得到每 个问题的主题结构和焦点结构。
[0073]2. 1)根据步骤1)中的分词结果构建词空间,并根据问题数据所属类别的统计信 息采用以下公式计算词空间中每个单词的specificity得分,构建计算单词specificity 得分的公式:
[0074]S(w) =1/(-EcGCP(c|w)logP(c|w) +e)
[0076] 其中,S(w)表示单词w对应的specificity得分,c表示某一问题的类别,C表示 问题数据所对应的所有类别集合,P(c|w)为单词w在类别c中出现的概率;count(c,w)表 示类别c中单词w出现的次数;e表示平滑系数,具体实施中e=0.001。
[0077]2. 2)对于每个问题,根据其分词后每个单词的specificity得分,对该问题的单 词重新排序,得到该问题的topic链;
[0078] 例如得到某个问题q的topic链是根据该问题的单词specificity得分排序而得 到的单词序列w2- . . ? -Wi- . . ? -wn;其中,单词wi包含在问题q中,且1 <i<n; 满足S(wh) >S(Wi),1彡h< 1彡n。由此,问题中specificity得分越低的单词越能代表 问题的焦点,相反,specificity得分越高的单词越能代表问题的主题。
[0079] 2. 3)将目标问题的topic链及其相关问题的topic链结合在一起,形成一棵问题 树,树的root节点为空;
[0080] 利用基于最短描述长度的树裁剪模型对这棵树进行裁剪,可以采用任何一种裁剪 方式进行裁剪,对于每一种裁剪方式都可以计算出该方式下树的描述长度,对于一个树和 一种裁剪方法,构建以下公式的树描述长度L(M,S)进行计算:
[0081]L(M,S) =L(r)+L( 9Ir)+L(S|r,0 )
[0082] M= (T,9 )
[0083] r=(Cpc2, ? ? ?,ck)
[0084] 0 =[P(Q,P(C2),? ??,P(Ck)]
[0085] 其中,r表示树经过裁剪过后的节点类别,0表示类别对应的概率分布向量,M表 示r决定的树裁剪模型,s表示样本集,且
,k为类别集合的总数,为类别 Q对应的概率;
[0086] 选择使得树描述长度最短的一个裁剪方式和一个树裁剪模型M作为划分问题主 题和焦点的方法,对问题树进行裁剪,对应的树枝也会被划分为二,其中靠近根节点root 的部分构成该树枝对应问题的主题结构,剩余部分构成该树枝对应问题的焦点结构。
[0087] 3)基于问题主题和焦点计算问题间的联合相似度:如图3所示,针对目标问题和 相关问题的主题结构,采用语言模型的方法计算联合相似度;针对目标问题和相关问题的 焦点结构,采用基于翻译的语言模型的方
法计算联合相似度;最后通过计算上述两个相似 度的加权和得到问题主题和焦点的联合相似度。
[0088] 3. 1)对于目标问题T和相关问题Q的主题结构部分,基于语言模型计算主题结构 相似度,主题结构相似度采用以下公式计算:
[0091] 其中,Tt和Qt分别表示目标问题T和相关问题Q的主题结构,PM(Tt |Qt)表示目标 问题T和相关问题Q的主题结构相似度,Pu(w|Qt)为相关问题Q的主题结构Qt生成单词w 的概率,#(w,Qt)表示单词w在相关问题Q的主题结构Qt中出现的次数,#(w,C)为单词w 在类别C中出现的次数,A是Jelinek-Mercer平滑系数,具体实施中A= 〇.1 ;
[0092] 3. 2)对于目标问题T和相关问题Q的焦点结构部分,利用基于翻译的语言模型计 算焦点结构相似度,主题结构相似度采用以下公式计算:
[0095] 其中,P(w|t)表示单词t到单词w的翻译概率,PmM(Tf|Qf)表示目标问题T和相关 问题Q的焦点结构相似度,a表示翻译概率部分所占的权重,PTM(w|Qf)为相关问题Q的焦 点结构%生成单词w的概率,TQf分别表示目标问题T和相关问题Q的焦点结构,# (t, Qf)表示单词t在相关问题Q的焦点结构Qf中出现的次数;# (w,Qf)表示单词w在相关问题Q的焦点结构%中出现的次数,# (w,C)为单词w在类别C中出现的次数;
[0096] 3. 3)在计算了目标问题T和相关问题Q的主题和焦点相似度之后,通过加权求和 的方式计算联合相似度,构建计算联合相似度的公式:
[0097]DisT&F (T,Q) =tPLM(Tt |Qt) +(1_t)PTRLM(Tf |Qf)
[0098] 其中,DisT&F(T,Q)表示目标问题T和相关问题Q的联合相似度;t表示加权系数, 具体实施中t = 0. 4。
[0099] 4)计算问题相似度:如图4所示,基于BTM主题模型计算目标问题和相关问题之 间的主题相似度,通过将主题相似度和步骤3)中计算得出的联合相似度进行加权求和得 到最终的问题相似度。
[0100] 4. 1)基于BTM主题模型对问题的问题集数据进行训练得到相应的主题空间和问 题对应的主题向量,利用欧式距离计算得到两个问题之间的主题相似度;
[0101] 4. 1. 1)根据问题数据和词典计算词对集合B,词对是指通过预处理之后出现在同 一个文本片段中且无序的两个不同的词,对于问题数据,可以将每个问题看成一个独立的 文本片段,为每个词对随机指定主题进行初始化操作;然后根据Gibbs抽样的方法计算出 BTM主题模型的参数0和0;
[0102] 4. 1.2)根据4. 1. 1)的结果采用以下公式计算词对-主题分布P(z|b):
[0104] 其中,z表示主题,b表示词对,wJPwj表示词对b中的两个单词,P(z)表示主题 z的概率,P(Wi|z)表示主题z下单词力的概率;
[0105] 4. 1.3)采用以下公式计算问题-词对分布P(b|d):
[0107] 其中,d表示问题,ndW表示问题d中词对b出现的次数;
[0108] 4. 1. 4)根据4. 1. 2)和4. 1. 3)的结果采用以下公式计算问题-主题分布:
[0110] 通过如上四个步骤就可将问题的词向量空间映射到由BTM主题模型训练得到的 主题向量空间,得到每个问题在各个主题上的概率分布,从而得到问题的主题向量,向量的 维数等于主题空间中主题的个数;
[0111] 4. 1. 5)最后通过欧式距离计算两个问题的主体向量的距离,以这个距离作为两个 问题之间的主题相似度。
[0112] 4. 2)将通过4. 1)计算得到的目标问题T和相关问题Q的主题相似度和通过得到 的目标问题T和相关问题Q的联合相似度采用以下公式进行加权求和,最终得到目标问题 T和相关问题Q之间的问题相似度:
[0113]Dis(T,Q)=yDisT&F(T,Q) + (l-i〇DisTopic(T,Q)
[0114] 其中,y表示加权系数,y= 0. 9 ;DisT&F(T,Q)表示问题T和问题Q之间的联合 相似度,DisT()pic;(T,Q)表示问题T和问题Q之间的主题相似度。
[0115] 下面结合本发明的方法详细说明本实例实施的具体步骤,如下:
[0116] (1)实例采用的数据集均来自数字图书馆中问答类型的图书。本实例一共从图书 工程科教类图书资源中抽取了 610本问答类图书,共计137888条问题集。问题涉及类别: 农业、生物、化工、计算机、电子、机械制造、航空航天、医药、自动化等,共25个大类别。经过 步骤1)的预处理得到词表大小为54074的词空间。
[0117] (2)根据(1)中信息,计算词空间中每个单词的specificity得分,然后按照问 题的分词结果中每个单词的specificity得分从高到低对单词进行重排序,形成了问题的 topic链。以问题"电脑总是死机,是什么原因? "为例,它的分词结果为"电脑总是死机什么 原因",通过计算每个电磁的specificity得分并排序得到的topic链为"电脑- >死机-> 总是- >原因- >什么"。采用上述方式将目标问题的topic链和相关问题的topic链结 合形成问题树。以问题"电脑总是死机,是什么原因?"、"电脑的工作原理是怎样的?"、"电 脑的主要组成部分有哪些? "这三个问题为例,他们形成的问题树如附图5所示。
[0118] (3)基于最短描述长度的树裁剪方法对(2)中得到的问题树进行裁剪,裁剪之后 问题树中对应的树枝也会被划分为二,其中靠近根节点root的那部分代表该树枝对应问 题的主题结构,另外一部分代表该树枝对应问题的焦点结构。以附图5的树为例,最后的裁 剪结果为附图6所示。在分隔线上方的为问题的主题结构,下方的为问题焦点结构。例如, 问题"电脑总是死机,是什么原因?"的主题结构为(电脑、死机),焦点结构为(总是、原因、 什么)。
[0119] (4)基于语言模型对(3)中得到的问题主题结构部分进行相似度计算;采用公开 的相似问题对集合作为平行语料库,然后利用翻译模型训练出单词之间转移概率以便在基 于翻译的语言模型使用。利用基于翻译的语言模型对(3)中得到的问题焦点结构部分进行 相似度计算。最后,将问题主题结构部分相似度和问题焦点结构部分相似度进行加权求和 得到联合相似度。
[0120] (5)基于BTM语言模型将问题的词向量转换为主题空间中的主题特征向量,基于 此向量利用欧式距离计算两个问题之间的主题相似度。
[0121] (6)将(4)中计算得到的联合相似度和(5)中计算得到的主题相似度进行加权求 和,最终得到两个问题之间的问题相似度,并返回。
[0122] 本实例的运行结果:通过
[email protected]和NDCGOk两种评价指标将本发明所使用的方法和传 统的基于向量空间模型(VSM)和语言模型(LM)的问题相似度计算方法进行比较。其中
[email protected] k的结果如附图7所示。NDCGOk的结果如下表所示:
[0124] 对比可以看出,本方法在问题相似度计算的准确度上明显目前的问题相似度计算 方法的准确度。这种基于问题主题和焦点的问题相似度计算方法有良好的使用价值和应用 前景。
【主权项】
1. 一种基于问题主题和焦点的问题相似度计算方法,其特征在于包括以下步骤: 1) 预处理常问问题集数据:通过自然语言处理工具将问题集数据分词,去除无效词, 记录每个问题所属的类别; 2) 划分问题的主题和焦点结构:根据分词结果构建词空间,并计算其中每个单词的 specifi
city得分,根据问题所包含单词的specificity得分大小对单词进行重排序形成 问题的topic链;然后基于最短描述长度的树裁剪模型将目标问题和相关问题的topic链 进行划分,得到每个问题的主题结构和焦点结构; 3) 基于问题主题和焦点计算问题间的联合相似度:针对目标问题和相关问题的主题 结构,采用语言模型的方法计算联合相似度;针对目标问题和相关问题的焦点结构,采用基 于翻译的语言模型的方法计算联合相似度;最后通过计算上述两个相似度的加权和得到问 题主题和焦点的联合相似度; 4) 计算问题相似度:基于BTM主题模型计算目标问题和相关问题之间的主题相似度, 通过将主题相似度和步骤3)中计算得出的联合相似度进行加权求和得到最终的问题相似 度。2. 根据权利要求1中所述的基于问题主题和焦点的问题相似度计算方法,其特征在于 所述的步骤2)包括: 2. 1)根据步骤1)中的分词结果构建词空间,并根据问题数据所属类别的统计信息采 用以下公式计算词空间中每个单词的specificity得分,构建计算单词specificity得分 的公式: S (w) = 1/ (- Σ c e CP (c I w) IogP (c I w) + ε )其中,S(w)表示单词w对应的specificity得分,c表示某一问题的类别,C表示问题 数据所对应的所有类别集合,P (c |w)为单词w在类别c中出现的概率;count (c,w)表示类 别c中单词w出现的次数;ε表示平滑系数。 2. 2)对于每个问题,根据其分词后每个单词的specificity得分,对该问题的单词重 新排序,得到该问题的topic链; 2. 3)将目标问题的topic链及其相关问题的topic链结合在一起,形成一棵问题树,树 的root节点为空;利用基于最短描述长度的树裁剪模型对这棵树进行裁剪,对于一个树和 一种裁剪方法,构建以下公式的树描述长度L(M,S)进行计算: L (M, S) = L ( Γ ) +L ( θ I Γ ) +L (S I Γ , Θ ) M= 0-, Θ ) Γ = (C1, C2,…,Ck) Θ = [P(C1)1P(C2), - ,P(Ck)] 其中,Γ表示树经过裁剪过后的节点类别,Θ表示类别对应的概率分布向量,M表示Γ 决定的树裁剪模型,S表示样本集,且Pq=I,k为类别集合的总数,Pei为类别Ci对应 的概率; 选择使得树描述长度最短的一个裁剪方式和一个树裁剪模型M作为划分问题主题和 焦点的方法,对问题树进行裁剪,对应的树枝也会被划分为二,其中靠近根节点root的部 分构成该树枝对应问题的主题结构,剩余部分构成该树枝对应问题的焦点结构。3.根据权利要求1中所述的基于问题主题和焦点的问题相似度计算方法,其特征在于 所述的步骤3)包括: 3. 1)对于目标问题T和相关问题Q的主题结构部分,基于语言模型计算主题结构相似 度,主题结构相似度采用以下公式计算:其中,Tt和Qt分别表示目标问题T和相关问题Q的主题结构,P ^1(TtIQt)表示目标问题 T和相关问题Q的主题结构相似度,PM(w|Qt)为相关问题Q的主题结构Qt生成单词w的概 率,#(w,Qt)表示单词w在相关问题Q的主题结构Qt中出现的次数,#(w,C)为单词w在类 别C中出现的次数,λ是Jelinek-Mercer平滑系数; 3. 2)对于目标问题T和相关问题Q的焦点结构部分,利用基于翻译的语言模型计算焦 点结构相似度,主题结构相似度采用以下公式计算:其中,P(w|t)表示单词t到单词w的翻译概率,PTM(Tf|Qf)表示目标问题T和相关问 题Q的焦点结构相似度,α表示翻译概率部分所占的权重,PTM(w|Qf)为相关问题Q的焦点 结构%生成单词w的概率,T Q f分别表示目标问题T和相关问题Q的焦点结构,# (t,Q f) 表示单词t在相关问题Q的焦点结构%中出现的次数;# (w,Q f)表示单词w在相关问题Q 的焦点结构Qf中出现的次数; 3. 3)在计算了目标问题T和相关问题Q的主题和焦点相似度之后,通过加权求和的方 式计算联合相似度,构建计算联合相似度的公式: DisT&F(T, Q) = τ Plm(Tt I Qt)+ (I-τ )Ptelm(Tf I Qf) 其中,DisT&F(T,Q)表示目标问题T和相关问题Q的联合相似度;τ表示加权系数。4. 根据权利要求1中所述的基于问题主题和焦点的问题相似度计算方法,其特征在于 所述的步骤4)包括: 4. 1)基于BTM主题模型对问题的问题集数据进行训练得到相应的主题空间和问题对 应的主题向量,利用欧式距离计算得到两个问题之间的主题相似度; 4. 2)将通过4. 1)计算得到的目标问题T和相关问题Q的主题相似度和通过得到的目 标问题T和相关问题Q的联合相似度采用以下公式进行加权求和,最终得到目标问题T和 相关问题Q之间的问题相似度: Dis(TjQ)= yDisT8[F(T, Q)+ (1-μ ) Dislopic (T, Q) 其中,μ表示加权系数,μ =0.9 ;Disw(T,Q)表示问题T和问题Q之间的联合相似 度,DisT()pic;(T,Q)表示问题T和问题Q之间的主题相似度。5. 根据权利要求4中所述的基于问题主题和焦点的问题相似度计算方法,其特征在 于:所述步骤4. 1)中主题相似度的具体计算过程如下: 4. I. 1)根据问题数据和词典计算词对集合B,词对是指通过预处理之后出现在同一个 文本片段中且无序的两个不同的词,对于问题数据,可以将每个问题看成一个独立的文本 片段,为每个词对随机指定主题进行初始化操作; 4. 1. 2)根据4. I. 1)的结果采用以下公式计算词对-主题分布P (z I b):其中,z表示主题,b表示词对,wJP w j表示词对b中的两个单词,P(Z)表示主题z的 概率,P (Wi I z)表示主题z下单词&的概率; 4. 1.3)采用以下公式计算问题-词对分布P (b|d):其中,d表示问题,nd(b)表示问题d中词对b出现的次数; 4. 1.4)根据4. 1.2)和4. 1.3)的结果采用以下公式计算问题-主题分布:通过如上四个步骤就可将问题的词向量空间映射到由BTM主题模型训练得到的主题 向量空间,得到每个问题在各个主题上的概率分布,从而得到问题的主题向量,向量的维数 等于主题空间中主题的个数; 4. 1. 5)最后通过欧式距离计算两个问题的主体向量的距离,以这个距离作为两个问题 之间的主题相似度。6. 根据权利要求1中所述的基于问题主题和焦点的问题相似度计算方法,其特征在 于:所述步骤1)中的自然语言处理工具为fudanNLP、哈工大语言云平台LTP、结巴分词等工 具。通过这些工具将常问问题集数据分词,去除无效词,构建词向量空间,记录每个问题所 属的类别。
【专利摘要】本发明公开了一种基于问题主题和焦点的问题相似度计算方法。利用分词工具对问题数据进行分词等基本的预处理,在此基础上基于最短描述长度的树裁剪模型将每个问题划分成问题主题和问题焦点;针对两个问题的主题结构和焦点结构分别采用语言模型和基于翻译的语言模型计算相似度得分,并通过加权求和得到联合相似度;采用基于BTM主题模型的方法计算两个问题之间的主题相似度,两个相似度最后通过加权求和得到最终的问题相似度。本发明将问题的结构特征和主题信息引入到问题相似度计算当中,对问题信息利用更加充分,通过将单词统计信息之外的问题主题信息引入到问题相似度计算,提高了问题相似度计算的准确率。
【IPC分类】G06F17/27
【公开号】CN104899188
【申请号】CN201510270876
【发明人】鲁伟明, 余瑶, 吴江琴, 庄越挺
【申请人】浙江大学
【公开日】2015年9月9日
【申请日】2015年5月25日