【文献翻译】Comparison between Calculation Methods for Semantic Text Similarity based on Siamese Networks

基于孪生网络的语义文本相似度计算方法比较

【摘要】在信息爆炸的时代,人们渴望从海量信息中获取满足自己需求和兴趣的内容。因此,如何正确有效地了解互联网用户的需求是亟待解决的问题之一。在这种情况下,语义文本相似性任务在许多应用场景中都是有用的。为了基于文本匹配模型测量语义文本相似度,本文构建了多个孪生网络。具体来说,我们首先使用Stsbenchmark数据集,将GloVe、BERT和DistilBERT作为初始模型,加入深度神经网络进行训练和微调,充分利用现有模型的优势。接下来,我们测试了几种相似度计算方法来量化句子对的语义相似度。并且以Pearson和Spearman相关系数作为评价指标,比较不同模型的sentence embedding效果。最后,实验结果表明,基于BERT模型的孪生网络在所有网络中效果最优,准确率最高可达84.5%。而在几种相似度计算方法中,余弦相似度通常获得最好的准确率。未来,该模型可以适当地用于语义文本相似性任务,通过用户需求和知识库之间的文本匹配。这样既可以提高机器的语言理解能力,又可以满足用户多样化的需求。
【CCS概念】
• 计算方法; • 人工智能; • 自然语言处理;
【关键词】
语义文本相似度,孪生网络,句子嵌入,相似度计算方法

1介绍

人类在传递信息时,一直离不开语言和文字。如今,人们获取网络信息的方式越来越多样化,文字、图片、语音、视频等。单调的文字信息已经不能满足人们日益增长的需求。如何有效地从文本中提取用户想要理解的内容,具有极高的研究价值。
为了让计算机理解自然语言并执行与人类交互的语言任务,出现了自然语言处理 (NLP)。 NLP领域有很多核心任务,包括搜索引擎、问答系统、文档分类和聚类以及文档重复检查。它们都有助于通过对文本语义的理解,从海量信息中满足用户的需求和兴趣。
在实际场景中,常见的问题是如何从大量存储的文件中挑选出符合用户查询的文件。
例如,在搜索引擎任务中,我们需要将用户的搜索请求与网站上的相关信息(如标题、内容等)进行匹配,“最匹配”对应的相关度最高。在智能问答任务中,我们需要将用户的问题与常见问题(FAQ)中的问题进行匹配,“最匹配”意味着语义相似度最高。在信息流推荐任务中,我们需要将用户画像与要推荐的feed流进行匹配,“最佳匹配”体现了用户最感兴趣的诸多指标。因此,语义文本相似度(STS)必不可少,如何准确匹配两个句子的语义是一个具有极高研究价值的课题。语义文本相似度的无监督学习主要与词汇重合程度、主题模型的浅层语义、编码模型的浅层语义有关。虽然有时词频统计有助于理解情感表达,但其技术相对粗糙,本质上是基于词共现信息,因此不能很好地学习文本语义。
至于语义文本相似度的监督学习,主要是基于神经网络,包括句子编码网络(SE网络)和句子交互网络(SI网络)。 SE网络的优势在于其孪生结构有助于预处理文本和构建索引,大大减少了在线计算的时间消耗;缺点是失去了语义焦点,容易导致语义漂移,难以衡量词的上下文重要性。 SI网络的优点是可以更好地把握语义焦点,可以更好地对上下文重要性进行建模。缺点是忽略了句法、句间比较等全局信息,无法从局部匹配信息中描述出全局匹配信息。
以往的研究表明,孪生网络在句子语义相似度的计算中具有广泛的应用。为了让模型学习到无监督学习和监督学习两者的优点,本文使用孪生网络的结构,结合神经网络,以及一些相似度计算技术来计算语义文本相似度。通过这种方式,我们构建了九个不同层次的模型,并比较它们的文本匹配能力进行评估和分析。

2 相关工作

