基于ERNIE-BiLSTM-Capsule的口语意图识别
2022-02-19南京邮电大学计算机学院郑思露
南京邮电大学计算机学院 郑思露
人机对话意图识别是自然语言处理领域的一个研究热点,通常是将对话转录为文本,通过对文本进行分类实现对意图的识别。针对人机对话中对话文本短导致缺少足够的语境信息和因用户说话比较随意导致意图表达不清晰的问题,提出一种基于ERNIE-BiLSTMCapsule(EBC)的意图识别模型。模型以能够依据不同上下文生成动态生成词向量的知识增强ERNIE作为词嵌入模块;并利用BiLSTM来捕捉意图在上下文上的表达;最后用胶囊网络来有效地编码文本意图在不同维度与真实意图标签之间的关系,提高文本分类能力。在CCKS意图识别数据集上进行实验,验证了模型在准确度和综合准确率F1有显著提高。
随着近年来深度学习的快速发展,人机对话系统也变得越来越智能化。人机对话系统主要由语音识别、口语理解、对话管理、对话生成、语音生成五部分组成,如图1所示。其中语言识别是将对话转成文本的形式;口语理解是识别出用户的具体意图;对话管理是根据对话历史信息,决定此刻对用户的反应;对话生成是生成机器反馈给用户的内容;语音生成则是将内容以语音的形式反馈给用户。其中口语理解至关重要,而用户意图识别的准确性则直接影响整个对话系统的性能。
图1 人机对话系统架构Fig.1 Architecture of man-machine dialogue system
意图识别是将对话文本归类到预先设定好的类别中。相较于书面文本是具有完整、系统含义的一个句子或多个句子的组合,对话文本则相对较短而且在用户在意图的表达上也比较随意,因此传统的文本分类方法很难从中识别出用户的具体意图。
针对上述问题,本文提出一种基于知识增强预训练模型的中文对话短文本意图识别模型EBC。首先通过ERNIE预训练模型的嵌入得到文本的语义的增强表示;然后利用双向长短期记忆网络提取意图在对话中的分布情况;最后利用利用胶囊网络的动态路由去选择意图,从而实现口语文本的意图识别。
1 相关工作
近些年来,随着深度学习的迅猛发展,深度学习的方法被不断地应用在意图识别上。Hashemi等[1]利用CNN进行文本特征提取,通过提取意图文本的局部特征来获取意图信息,并通过分类器识别出对应的意图。Wang Y[2]等利用LSTM、CNN和主题模型在提取特征上的优点来构建营销领域的意图识别,相比于单个模型,联合多种模型的优点可以提高意图识别的效果。Chen T[3]将同时考虑上下文意图之间的关系并关注整个文本要表达的重点,设计包含注意力和双向长短时记忆网络的模型,在客车意图查询上取得了较大的进步。上述网络在文本表示阶段均采用静态词向量,由于口语中存在一词多义的现象,而静态词向量无法表示一词多义,这会给整个网络带来一种错误的信息,从而导致意图识别效果难以有较大的提升。随着以BERT为代表的预训练模型的提出,其在11项自然语言处理任务中均取得了最好的效果。Liu D等[4]利用BERT作为预训练模型,并使用BiLSTM构建面向任务的人机对话的意图检测模型。针对BERT在MASK的对象是Word,百度提出ERNIE模型,对命名实体和短语做MASK操作,相比于对Word做MASK,ERNIE能捕捉到更多的语义信息。
Hinton在2017年提出的胶囊网络已经在图像领域取得了很好的效果,胶囊网络在图像领域强调其网络具有方向、大小等属性的识别和内部联系的生成一样,将胶囊网络应用在自然语言处理上,则可以解释为从不同的角度将文本信息与类别进行关联。Zhao[5]等第一次将胶囊网络应用在文本分类中,其分类的效果要优于CNN。 Xia[6]提出一种注意力机制和胶囊网络结合意图分类模型,该模型通过注意力机制提取意图文本的语义特征,然后利用胶囊网络的动态路由机制对意图进行分类,并取得了不错的效果。Renkens[7]结合双向循环神经网络和胶囊网络对口语的意图进行了识别。Liu J[8]利用胶囊网络对短文本的意图识别进行了实验,实验结果表明胶囊网络在小型短文本数据集上的优势。胶囊网络中利用了动态路由进行胶囊之间关系学习,建立了特征之间的姿态关系,相比与卷积神经网络,胶囊网络在小数据集上的优势明显。
2 相关技术
2.1 ERNIE预训练模型
ERNIE(Enhanced Representation through kNowledge IntEgration)是百度提出的语义表示模型,基于Transformer Encoder,相较于BERT,ERNIE通过建模海量数据中的词、实体及实体关系,学习真实世界的语义知识。相较于BERT学习原始语言信号,ERNIE直接对先验语义知识单元进行建模,增强了模型语义表示能力。BERT模型MASK策略如图2所示,ERNIE模型MASK的策略如图3所示。
图2 BERT MASK策略Fig.2 BERT MASK policy
图3 ERNIE MASK策略Fig.3 ERNIE MASK policy
BERT在MASK时采用随机策略,随机选择句子中的部分字,而ERNIE在MASK是通过识别出句子中的实体,将实体信息加入到词向量的训练中。对比BERT的随机策略,ERNIE的操作可以丰富词向量的语义信息,提高词向量的质量。
2.2 胶囊网络
胶囊网络是Hinton提出的旨在用向量的输入输出取代标量的输入输出。胶囊网络主要包含三个部分,初始胶囊层、Squash压缩激活函数、动态路由。
一个胶囊是一个向量,而文本的输入则是标量,初始胶囊层的作用就是将一组标量“加工”为一个个胶囊。每一个胶囊表示一个属性,而胶囊的向量则表示这个属性的“标架”。相比于之前只用一个标量表示有没有某个属性,现在用一个向量来表示,不仅表示有没有,还表示“又什么样的”。
在胶囊网络里使用Squash压缩激活函数来进行特征选择,公式如(1) 所示:
在胶囊网络中胶囊的模长能够代表这个特征的概率,式(1)中Vj表示第j个胶囊的输出将模长变为1表示特征的“显著程度”,模长越长,这个特征越显著。
在卷积神经网络中通过池化来提取特征,采用池化可以提取局部的显著特征,但是池化会丢掉很多有用的信息,胶囊网络中通过动态路由来达到特征选择的目的。动态路由的过程如图4所示:
图4 Capsule的动态路由Fig.4 Dynamic routing of Capsule
Capsule动态路由伪代码如算法1所示:
?
3 基于EBC模型架构
本节主要介绍EBC的整体结构以及每一个部分的主要作用,EBC架构如图5所示。
图5 EBC模型架构Fig.5 EBC model architecture
首先,将对话文本转换为ERNIE模型可以接收的形式,ERNIE模型会先对其进行MASK,在MASK的时候会识别出文本中的实体信息,然后再将识别出的实体之间关系加入到双向Transformer进行动态词向量的训练,从而得到符合语境且含有实体信息的词向量E。
然后将词向量E输入到BiLSTM中,其中LSTM的内部结构如图6所示。
图6 LSTM内部结构Fig.6 LSTM internal structure
其中Yt表示t时刻输入词,Ct-1表示内部信息状态,ht-1表示t-1时刻输出的隐藏状态,ft表示遗忘门,it表示记忆门,Ot表示输出门。LSTM的计算过程可以概括为:通过对内部信息遗忘和记忆新的信息使得对后续时刻计算有用的信息得以传递,而无用的信息被丢弃,并在每个时间步都会输出隐藏状态,其中遗忘、记忆与输出通过由上个时刻的隐层状态和当前输入计算出来的遗忘门,记忆门,输出门来控制。具体计算过程如式(2)-式(7)所示:
其中Wf、Wi、Wo为参数矩阵,bo、bc、bf、为偏置项为Sigmoid激活函数,·表示矩阵乘法表示元素乘法。
而BiSLTM则是将前向LSTM的输出和后向LSTM的输出进行拼接得到H。H不仅含有上文意图对下文意图的影响,也包含了下文意图对上文意图的影响。
最后将蕴含了上下文意图分布的特征H送入胶囊分类网络中,胶囊网络将意图在不同维度上的特征看做是一个胶囊,并通过动态路由机制来捕获每个胶囊与意图之间的关系,无需通过反向传播的方式进行更新。
4 实验及其结果分析
本文在全国知识图谱与语义计算大会技术评测任务2意图识别数据集(CCKS2018)进行实验。该数据集全部采自真实的对话情景,包括12000条有标记的数据,共有2类,其中有点歌的意图7535条记录、没有点歌的意图4465条记录,按照训练集∶验证集∶测试集=8∶1∶1的比例分配。数据集分布如表1所示。
表1 数据集分布Tab.1 Data set distribution
本文对比常用的几种经典的模型,并选用准确率(Precision)、召回率(Recall)和F1分数(F1- score)作为模型的评价标准。各模型结果如表2所示。在表2中,本文所提的EBC模型在意图识别任务上取得了88.48%的准确率、88.29%的召回率以及88.35%的F1分数。从中可以得出融合实体信息并捕获上下文意图的关系可以显著提高意图识别的准确率。
表2 不同模型在CCKS数据集上效果 Tab.2 Effect of different models on CCKS dataset
从表2中还可以看出,仅使用ERNIE作为词嵌入模块,然后在接一个Softmax分类网络所取得的效果,比在词嵌入模块使用静态词向量然后从不同角度对意图的特征进行提取所取得的效果要好不少。由此也能说明,在词嵌入模块通过mask文本中的实体信息,并加入到双向Transformer中进行训练所获得的动态词向量能够很好地表示语义信息,也说明一个好的文本表示对于意图识别而言是重要的。
5 结语
本文提出了一种基于EBC的意图识别方法,口语有效解决口语理解中语境匮乏和意图不清晰的问题。并验证了在意图识别任务中实体信息和上下文意图之间关联对于意图效果的重要性。下一步将从意图识别与语义槽填充两者之间的关联出发,利用语义槽填充辅助提升意图识别任务的效果。