«上一篇 下一篇»
  计算机工程  2019, Vol. 45 Issue (9): 284-290  DOI: 10.19678/j.issn.1000-3428.0052098
0

引用本文  

冯兴杰, 张乐, 曾云泽. 基于多注意力CNN的问题相似度计算模型[J]. 计算机工程, 2019, 45(9), 284-290. DOI: 10.19678/j.issn.1000-3428.0052098.
FENG Xingjie, ZHANG Le, ZENG Yunze. Question Similarity Calculation Model Based on Multi-Attention CNN[J]. Computer Engineering, 2019, 45(9), 284-290. DOI: 10.19678/j.issn.1000-3428.0052098.

基金项目

国家自然科学基金青年科学基金(61301245, 61201414);赛尔网络下一代互联网技术创新项目(NGII20160605)

通信作者

张乐(通信作者), 硕士研究生

作者简介

冯兴杰(1969-), 男, 教授、博士, 主研方向为智能信息处理、智能算法, E-mail: xwjxt@sict.ac.cn;
曾云泽, 硕士研究生

文章历史

收稿日期:2018-07-13
修回日期:2018-08-19
基于多注意力CNN的问题相似度计算模型
冯兴杰 , 张乐 , 曾云泽     
中国民航大学 计算机科学与技术学院, 天津 300300
摘要:在智能客服问答系统中,用户所提问句具有咨询意图复杂、上下文相关性弱以及口语化等特点,导致问句相似度计算的准确率不高,出现答非所问的情况。提出一种基于卷积神经网络的相似度计算模型MA-CNN。通过2个不同的注意力机制,同时关注词汇间的语义信息和句子间的整体语义信息,提高智能客服对问题的理解能力。实验结果表明,与基于词向量和基于循环神经网络的模型相比,MA-CNN模型对问句的辨识能力更强,其F1值最高可达0.501。
关键词智能客服    文本相似度    词语语义    句子语义    卷积神经网络    注意力机制    
Question Similarity Calculation Model Based on Multi-Attention CNN
FENG Xingjie , ZHANG Le , ZENG Yunze     
College of Computer Science and Technology, Civil Aviation University of China, Tianjin 300300, China
Abstract: In the intelligent customer service question-answering system, the questions asked by users are characterized by complex consultation intention, weak contextual relevance, and serious colloquialization.As a result, the accuracy of question similarity calculation is not high and irrelevant answer occurs.In order to solve these problems, a similarity calculation model MA-CNN based on Convolutional Neural Network (CNN) is proposed.Focusing on the semantic information between words and the overall semantic information between sentences through two different attention mechanisms, the problem understanding ability of the intelligent customer service can be improved.Experimental results show that, compared with the models based on word vector and Recurrent Neural Network(RNN), the MA-CNN model has stronger ability to identify questions, and its F1 value can reach up to 0.501.
Key words: intelligent customer service    text similarity    semantic of words    semantic of sentence    Convolutional Neural Network(CNN)    attention mechanism    
0 概述

随着互联网技术的发展和智能设备的普及, 人们的社交方式及应用软件的功能更加多样化。传统人工客服难以保证客户的体验感, 因此基于语音智能处理技术的智能客服应运而生。在回答问题的过程中, 智能客服根据用户给定的问题匹配数据库中相似问题的答案。由于用户所提问题具有咨询意图复杂、上下文相关性弱、问题多样、指代缺失、口语化严重等特点, 智能客服对问句的理解受到很大的制约, 导致其不能准确地返回对应的答案, 极大地影响了用户的体验感。

用户所提问题偏向口语化且长度较短, 尽管问题的用词和句式极其相似, 但是其语义逻辑却大相径庭。例如, 存在3个待辨识的句子pr0r1。其中, p表示用户提出的问题“蚂蚁花呗临时额度可以分期吗?”, r0表示是语义相同的相似问题1 “蚂蚁花呗的临时额度到期了, 还可以继续分期付款吗?”, r1表示是语义不同的相似问题2“蚂蚁花呗分期提前还款收费用吗?”。在以往的研究中[1-2], 当pr0r1含有相同词语“蚂蚁花呗”“分期”且有相似词语“额度”“付款”“收费”时, 往往将r0r1判断为正例, 实际上r0是正例而r1是负例。分类发生错误的主要原因在于, 这些方法将用户提出的问题p与相似问题r单独进行考虑, 且只在词语层次进行相似度匹配, 忽略了2个句子在特定语义环境下的相互作用。为在关注词级信息的同时综合考虑问题语句的上下文信息, 进一步提高对句式相似、口语化严重的问句的辨识准确率, 本文提出一种基于多注意力机制的卷积神经网络模型(Multi-Attention Convolutional Neural Network, MA-CNN)。

