利索能及
我要发布
收藏
专利号: 2020101095983
申请人: 杭州电子科技大学
专利类型:发明专利
专利状态:已下证
更新日期:2026-06-16
缴费截止日期: 暂无
联系人

摘要:

权利要求书:

1.一种基于语义匹配的多轮对话口语理解方法,其特征在于包括以下步骤:步骤(1)获取对话数据集并进行预处理,即针对对话数据集中的每个语句正确标注语句意图和对应历史语句;

步骤(2)建立基于语义匹配的多轮对话口语理解架构,确定网络组成部分以及层数和维度,得到口语理解模型;

步骤(3)将步骤(1)预处理后的语句分别输入基于词级别attention的卷积神经网络模型和树状LSTM模型,分别提取语句局部特征和语句语义特征;

步骤(4)将得到的语句局部特征和语句语义特征进行拼接,得到最终单句语句语义表示;

步骤(5)将历史语句语义表示和当前语句语义表示进行两两拼接,输入多层感知机网络模型,基于语义匹配度对历史语句分配权重值;

步骤(6)将历史语句语义表示结合权重值输入对应角色双向LSTM模型,得到角色历史语义影响向量;

步骤(7)拼接2个角色历史语义影响向量得到最终历史语义影响向量;

步骤(8)结合最终历史语义影响向量与当前语句语义表示,输入双向LSTM模型进行意图检测;

步骤(9)将预测的意图与语句对应的真实意图进行对比,计算损失函数,迭代更新网络模型中的参数;

步骤(10)将需测试的语句与对应的历史语句输入训练好的语义匹配网络模型,正确提取历史语义影响向量,结合历史语义影响向量对该语句做意图检测;输出语句对应的意图。

2.根据权利要求1所述的一种基于语义匹配的多轮对话口语理解方法,其特征在于步骤(1)具体过程如下:(1-1)采用公开的竞赛数据集DSTC4,该数据集为从Skype通话中收集到的有关于旅游信息的对话样本集合,对话人员为35名游客和3名导游;35轮对话总长度共计21小时,包含了31034个句子和273580个单词,21小时长度的对话手动转录成语句并且对对话中的每一个句子标记对话动作和属性标签;

(1-2)将语句对应的对话动作和属性标签正确结合,标注出语句对应的正确意图标签,根据语句顺序标记出语句id;

(1-3)正确标记每一句语句对应的历史语句id数组,将当前语句的前10句作为该语句的历史语句数组,即对应当前语句St,其历史语句数组为[St-10,St-9,St-8,…St-1],将当前语句对应id存入当前语句对应的历史语句数组;若当前语句前的历史语句不足10句,则采用空语句代替;

(1-4)将该35轮对话正确分类,其中20轮对话作为训练集,6轮对话作为验证集,9轮对话作为测试集。

3.根据权利要求1或2所述的基于语义匹配的多轮对话口语理解方法,其特征在于步骤(2)所述的口语理解模型具体过程如下:口语理解模型主要由3个部分组成,分别为语句语义提取网络、语义匹配打分网络以及历史语义影响向量提取网络,每层的维度为256;语句语义提取网络由基于词级别的attention模型和树状LSTM组成,语义匹配打分网络由多层感知机组成;历史语义影响向量提取网络由2个角色双向LSTM模型组成。

4.根据权利要求3所述的一种基于语义匹配的多轮对话口语理解方法,其特征在于步骤(3)具体过程如下:(3-1)根据预训练的词向量模型glove,查询语句中单词对应的词向量,将一个语句转化为原始词向量矩阵W=[w1,w2,…wL];W∈RLxD,其中L是语句的长度,D是词向量的维度;

(3-2)将原始词向量矩阵输入词级别的attention模型,提取针对语句中当前单词的词上下文向量gi=∑j≠iαi,j.wj,其中αi,j基于与当前词的语义匹配度对语句中其余词分配权重,公式如下:其中,i,j,j′都表示语句中单词的序号,L表示语句总长度;αi,j表示针对当前单词i,第j个单词与第i个单词的语义相关度表示;score函数为基于词向量距离计算2个单词的语义相关度;e为以自然常数e为底的exp指数函数;

(3-3)在得到单词的上下文向量gi后,与原始词向量wi拼接后得到新的词向量w′i;新的词向量矩阵W′=[w′i,w′2,…,w′L];W′∈RL×2D,其中w′i计算方式如下:其中 代表拼接操作,wi表示原始词向量,gi表示原始词向量wi对应的上下文词向量,w′i为拼接后新的词向量;

(3-4)将新的词向量矩阵输入卷积神经网络提取语句局部特征,得到语句表示向量hc;

(3-5)将语句原始词向量矩阵输入树状LSTM模型提取语句语义特征,得到语句表示向量ht。

5.根据权利要求4所述的一种基于语义匹配的多轮对话口语理解方法,其特征在于步骤(4)具体过程如下:(4-1)将上述步骤(3)产生的经过卷积神经网络的语句表示hc与语句表示ht进行拼接,得到最终语句语义表示S=[ht,hc],拼接过程如下:其中 表示拼接过程,将语句表示向量hc正确拼接到ht的尾部。

6.根据权利要求5所述的一种基于语义匹配的多轮对话口语理解方法,其特征在于步骤(5)具体过程如下:(5-1)将历史语句语义表示与当前语句语义表示两两拼接得到新的历史语句矩阵S′hist=[S′1,S′2,…,S′t,…,S′n],拼接过程如下:其中 表示拼接过程,将Scur向量正确拼接到St的尾部;St代表历史语句中的某一句的语义表示,Scur代表当前语句语义表示;

(5-2)将新得到的历史语句矩阵输入多层感知机MLP进行数据训练得到历史语句的每个影响权重值,计算方式如下:其中, 是一个可训练的权重转置矩阵;batt是一个可训练的偏置项;f是MLP网络中的激活函数,采用tanh激活函数;在输出端采用softmax进行归一化;αt代表历史语句中某一句对应的权重值。

7.根据权利要求6所述的一种基于语义匹配的多轮对话口语理解方法,其特征在于步骤(6)具体过程如下:(6-1)将历史语句分成2组,即旅客组和导游组,将旅客组语句语义表示结合其概率值输入旅客角色对应的双向LSTM模型,得到旅客对应的历史角色语义影响向量;其公式如下:V旅客=BiLSTM(St,αt)

其中V旅客对应的是旅客的历史角色语义影响向量,St表示历史语句中的某一句语句,αt表示该语句对应的权重值;

导游组的计算与旅客组计算相同,从而得到导游对应的历史角色语义影响向量和旅客对应的历史角色语义影响向量。

8.根据权利要求7所述的一种基于语义匹配的多轮对话口语理解方法,其特征在于步骤(7)具体过程如下:(7-1)将步骤6得到的角色语义影响向量,即旅客角色语义影响向量和导游角色语义影响向量拼接,得到最终历史语义影响向量Vhis;拼接过程如下:Vhis=BiLSTM导游(St,αt)+BiLSTM旅客(St,αt)其中Vhis代表最终历史语义影响向量,St代表历史语句中的一句语句,αt代表该历史语句对应的权重值。

9.根据权利要求8所述的一种基于语义匹配的多轮对话口语理解方法,其特征在于步骤(8)具体过程如下:(8-1)将最终历史语义影响向量Vhis与当前语句Scur进行意图检测,计算方式如下:Vcur=BiLSTM(Scur,Whis·Vhis),

o=sigmoid(WLU·Vcur),

其中,Whis是历史语义影响向量Vhis对应的权重矩阵;Vcur是结合当前语句与历史向量,通过双向LSTM编码出的针对当前语句的上下文向量,WLU为上下文向量Vcur对应的权重矩阵,BiLSTM代表双向LSTM模型;o是最终的意图分布;注意到这是一个多标签和多类别分类;最后使用sigmoid函数,用户最终的意图y将由o的值是否高于阈值θ而决定。

10.根据权利要求9所述的一种基于语义匹配的多轮对话口语理解方法,其特征在于步骤(9)具体过程如下:(9-1)将预测的意图与语句对应的真实意图进行对比,计算损失函数,迭代更新网络模型中的参数;损失函数公式如下:其中y′表示模型预测的意图标签,y表示语句对应的真实意图标签,y′y·(1-y′)1-y表示使用交叉熵计算损失函数;利用Adam作为模型的优化器,采用梯度下降法对上述步骤中的网络模型参数进行优化调整。