背景

在很多自然语言处理人物中,例如文本匹配,智能问答等都都需要衡量两个句子的相似度,一般情况我们采用将句子编码为向量表示,然后利用两个向量之间的相似度来表示句子的相似度,从而将自然语言环境下的问题转为来可以机器处理的问题。本文对最新的几种句子向量编码表示进行介绍。

模型介绍

SBERT(Sentence-BERT)

论文:Sentence-BERT: Sentence Embeddings using Siamese BERT-Networks

模型原理

采用典型Siamese-Network结构,相同的两路模型对句子分别编码,最后两个编码向量作为一个简单模型的输入,根据不同的训练目标可以定义不同的损失函数对模型整体进行训练,总体目标是以训练两个编码向量的相似度最小为目标。
句子向量表示模型概述

重点关注
  • 可采用三种不同的目标函数:
  1. Classification Objective Function:o=softmax(Wt(u;v;uv))o = softmax(Wt(u; v; |u − v|))
  2. Regression Objective Function:o=(cosine(u,v)1)2o=(cosine(u,v)-1)^2
  3. Triplet Objective Function:o=max(saspsasn+ϵ,0)o=max(||s_a - s_p|| - ||s_a - s_n|| + \epsilon, 0)
  • 效果宣称
    胜过Universal Sentence Encoder、基于原始bert输出的pooling向量、Avg. GloVe embeddings

(未完待续)

相关文章: