Sentence-BERT 语句相似性、sentence embeddings

51 篇文章 5 订阅
33 篇文章 4 订阅

1 简介

BERT在语义文本相似任务上需要输入句子对(两个句子),这会引起巨大的计算开销。如在n=10000个句子中找到相似的句子对,BERT要进行n*(n-1)/2=49995000次预测计算,在单个V100 GPU上,需要运行65小时。即BERT的这种结构使其在不适合语义相似搜索任务上,以及聚类这种非监督任务上。

本文提出2019年 Sentence-BERT(SBERT),预训练BERT的一个修改版本,使用联体或者三元网络结构来获得语义上有意义的sentence embeddings,可以使用cosine-similarity进行比较。在上述寻找相似句子对任务上,用SBERT,只需要5秒钟。

BERT网络结构的另一个大的缺点是其没有计算独立的sentence embeddings。为了克服这个限制,研究者将单个语句输入BERT,然后通过平均各输出来获得一个固定大小的向量,或者只是采用CLS token的输出。
而Sentence-BERT的sentence embeddings效果也很好。

2 模型

2.1 Classification Objective Function

如下图,将两个BERT链接起来(联体结构,siamese network structure)。
在这里插入图片描述
在这里插入图片描述

2.2 Regression Objective Function

计算两个sentence embeddings(u和v)的相似性(cosine-similarity)。如下图,
在这里插入图片描述

2.3 Triplet Objective Function

三元。给定一个句子a,及其相应正的句子p,负的句子n。如下公式所示,三元损失是使a与p的距离比a与n的距离小,最小化下面的损失函数:
在这里插入图片描述

3 实验结果

3.1 Unsupervised STS

采用斯皮尔曼等级相关(Spearman rank correlation)评价。如下表,可以看到SBERT相关最好。
在这里插入图片描述

3.2 Sentence embeddings

虽然SBERT的目的不是迁移学习,但他的Sentence embedding表现很好。如下表,
在这里插入图片描述

4 Ablation Study

如下表所示,在 NLI data上,pooling strategy的作用影响较小,而concatenation的作用较大。链接方式中|u-v|的作用明显。
在这里插入图片描述

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值