语义文本相似性技术包括 4 类:基于字符串的方法、基于语料库的方法、基于知识的方法和其他方法。
基于字符串的方法是文本级别的文本比较。它以字符串的共现度和重复度作为相似度度量。其中一些基于字符,如编辑距离、汉明距离、最长公共子串(LCS)、Jaro-Winkler 和 N-gram;其他基于术语的方法,例如余弦相似度、欧几里得距离、曼哈顿距离、杰卡德相似度和骰子系数。这种方法虽然容易实现,但没有考虑词的意义和它们之间的关系。
基于语料库的方法通过语料库信息计算语义文本相似度。至于词袋模型(BOW),它通过一系列无序的词组合来表示文档,主要包括向量空间模型(VSM),潜在语义分析(LSA),概率潜在语义分析(PLSA)和潜在狄利克雷分配 (LDA)。此外,近年来流行使用神经网络来计算文本相似度。SE网络的思想是基于孪生网络共享参数,经典模型包括深度结构化语义模型(DSSM)、多视图-长短期记忆(MV-LSTM)、Architecture-I(ARC-I)、上下文对齐递归神经网络(CA-RNN)等;而SI网络的思想是捕获直接匹配信号,经典模型包括Architecture-II (ARC-II)、Recursive Matching Structure with Spatial Recurrent Neural Network (Match-SRNN)、Deep Relevance Matching Model(DRMM), Enhanced Sequential Inference Model (ESIM)等。这种表达方式使得相似词的距离更近,解决了维数灾难问题。
基于知识的方法通过使用具有标准化组织系统的知识库来计算语义文本相似度。一个基于语义相似性的度量,另一个基于语义相关性的度量。此外,还有一些其他方法,如句法分析和混合方法。句法分析更注重词的组合和组合的内涵。而混合方法结合了两种或多种单一算法的优点。

3 方法论

文本的数学表示是NLP领域的研究重点。通过这种方式,句子被转换为包含语义的向量。在本文中,我们使用上面部分提到的混合方法。我们构建了几个连体网络,包括传统的嵌入方法、NLP 领域的神经网络和一些基于字符串的方法。具体结构和详细的实验设计过程如下。

3.1 实验设计

为了建立文本匹配模型来计算语义文本相似度,实验主要分为三个步骤:第一步是句子嵌入,通过学习和训练模型将两个句子转化为两个向量;第二步是使用不同的相似度计算技术,得到向量化句子之间的相关性;第三步是使用与准确性相关的几个评估指标来比较和分析不同的文本匹配模型。我们想探索哪种模型表现更好,以及在原始模型之后添加复杂的神经网络层是否有效。系统总体设计流程图如下(图1)。

3.2 语义文本相似度技术

前两步构建了一些具有连体结构的语义文本相似度算法。图2是这个任务的示意图。在嵌入层,实验使用了三种基本模型,Glove Vector(GloVe)、BERT和DistilBERT。他们修改了预训练的初始模型结构,并使用孪生网络结构获得由向量长句决定的sentence embedding使得训练好的模型对于语义文本相似度更好。
在初始模型后面添加均值池化层和深度神经网络层以改进模型。池化有助于将词嵌入模型转换为固定大小的句子嵌入向量。神经网络层主要包括卷积神经网络(CNN)和前馈网络,深度平均网络(DAN)。最后建立了九个模型。它们分别是GloVe、GloVe-CNN、GloVe-DAN、BERT、BERTCNN、BERT-DAN、DistilBERT、DistilBERT-CNN、DistilBERT-DAN。使用这些模型,所有句子都可以用向量表示。
在匹配层,我们使用一些常用的技术来计算两个相同长度的向量之间的相似度,包括余弦相似度、欧氏距离、曼哈顿距离和点积。它们都有助于以不同方式量化两个句子之间语义信息的相关性。不同相似度计算方法的表达式如下所示。它们都计算两个向量 (x_1,x_2,…,x_n) 和 (y_1,y_2,…,y_n)之间的距离。
在这里插入图片描述

3.3 评价指标

Stsbenchmark数据集官网的评价指标是Pearson相关系数。因为数据集中的相似度得分是连续的值,所以我们应该通过预测值和真实值的相关程度来判断准确率。
在本实验中,我们同时使用 Pearson 相关系数和 Spearman 相关系数来评估这些模型预测分数的准确性。变量 x 和变量 y 之间的相关程度可以计算如下
在这里插入图片描述
在Pearson 相关系数方程中,x ̅代表变量𝑥的均值,y ̅代表变量y的均值。在Spearman相关系数方程中,R_i和𝑆𝑖代表观察𝑖的水平,R ̅和S ̅代表变量x,y的平均水平,N是i的总数。
Pearson 相关系数侧重于评估变量之间的线性关系,而Pearson 相关系数侧重于评估变量之间的单调关系。两个系数的取值范围都是从-1到1。准确率越高,从模型中学习到的文本语义信息就越多。

4 实验

4.1 Stsbenchmark 数据集

本文使用 Stsbenchmark 数据集。它是由 SemEval 组织的英文数据集,是语义文本相似性任务中常用的数据集之一。该数据集包含 8,628 对句子,其中大部分主要来源于图片标题、新闻标题和用户论坛中的文本。图 3 显示了数据集的划分状态和主要来源的比例分布。
如图3所示,Stsbenchmark数据集中大部分文本来自新闻标题的内容,其次是图片标题的内容,最少的是来自用户论坛的内容。
Stsbenchmark数据集的数据格式为“genre\t filename\t year\t score\t sentence1\t sentence2”本文主要使用三个项目,分别是Sentence 1、Sentence 2、Score。
样本如表1所示,其中score的取值范围为0~5,反映句子1和句子2的语义相似度。为便于结果分析,将score取值范围标准化为[0,1].

