Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks
Abstract
BERT不適合語義相似性搜索和非監(jiān)督任務(聚類)
Sentence-BERT由預訓練BERT網(wǎng)絡加上siamese和三元組網(wǎng)絡結(jié)構(gòu)產(chǎn)生有語義意義的句子embedding一罩,使用cos相似性進行比較。
SBERT在語義文本相似性(STS)和遷移學習任務上評估藻糖,在所有句子embedding方法上達到最優(yōu)迁央。
Intro
BERT使用一個cross-enncoder: 兩個句子傳入transformer網(wǎng)絡中司抱,然后預測目標值款侵。
但這種設置不適合各種各樣的pair回歸任務片择。
解決聚類和語義搜索的通常方法就是將每一個句子映射到一個向量空間中却盘,這樣語義相似的句子就會靠在一起夸研。
SBERT的siamese網(wǎng)絡架構(gòu)使每個輸入語句產(chǎn)生固定大小的向量邦蜜。
然后使用比如余弦相似性、曼哈頓/歐式距離就可以找到語義相近的語句亥至。
SBERT能用于語義相似性搜索和聚類悼沈。
在N1數(shù)據(jù)上微調(diào)SBERT,產(chǎn)生的語句embedding超越其他現(xiàn)有的語句嵌入方法
SBERT可用于論點相似性數(shù)據(jù)集抬闯、從wiki文章不同段落區(qū)分語句的三元組數(shù)據(jù)集等數(shù)據(jù)集上的具體任務井辆。
Model
SBER在BERT/BoBERT最后設置了一個pooling得到固定大小的語句embedding。
實驗在以下結(jié)構(gòu)和目標函數(shù)下進行:
分類目標函數(shù):
softmax損失溶握,連接兩個語句的embedding以及他們的差(消融分析證明這部分差很重要)杯缺,和可訓練的權(quán)重。回歸目標:
計算兩個embedding的余弦相似度睡榆,使用均方誤差作目標函數(shù)三元組目標:
三個句子a,p,n萍肆,p,n分別表示與a同類和不同類的語句袍榆。
加入裕度alpha,使得語p至少比n距離a更近alpha.
可使用的歐式距離塘揣,設置alpha = 1.
3路損失的softmax-分類器的目標函數(shù)來微調(diào)SBERT.
batchsize16包雀,adam優(yōu)化器,學習率2e-5, 在10%的訓練數(shù)據(jù)上實行線性學習率的預熱亲铡,默認池化方式為MEAN.
Conlusion
BERT將語句映射到向量空間中的方法才写,不適用于和通用的相似性度量方法(如余弦相似性)一起使用。
SBERT在siamese或三元網(wǎng)絡架構(gòu)中微調(diào)了BERT奖蔓,獲得了現(xiàn)有語句嵌入方法的最好效果赞草。
SBERT計算效率大大提升,可5秒實現(xiàn)1w語句的聚類吆鹤。