当前位置: 首页 > 专利查询>浙江大学专利>正文

一种基于多级特征的问题和答案句子相似度计算方法技术

技术编号:15910806 阅读:184 留言:0更新日期:2017-08-01 22:30
本发明专利技术公开了一种基于多级特征的问题和答案句子相似度计算方法,主要应用于自动问答系统中。该方法共包括五种特征函数,每种特征函数分别用来衡量两个句子之间不同角度的相似度。其中,单词级别的特征计算两个句子在单词方面的相似度。短语级别的特征能够衡量习语和常用词组方面的相似度。句子语义特征能够衡量两个句子在含义方面的相似度。句子结构特征能够衡量两个句子在语法和句法方面的相似度。答案类型特征能够衡量答案句子中是否包含问题所需答案类型。最后,通过线性函数将这五种特征函数进行加权求和,形成基于多级特征的问题和答案句子相似度算法。该方法能够全方面衡量问题句子和答案句子之间的相似度。

A method for computing similarity of questions and answers based on multi-level features

The invention discloses a method for calculating question and answer sentence similarity based on multi-level features, which is mainly used in automatic question answering system. The method consists of five kinds of feature functions, each of which is used to measure the similarity between two sentences at different angles. Among them, the word level features calculate the similarity of the two sentences in terms of words. Phrase level features measure similarity between idioms and commonly used phrases. Sentence semantic features can measure the similarity of two sentences in meaning. Sentence structure features can measure the grammatical and syntactic similarities between the two sentences. Answer type features measure the answer. Does the sentence contain the type of answer required for the question?. Finally, the five feature functions are weighted and summed by linear function, and then the problem and answer sentence similarity algorithm based on multi-level feature is formed. This method can measure the similarity between questions, sentences, answers and sentences in a whole way.