4.2 训练参数

本实验基于Linux环境下CUDA加速的深度学习框架Pytorch,结合Python 3.6的使用,通过调整深度神经网络的参数对原有基础模型进行微调。表 2 显示了微调过程中的参数设置。

4.3 结果与讨论

在本文中,模型基于 Stsbenchmark 数据集进行微调,使用 GloVe、BERT 和 DistilBERT 以及池化层。此外,我们尝试添加一些深度神经网络,以探索在原始模型之后添加复杂的神经网络层是否有效。执行句子嵌入操作并计算相似度。最后,我们构建了GloVe、GloVe-CNN、GloVe-DAN、BERT、BERT-CNN、BERT-DAN、DistilBERT、DistilBERT-CNN、DistilBERT-DAN 九个模型具有孪生网络结构。图 4 显示了在不同的相似度计算方法下,评估指标如何随训练 epoch 的变化而变化。
实验的目的是基于 Stsbenchmark 数据集比较和分析这些句子嵌入方法结合深度学习模型的性能。孪生网络共享参数,为不同的模型提供相同的参数,实验可以增强模型比较结果的说服力。表 3 和图 5 显示了学习和训练后九个不同模型在测试集上的预测分数和标记分数之间的相关性。
根据图片和表格中的结果分析,可以做出如下讨论:
(1)整体上,基于BERT和DistilBERT的孪生网络明显优于基于GloVe的孪生网络。原因是 BERT 和 DistilBERT 包含更复杂的深度神经网络和预训练任务,包括掩蔽语言模型和下一句预测。它们有助于更好地训练和学习句子的语义信息。
(2) 根据表3可知,在句子embedding确定后,在不同的相似度计算技术中,使用Cosine Similarity方法在判断两个句子的语义相似程度时通常会获得较好的准确率。
(3) 相比之下,基于BERT的孪生网络在学习句子语义信息方面效果最好,能够更有效地相对量化两个句子之间的语义相似度。该模型也称为 Sentence-BERT (SBERT)。从表中结果可以看出,采用Cosine Similarity计算相似度,以Pearson相关系数作为评价指标,在Stsbenchmark测试集上预测得分与标注得分的相关性约为84.52%。表4展示了测试集中基于BERT的孪生网络预测分数的三个样本。它表示对不同级别的分数进行有意义的预测。
(4) 对于大多数基于GloVe的孪生网络,微调时加入深度神经网络可以达到比原始模型更理想的效果。例如,对于测试集的预测,在各种相似度计算技术和评价指标中,GloVe-CNN的准确率明显高于GloVe,准确率提高了1%∼15%左右。原因可能是 GloVe 不能很好地学习句子语义,而 CNN 在高维数据处理和特征提取方面的优势弥补了原始模型的不足,使得 GloVe-CNN 比 GloVe 更准确。
(5) 对于大多数基于BERT和DistilBERT的孪生网络,训练微调时加入深度神经网络的模型与原模型相比,效果没有明显提升。准确率甚至降低。原因可能是单个 BERT 和 DistilBERT 的结构足够复杂,无法学习到 CNN 或 DAN 中可以学习到的语义信息,过度学习会导致过拟合。

5 结论

在信息爆炸的时代,人们渴望从海量信息中获取满足自己需求和兴趣的内容。为满足这一需求,出现了多种应用,如搜索引擎、自动问答系统、文档分类与聚类、文档重复检查、文档精准推送等,这些应用场景中的关键技术之一就是语义文本相似度任务。
本文将句子嵌入模型与基于孪生网络的相似度计算技术相结合,实现语义文本相似度任务。利用Stsbenchmark数据集,对构建的9个模型进行分析比较,最终得出结论。
最后,我们发现基于 BERT 的 孪生网络在九个模型中对语义文本相似度任务的效果最好,并且使用 Cosine Similarity 方法在判断两个句子的语义相似度时可以获得更好的准确率,一般来说,增加一个神经网络层有利于学习句子的语义,但当原始模型的复杂度较高时,可能会产生负面影响。
一些方面可以在未来的工作中得到改进。我们目前使用的数据集中的大多数句子都是陈述句。在问答系统等一些场景中,目的是将用户的问题与语料库中的问题进行匹配。由于对陈述句和疑问句的理解存在一些差异,可以通过在数据集中添加一些疑问句来改进模型。更重要的是,实验中可以使用更常见的评价指标,如MAE和MSE。实际运行时间也值得在不同车型之间进行比较。此外,当前研究内容的适用性有限。本文使用的数据集均从官网下载,不易应用于特定领域。在未来的工作中,我们想尝试一些特定领域的数据集,并测试是否可以通过赋予关键字(例如专业术语)更高的权重来获得更好的结果。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值