1 相关工作 1.1 基于词匹配的方法

词匹配技术是在自然语言处理(Natural Language Processing, NLP)中判断2个用词相同、句式相似的问题是否语义相同的一种经典方法[3]。文献[4]利用词汇重叠方法计算“文本-假设”之间的有向语义相似性, 文献[5]提出文本相似度算法, 其核心是获取最大公共字符串等。由于上述方法都是简单地根据相同词语进行匹配, 不能理解、应用词语的语义信息, 因此不能有效检测出语义相同而用词不同的情况[6]。例如, 给定2个句子:“今天天气很糟糕, 已经开始下雨了。”“今天风雨交加、电闪雷鸣。”这2句话说的都是天气不好且正在下雨, 但由于没有出现相同的词语, 基于词匹配的技术不再适用。

1.2 基于深度学习的方法

使用深度学习来辨识2个句子的相似度是目前常用的方法, 其关键在于构建有效的词语层面和句子层面的特征表达。文献[7]使用分布式词向量表示方法进行建模, 将每个词映射为一个固定长度的向量, 并将其视为高维词向量空间的一个点, 通过向量间的距离度量词汇间的相似性。文献[8-9]基于分布式词向量的概念提出Word2Vec技术, 其已在很多NLP任务中取得了成功[10]。例如, 文献[11]在Word2Vec词向量的基础上, 通过句子变换矩阵来度量句子间的语义距离。然而, 上述方法忽略了句子间的潜在特征, 为了更准确地刻画出句子的语义特征, 文献[12]基于稀疏自学习卷积神经网络, 通过动态捕获句子各潜在特征的有效关联来进一步构建句子的向量表达, 该方法取得了较好的效果。文献[13]通过卷积神经网络(Convolutional Neural Network, CNN)提取句子不同粒度的n-gram信息, 使用门控循环单元(Gated Recurrent Unit, GRU)来集成句子的特征, 在考虑词语层次信息的同时, 综合句子的整体特征, 以进一步提高识别准确率。

1.3 注意力机制

结合注意力机制的CNN在图像领域已取得较多成果, 例如, 视觉问题回答[14]、图像分类[15]、图像字幕生成[16]、图像分割[17]、物体检测[18]等。随后, 很多基于注意力机制的循环神经网络模型(Recurrent Neural Network, RNN)的相关研究在NLP领域展开。例如:文献[19-20]将该技术用于机器翻译、文本重构; 文献[21]使用时间递归神经网络在数据集SICK上进行语义推理; 文献[22]将基于注意力机制的长短期记忆网络(Long Short-Term Memory, LSTM)进行文本语义推理。然而, 目前多数相关研究是处理长序列问题的Seq2Seq模型, 对于长度极短的问句, 这些方法并不是最佳解决方案。同时, 在以往研究中发现, CNN相比LSTM更具有优势。例如, 文献[19-20]使用LSTM对整个句子进行编码, 然后结合注意力机制, 其丢失了部分词语及短语的信息; 而文献[23]利用CNN的卷积特性来提取短语信息, 其对于短文本的情感分析取得较好的效果。为了利用注意力机制更好地处理智能客服的短文本问句, 本文提出基于注意力机制的CNN模型, 其主要基于以下3点考虑:

1) CNN能通过卷积核整合局部词语之间的语义关系, 得到短语级别的信息, 以更好地学习短语级别的注意力矩阵。

2) 尽管LSTM能将文本编码成结合上下文信息的向量表达, 但其结构较复杂, 训练模型的时间复杂度更高[24]

3) 用户所提的问题语句通常较短, 能供模型利用的上下文信息较少, 擅长解决长序依赖问题的LSTM并不能充分发挥其优势。

2 MA-CNN模型 2.1 问题定义

给定数据集D, 其中, 句子1的集合为T={t1, t2, …, tm}, 句子2的集合为K={k1, k2, …, km}, 这2个句子的标签集合为Y={y1, y2, …, ym}, yi∈{0, 1}。MA-CNN模型的任务是判断(ti, ki)中的2个句子是否语义相同, 如果相同则输出yi=1, 否则输出yi=0。模型最终的目标函数如下:

$ p\left( {Y\left| {K,T} \right.} \right) = \arg \max f\left( {Y\left| {K,T;\theta } \right.} \right) $ (1)

其中, f表示本文模型, θ为模型中的参数集合。式(1)表示在给定句子对集合(K, T)的情况下, 模型最大化其标签集合Y的概率。

2.2 模型构建

图 1所示为本文MA-CNN模型的结构示意图。由图 1可知, MA-CNN模型基于2个并行的卷积神经网络来对问题p和问题r进行处理, 其中, 左边网络主要负责问题p, 右边网络主要负责问题r。在进行卷积操作之前, 使用注意力-1对问题p和问题r进行处理, 使2个问题句子对应的Word2Vec词向量产生交互, 进而捕捉其词级关系。在进行卷积操作之后, 分别得到2个问题的整体抽象表达, 再运用注意力-2使其产生交互, 整合2个问题句子的整体语义信息。通过注意力-1、注意力-2的处理, MA-CNN模型能够捕捉2个问题之间的词级关系, 同时结合两者的整体语义信息。最后, 由2个并行网络分别得到问题p和问题r的向量表达ab, 将ab、|a-b|、a*b这4个向量进行拼接, 其中, |a-b|表示剔除2个问题相同的部分, 保留相异的部分, a*b表示进行一次交互。将拼接结果放入logistic回归模型中, 判断问题p和问题r的语义是否一致, 如果一致则输出1, 否则输出0, 得到语义分类结果。

Download:
图 1 MA-CNN模型架构
2.2.1 输入层

将每个句子截取为固定长度s, 不足长度的补0, 本文模型的s值取40, 用Word2Vec训练好的词向量进行映射, 将每个句子表示为d×s维的向量, 其中, d是词向量的维度, 本文d值取256。

2.2.2 词向量+注意力-1

在词向量中加入注意力-1, 主要是考虑2个句子在嵌入层词语之间的交互信息。假设$\boldsymbol{A}^{1} \in \mathbb{R}^{s \times s} $表示2个句子注意力-1的特征矩阵, 则A1可以通过向量矩阵的单元匹配方式获得。矩阵A1的第i行代表句子1第i个单元对句子2的注意力, 矩阵A1的第j列代表句子2第j个单元对句子1的注意力。假设$ \boldsymbol{F}_{0, r} \in \mathbb{R}^{d \times s}$代表句子1的词向量矩阵, $\boldsymbol{F}_{1, r} \in \mathbb{R}^{d \times s} $代表句子2的词向量矩阵, 则矩阵A1的计算过程如下:

$ \mathit{\boldsymbol{A}}_{i,j}^1 = {\rm{match}} - {\rm{score}}\left( {{\mathit{\boldsymbol{F}}_{0,r}}\left[ {:,i} \right],{\mathit{\boldsymbol{F}}_{1,r}}\left[ {:,j} \right]} \right) $ (2)

其中, match-score有欧几里得距离、余弦距离、点积3种策略可供选择, 具体如下:

1) 欧几里得距离

$ {\rm{match}} - {\rm{score}}\left( {\mathit{\boldsymbol{x}},\mathit{\boldsymbol{y}}} \right) = 1/\left( {1 + \left| {\mathit{\boldsymbol{x}} - \mathit{\boldsymbol{y}}} \right|} \right) $ (3)

其中, xy分别表示句子1和句子2, 是2个长度相等的一维特征向量。

2) 余弦距离

$ {\rm{match}} - {\rm{score}}\left( {\mathit{\boldsymbol{x}},\mathit{\boldsymbol{y}}} \right) = 1/\left( {1 + \cos \left( {\mathit{\boldsymbol{x}},\mathit{\boldsymbol{y}}} \right)} \right) $ (4)

3) 点乘

$ {\rm{match}} - {\rm{score}}\left( {\mathit{\boldsymbol{x}},\mathit{\boldsymbol{y}}} \right) = 1/\left( {1 + \mathit{\boldsymbol{x}} \cdot \mathit{\boldsymbol{y}}} \right) $ (5)

使用不同的match-score策略会对MA-CNN模型产生不同的影响。

在得到注意力特征矩阵A1后, 将A1与原句的词向量矩阵相乘, 得到加入注意力后的向量表达。其中, F0, a表示句子1加入注意力后的向量表达, F1, a表示句子2加入注意力后的向量表达, 计算过程如下:

$ {\mathit{\boldsymbol{F}}_{0,a}} = {\mathit{\boldsymbol{F}}_{0,r}} \cdot {\left( {{\mathit{\boldsymbol{A}}^1}} \right)^{\rm{T}}} $ (6)
$ {\mathit{\boldsymbol{F}}_{1,a}} = {\mathit{\boldsymbol{F}}_{1,r}} \cdot {\mathit{\boldsymbol{A}}^1} $ (7)

句子新的向量表达F0, aF1, a经过卷积层产生更高级的特征图。

2.2.3 卷积层

卷积层由若干个尺寸固定的卷积核组成, 通过卷积操作可实现参数共享, 避免过拟合, 提高训练速度, 计算过程如下:

$ {c_i} = f\left( {W \cdot {\mathit{\boldsymbol{x}}_{i:i + w - 1}} + b} \right) $ (8)

其中, ci表示输入的特征经过卷积后对应的第i个特征值, f表示非线性激活函数, 本文使用常用的Relu函数, W表示滤波器的权重, w表示卷积核窗口大小, xi:i+w-1表示句中第i个特征图到第i+w-1个特征图的向量表达, b表示偏置。采用多个卷积核进行训练, 第i个卷积核的卷积结果为Ci, 如下:

$ {\mathit{\boldsymbol{C}}_i} = \left[ {{c_1},{c_2}, \cdots ,{c_{n - w + 1}}} \right] $ (9)

合并多个卷积核的结果可以得到经过卷积后第i个句子的卷积输出$ \boldsymbol{F}_{i, r}^{c} \in \mathbb{R}^{d \times\left(s_{i}+w-1\right)}$, d为卷积核的个数, Fi, rc的计算如下:

$ \mathit{\boldsymbol{F}}_{i,r}^c = \left[ {{\mathit{\boldsymbol{C}}_1},{\mathit{\boldsymbol{C}}_2}, \cdots ,{\mathit{\boldsymbol{C}}_{n - w + 1}}} \right] $ (10)
2.2.4 卷积层+注意力-2

在卷积操作后加入注意力-2, 通过注意力-2对卷积层的输出添加不同的权重, 使得MA-CNN模型能够更好地辨识句子1和句子2。

假设注意力-2的矩阵为$ \boldsymbol{A}^{2} \in \mathbb{R}^{s \times s}, a_{0, j}=\sum \boldsymbol{A}^{2}[j, :]$表示句子1中第j个单元的注意力权重, 一个卷积核覆盖的区域为1个单元。$a_{1, j}=\sum \boldsymbol{A}^{2}[ :, j] $表示句子2中第j个单元的注意力权重。$\boldsymbol{F}_{i, r}^{c} \in \mathbb{R}^{d \times\left(s_{i}+w-1\right)} $是句子i的卷积输出。第j列的特征$\boldsymbol{F}_{i, r}^{p} \in \mathbb{R}^{d \times s_{i}} $由以下特征生成:

$ \mathit{\boldsymbol{F}}_{i,r}^p\left[ {:,j} \right] = \sum\limits_{k = j:j + w} {{a_{i,k}}} \cdot \mathit{\boldsymbol{F}}_{i,r}^c\left[ {:,k} \right],j = 1,2, \cdots ,{s_i} $ (11)

其中, $\boldsymbol{F}_{i, r}^{p} \in \mathbb{R}^{d \times s_{i}} $表示对卷积层加入注意力-2之后的输出。将Fi, rp输入到下一层, 继续进行上卷积+注意力-2操作, 如果是最后一层, 则进行池化操作, 依次在完成卷积后对卷积输入结果加注意力的操作。

2.2.5 池化层

非线性池化的方式有很多, 例如平均池化、最小池化、最大池化等。本文采用平均池化的方式对最后一层卷积层的输出进行处理, 从而得到每个句子的向量表达。对于不是最后一层的卷积输出, 则按照一定的步长进行平均池化, 然后继续进行卷积操作。

2.2.6 全连接层

经过卷积操作之后, 得到2个句子的抽象表达向量ab, 进行如下操作后将其输入全连接层:

$ m = \left[ {\mathit{\boldsymbol{a}},\mathit{\boldsymbol{b}},\mathit{\boldsymbol{a}} - \mathit{\boldsymbol{b}},\mathit{\boldsymbol{a}} * \mathit{\boldsymbol{b}}} \right] $ (12)

其中, |a-b|使得MA-CNN模型能够关注2个问题相异的细节, a*b能够在抽象的语义空间中进一步考虑2个问题句子的语言含义, 充分结合其整体的语义关系。

2.3 训练方法

本模型损失函数设置为在训练样本上的负对数似然函数L(θ), 计算过程式如下:

$ L\left( \theta \right) = - {\rm{lbP}}\left( {D\left| \theta \right.} \right) $ (13)

其中, θ为模型参数, D表示整个训练集。P(D|θ)表示在参数为θ时, 模型在训练集上的似然。本模型是一个二分类问题, 标签为1的概率为Pθ(s)=lb P(y=1|x=s; θ), 标签为0的概率为1-Pθ(s), 则有如下公式:

$ \begin{array}{l} {\rm{lb}}P\left( {D\left| \theta \right.} \right) = \sum\limits_{{s_i}}^{\left| D \right|} {{y_{{s_i}}}} \cdot {\rm{lb}}P\left( {y = 1\left| {x = {s_i};\theta } \right.} \right) + \\ \;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\;\left( {1 - {y_{{s_i}}}} \right) \cdot {\rm{lb}}P\left( {y = 0\left| {x = {s_i};\theta } \right.} \right) \end{array} $ (14)

其中, 标签ysi取值为0或1, 取值为0表示2个句子语义不同, 取值为1则表示2个句子语义相同。为了使损失函数最小化, 本文采用Adam算法对模型进行优化。为了防止过拟合, 利用L2正则化对全局网络进行约束, 同时, 在全连接层与卷积层引入神经元随机失活机制, 每次迭代随机放弃一些训练完成的参数。

3 实验结果与分析 3.1 实验流程

本文实验流程具体分为如下5个步骤:

步骤1  通过结巴分词与停用词过滤, 得到分词之后的结果。

步骤2  过滤掉词频小于5的词, 建立词典。

步骤3  利用Word2Vec技术训练得到词向量。

步骤4  将2个句子截断到长度40, 不足40的补0, 将截断后所对应的词向量输入模型中进行分类。

步骤5  对模型的分类结果进行评估。

3.2 实验数据

本文实验数据来自某公司真实客服数据, 共100 000个问题对, 其中正负样本比为1:4, 句子平均长度为15, 最大长度为97。实验数据样例如表 1所示, 标签0表示2个句子意思不同, 标签1表示2个句子意思相同。

下载CSV 表 1 实验数据样例

表 1数据可知, 负样本并不是毫无关系的2个句子, 而是句式、用词极其相似但语义不同的句子, 且这些数据都是用户的提问语句, 具有咨询意图复杂、上下文相关性弱、问题多样、指代缺失、口语化严重等特点。在该数据集上进行实验, 模型的识别难度增加, 更能验证本文MA-CNN模型的有效性。

3.3 实验环境

本文实验环境的具体信息见表 2

下载CSV 表 2 本文实验环境
3.4 评价指标

本文实验采用精确率(precision)、召回率(recall)、F1值作为评价指标, 其计算公式如下:

$ precision = \frac{{tp}}{{tp + fp}} $ (15)
$ recall = \frac{{tp}}{{tp + fn}} $ (16)
$ F1 = \frac{{2precision \cdot recall}}{{precision + recall}} $ (17)

其中, tp表示真正例数量, fp表示假正例数量, fn表示假反例数量。

3.5 词向量训练

本文使用Gemsim开源的Word2Vec工具对训练语料进行词向量训练, Word2Vec采用CBOW模型, 上下文窗口大小设置为5, 最小词频设置为3, 词向量维度大小设为256, 采样值大小设为0.001。对于不在词典中的词、补长的词, 则采用随机初始化方式进行表示。

3.6 超参数设置与训练

在本文的网络结构中, Batch size设置为128, 激活函数采用Relu, 学习率设为0.005, Dropout比率设为0.5。根据Adam优化方法的经验值[25], 1层~3层卷积核窗口大小分别取3、4、5, 模型层数与卷积核个数通过5折交叉验证得到。实验epoch初始值设置为20, 下文中的epoch值表示取得最佳F1值时所对应的训练轮数, 卷积核层数、个数不同时的实验结果分别如表 3表 4所示。

下载CSV 表 3 卷积核层数不同时的结果对比
下载CSV 表 4 卷积核个数不同时的结果对比

表 3可知, 2层效果比1层好, 3层与2层的差别不大, 但是考虑到3层参数比2层多很多, 有过拟合的风险, 所以认为最佳层数为2层。由表 4可知, 卷积核个数为128、256时的效果差不多, 但是256个卷积核所对应的模型参数为1 798 407, 其参数量约为128个卷积核模型的2倍, 这不仅需要更多的迭代次数, 而且存在过拟合的风险, 因此认为128个卷积核时效果较好。综合表 3表 4的分析结果, 本文MA-CNN模型均采用2层结构、卷积核个数为128个。

3.7 结果分析 3.7.1 有效性验证

本文对3种不同模型的实验结果进行对比, 具体如下:

1) No-Att模型:不加注意力机制。

2) Att-1模型:在词嵌入过程中加入注意力-1的操作。

3) Att-1-2模型:在词嵌入注意力-1的同时, 在卷积层之后加入注意力-2的操作。

表 5给出这3种模型的实验结果对比。

下载CSV 表 5 3种模型的实验结果对比

如上文可知, 注意力-1的主要作用是考虑词语层面的信息, 通过标签的正确引导, 减小用户问句中错别字及不规范表达的权重。注意力-2侧重于捕捉2个问题句子间潜在的关联特征, 在标签的指导下减小指代缺失短语的权重, 从而解决指代缺失的问题。结合表 5进行分析, No-Att模型的精确率、召回率、F1值均低于加入注意力机制的Att-1、Att-1-2模型, 证明了注意力机制的有效性。其中, Att-1-2模型的F1值为0.501, 与Att-1模型的F1值相比提升了6.82%。这是因为Att-1-2模型通过卷积层前后2次注意力机制, 既能捕捉词语层次之间的交互信息, 又能提取到整体语义信息, 而Att-1模型只能捕获词语层次之间的交互信息, 未能透彻地理解整个问题句子的含义。从另一个角度来分析, Att-1-2模型拥有更多的参数供激活函数以更复杂的非线性方式来表达语义信息, 从而取得较好的结果。

3.7.2 match-score对模型的影响

在生成注意力矩阵A1的阶段, 共有余弦相似度、点乘、欧几里得距离3种策略。本文分别对这3种策略进行对比实验, 结果如表 6所示。

下载CSV 表 6 match-score 3种不同策略的结果对比

表 6可以看出, 使用欧几里得距离训练3轮就可以得到该策略对应最佳的F1值, 但是时间复杂度较高。使用点乘策略训练12轮, 得到的F1值能比欧几里得距离策略提高61%。同时, 余弦相似度策略在轮数、精确率、召回率、F1值方面均优于点乘和欧几里得距离策略, 因此, 本文使用余弦相似度策略进行实验。

3.7.3 与传统模型的对比

传统模型通常先将问题p和问题r分别通过词向量映射求平均得到2个一维向量PR。然后通过不同的向量相似度公式计算PR的相似度S, S∈[0, 1]。相似度S越接近于0, 表明问题p和问题r越不相似; S越接近于1, 表明问题p和问题r越相似。本文将8种采用不同相似度公式的传统模型与MA-CNN模型进行对比, 结果如表 7所示。

下载CSV 表 7 本文模型与8种传统模型的结果对比

表 7可知, 在8个传统模型中, 表现最优的是jaccard和canberra模型, 其F1值均达到0.302, 但是与本文MA-CNN模型相比, F1值降低了65.89%, MA-CNN模型具有明显优势。该结果再次表明, 传统模型只关注词语层次之间的关系, 无法有效识别相似度较高的2个句子。相反, 基于深度学习的MA-CNN模型通过多角度的注意力机制, 能够整合词语之间、句子之间的关系, 学习到深度的语义信息, 可更好地辨识2个句子间的语义相关性, 进而准确地识别出2个句式相似、口语化严重的句子是否语义相同。

3.7.4 与RNN模型的对比

本文还将MA-CNN模型与4种不同的RNN模型进行对比, 其中Batch size设置为128, 激活函数采用Relu, 学习率设为0.005, Dropout的比率设为0.5, RNN的隐层单元数为150, 实验结果如表 8所示。

下载CSV 表 8 本文模型与4种RNN模型的结果对比

表 8可知, 单向RNN模型不如双向RNN模型, 这是因为双向结构可以从2个不同的角度挖掘文本内在信息。从整体上来看, LSTM模型不如GRU模型, 这是因为GRU模型的参数较少, 更能避免过拟合现象。

在这4种RNN模型中, 表现最佳的是双向GRU模型Bi-GRU, 其F1值达到0.408, 但是与MA-CNN模型的F1值相比低了22.79%。这一结果再次表明, 由于智能客服问答系统中的问句大多是短文本, 没有足够长的文本供RNN模型充分发挥其记忆特性, 因此采用基于CNN结构的MA-CNN模型比采用RNN模型效果更佳。

4 结束语

本文基于多注意力机制建立深度学习模型MA-CNN, 综合考虑2个句子间词语层次、句子级别的深层语义信息, 帮助智能客服多层次、多角度、多粒度地理解用户所提问句, 从而减少答非所问的情况。实验结果表明, MA-CNN模型能够有效提高对问句的辨识能力, 融入多注意力机制存在其合理性。下一步将使用跨语言的数据集, 并在注意力机制上做相应的调整, 以增强MA-CNN模型的泛化能力, 使其能够在跨语言数据集上同样取得较好的效果。

参考文献
[1]
KANG Longbiao, HU Baotian, WU Xiangping, et al.A short texts matching method using shallow features and deep features[C]//Proceedings of Natural Language Processing and Chinese Computing.Berlin, Germany: Springer, 2014: 150-159. https://link.springer.com/chapter/10.1007%2F978-3-662-45924-9_14 (0)
[2]
WANG Hao, LU Zhengdong, LI Hang, et al.A dataset for research on short-text conversations[C]//Proceedings of Conference on Empirical Methods in Natural Language Processing.Stroudsburg, USA: Association for Computational Linguistics, 2013: 935-945. (0)
[3]
KENTER T, RIJKE M D.Short text similarity with word embeddings[C]//Proceedings of ACM International on Conference on Information and Knowledge Management.New York, USA: ACM Press, 2015: 1411-1420. https://www.mendeley.com/catalogue/short-text-similarity-word-embeddings-categories-subject-descriptors/ (0)
[4]
JIJKOUN V, RIJKE M D.Recognizing textual entailment using lexical similarity[EB/OL].[2018-07-01].http://u.cs.biu.ac.il/~nlp/RTE1/Proceedings/jijkoun_and_de_rijke.pdf. (0)
[5]
ISLAM A, INKPEN D. Semantic text similarity using corpus-based word similarity and string similarity[J]. ACM Transactions on Knowledge Discovery from Data, 2008, 2(2): 1-25. (0)
[6]
KUSNER M J, SUN Yu, KOLKIN N I, et al.From word embeddings to document distances[C]//Proceedings of the 32nd International Conference on Machine Learning.New York, USA: ACM Press, 2015: 957-966. https://www.mendeley.com/catalogue/word-embeddings-document-distances/ (0)
[7]
RUMELHART D E, HINTON G E, WILLIAMS R J. Learning representations by back-propagating errors[J]. Nature, 1986, 323(6088): 399-421. (0)
[8]
MIKOLOV T, CHEN Kai, CORRADO G, et al.Efficient estimation of word representations in vector space[EB/OL].[2018-07-01].https://arxiv.org/abs/1301.3781. (0)
[9]
MIKOLOV T, SUTSKEVER I, CHEN Kai, et al.Distributed representations of words and phrases and their compositionality[C]//Proceedings of the 26th International Conference on Neural Information Processing Systems.New York, USA: ACM Press, 2013: 3111-3119. http://www.oalib.com/paper/4088113 (0)
[10]
BARONI M, DINU G, KRUSZEWSKI G.Don't count, predict! a systematic comparison of context-counting vs.context-predicting semantic vectors[C]//Proceedings of Meeting of the Association for Computational Linguistics.Stroudsburg, USA: Association for Computational Linguistics, 2014: 238-247. (0)
[11]
黄江平, 姬东鸿. 基于句子语义距离的释义识别研究[J]. 四川大学学报(工程科学版), 2016, 48(6): 202-207. (0)
[12]
高云龙, 左万利, 王英, 等. 基于稀疏自学习卷积神经网络的句子分类模型[J]. 计算机研究与发展, 2018, 55(1): 179-187. (0)
[13]
张琦, 彭志平. 融合注意力机制和CNN-GRNN模型的读者情绪预测[J]. 计算机工程与应用, 2018, 54(13): 168-174. DOI:10.3778/j.issn.1002-8331.1701-0270 (0)
[14]
CHEN Kai, WANG Jiang, CHEN Liangchieh, et al.ABC-CNN: an attention based convolutional neural network for visual question answering[EB/OL].[2018-07-01].https://arxiv.org/pdf/1511.05960.pdf. (0)
[15]
XIAO Tianjun, XU Yichong, YANG Kuiyuan, et al.The application of two-level attention models in deep convolutional neural network for fine-grained image classification[C]//Proceedings of 2015 IEEE Conference on Computer Vision and Pattern Recognition.Washington D.C., USA: IEEE Press, 2015: 842-850. http://www.oalib.com/paper/4066474 (0)
[16]
徐俊.基于视觉的文本生成方法研究[D].合肥: 中国科学技术大学, 2018. http://cdmd.cnki.com.cn/Article/CDMD-10358-1018088263.htm (0)
[17]
李青山.基于注意力选择机制的图像分割与场景理解[D].上海: 上海交通大学, 2012. http://cdmd.cnki.com.cn/Article/CDMD-10248-1012018441.htm (0)
[18]
CAO Chunshui, LIU Xianming, YANG Yi, et al.Look and think twice: capturing top-down visual attention with feedback convolutional neural networks[C]//Proceedings of 2015 IEEE International Conference on Computer Vision.Washington D.C., USA: IEEE Press, 2015: 2956-2964. https://ieeexplore.ieee.org/document/7410695?arnumber=7410695 (0)
[19]
BAHDANAU D, CHO K, BENGIO Y.Neural machine trans-lation by jointly learning to align and translate[EB/OL].[2018-07-01].https://arxiv.org/pdf/1409.0473v6.pdf. (0)
[20]
刘宇鹏, 马春光, 张亚楠. 深度递归的层次化机器翻译模型[J]. 计算机学报, 2017, 40(4): 861-871. (0)
[21]
BOWMAN S R, POTTS C, MANNING C D.Recursive neural networks can learn logical semantics[EB/OL].[2018-07-01].https://arxiv.org/pdf/1406.1827.pdf. (0)
[22]
ROCKTÄSCHEL T, GREFENSTETTE E, HERMANN K M, et al.Reasoning about entailment with neural attention[EB/OL].[2018-07-01].https://arxiv.org/pdf/1509.06664.pdf. (0)
[23]
冯兴杰, 张志伟, 史金钏. 基于卷积神经网络和注意力模型的文本情感分析[J]. 计算机应用研究, 2018, 35(5): 1434-1436. DOI:10.3969/j.issn.1001-3695.2018.05.033 (0)
[24]
YIN WENPENG, KANN K, YU Mo, et al.Comparative study of cnn and rnn for natural language processing[EB/OL].[2018-07-01].https://arxiv.org/pdf/1702.01923.pdf. (0)
[25]
KIM Y.Convolutional neural networks for sentence classification[EB/OL].[2018-07-01].https://arxiv.org/pdf/1408.5882.pdf. (0)