【技术实现步骤摘要】
一种基于多级特征的问题和答案句子相似度计算方法
本专利技术涉及自动问答
,具体涉及一种计算问题句子和答案句子相似度的方法。
技术介绍
自动问答系统是一种输入自然语言问句后能够直接返回精确答案的系统。根据自动问答系统背后的数据源的类型可以将其分为两类,分别是基于知识图谱的自动问答系统和基于非结构化文档的自动问答系统。基于非结构化文档的自动问答系统的数据源是大量非结构化的文本文档,其检索答案的过程主要包括以下几个步骤:(1)根据关键词匹配算法,检索出与问题相关的段落。(2)将第一步检索出的段落切分成句子,形成答案句子候选集。(3)计算问题和候选答案句子相似度并排序。(4)选择最相似度最高的答案句子进行答案抽取,返回给用户。其中的第三步,计算问题和答案句子相似度是非常重要的一步。传统的计算句子相似度的算法主要包括三种:(1)基于词的算法。该方法不对语句进行语法结构分析,只利用句子的表层信息,即组成句子的词的词频、词性等信息。该方法不能考虑句子的整体结构和语义相似性。(2)基于句法的算法。该方法对语句进行句法分析,找出依存关系,并在依存关系分析结果的基础上进行相似度计算。该方法能衡量句子的句法结构相似性,但是不能衡量句子的语义相似性。(3)基于深度神经网络的算法。该方法将语句中每个词的词向量输入到卷积神经网络或循环神经网络中,输出为一个句子的向量表达。该方法能够衡量句子的语义相似性,但是词和句法的相似性并不能得到充分表达。传统的计算句子相似度的方法各有优缺点,都不能全面的衡量两个句子之间的相似性。
技术实现思路
为了克服传统的计算句子相似度算法的不足,本专利技术提供了一种基于多级特征的问题和答案句子相似度计算算法,该算法能够全面衡量两个句子之间的相似性。该算法公式定义如下:其中,Q是给定的一个问题句子,S是给定的一个候选答案句子。定义衡量两个句子相似度的函数为R(Q,S),R(Q,S)是一个线性函数,是多个相似度得分函数的集成。这里的hk(S,Q)代表第k个相关性函数。本专利技术设计了五种特征来衡量两个句子之间的相关性,这些特征包含了不同的级别,分别是单词特征、短语特征、句子语义特征、句子结构特征、答案类型特征。1.单词特征单词级别的特征是从单词出发,计算两个句子在单词方面相似度。本专利技术使用了四种单词级别的特征,分别如下:(1)共同的单词数特征,每个单词共现次数都要乘以IDF权重。定义为hWM(Q,S)。(2)单词翻译特征,直接使用成熟的翻译模型GIZA++,以及问题和相关问题的语料库来得到问题句子和答案句子之间的翻译概率,以此作为两个句子之间的相关性得分。定义为hWT(Q,S)。(3)词向量平均特征,将每个句子中的单词对应的词向量相加求平均作为该句子的句子向量,然后求答案句子向量和问题句子向量之间的余弦距离。定义为hWV(Q,S)。(4)词向量转移距离(WMD)特征,采用WMD计算相似度的方法(该方法可参考:KusnerMJ,SunY,KolkinNI,etal.Fromwordembeddingstodocumentdistances),将两个句子去除停止词,然后计算词向量转移的最小距离作为两个句子之间的相关性。定义为hWMD(Q,S)。2.短语特征假设抽取的短语列表为PP={<si,ti,p(ti|si),p(si,ti)>},其中si是答案句子中的一个短语,ti是问题句子中的一个短语,p(ti|si)和p(si,ti)分别代表从si翻译成ti和从ti翻译成si的概率。接着,定义基于短语的相似性得分函数如下:其中,Q,S分别是问题和答案句子,定义了连续的S中从Sj到的连续的单词或者短语序列。N定义的是最大的N元语法(N-gram)值,有如下的定义:(1)如果则(2)否则如果有并且s∈Q则(3)否则,简单可以描述为,当答案句子中的短语直接出现在问题句子中时,该短语的得分就是1,如果该短语与问题句子中的某些短语出现在短语表中,意味着两个短语是同义的短语或者相关短语时,该短语得分就是短语表中短语互相翻译概率的乘积,是一个0,1之间的值。如果该短语不满足以上两种情况,那么该短语的得分就是0。计算答案句子中一到N元语法包含的所有短语与问题句子的相关性得分,最后对N求平均。3.句子语义特征该特征使用最新的基于深度学习的计算两个句子相似度的模型来获得语义相似度得分(可参考WanS,LanY,GuoJ,etal.ADeepArchitectureforSemanticMatchingwithMultiplePositionalSentenceRepresentations)。将该特征定义为hsem(s,Q),该模型首先将问题句子和答案句子分别用Bi-LSTM(bidirectionallongshorttermmemory)计算两个句子每个位置的向量表达,两个句子的不同位置进行交互形成新的矩阵和张量,然后接k-Max采样层和多层感知机进行降维。最后输出两个句子的相似度。Bi-LSTM是将句子序列正向输入一次LSTM,然后再反向输入一次LSTM。这样每个时刻都有两个向量表达,分别是前向的和反向的最重要的是每一个时刻的向量表达都包含了整个句子的信息。Bi-LSTM中每个时刻的向量表达就是两个LSTM向量的拼接,即首先,将问题句子和答案句子输入到Bi-LSTM中,得到每个时刻的向量表达。然后将两个句子的各个时刻的向量进行交互,利用张量函数生成交互张量。张量函数是把两个向量映射成一个向量,公式如下:其中,u,v分别代表两个向量,Wi,i∈[1,…,c]是张量的一个切片。Wuv和b是线性变换的参数。f是非线性函数。经过张量函数变换后的结果是一个向量。接来下利用k-Max采样从交互张量的每一个切片中选择出k个最大的值,然后将所有切片的值拼接成一个向量。最后需要用多层感知机将高维的向量降到一维的标量,这个标量经过线性变换后就是两个句子的相似度得分。公式如下:r=f(Wrq+br)s=Wsr+bs其中,Wr和Ws是参数矩阵,br和bs是相应的偏置向量。最后,我们需要设计损失函数。本文的任务是排序,因此直接使用合页损失函数(hingeloss)。给定一个三元组其中SX代表问题句子,代表正确的答案句子,代表错误的答案句子。损失函数可以定义为:其中,和是相应的相似度函数。4.句子结构特征本专利技术使用了两种句子结构特征:(1)依存树根匹配定义为hRM(S,Q),这是一个取值为0,1,2的特征。如果问题句子和答案句子对应的依存关系拥有相同的根,则hRM(S,Q)=2,否则如果答案句子包含问题句子的根或者问题句子包含答案句子的根,则hRM(S,Q)=1。如果上面两种情况都不存在则,hRM(S,Q)=0。(2)依存关系匹配。定义为hDM(S,Q)。首先找到两个句子中共同的词,这里称为一对锚点。在两个句子中可能会出现多对锚点。然后分别计算出两个句子的依存关系。统计两个依存树从根出发到锚点的相同依存关系的数目,即得到hDM(S,Q)。两个句子依存树的根并不一定相同,因此这里的相同的依存关系指的是关系,而忽略词汇的差异。5.答案类型特征首先对问题进行分析,根据问题的疑问词来判断问题类型。同时根据事先定义好的分类目录表来找到所需的答案类型。本本文档来自技高网...
一种基于多级特征的问题和答案句子相似度计算方法

【技术保护点】
一种基于多级特征的问题和答案句子相似度计算方法,其特征在于,包括以下步骤:(1)使用五种不同级别的特征来衡量两个句子之间的相似度,每种特征都对应一个相似度得分;所述的五种不同级别特征包括:单词特征、短语特征、句子语义特征、句子结构特征、答案类型特征;(2)将每种特征的相似度得分进行加权求和得到总体的相似度得分;采用如下线性函数公式实现:

【技术特征摘要】
1.一种基于多级特征的问题和答案句子相似度计算方法,其特征在于,包括以下步骤:(1)使用五种不同级别的特征来衡量两个句子之间的相似度,每种特征都对应一个相似度得分;所述的五种不同级别特征包括:单词特征、短语特征、句子语义特征、句子结构特征、答案类型特征;(2)将每种特征的相似度得分进行加权求和得到总体的相似度得分;采用如下线性函数公式实现:其中,Q,S分别是问题和答案句子,R(Q,S)是一个线性函数,是多个相似度得分函数的集成;hk(S,Q)代表第k个特征相似度得分函数,每个相似度得分函数的权重λk是通过在训练集上训练得到的。2.根据权利要求1所述的方法,其特征在于,所述的单词级别特征包括:共同单词数特征、单词翻译特征、词向量平均特征和词向量转移特征。3.根据权利要求2所述的方法,其特征在于,所述的单词翻译特征是使用GIZA++对平行语料库训练后得到的单词翻译成另外一个单词的概率。4.根据权利要求2所述方法,其特征在于,所述的词向量转移特征是使用计算文档相似度的WordMove’sDistance(WMD)算法来计算两个句子之间的相似度。5.根据权利要求1所述的方法,其特征在于,所述的短语级别特征包括以下步骤:(1)假设PP={<si,ti,p(ti|si),p(si,ti)>}是一个短语表,其中si是答案句子中的一个短语,ti是问题句子中的一个短语,p(ti|si)和p(si,ti)分别代表从si翻译成ti和从ti翻译成si的概率;(2)定义基于短语的相似性得分函数如下:其中,Q,S分别是问题和答案句子,定义了连续的S中从Sj到的连续的单词或者短语序列,N定义的是最大的N元语法(N-gram)值;(...

【专利技术属性】
技术研发人员:王东辉徐灿庄越挺
申请(专利权)人:浙江大学
类型:发明
国别省市:浙江,33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1