Sentence-BERT: Sentence Embeddings using Siamese BERT-Network
Author: UKP-TUDA Domain: 文本匹配 Reading Date: June 20, 2022 Type: Thesis
Sentence-BERT: Sentence Embeddings using Siamese BERT-Network EMNLP2019年的论文,用bert+孪生网络加速语义表征。
Intro
BERT和RoBERTa在语义相似度上达到了state-of-the-art,但在10000个句子中查找最相似对需要话费约65个小时来进行5千万次推断。BERT的结构决定了它并不适用于语义相似度查找和非监督的任务(如聚类)。
这篇文章提出了Sentence-BERT作为变形,用siamese和triplet网络结构来取得句子embeddings,还可以用cosine相似度来进行比较。这个方法极大的缩短了找相似对的时间,SERT只需要5秒而准确率持平BERT。
Model
SERT在BERT和RoBERTa后面加了一层pooling层,以获得固定长度的embedding。这里试了三种方法:CLS、对所有输出向量取平均和对所有输出向量取最大值。
三种结构和目标函数:
-
分类 结构如Figure 1所示,损失函数见下图。
-
回归 结构如Figure 2所示,损失函数采用MSE。
-
Triplet 结构如下图所示(图片来自 Triplet Network, Triplet Loss及其tensorflow实现 - 知乎专栏https://zhuanlan.zhihu.com/p/35560666),输入anchor、positive和negative,损失函数最大化一组正样例和一组负样例的差值。
Experiments
-
第一个实验比较无监督STS(Semantic Textual Similarity) 指标采用Spearman’s rank correlation between the cosine-similarity of the sentence embeddings and the gold labels. 除了SICK-R这个实验集,其他都是SERT或SRoBERTa占优。而文章给出原因是因为Universal Sentence Encoder训练的语料比较多样化(包括了新闻、QA和论坛),更适合SICK-R这个测试集。 另一个值得注意的点是BERT avg和BERT CLS在无监督语料上还不如GloVe。 -
第二个实验比较有监督STS 对于BERT来说,应用迁移学习的效果(NLI训练+STS预测)比直接训练效果好。SERT和SRoBERTa并没有看到明显变化。 -
实验三Argument Facet Similarity -
实验四Wikipedia Sections Distinction -
实验五Evaluation - SentEval -
消融实验 -
计算效率
|