CN109948143A - 社区问答系统的答案抽取方法 - Google Patents
社区问答系统的答案抽取方法 Download PDFInfo
- Publication number
- CN109948143A CN109948143A CN201910074888.6A CN201910074888A CN109948143A CN 109948143 A CN109948143 A CN 109948143A CN 201910074888 A CN201910074888 A CN 201910074888A CN 109948143 A CN109948143 A CN 109948143A
- Authority
- CN
- China
- Prior art keywords
- similarity
- word
- sentence
- question
- vector
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
Abstract
本发明涉及社区问答系统的答案抽取方法,首先对问答数据集做分词、去停用词预处理;然后选择词义相似性方案,设定阈值执行同、近义词归一化;再基于问题分类和公共成分移除计算平滑逆频相似度并排序,选取语义最接近的k个候选问题;继而考虑字级别特征、依存金字塔特征对k个候选问句计算相似度并排序,即:基于字向量计算相似度对候选问句排序,对候选问句按综合依存相似度排序;最后以排名与数值综合权衡选取最佳答案。采用问题分类策略,缩小后续计算的范围;在句子层面去除数据集的公共成分且采用平滑逆频相似度作为排序基准,精准筛选前k个候选问题;更高效、准确地在社区问答数据中确定语义最接近的问题,提高答案抽取的效率与准确率。
Description
技术领域
本发明涉及一种社区问答系统的答案抽取方法,属于自动问答技术领域。
背景技术
自动问答是利用计算机自动回答用户所提出的问题以满足用户知识需求的任务,根据目标数据源不同可以分为检索式问答、社区问答和知识库问答三大类。自动社区问答系统在回答用户问题时,需要正确理解用户所提的自然语言问题,抽取其中的关键语义信息,然后在已有语料库、知识库或问答库中通过检索、匹配、推理的手段获取答案并返回给用户。
对社区问答来说,核心问题是从大规模历史问答对数据中找出与用户提问问题语义相似的历史问题并将其答案返回给提问用户。针对这一问题,传统的信息检索模型(如向量空间模型、语言模型等)都可以得到应用。但社区问答的特点在于:用户问题和已有问句都比较短,用户问题和历史问句之间存在“词汇鸿沟”,基于关键词匹配的传统检索模型很难达到较好的准确度。
目前,主流研究工作都采用文本相似度的度量来对候选问题排序。当前文本相似度计算方法利用了词频、词序、编辑距离、词语相似度、依存句法等工具或思路提取句子在不同层面的语义特征,力求在历史问答库中找到与用户当前提问最接近的问题。但大多数文本相似度方法主要针对陈述型句子,在句子长度较长、成分完整时效果尚可,但在计算短问句之间的相似度时效果不佳,因此绝大部分文本相似性方法不适合于社区问答系统答案抽取使用。
发明内容
本发明的目的是克服现有技术存在的不足,提供一种社区问答系统的答案抽取方法。
本发明的目的通过以下技术方案来实现:
社区问答系统的答案抽取方法,特点是:包括以下步骤:
1)对问答数据集做分词、去停用词预处理;
2)选择词义相似性方案,设定阈值执行同、近义词归一化;
3)基于问题分类和公共成分移除计算平滑逆频相似度并排序,选取语义最接近的k个候选问题;
4)考虑字级别特征、依存金字塔特征对k个候选问句计算相似度并排序,即:
a、基于字向量计算相似度对候选问句排序;
b、对候选问句按综合依存相似度排序;
5)以排名与数值综合权衡选取最佳答案。
进一步地,上述的社区问答系统的答案抽取方法,其中,步骤1),利用分词方法或工具对问答数据集做分词预处理,所述分词方法是基于词典的最大匹配方法、全切分路径选择方法、基于字序列标注的方法或基于转移的分词方法,所述分词工具是开源工具或闭源分词工具,分词工具提供多种分词算法与策略供用户选择,支持添加自定义词典、新词发现。
进一步地,上述的社区问答系统的答案抽取方法,其中,步骤1),去停用词预处理按照公开的或者自建的停用词表,去除不含实际意义的虚词、标点、特殊符号。
进一步地,上述的社区问答系统的答案抽取方法,其中,步骤2),对于词义特别接近的词语,可认为语义是一致的,将同义与近义词进行归一化;
词语语义的度量方式是词向量的余弦值或欧式距离,或在语义知识库中计算;
阈值根据词义度量方法和实际需要设定。
进一步地,上述的社区问答系统的答案抽取方法,其中,步骤3),首先对问句进行领域分类,利用已训练好的词向量,通过转换操作获取句子在语义空间的向量表征,然后在同一领域类别的问句中进行公共成分移除,获取句子向量表征之后通过向量点积计算语义相似度并降序排列,筛选相似度最高的k个候选问题。
进一步地,上述的社区问答系统的答案抽取方法,其中,包括以下步骤:
S21:按类别组织问题库,确定当前问题的计算范围:具体类别组织方式因实际业务场景而定,任何场景可按照若干个话题进行归类,问题库按类别组织是事先一次性完成的,不需要每次计算时重新执行;
通过带有类别标签的问题库,通过机器学习方法构建分类器,对新接到的问题归类,得到当前问句属于各个类别的概率;将概率最高的N类问题集合作为后续计算范围,N取1~5之间的整数;
S22:根据词频确定词语的权重:词频来源方面,采用开放的大规模语料结合业务的问答语料,综合统计得到;将计算后的词权重保存到文件或数据库中备查;
对单词的加权,语料中出现频繁的词,其携带的有效语义信息少,给其赋予权重就小;反之则权重大;单词w的权重ω根据公式(1)计算:
其中,P(w)是单词w在语料中出现的概率,词频除以语料中总词数;ɑ为平滑调节因子;ɑ取值在0.0001~0.001;
S23:选定参与计算的词向量表征方案:词向量方案选择word2vec、GloVe或者自定义的方案;词向量的维度决定语句向量计算所在的语义空间维度,在50~300维;
S24:平滑逆频加权计算句子初始向量:对于语句数据集中每个句子S,执行:
假设S中包含w1,w2……wn共n个词,按照公式(2)计算初始向量V0;
其中ωi表示第i个词的权重,Vwi表示第i个词的词向量;
S25:对数据集矩阵执行常见成分移除:对于步骤S24计算得到的一系列问句向量组成的矩阵X,常见成分包含语法结构与停用词的信息;
首先对矩阵X进行奇异值分解,X=U·Sigma·VT,得到VT与V;
当分解参数设为1时,VT看作X的第一主成分,是需要移除的分量所在方向;
然后按照公式(3)对常见成分进行去除,得到新的矩阵X’,其中每一行即为语句数据集中各句子最终的向量表征;
X’=X-X·V·VT 公式(3)
其中VT是奇异值分解的成分之一,V是VT的转置矩阵;
S26:计算当前问句与S21范围内问句的平滑逆频相似度,按降序排列并取前k个作为候选问题:根据步骤S25得到的X’两个句子S1、S2的向量V1、V2,按照公式(4)计算两个句子的向量相似度;
Simv(S1,S2)=unit(V1)·unit(V2) 公式(4)
其中,unit(Vec)是将向量转换为单位向量的函数;
将待计算的句子按照与当前问句的向量相似度从大到小排序,保留前k个问题作为重点疑似问题,保存其排名和相似度得分;k根据召回率与后续计算量来确定。
进一步地,上述的社区问答系统的答案抽取方法,其中,步骤5),基于字向量计算相似度对候选问句排序,字向量的来源与词向量一样,根据确定的词向量表征方案,采用字级别的向量特征参与运算;
首先,根据选定的向量表征模型,确定对当前问句与最终保留的Top-k问句中每个字的向量表征;句子Sc包含字{c1、c2、c3……cn},则Sc表示为n个字向量的形式{Vc1,Vc2,Vc3,……Vcn};
然后,对于k个候选问句中每个问句Sh=(Vh1,Vh2,Vh2,……Vhm),按照公式(5)计算当前问句Sc=(Vc1,Vc2,Vc3,……Vcn)与Sh的字级别相似度;
继而,对k个候选问句按照字级别相似度降序排列,保存其排名和相似度数值。
进一步地,上述的社区问答系统的答案抽取方法,其中,步骤5),对候选问句按综合依存相似度排序,根据语义依存关系将两个句子中各成分划分为重要成分与普通成分,并利用词语相似度最终求得整体句子的依存相似度。
进一步地,上述的社区问答系统的答案抽取方法,其中,利用句子内部成分之间语义依存的特征,采用语义依存金字塔特征,包括以下步骤:
S31:通过语义依存分析获取依存金字塔:利用句子语义解析工具对句子做语义依存关系分析,得到每个词的依赖成分;各词当中:依赖于Root的是核心词,位于金字塔顶层;依赖于核心词的成分是关键词,位于金字塔第二层;其他成分则认为是普通成分,位于金字塔底层;
句子S解析之后,词语成分划分为{Wcore}、{Wk1,Wk2,……Wkn}、{Wo1,Wo2,……Wop}三部分;
S32:选择参与依存相似度计算的词义相似性方案,作为依存相似度的计算基础;
词语语义的度量方式是词向量的余弦值或欧式距离,或在语义知识库中计算;
S33:计算依存金字塔顶层与第二层的相似度Stop:依存金字塔中,越接近顶层,句子成分的语义越重要;顶层与第二层是关键成分,Stop用顶层相似度与第二层的相似度取几何平均值得到;
两个句子的顶层相似度即为各自核心词的词义相似度Sim(wc1,wc2);
两个句子的第二层相似度通过相似度矩阵求出:(a)矩阵的行和列分别由两个句子的第二层词语构成,矩阵中元素为该行与该列对应连个词语的词义相似度;(b)遍历相似度矩阵,选取最大相似度值,然后将该值所在的行与所在列从矩阵中删除;(c)重复步骤(b),直到矩阵元素为空;
则句子1与句子2依存金字塔顶层与第二层的相似度Stop根据公式(6)求得,分别包含m、n个词;
其中ki为第i次遍历时,相似度矩阵中元素的最大值;min(m,n)与max(m,n)分别表示m与n中的最小值与最大值;
S34:计算依存金字塔底层的相似度Sbot:句子1与句子2在依存金字塔底层的相似度Sbot根据公式(7)求得,分别包含g、h个词;
S35:计算两个句子的综合依存相似度Simd:从依存金字塔的角度,两个句子的综合依存相似度Simd,由顶层与第二层相似度Stop与底层相似度Sbot加权求和得到,如公式(8)所示;
Simd=αStop+(1-α)Sbot 公式(8)
其中,α为调节因子,且0<α<1;
S36:按照综合依存相似度对候选问句排序:对k个问句,按照各自与当前问句的综合依存相似度降序排列,保存其排名和相似度数值。
进一步地,上述的社区问答系统的答案抽取方法,其中,步骤6),首先,对候选问题在平滑逆频相似度、字级别相似度、综合依存相似度上的排名按公式(9)做加权求和,取最小值对应的问题即为最相似问题;
Rank=α·Rank-v+β·Rank-c+γ·Rank-d 公式(9)
其中α、β、γ为权重调节参数,且满足α+β+γ=1;
然后,如果遇到并列第一的情况,将各候选问题对应的3项相似度数值按公式(10)加权求和,取最大值对应的问题即为最相似问题;
Sim=α·Simv+β·Simc+γ·Simd 公式(10)
其中α、β、γ参数为权重调节参数。
本发明与现有技术相比具有显著的优点和有益效果,具体体现在以下方面:
①本发明采用去停用词和同近义词归一化,减少原始问答数据中的噪声干扰,提高参与计算的文本数据质量;
②本发明采用问题分类策略,提高方法对问题的针对性,缩小后续计算的范围;在句子层面去除数据集的公共成分并且采用平滑逆频相似度作为排序基准,精准地筛选出前k个候选问题,从而在不影响精度的前提下大幅降低计算量;
③在字节别层面采用向量综合计算相似度,随后引入依存金字塔特征,用综合依存相似度对候选问题排序;最后采用“排名为主,数值为辅”的策略确定最相似问题,以更加全面的角度来确定最佳答案;
④本发明所用各方法的提出与创造性结合,比当前常见方法更高效、准确地在社区问答数据中确定语义最接近的问题,从而提高答案抽取的效率与准确率,非常适合用在垂直行业领域构建社区问答系统中。
本发明的其他特征和优点将在随后的说明书阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明具体实施方式了解。本发明的目的和其他优点可通过在所写的说明书、权利要求书中所特别指出的结构来实现和获得。
附图说明
图1:本发明的流程示意图;
图2:计算问句之间平滑逆频相似度并排序的流程示意图;
图3:计算两个问句综合依存相似度并排序的流程示意图。
具体实施方式
为了对本发明的技术特征、目的和效果有更加清楚的理解,现详细说明具体实施方案。
本发明社区问答系统的答案抽取方法,如图1所示,包括以下步骤:
S101:对问答数据集做分词、去停用词预处理;
通常情况下,原始的问答数据词语之间没有分开,而且包含对语义表达几乎无贡献的虚词、符号等,因此首先需要进行预处理;
具体地,利用分词方法或工具对问答数据集做分词预处理,分词方法是基于词典的最大匹配方法、全切分路径选择方法、基于字序列标注的方法或基于转移的分词方法,分词工具是开源工具或闭源分词工具,分词工具提供多种分词算法与策略供用户选择,支持添加自定义词典、新词发现;以jieba分词工具的精确模式为例;
对于分词之前的语料片段:“铁路部门将探索构建灵活可控的高铁票价调整机制,深化可行性研究并择机试点。”分词之后可以指定分隔符(如斜线或空格等,这里以空格为例),可得到“铁路部门将探索构建灵活可控的高铁票价调整机制,深化可行性研究并择机试点。”
具体地,停用词去除按照公开的或者自建的停用词表,去除不含实际意义的虚词、标点、特殊符号等。
S102:选择词义相似性方案,设定阈值执行同、近义词归一化;
为提高语义距离度量的针对性,对于词义特别接近的词语,可认为语义是一致的,将同义与近义词进行归一化,避免多余的计算,减少误差的引入。
词语语义的度量方式是计算词向量的余弦值或欧式距离,或者是在语义知识库(如《同义词词林》及其扩展版、hownet等)中按已公开的词语相似性方法计算。
具体阈值可根据词义度量方法的特点和实际需要设定,比如设为0.8,则将相似度高于0.8的两个词在语义表达上视为同一个词。
S103:基于问题分类和公共成分移除计算平滑逆频相似度并排序,选取语义最接近的k个候选问题;
首先对问句进行领域分类,利用已训练好的词向量,通过转换操作获取句子在语义空间的向量表征,然后在同一领域类别的问句中进行公共成分移除,获取句子向量表征之后通过向量点积计算语义相似度并降序排列,最初筛选相似度最高的k个候选问题。为了更清楚地描述此步骤的内部流程,S103的流程如图2所示,具体包括以下步骤:
S21:按类别组织问题库,确定当前问题的计算范围;具体类别组织方式可因实际业务场景而定,任何场景都可以按照若干个话题进行归类;问题库按类别组织事先一次性完成,不需要每次计算时重新执行;
通过带有类别标签的问题库,很容易通过机器学习方法(如SVM、神经网络等)构建分类器,对新接到的问题归类,得到当前问句属于各个类别的概率;为提高召回率,可将概率最高的N类问题集合作为后续计算范围,N可以取1~5之间的整数;
S22:根据词频确定词语的权重;词频来源方面,采用开放的大规模语料(如维基百科等)结合业务相关的问答语料,综合统计得到;由于在语料达到一定规模后,各词出现的概率会趋于稳定,为提高处理效率,将计算后的词权重保存到文件或数据库中备查;
对单词的加权,基本原则是:语料中出现更频繁的词,其携带的有效语义信息就越少,给其赋予权重就更小;反之则权重更大;单词w的权重ω可根据公式(1)计算:
其中,P(w)是单词w在语料中出现的概率(词频除以语料中总词数);ɑ为平滑调节因子;优选地,ɑ取值在0.0001~0.001之间。
S23:选定参与计算的词向量表征方案;词向量方案可根据具体情况选择,比如word2vec、GloVe或者自定义的方案;既可自行训练,也可使用预训练的词向量资源;词向量的维度决定语句向量计算所在的语义空间维度,优选地,在50~300维;词向量本身的语义表征效果是保障句子向量距离计算的基础;
S24:平滑逆频加权计算句子初始向量:对于语句数据集中每个句子S,执行:
假设S中包含w1,w2……wn共n个词,按照公式(2)计算初始向量V0;
其中ωi表示第i个词的权重,Vwi表示第i个词的词向量;
S25:对数据集矩阵执行常见成分移除;对于步骤S24计算得到的一系列问句向量组成的矩阵X,由于常见成分主要包含语法结构与停用词相关的信息,去除这些信息能更精准地保留语义信息;
首先,对矩阵X进行奇异值分解(X=U·Sigma·VT)可得到VT与V;当分解参数设为1时,VT可看作X的第一主成分,是需要移除的分量所在方向;
然后按照公式(3)对常见成分进行去除,得到新的矩阵X’,其中每一行即为语句数据集中各句子最终的向量表征;
X’=X-X·V·VT 公式(3)
其中,VT是奇异值分解的成分之一,V是VT的转置矩阵;
S26:计算当前问句与步骤S21范围内问句的平滑逆频相似度,按降序排列并取前k个作为候选问题:根据步骤S25得到的X’两个句子S1、S2的向量V1、V2,按照公式(4)计算两个句子的向量相似度;
Simv(S1,S2)=unit(V1)·unit(V2) 公式(4)
其中,unit(Vec)是将向量转换为单位向量的函数。
随后,将待计算的句子按照与当前问句的向量相似度从大到小排序,保留前k个问题作为重点疑似问题,保存其排名和相似度得分;k可以根据召回率与后续计算量来权衡确定,比如数据集规模较小的可以取10,规模较大的可以取50或100。
S104:基于字向量计算相似度对候选问句排序;
字向量的来源与词向量一样,在步骤S103中的S23步骤已确定了词向量表征方案,可沿用这一表征方案,但采用字级别的向量特征参与运算;具体步骤如下:
首先,根据选定的向量表征模型,确定对当前问句与步骤S103最终保留的Top-k问句中每个字的向量表征;句子Sc包含字{c1、c2、c3……cn},则Sc可表示为n个字向量的形式{Vc1,Vc2,Vc3,……Vcn};
然后,对于k个候选问句中每个问句Sh=(Vh1,Vh2,Vh2,……Vhm),按照公式(5)计算当前问句Sc=(Vc1,Vc2,Vc3,……Vcn)与Sh的字级别相似度。
继而,对k个候选问句按照字级别相似度降序排列,保存其排名和相似度数值。
S105:对候选问句按综合依存相似度排序;
利用句子内部成分之间语义依存的特征,采用语义依存金字塔特征,根据语义依存关系将两个句子中各成分划分为重要成分与普通成分,并利用词语相似度最终求得整体句子的依存相似度。为了更清楚地描述此步骤的内部流程,步骤S105的内部流程如图3所示,具体包括以下步骤:
S31:通过语义依存分析获取依存金字塔:利用句子语义解析工具(如哈工大的LTP)对句子做语义依存关系分析,可得到每个词的依赖成分;各词当中:依赖于Root的是核心词,位于金字塔顶层;依赖于核心词的成分是关键词,位于金字塔第二层;其他成分则认为是普通成分,位于金字塔底层;
按照这一思路,句子S解析之后,词语成分可划分为{Wcore}、{Wk1,Wk2,……Wkn}、{Wo1,Wo2,……Wop}三部分;例如:原句“中小企业怎样申请税收减免优惠?”处理后可以得到由{申请}、{中小企业、怎样、税收、优惠}、{减免}构成的依存金字塔;
S32:选择参与依存相似度计算的词义相似性方案;
在步骤S102中选择词义相似性方案主要是用于辨别同义词并做归一化;选择词义相似性度量方案目的是作为步骤S105依存相似度的计算基础,选择的方案与步骤S102环节选取的方案可以相同也可以不同。
具体地,词语语义的度量方式可以是词向量的余弦值或欧式距离,也可以在语义知识库(如《同义词词林》及其扩展版、hownet等)中计算。
S33:计算依存金字塔顶层与第二层的相似度Stop:依存金字塔中,越接近顶层,句子成分的语义越重要。顶层与第二层都是关键成分,Stop可以用顶层相似度与第二层的相似度取几何平均值来得到。
两个句子的顶层相似度即为各自核心词的词义相似度Sim(wc1,wc2)。
两个句子的第二层相似度可通过相似度矩阵求出:(a)矩阵的行和列分别由两个句子的第二层词语构成,矩阵中元素为该行与该列对应连个词语的词义相似度;(b)遍历相似度矩阵,选取最大相似度值,然后将该值所在的行与所在列从矩阵中删除;(c)重复步骤(b),直到矩阵元素为空。
则句子1与句子2依存金字塔顶层与第二层(假设分别包含m、n个词)的相似度Stop可根据公式(6)求得:
其中ki为第i次遍历时,相似度矩阵中元素的最大值;min(m,n)与max(m,n)分别表示m与n中的最小值与最大值。
S34:计算依存金字塔底层的相似度Sbot:与计算依存金字塔第二层相似度方法类似,句子1与句子2在依存金字塔底层(假设分别包含g、h个词)的相似度Sbot可根据公式(7)求得:
S35:计算两个句子的综合依存相似度Simd:从依存金字塔的角度,两个句子的综合依存相似度Simd,由顶层与第二层相似度Stop与底层相似度Sbot加权求和得到,如公式(8)所示;
Simd=αStop+(1-α)Sbot 公式(8)
其中,α为调节因子,且0<α<1;实际操作中α初始值可以选择0.5,后续再根据实际表现进行调节以获取最佳效果。
S36:按照综合依存相似度对候选问句排序:对k个问句,按照各自与当前问句的综合依存相似度降序排列,保存其排名和相似度数值。
S106:以排名与数值综合权衡选取最佳答案;确定最相似问题所采用的策略是排名为主,数值为辅;确定最相似问题,该问题对应的答案即作为最佳答案返回给用户。
首先,对候选问题在平滑逆频相似度、字级别相似度、综合依存相似度上的排名按公式(9)做加权求和,取最小值对应的问题即为最相似问题;
Rank=α·Rank-v+β·Rank-c+γ·Rank-d 公式(9)
其中α、β、γ为权重调节参数,且满足α+β+γ=1;具体数值可由不同权重组合在问答数据集上的实际表现来确定。可以指定一个初始组合(如0.3、0.4、0.3)进行尝试,然后分析偏差较大的案例,并按最小步幅(如0.1)对参数进行针对性调节,直到确定最优权重组合为止;
如果遇到并列第一的情况,将各候选问题对应的3项相似度数值按公式(10)加权求和,取最大值对应的问题即为最相似问题;
Sim=α·Simv+β·Simc+γ·Simd 公式(10)
其中α、β、γ参数为上述所使用的权重。
综上所述,本发明采用去停用词和同近义词归一化,减少原始问答数据中的噪声干扰,提高参与计算的文本数据质量;采用问题分类策略,提高方法对问题的针对性,缩小后续计算的范围;在句子层面去除数据集的公共成分并且采用平滑逆频相似度作为排序基准,精准地筛选出前k个候选问题,从而在不影响精度的前提下大幅降低计算量;在字节别层面采用向量综合计算相似度,随后引入依存金字塔特征,用综合依存相似度对候选问题排序;最后采用“排名为主,数值为辅”的策略确定最相似问题,以更加全面的角度来确定最佳答案;所用各方法的提出与创造性结合,比当前常见方法更高效、准确地在社区问答数据中确定语义最接近的问题,从而提高答案抽取的效率与准确率,非常适合用在垂直行业领域构建社区问答系统中。
需要说明的是:以上所述仅为本发明的优选实施方式,并非用以限定本发明的权利范围;同时以上的描述,对于相关技术领域的专门人士应可明了及实施,因此其它未脱离本发明所揭示的精神下所完成的等效改变或修饰,均应包含在申请专利范围中。
Claims (10)
1.社区问答系统的答案抽取方法,其特征在于:包括以下步骤:
1)对问答数据集做分词、去停用词预处理;
2)选择词义相似性方案,设定阈值执行同、近义词归一化;
3)基于问题分类和公共成分移除计算平滑逆频相似度并排序,选取语义最接近的k个候选问题;
4)考虑字级别特征、依存金字塔特征对k个候选问句计算相似度并排序,即:
a、基于字向量计算相似度对候选问句排序;
b、对候选问句按综合依存相似度排序;
5)以排名与数值综合权衡选取最佳答案。
2.根据权利要求1所述的社区问答系统的答案抽取方法,其特征在于:步骤1),利用分词方法或工具对问答数据集做分词预处理,所述分词方法是基于词典的最大匹配方法、全切分路径选择方法、基于字序列标注的方法或基于转移的分词方法,所述分词工具是开源工具或闭源分词工具,分词工具提供多种分词算法与策略供用户选择,支持添加自定义词典、新词发现。
3.根据权利要求1所述的社区问答系统的答案抽取方法,其特征在于:步骤1),去停用词预处理按照公开的或者自建的停用词表,去除不含实际意义的虚词、标点、特殊符号。
4.根据权利要求1所述的社区问答系统的答案抽取方法,其特征在于:步骤2),对于词义特别接近的词语,可认为语义是一致的,将同义与近义词进行归一化;
词语语义的度量方式是词向量的余弦值或欧式距离,或在语义知识库中计算;
阈值根据词义度量方法和实际需要设定。
5.根据权利要求1所述的社区问答系统的答案抽取方法,其特征在于:步骤3),首先对问句进行领域分类,利用已训练好的词向量,通过转换操作获取句子在语义空间的向量表征,然后在同一领域类别的问句中进行公共成分移除,获取句子向量表征之后通过向量点积计算语义相似度并降序排列,筛选相似度最高的k个候选问题。
6.根据权利要求5所述的社区问答系统的答案抽取方法,其特征在于:包括以下步骤:
S21:按类别组织问题库,确定当前问题的计算范围:具体类别组织方式因实际业务场景而定,任何场景可按照若干个话题进行归类,问题库按类别组织是事先一次性完成的,不需要每次计算时重新执行;
通过带有类别标签的问题库,通过机器学习方法构建分类器,对新接到的问题归类,得到当前问句属于各个类别的概率;将概率最高的N类问题集合作为后续计算范围,N取1~5之间的整数;
S22:根据词频确定词语的权重:词频来源方面,采用开放的大规模语料结合业务的问答语料,综合统计得到;将计算后的词权重保存到文件或数据库中备查;
对单词的加权,语料中出现频繁的词,其携带的有效语义信息少,给其赋予权重就小;反之则权重大;单词w的权重ω根据公式(1)计算:
其中,P(w)是单词w在语料中出现的概率,词频除以语料中总词数;ɑ为平滑调节因子;ɑ取值在0.0001~0.001;
S23:选定参与计算的词向量表征方案:词向量方案选择word2vec、GloVe或者自定义的方案;词向量的维度决定语句向量计算所在的语义空间维度,在50~300维;
S24:平滑逆频加权计算句子初始向量:对于语句数据集中每个句子S,执行:
假设S中包含w1,w2……wn共n个词,按照公式(2)计算初始向量V0;
其中ωi表示第i个词的权重,Vwi表示第i个词的词向量;
S25:对数据集矩阵执行常见成分移除:对于步骤S24计算得到的一系列问句向量组成的矩阵X,常见成分包含语法结构与停用词的信息;
首先对矩阵X进行奇异值分解,X=U·Sigma·VT,得到VT与V;
当分解参数设为1时,VT看作X的第一主成分,是需要移除的分量所在方向;
然后按照公式(3)对常见成分进行去除,得到新的矩阵X’,其中每一行即为语句数据集中各句子最终的向量表征;
X’=X-X·V·VT 公式(3)
其中VT是奇异值分解的成分之一,V是VT的转置矩阵;
S26:计算当前问句与S21范围内问句的平滑逆频相似度,按降序排列并取前k个作为候选问题:根据步骤S25得到的X’两个句子S1、S2的向量V1、V2,按照公式(4)计算两个句子的向量相似度;
Simv(S1,S2)=unit(V1)·unit(V2) 公式(4)
其中,unit(Vec)是将向量转换为单位向量的函数;
将待计算的句子按照与当前问句的向量相似度从大到小排序,保留前k个问题作为重点疑似问题,保存其排名和相似度得分;k根据召回率与后续计算量来确定。
7.根据权利要求1所述的社区问答系统的答案抽取方法,其特征在于:步骤5),基于字向量计算相似度对候选问句排序,字向量的来源与词向量一样,根据确定的词向量表征方案,采用字级别的向量特征参与运算;
首先,根据选定的向量表征模型,确定对当前问句与最终保留的Top-k问句中每个字的向量表征;句子Sc包含字{c1、c2、c3……cn},则Sc表示为n个字向量的形式{Vc1,Vc2,Vc3,……Vcn};
然后,对于k个候选问句中每个问句Sh=(Vh1,Vh2,Vh2,……Vhm),按照公式(5)计算当前问句Sc=(Vc1,Vc2,Vc3,……Vcn)与Sh的字级别相似度;
继而,对k个候选问句按照字级别相似度降序排列,保存其排名和相似度数值。
8.根据权利要求1所述的社区问答系统的答案抽取方法,其特征在于:步骤5),对候选问句按综合依存相似度排序,根据语义依存关系将两个句子中各成分划分为重要成分与普通成分,并利用词语相似度最终求得整体句子的依存相似度。
9.根据权利要求8所述的社区问答系统的答案抽取方法,其特征在于:利用句子内部成分之间语义依存的特征,采用语义依存金字塔特征,包括以下步骤:
S31:通过语义依存分析获取依存金字塔:利用句子语义解析工具对句子做语义依存关系分析,得到每个词的依赖成分;各词当中:依赖于Root的是核心词,位于金字塔顶层;依赖于核心词的成分是关键词,位于金字塔第二层;其他成分则认为是普通成分,位于金字塔底层;
句子S解析之后,词语成分划分为{Wcore}、{Wk1,Wk2,……Wkn}、{Wo1,Wo2,……Wop}三部分;
S32:选择参与依存相似度计算的词义相似性方案,作为依存相似度的计算基础;
词语语义的度量方式是词向量的余弦值或欧式距离,或在语义知识库中计算;
S33:计算依存金字塔顶层与第二层的相似度Stop:依存金字塔中,越接近顶层,句子成分的语义越重要;顶层与第二层是关键成分,Stop用顶层相似度与第二层的相似度取几何平均值得到;
两个句子的顶层相似度即为各自核心词的词义相似度Sim(wc1,wc2);
两个句子的第二层相似度通过相似度矩阵求出:(a)矩阵的行和列分别由两个句子的第二层词语构成,矩阵中元素为该行与该列对应连个词语的词义相似度;(b)遍历相似度矩阵,选取最大相似度值,然后将该值所在的行与所在列从矩阵中删除;(c)重复步骤(b),直到矩阵元素为空;
则句子1与句子2依存金字塔顶层与第二层的相似度Stop根据公式(6)求得,分别包含m、n个词;
其中ki为第i次遍历时,相似度矩阵中元素的最大值;min(m,n)与max(m,n)分别表示m与n中的最小值与最大值;
S34:计算依存金字塔底层的相似度Sbot:句子1与句子2在依存金字塔底层的相似度Sbot根据公式(7)求得,分别包含g、h个词;
S35:计算两个句子的综合依存相似度Simd:从依存金字塔的角度,两个句子的综合依存相似度Simd,由顶层与第二层相似度Stop与底层相似度Sbot加权求和得到,如公式(8)所示;
Simd=αStop+(1-α)Sbot 公式(8)
其中,α为调节因子,且0<α<1;
S36:按照综合依存相似度对候选问句排序:对k个问句,按照各自与当前问句的综合依存相似度降序排列,保存其排名和相似度数值。
10.根据权利要求1所述的社区问答系统的答案抽取方法,其特征在于:步骤6),首先,对候选问题在平滑逆频相似度、字级别相似度、综合依存相似度上的排名按公式(9)做加权求和,取最小值对应的问题即为最相似问题;
Rank=α·Rank-v+β·Rank-c+γ·Rank-d 公式(9)
其中α、β、γ为权重调节参数,且满足α+β+γ=1;
然后,如果遇到并列第一的情况,将各候选问题对应的3项相似度数值按公式(10)加权求和,取最大值对应的问题即为最相似问题;
Sim=α·Simv+β·Simc+γ·Simd 公式(10)
其中α、β、γ参数为权重调节参数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910074888.6A CN109948143B (zh) | 2019-01-25 | 2019-01-25 | 社区问答系统的答案抽取方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910074888.6A CN109948143B (zh) | 2019-01-25 | 2019-01-25 | 社区问答系统的答案抽取方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109948143A true CN109948143A (zh) | 2019-06-28 |
CN109948143B CN109948143B (zh) | 2023-04-07 |
Family
ID=67007442
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910074888.6A Active CN109948143B (zh) | 2019-01-25 | 2019-01-25 | 社区问答系统的答案抽取方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109948143B (zh) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110390049A (zh) * | 2019-07-10 | 2019-10-29 | 北京航空航天大学 | 一种面向软件开发问题的答案自动生成方法 |
CN110543558A (zh) * | 2019-09-06 | 2019-12-06 | 北京百度网讯科技有限公司 | 问题匹配方法、装置、设备和介质 |
CN110647614A (zh) * | 2019-08-01 | 2020-01-03 | 平安科技(深圳)有限公司 | 智能问答方法、装置、介质及电子设备 |
CN110674252A (zh) * | 2019-08-26 | 2020-01-10 | 银江股份有限公司 | 一种面向司法领域的高精度语义搜索系统 |
CN110688472A (zh) * | 2019-10-09 | 2020-01-14 | 厦门今立方科技有限公司 | 一种自动筛选问题答案的方法、终端设备及存储介质 |
CN110909142A (zh) * | 2019-11-20 | 2020-03-24 | 腾讯科技(深圳)有限公司 | 一种问答模型的问题语句处理方法、装置、电子设备及存储介质 |
CN111190998A (zh) * | 2019-12-10 | 2020-05-22 | 上海八斗智能技术有限公司 | 一种基于混合模型的问答机器人系统及问答机器人 |
CN111309891A (zh) * | 2020-03-16 | 2020-06-19 | 山西大学 | 一种阅读机器人进行自动问答的系统及其应用方法 |
CN111382255A (zh) * | 2020-03-17 | 2020-07-07 | 北京百度网讯科技有限公司 | 用于问答处理的方法、装置、设备和介质 |
CN111427995A (zh) * | 2020-02-26 | 2020-07-17 | 平安科技(深圳)有限公司 | 基于内部对抗机制的语义匹配方法、装置及存储介质 |
CN112445899A (zh) * | 2019-08-29 | 2021-03-05 | 南京大学 | 一种基于神经网络的知识库问答中的属性匹配方法 |
CN112860867A (zh) * | 2021-02-25 | 2021-05-28 | 电子科技大学 | 一种基于卷积神经网络的中文问答系统的属性选择方法及存储介质 |
CN112906400A (zh) * | 2021-02-24 | 2021-06-04 | 福建工程学院 | 一种基于领域本体和语义依存树的主观题自动评分方法 |
CN112445899B (zh) * | 2019-08-29 | 2024-05-03 | 南京大学 | 一种基于神经网络的知识库问答中的属性匹配方法 |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009157791A (ja) * | 2007-12-27 | 2009-07-16 | Nippon Telegr & Teleph Corp <Ntt> | 質問応答方法、装置、プログラム並びにそのプログラムを記録した記録媒体 |
CN108595413A (zh) * | 2018-03-22 | 2018-09-28 | 西北大学 | 一种基于语义依存树的答案抽取方法 |
-
2019
- 2019-01-25 CN CN201910074888.6A patent/CN109948143B/zh active Active
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP2009157791A (ja) * | 2007-12-27 | 2009-07-16 | Nippon Telegr & Teleph Corp <Ntt> | 質問応答方法、装置、プログラム並びにそのプログラムを記録した記録媒体 |
CN108595413A (zh) * | 2018-03-22 | 2018-09-28 | 西北大学 | 一种基于语义依存树的答案抽取方法 |
Non-Patent Citations (1)
Title |
---|
周法国等: "句子相似度计算新方法及在问答系统中的应用", 《计算机工程与应用》 * |
Cited By (20)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110390049A (zh) * | 2019-07-10 | 2019-10-29 | 北京航空航天大学 | 一种面向软件开发问题的答案自动生成方法 |
CN110390049B (zh) * | 2019-07-10 | 2022-01-28 | 北京航空航天大学 | 一种面向软件开发问题的答案自动生成方法 |
CN110647614A (zh) * | 2019-08-01 | 2020-01-03 | 平安科技(深圳)有限公司 | 智能问答方法、装置、介质及电子设备 |
CN110647614B (zh) * | 2019-08-01 | 2023-05-23 | 平安科技(深圳)有限公司 | 智能问答方法、装置、介质及电子设备 |
CN110674252A (zh) * | 2019-08-26 | 2020-01-10 | 银江股份有限公司 | 一种面向司法领域的高精度语义搜索系统 |
CN112445899A (zh) * | 2019-08-29 | 2021-03-05 | 南京大学 | 一种基于神经网络的知识库问答中的属性匹配方法 |
CN112445899B (zh) * | 2019-08-29 | 2024-05-03 | 南京大学 | 一种基于神经网络的知识库问答中的属性匹配方法 |
CN110543558A (zh) * | 2019-09-06 | 2019-12-06 | 北京百度网讯科技有限公司 | 问题匹配方法、装置、设备和介质 |
CN110688472A (zh) * | 2019-10-09 | 2020-01-14 | 厦门今立方科技有限公司 | 一种自动筛选问题答案的方法、终端设备及存储介质 |
CN110909142A (zh) * | 2019-11-20 | 2020-03-24 | 腾讯科技(深圳)有限公司 | 一种问答模型的问题语句处理方法、装置、电子设备及存储介质 |
CN110909142B (zh) * | 2019-11-20 | 2023-03-31 | 腾讯科技(深圳)有限公司 | 一种问答模型的问题语句处理方法、装置、电子设备及存储介质 |
CN111190998B (zh) * | 2019-12-10 | 2024-01-09 | 上海八斗智能技术有限公司 | 一种基于混合模型的问答机器人系统及问答机器人 |
CN111190998A (zh) * | 2019-12-10 | 2020-05-22 | 上海八斗智能技术有限公司 | 一种基于混合模型的问答机器人系统及问答机器人 |
CN111427995A (zh) * | 2020-02-26 | 2020-07-17 | 平安科技(深圳)有限公司 | 基于内部对抗机制的语义匹配方法、装置及存储介质 |
CN111427995B (zh) * | 2020-02-26 | 2023-05-26 | 平安科技(深圳)有限公司 | 基于内部对抗机制的语义匹配方法、装置及存储介质 |
CN111309891B (zh) * | 2020-03-16 | 2022-05-31 | 山西大学 | 一种阅读机器人进行自动问答的系统及其应用方法 |
CN111309891A (zh) * | 2020-03-16 | 2020-06-19 | 山西大学 | 一种阅读机器人进行自动问答的系统及其应用方法 |
CN111382255A (zh) * | 2020-03-17 | 2020-07-07 | 北京百度网讯科技有限公司 | 用于问答处理的方法、装置、设备和介质 |
CN112906400A (zh) * | 2021-02-24 | 2021-06-04 | 福建工程学院 | 一种基于领域本体和语义依存树的主观题自动评分方法 |
CN112860867A (zh) * | 2021-02-25 | 2021-05-28 | 电子科技大学 | 一种基于卷积神经网络的中文问答系统的属性选择方法及存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN109948143B (zh) | 2023-04-07 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109948143A (zh) | 社区问答系统的答案抽取方法 | |
CN107229610B (zh) | 一种情感数据的分析方法及装置 | |
CN110633409B (zh) | 一种融合规则与深度学习的汽车新闻事件抽取方法 | |
US10565233B2 (en) | Suffix tree similarity measure for document clustering | |
CN109446331B (zh) | 一种文本情绪分类模型建立方法及文本情绪分类方法 | |
CN107818164A (zh) | 一种智能问答方法及其系统 | |
CN103914548B (zh) | 信息搜索方法和装置 | |
CN106599032B (zh) | 一种结合稀疏编码和结构感知机的文本事件抽取方法 | |
CN107608999A (zh) | 一种适用于自动问答系统的问句分类方法 | |
CN105843897A (zh) | 一种面向垂直领域的智能问答系统 | |
CN104778256B (zh) | 一种领域问答系统咨询的快速可增量聚类方法 | |
CN109960799A (zh) | 一种面向短文本的优化分类方法 | |
CN109002473A (zh) | 一种基于词向量与词性的情感分析方法 | |
CN113505586A (zh) | 一种融合语义分类与知识图谱的坐席辅助问答方法与系统 | |
CN104484380A (zh) | 个性化搜索方法及装置 | |
CN110008465A (zh) | 句子语义距离的度量方法 | |
Wang et al. | Neural related work summarization with a joint context-driven attention mechanism | |
CN112989802A (zh) | 一种弹幕关键词提取方法、装置、设备及介质 | |
CN106227836B (zh) | 基于图像与文字的无监督联合视觉概念学习系统及方法 | |
CN111858896A (zh) | 一种基于深度学习的知识库问答方法 | |
CN103744838B (zh) | 一种用于度量主流情感信息的中文情感文摘系统及方法 | |
CN112051986A (zh) | 基于开源知识的代码搜索推荐装置及方法 | |
Khalid et al. | Topic detection from conversational dialogue corpus with parallel dirichlet allocation model and elbow method | |
CN113360647B (zh) | 一种基于聚类的5g移动业务投诉溯源分析方法 | |
CN108595413B (zh) | 一种基于语义依存树的答案抽取方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |