一种基于语义匹配的多轮对话口语理解方法技术

技术编号:24708136 阅读:70 留言:0更新日期:2020-06-30 23:59
本发明专利技术公开了一种基于语义匹配的多轮对话口语理解方法。本发明专利技术利用基于词级别的attention卷积神经网络和树状循环神经网络联合提取语句语义信息,并通过语义匹配对历史语句进行合理的权重值分配,结合上述产生的历史语句语义表示和对应的权重值,输入对应角色双向LSTM模型得到角色历史影响向量,结合2个角色历史影响向量得到最终历史语义影响向量,结合该向量对当前语句做意图检测,并通过损失函数优化模型参数结构。这种方法具有更好的鲁棒性和自适应能力。其中具体发明专利技术的基于语义匹配的多轮对话口语理解模型训练流程图如图2。

【技术实现步骤摘要】
一种基于语义匹配的多轮对话口语理解方法
本专利技术涉及口语理解领域,具体涉及一种基于语义匹配的多轮对话口语理解方法,属于自然语言处理中的人机对话领域。
技术介绍
随着人工智能的日益发展以及人机交互技术的进步,越来越丰富的人机交互模式开始出现,其中,任务型人机对话系统是人机对话中的一个重要应用。任务型人机对话系统通过与用户进行多轮基于自然语言的对话来逐步收集与目标相关的信息,从而辅助用户成功获得某种服务。任务型对话作为人工智能的典型应用,已成为一种重要的人机交互核心技术。而口语理解(SLU)是面向任务的对话系统中非常重要的一部分,它将用户的话语解析为语义框架表示。在口语理解的正确基础上,才能进一步进行对话的状态追踪,对话决策和管理,对话生成等一系列操作。在单轮对话中,用户输入的语义信息较为完整,易于提取,而在多轮对话中,用户输入的语句具有短小,语义信息不充分等特点,因此历史对话信息对当前语句的解析有很大的影响。然而,以往的做法主要基于时间距离维度来判断历史语句中每一句语句的影响程度,对历史语句的权重概率值分配可能会出现错误。所以本专利技术基于历史语句与当前语句的语义匹配程度,对历史语句分配权重值,再结合角色双向LSTM,能够有效提取历史语义影响向量。结合该向量对当前语句做意图检测,能够有效提升意图检测的准确率。
技术实现思路
本专利技术的目的是针对现有技术的不足,提供一种基于语义匹配的多轮对话口语理解方法,以解决在多轮对话中,历史信息提取不充分,不能有效对历史语句进行权重分配,不能有效判断历史语句与当前语句关系的问题。本专利技术解决其技术问题所采用的技术方案包括以下步骤:步骤(1)获取对话数据集并进行预处理,即针对对话数据集中的每个语句正确标注语句意图和对应历史语句;步骤(2)建立基于语义匹配的多轮对话口语理解架构,确定网络组成部分以及层数和维度,得到口语理解模型;步骤(3)将步骤(1)预处理后的语句分别输入基于词级别attention的卷积神经网络模型和树状LSTM模型,分别提取语句局部特征和语句语义特征;步骤(4)将得到的语句局部特征和语句语义特征进行拼接,得到最终单句语句语义表示;步骤(5)将历史语句语义表示和当前语句语义表示进行两两拼接,输入多层感知机网络模型,基于语义匹配度对历史语句分配权重值;步骤(6)将历史语句语义表示结合权重值输入对应角色双向LSTM模型,得到角色历史语义影响向量;步骤(7)拼接2个角色历史语义影响向量得到最终历史语义影响向量;步骤(8)结合最终历史语义影响向量与当前语句语义表示,输入双向LSTM模型进行意图检测;步骤(9)将预测的意图与语句对应的真实意图进行对比,计算损失函数,迭代更新网络模型中的参数;步骤(10)将需测试的语句与对应的历史语句输入训练好的语义匹配网络模型,正确提取历史语义影响向量,结合历史语义影响向量对该语句做意图检测;输出语句对应的意图。本专利技术所具有的优点如下:针对现有技术的不足,提供一种基于语义匹配的多轮对话口语理解方法,利用基于词级别的attention的卷积神经网络模型和树状LSTM模型提取语句语义,将历史语句结合当前语句语义表示输入多层感知机训练得到概率值,将概率值结合历史语句输入对应角色双向LSTM模型得到角色历史语义影响向量,将2个角色历史影响向量拼接得到最终历史语义影响向量,结合该向量对当前语句做意图检测。以解决在多轮对话中,历史信息提取不充分,不能有效对历史语句进行权重分配,不能有效判断历史语句与当前语句关系的问题。附图说明图1是本专利技术的整体实施方案流程图;图2是本专利技术的训练模型示意图;图3是树状LSTM网络模型图;图4是本专利技术工艺实施方案的具体流程图;具体实施方式下面结合附图对本专利技术作进一步描述。本专利技术的整体实施方案流程图参照图1,一种基于语义匹配的多轮对话口语理解方法,包括以下步骤:步骤(1)获取对话数据集并进行预处理,即针对对话数据集中的每个语句正确标注语句意图和对应历史语句;步骤(2)建立基于语义匹配的多轮对话口语理解架构,确定网络组成部分以及层数和维度,得到口语理解模型;步骤(3)将步骤(1)预处理后的语句分别输入基于词级别attention的卷积神经网络模型和树状LSTM模型,分别提取语句局部特征和语句语义特征;步骤(4)将得到的语句局部特征和语句语义特征进行拼接,得到最终单句语句语义表示;步骤(5)将历史语句语义表示和当前语句语义表示进行两两拼接,输入多层感知机网络模型,基于语义匹配度对历史语句分配权重值;步骤(6)将历史语句语义表示结合权重值输入对应角色双向LSTM模型,得到角色历史语义影响向量;步骤(7)拼接2个角色历史语义影响向量得到最终历史语义影响向量;步骤(8)结合最终历史语义影响向量与当前语句语义表示,输入双向LSTM模型进行意图检测;步骤(9)将预测的意图与语句对应的真实意图进行对比,计算损失函数,迭代更新网络模型中的参数;步骤(10)将需测试的语句与对应的历史语句输入训练好的语义匹配网络模型,正确提取历史语义影响向量,结合历史语义影响向量对该语句做意图检测;输出语句对应的意图。步骤(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模型组成。步骤(3)具体过程如下:(3-1)根据预训练的词向量模型glove,查询语句中单词对应的词向量,将一个语句转化为原始词向量矩阵W=[w1,w2,…wL];W∈R本文档来自技高网...

【技术保护点】
1.一种基于语义匹配的多轮对话口语理解方法,其特征在于包括以下步骤:/n步骤(1)获取对话数据集并进行预处理,即针对对话数据集中的每个语句正确标注语句意图和对应历史语句;/n步骤(2)建立基于语义匹配的多轮对话口语理解架构,确定网络组成部分以及层数和维度,得到口语理解模型;/n步骤(3)将步骤(1)预处理后的语句分别输入基于词级别attention的卷积神经网络模型和树状LSTM模型,分别提取语句局部特征和语句语义特征;/n步骤(4)将得到的语句局部特征和语句语义特征进行拼接,得到最终单句语句语义表示;/n步骤(5)将历史语句语义表示和当前语句语义表示进行两两拼接,输入多层感知机网络模型,基于语义匹配度对历史语句分配权重值;/n步骤(6)将历史语句语义表示结合权重值输入对应角色双向LSTM模型,得到角色历史语义影响向量;/n步骤(7)拼接2个角色历史语义影响向量得到最终历史语义影响向量;/n步骤(8)结合最终历史语义影响向量与当前语句语义表示,输入双向LSTM模型进行意图检测;/n步骤(9)将预测的意图与语句对应的真实意图进行对比,计算损失函数,迭代更新网络模型中的参数;/n步骤(10)将需测试的语句与对应的历史语句输入训练好的语义匹配网络模型,正确提取历史语义影响向量,结合历史语义影响向量对该语句做意图检测;输出语句对应的意图。/n...

【技术特征摘要】
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表...

【专利技术属性】
技术研发人员:姜明曹凯强李鹏飞张旻汤景凡
申请(专利权)人:杭州电子科技大学
类型:发明
国别省市:浙江;33

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

1