2. 华中科技大学 人工智能与自动化学院, 武汉 430074
2. School of Artificial Intelligence and Automation, Huazhong University of Science and Technology, Wuhan 430074, China
文本蕴含识别任务, 是自然语言处理重要的子任务之一, 并且可以应用于大量的自然语言处理中. 其看似是一个简单的任务, 但在不同的下游任务中其变种十分广泛, 如信息检索、问答系统、对话系统、机器翻译等中. 该任务的输入主要为句子对, 最终结果是判断此句子对之间的逻辑关系(中立, 蕴含, 矛盾)或者句子对是否相似.
中文文本蕴含识别任务是比较困难的任务之一, 原因在于中文里一词多义、同义词等特点相对于其他语言更为突出, 从而导致在日常交流中也常有“词不达意”的情况出现. 然而传统的算法并不能获取中文里的语义信息, 比如Bow、VSM、TF-IDF、BM25、Jaccord、SimHash等经典算法, 其主要解决的是词汇层面的匹配问题, 或者说词汇层面的相似度问题. 而基于词汇重合度的匹配算法有很大的局限性, 原因包括:
(1)词义局限. 同一词语在不同的语境下所表达的意思会不同.
(2)结构局限. 对于一个词语, 调转先后顺序表达的意思会完全不同, 如“奶牛”“牛奶”.
(3)知识局限. 一个句子结合常识看是错误的, 但从词法和句法上看都是正确的.
为了解决上述的问题, 本文提出了一种基于Transformer[1]和HowNet的文本蕴含识别方法, 拓展了对于句子语义信息获取方面的研究. 我们首先通过Transformer对中文语句内部结构语义信息进行多层次编码和数据驱动, 并引入外部知识库HowNet进行知识驱动建模词汇之间的义原知识关联, 然后利用soft-attention进行交互注意力计算并与义原矩阵实现知识融合, 最后用BiLSTM进一步编码文本概念层语义信息并推理判别语义一致性和蕴含关系. 通过多项实验表明, 与轻量化模型和预训练模型相比, 合理使用HowNet的义原知识以及Transformer对于长文本的优势, 能够使得模型准确率得到了一定的提升.
本文提出的模型有以下创新点.
● 针对中文语义蕴含识别任务存在的中文同义词、一词多义现象困扰和长文本难理解的挑战, 提出了一种基于Transformer和HowNet义原知识融合的双驱动中文语义蕴含识别方法, 在利用数据样本驱动进行Transformer编码和模型预训练之外, 利用HowNet义原知识进行知识驱动以增强对同义词、多义词等的深层语义理解.
● 提出一种义原知识融合的技术手段, 通过Transformer对中文语句内部结构语义信息进行多层次编码, 并引入外部知识库HowNet建模词汇之间的义原知识库, 最后利用soft-attention进行交互注意力计算并于义原矩阵实现知识融合.
● 将所提出的模型应用到了蚂蚁金融、银行金融行业和多语义应用场景, 与DSSM、MwAN、DRCN等轻量化模型以及ERNIE等预训练模型进行了实验对比分析, 不仅可以有效提升中文语义蕴含识别的准确率, 控制模型的参数量, 还能适应50字以内的长文本蕴含识别场景.
2 相关工作近年来, 随着深度学习的快速发展, 用机器学习解决文本蕴含识别问题的方法被大量提出. 在语义信息获取方面, 经典的短文本匹配模型DSSM[2], 解决了LSA、LDA等方法存在的字典爆炸的问题, 但也因为采用了词袋模型, 损失了上下文信息. 2016年提出的ESIM模型[3], 综合应用了BiLSTM和注意力机制, 首次在局部推理中让两个句子之间产生了交互. 2018年提出的DIIN模型[4], 采用CNN和LSTM来做特征提取, 但作者在其输入层同时采用了词向量和局向量, 额外输入了一些句法特征, 并采用DenseNet[5]来进行特征提取. 2018年提出的DRCN模型[6], 借鉴了图像识别中DenseNet的密集连接操作, 通过密集连接RNN, 保留了文本的最原始信息, 通过多次循环, 不断向矩阵向量添加交互信息, 最后全连接层输出. 2018年提出的KIM模型[7], 利用了外部知识库WordNet[8]来判断两个句子之间的逻辑关系, 将外部先验知识嵌入相似度矩阵中. 2018年提出的MwAN模型[9], 作者在模型中利用了多种注意力机制(拼接、双线性、点乘、相减), 充分捕捉了句子对之间的关系, 最后对多个结果进行权重化组合, 通过GRU和全连接输出最终的概率.
而在句子结构方面, 2015年提出的CT-LSTM[10], 为了解决LSTM无法对句子的结构信息进行提取的问题, 提出了一种树形的LSTM, 针对序列问题进行了探讨, 与常用的RNN顺序建模不同, 其利用句子的依存关系作为LSTM的输入, 对未来研究也有一定的启发.
随着2018年BERT模型[11]的提出, 一股预训练模型的潮流席卷了整个NLP界, 在各大NLP榜单中名列前茅. BERT拥有一个完整的encoder-decoder框架, 其基本组成为Transformer, 主要由多头注意力(multi-head attention, MA)构成, 它是一个用纯注意力搭建的模型, 可以解决RNN及其变体存在的长距离依赖问题, 也就是注意力机制有更好的记忆力, 能够记住更长距离的信息. BERT模型的优点便是更能学习到句子中的一些语法和语义信息, 使输出的词语向量更具有代表性, 更大的参数量也使得其在各种下游任务中表现优秀. 为了解决预训练模型参数量大, 难以在消费级GPU上应用的问题, Dettmers等人[12]为Transformer提出了LLM.Int8(), 使得普通消费级GPU上也能使用非常大的模型, 而不会降低性能. 而除了Transformer外, Liu等人[13]提出了另一种简单的、与注意力无关的架构gMLP, 在预训练某些指标上达到了与Transformer同等的水平, 甚至在某些下游任务上更胜一筹.
由于汉语词汇特殊的多义性, 中文文本匹配存在着一定的困难, 不同的词语往往包含有相同的意思, 如“中国”与“华夏”, 从语义上来讲是一致的, 而从字形上讲却没有关联. 为了解决这类同义词的问题, 许多研究人员选择利用中文的词性、依存句法等信息来计算相似度. 如严娇等人[14]尝试将文本进行词性标注后, 仅保留名词、动词和形容词, 结合依存句法分析获得词语对, 以PageRank[15]、度中心性等作为指标, 对大量文本建立语法网络, 提出了结合句法关系和词汇语义的文本相似度计算方法. 黄炎等人[16]提出了一种基于主题约束的篇章级文本自动生成模型, 利用关键词集的同义性生成了多个文章主题规划, 李琳等人[17]提出了概念向量空间的概念, 将文档表示为概念词的集合并建立向量空间, 再通过余弦相似度计算语义相似度, 效果优于词袋模型+Word2Vec[18].
同样使用HowNet进行中文蕴含识别的还有Lyu等人[19]于2021年提出的LET, 他们对每一个中文词汇下的所有义原的初始向量进行了图注意力转化, 随后通过注意力池化获得每一个词的义原向量, 通过GRU与BERT词向量融合获得最终的词向量. 虽然中文词语常有多个语义, 但我们辨别语义所需要使用的正确义原往往只有少数, 因此会导致其获得的义原向量不能与实际句子很好地相匹配, 会含有多余的语义信息. 而本文是将义原信息进行初步筛选, 再将其融入交互矩阵中, 避免了加入多余信息.
3 研究方法本节主要介绍了基于Transformer和HowNet义原知识融合的双驱动中文蕴含识别模型, 分析了其主要结构以及其主要作用. 其主要结构如图1所示, 一共分为6层, 分别为Transformer层、Attention层、BiLSTM层、平均池化和最大池化层、全连接层.
3.1 Transformer层
Transformer层的作用是使向量化表示的文本通过神经网络, 获取深层次的语义信息. 常用的神经网络有卷积神经网络、长短时记忆网络等. 本文模型使用了Transformer架构作为文本的编码层, 对句子向量进行处理, 其主要由多头注意力机制以及前馈神经网络组成, 可以缓解梯度消失的问题, 其单头注意力机制计算方式如下.
$ {\textit{Query = }}{{{W}}^Q}X $ | (1) |
$ Key = {W^K}X $ | (2) |
$ Value = {W^V}X $ | (3) |
$ Attention(Q, K, V) = {\textit{Softmax}}\left(\frac{{Q{K^{\rm{T}}}}}{{\sqrt {{d_k}} }}\right)V $ | (4) |
其中,
但由于其并没有获取文本序列的位置信息, 因此需要在词向量中加入绝对位置编码, 其计算方式如式(5), 式(6)所示:
$ P{E_{(p, 2m)}} = \sin \left(\frac{p}{{{{10000}^{2m/d}}}}\right) $ | (5) |
$ P{E_{(p, 2m + 1)}} = \cos \left(\frac{p}{{{{10000}^{2m/d}}}}\right) $ | (6) |
其中,
Attention层是文本蕴含识别模型中的重要组成, 具有速度快、效果好、参数少的优点. 目前有很多不同的类型, 如soft-attention、hard attention、self-attention等, 也有如Sun等人[20]提出的专注与局部的注意力机制. 本文采用了常用的软注意力机制(soft-attention), 但向其中添加了基于HowNet生成的语义矩阵信息, 并且加入了可训练权重
HowNet是一个基于汉语和英语的常识知识库, 解释了概念与概念之间以及概念所拥有的属性之间的关系. 本文主要利用该外部知识库, 获得句子对中对应两个词语的所有中文义原. 如果两个词语存在相同的义原, 则其矩阵中的对应位置的值会被设定为1, 否则设定为0. 图2以两个例句为例, 进行义原分析.
图2中最上框代表句子分词后的结果, 中间框代表当前词语对应的多种义原信息, 下侧框代表两个词语义原信息的交集. 由图2框图可知, “中国”有中国、与特定国家相关、地方、亚洲等义原, “华夏”有借入、金融、留存、中国、国家等义原, 两个词语义原的交集为中国、国家、地方, 所以此时
$ {M_{i, j}} = \left\{ {\begin{array}{*{20}{c}} {1{\text{, }} \; HowNet\left( {{P_i}, {H_j}} \right) \ne 0} \\ {0{\text{, }} \; HowNet\left( {{P_i}, {H_j}} \right) = 0} \end{array}} \right. $ | (7) |
$ M = \left[ {\begin{array}{*{20}{c}} 0& \cdots &1 \\ \vdots & \ddots & \vdots \\ 1& \cdots &0 \end{array}} \right] $ | (8) |
Attention矩阵
$ e= P{H}^{{\rm{T}}}+ \gamma \cdot M $ | (9) |
其中,
$ \hat P = \mathop \sum \limits_{j = 1}^{{l_h}} \frac{{{\text{exp}}\left( {{e_{ij}}} \right)}}{{\displaystyle {\mathop \sum \nolimits}_{k = 1}^{{l_h}} {\text{exp}}\left( {{e_{ik}}} \right)}}{P_{tf}}, \; \forall i \in \left[ {1, 2, \cdots , {l_p}} \right] $ | (10) |
$ \hat H = \mathop \sum \limits_{j = 1}^{{l_p}} \frac{{{\text{exp}}\left( {{e_{ij}}} \right)}}{{\displaystyle \mathop \sum \nolimits_{k = 1}^{{l_p}} {\text{exp}}\left( {{e_{ik}}} \right)}}{H_{tf}}, \; \forall i \in \left[ {1, 2, \cdots , {l_h}} \right] $ | (11) |
在式(10), 式(11)中,
3.3 BiLSTM层
这一层用于将经过软注意力机制的Transformer层输出
长短时记忆网络的输入如下:
$ {P_{{{{\rm{BiLSTM}}}}}} = {\textit{BiLSTM}}\left( {\hat P} \right) $ | (12) |
其中,
为了使经过Transformer和BiLSTM后的文本信息相融合, 本模型通过最大池化以及平均池化将多个输入拼接, 该层的目的在于使两个句子的向量维度由
$ {P}_{o}= Concat\left(\left[{P}_{tf};{P}_{{\rm{BiLSTM}}}\right]\right) $ | (13) |
$ {P_{{\rm{rep}}}} = \left[ {{\rm{max}}\left( {{P_o}} \right);{\rm{mean}}\left( {{P_o}} \right)} \right] $ | (14) |
在获得句子对的完整句向量表达
$ H{N_{{\rm{row}}}} = {\rm{sum}}\left( {M, axis = 0} \right) $ |
$ H{N_{{\rm{col}}}} = {\rm{sum}}\left( {M, axis = 1} \right) $ |
$ H= concat\left({P}_{{\rm{rep}}};{H}_{{\rm{rep}}};{P}_{{\rm{rep}}}-{H}_{{\rm{rep}}};H{N}_{{\rm{col}}};H{N}_{{\rm{row}}}\right) $ | (15) |
其中,
获得句子对的最终句向量表达
$\left\{ { \begin{array}{l} output = FFN\left( H \right)\\ Loss = \dfrac{1}{N}\displaystyle\mathop \sum \limits_i - \left[ {{y_i} \times \log \left( {{p_i}} \right) + \left( {1 - {y_i}} \right) \times \log \left( {1 - {p_i}} \right)} \right] \end{array} } \right.$ | (16) |
其中,
除了常用的交叉熵损失函数外, 我们也尝试了苏剑林提出的CoSent损失函数, 其让正样本对的相似度大于负样本的相似度, 使正负样本在向量空间的距离尽量远, 实验表明, 使用CoSent损失函数[21]对预训练方法如BERT、SentenceBERT[22]有一定效果, 使得预训练模型收敛更快, 但对于本文提出的模型, 在非预训练情况下其效果不如交叉熵损失函数.
在训练阶段, 我们使用了MultiStepLR来动态调整学习率, 在实验的第20、50、80、100、150次迭代, 以0.5的衰减率来进行学习率的更新. 通过随着迭代次数增加动态调整学习率, 模型的收敛速度增加, 其变化趋势如图4所示.
4 实验与分析 4.1 数据集
为了验证本文提出的基于Transformer和HowNet双驱动的文本蕴含识别模型的有效性, 本文分别在3个公开的数据集上进行实验. 数据集分别为PAWSX数据集, AFQMC数据集, BQ Corpus数据集. 其数据集大小及样例如表1和表2所示.
PAWSX-zh数据集是谷歌发布的多语言释义对的数据集, 特点是具有高度重叠词汇. AFQMC数据集是蚂蚁金融相似度数据集, 其中包含34334条训练数据, 4316条验证数据和3861条测试数据. BQ Corpus是银行金融领域的问题匹配数据集, 包括了从一年的线上银行系统日志中抽取的问题对, 是目前最大的银行领域的问题匹配数据, 包含10000条训练数据, 10000条验证数据, 10000条测试数据.
4.2 评价指标
本文采用了准确率
$ Acc = \frac{{TP + TN}}{{TP + FN + FP + TN}} $ | (17) |
$ P = \frac{{TP}}{{TP + FP}} $ | (18) |
$ R = \frac{{TP}}{{TP + FN}} $ | (19) |
$ F1 = 2 \times \frac{{P \times R}}{{P + R}} $ | (20) |
其中,
本文的实验采用了型号为RTX2080ti的4卡GPU服务器. 模型训练参数如表3所示. 软件版本如下: Python 3.6.13, PyTorch 1.10.2, OpenHowNet 2.0, Transformers 4.18.0.
4.4 对比实验结果
为了验证本文提出的模型的实际效果, 在非预训练模型方面, 选择了3个经典的文本匹配模型DSSM、MwAN和DRCN. 而预训练模型方面, 我们选择了BERT-wwm-ext, BERT以及百度ERNIE.
选择的数据集为PAWSX、AFQMC以及BQ Corpus. 为了保证实验的统一性, 对同一数据集, 所有模型均采用了相同的jieba词表, 对比的指标为准确率
由表4可以获得, 本文提出的模型, 在BQ数据集上的准确率
从误差分析上看, 由于都直接使用了jieba分词来进行文本的预处理, 其产生的分词误差, 对实验结果有不同程度的影响. 虽然有分词误差, 但对于同一数据集, 所有的模型都采用了同一个词表, 相比较之下, 本文提出的模型效果更优.
4.5 消融研究在本节中, 为了理解其各个部分的相对重要性以及有效性, 对本文提出模型的不同结构进行了消融研究. 共分为两个实验, 都使用了BQ数据集, 其中, 实验1评估了使用不同的分词工具以及是否使用外部知识库HowNet结果对于实验结果的影响; 实验2评估了BQ数据集中不同文本长度对HowNet的影响; 实验3改变了Transformer层的层数, 评估Transformer编码层层数对于实验结果的影响.
从实验结果表7可以获得, 使用HowNet一定程度上可以提升模型的性能, 与不使用HowNet相比, 在各种分词工具下的准确率都提高了. 如果数据样本中存在一些义原复杂的词汇, 通过引入外部知识库能够明显提升模型对于多义词、近义词的敏感度, 能够显著提高模型的性能.
由表8结果可获得, 无论是对于文本长度小于15的文本还是大于15小于50的文本, HowNet都能有效提升性能, 并且在较长的文本中能够获得更多的有效义原信息, 获得更优的效果. 经过该数据集中最长文段实验, 本模型在保证实验效果的基础上能够处理的最长文本长度为50.
从表9结果数据可以获得, Transformer层数越高, 模型的效果越好. 通过堆叠Transformer编码层, 一定程度上可以提高模型的性能, 但同时模型的参数量、模型的训练时长都会显著增加, 其收敛速度也会明显变慢. 我们取编码层数为6的模型为最优模型, 其参数量为16M, 而非预训练模型中效果最优的模型DRCN则达到了19M. 在实际应用中样例如表10.
在训练过程中, 可训练参数
由图5可知, 在实验过程中, 通过观察注意力矩阵的可训练参数
5 结束语
本文提出的基于Transformer以及HowNet双驱动文本蕴含识别模型, 使用了HowNet外部知识库, 针对句子对中的词语对进行义原匹配, 同时使用了基于多头注意力的Transformer获取文本信息, 以及能够更好获取序列信息的BiLSTM, 在模型中融合了多种信息, 使得模型对于概念信息较为敏感. 实验表明, 与DSSM、MwAN、DRCN模型和没有加入义原信息的预训练模型相比, 该模型在BQ, AFQMC和PAWSX数据集上有一定的提升, 通过堆叠Transformer层数, 能够有效提升实验结果, 但同时参数量也随之增加, 相比之下本文提出的模型参数更少, 效果更优. 与同样采用HowNet作为外部信息库的LET相比, 本文对HowNet义原信息的使用上只筛选了相关的义原信息, 避免了其他义原对于结果的影响, 更加准确且更加直观. 本文通过理论创新、技术创新、应用创新, 提出了一种Transformer与HowNet义原知识双驱动的中文语义蕴含研究方法, 将模型应用到了金融等具体应用领域, 实验表明, 本文提出的模型能够有效利用义原知识, 有效提升了中文蕴含识别的准确率, 还能适应50字以内的长文本蕴含识别场景, 不论是在轻量化模型还是在预训练模型中都有一定的提升效果.
在未来的研究工作中, 笔者还将继续完善该模型, 将其义原知识添加到Transformer内部结构中, 进一步提升针对中文文本的效果, 除此之外, 对于中文的外部知识库, 还需要有更多的工作去补充.
[1] |
Vaswani A, Shazeer N, Parmar N, et al. Attention is all you need. Proceedings of the 31st International Conference on Neural Information Processing Systems. Long Beach: Curran Associates Inc., 2017. 6000–6010.
|
[2] |
Huang PS, He XD, Gao JF, et al. Learning deep structured semantic models for Web search using clickthrough data. Proceedings of the 22nd ACM International Conference on Information & Knowledge Management. San Francisco: ACM, 2013. 2333–2338.
|
[3] |
Chen Q, Zhu XD, Ling ZH, et al. Enhanced LSTM for natural language inference. Proceedings of the 55th Annual Meeting of the Association for Computational Linguistics. Vancouver: Association for Computational Linguistics, 2017. 1657–1668.
|
[4] |
Gong YC, Luo H, Zhang J. Natural language inference over interaction space. Proceedings of the 6th International Conference on Learning Representations. Vancouver: OpenReview.net, 2018. 1–15.
|
[5] |
Huang G, Liu Z, van der Maaten L, et al. Densely connected convolutional networks. Proceedings of 2017 IEEE Conference on Computer Vision and Pattern Recognition. Honolulu: IEEE, 2017. 2261–2269.
|
[6] |
Kim S, Kang I, Kwak N. Semantic sentence matching with densely-connected recurrent and co-attentive information. Proceedings of the 2019 AAAI Conference on Artificial Intelligence, 2019, 33(1): 6586–6593.
|
[7] |
Chen Q, Zhu XD, Ling ZH, et al. Neural natural language inference models enhanced with external knowledge. Proceedings of the 56th Annual Meeting of the Association for Computational Linguistics. Melbourne: Association for Computational Linguistics, 2018. 2406–2417.
|
[8] |
Lin DK. Review of “WordNet: An electronic lexical database” by Christiane Fellbaum. Computational Linguistics, 1999, 25(2): 292-296. |
[9] |
Tan CQ, Wei FR, Wang WH, et al. Multiway attention networks for modeling sentence pairs. Proceedings of the 27th International Joint Conference on Artificial Intelligence. Stockholm: AAAI Press, 2018. 4411–4417.
|
[10] |
Tai KS, Socher R, Manning CD. Improved semantic representations from tree-structured long short-term memory networks. Proceedings of the 53rd Annual Meeting of the Association for Computational Linguistics and the 7th International Joint Conference on Natural Language Processing. Beijing: Association for Computational Linguistics, 2015. 1556–1566.
|
[11] |
Raffel C, Shazeer N, Roberts A, et al. Exploring the limits of transfer learning with a unified text-to-text transformer. The Journal of Machine Learning Research, 2020, 21(1): 140. |
[12] |
Dettmers T, Lewis M, Belkada Y, et al. LLM.int8(): 8-bit matrix multiplication for transformers at scale. arXiv:2208.07339, 2022.
|
[13] |
Liu HX, Dai ZH, So DR, et al. Pay attention to MLPs. Proceedings of the 35th Conference on Neural Information Processing Systems. NeurIPS, 2021. 1–12.
|
[14] |
严娇, 马静, 房康. 基于融合共现距离的句法网络下文本语义相似度计算. 现代图书情报技术, 2019, 3(12): 93-100. |
[15] |
Page L, Brin S, Motwani R, et al. The PageRank Citation Ranking: Bringing Order to the Web. San Francisco: Stanford InfoLab, 1998.
|
[16] |
黄炎, 孙海丽, 徐科, 等. 基于主题约束的篇章级文本生成方法. 北京大学学报(自然科学版), 2020, 56(1): 9-15. DOI:10.13209/j.0479-8023.2019.103 |
[17] |
李琳, 李辉. 一种基于概念向量空间的文本相似度计算方法. 数据分析与知识发现, 2018, 2(5): 48-58. |
[18] |
Mikolov T, Chen K, Corrado G, et al. Efficient estimation of word representations in vector space. Proceedings of the 1st International Conference on Learning Representations. Scottsdale: ICLR, 2013. 1–12.
|
[19] |
Lyu B, Chen L, Zhu S, et al. LET: Linguistic knowledge enhanced graph transformer for Chinese short text matching. Proceedings of the 2021 AAAI Conference on Artificial Intelligence, 2021, 35(15): 13498–13506.
|
[20] |
Sun HL, Huang Y, Lu SF. Improving fine-grained text sentiment transfer for diverse review generation. Proceedings of 2020 IEEE International Conference on Artificial Intelligence and Computer Applications. Dalian: IEEE, 2020. 261–266.
|
[21] |
苏剑林. CoSENT(一): 比Sentence-BERT更有效的句向量方案. https://spaces.ac.cn/archives/8847. (2022-01-06).
|
[22] |
Reimers N, Gurevych I. Sentence-BERT: Sentence embeddings using Siamese BERT-networks. Proceedings of the 2019 Conference on Empirical Methods in Natural Language Processing and the 9th International Joint Conference on Natural Language Processing. Hong Kong: Association for Computational Linguistics, 2019. 3982–3992.
|