Sentence-BERT:使用Siamese BERT网络进行句子嵌入

Siamese BERT

基于BERT模型的孪生网络结构,Siamese 一词表示网络结构共享参数和权重。
Siamese BERT常用于处理文本相似度任务,如句子对匹配、问答系统等。
它通过两个输入句子分别输入到两个共享参数的BERT模型中,获取句子的语义表示。然后,通过对比两个句子的语义表示,可以计算他们之间的相似度或者相关性。
基本思想是通过通过共享参数的BERT模型来学习句子的语义表示,使得相似的句子在语义空间中更接近,不相似的句子则更远离。

cosine-similarity

余弦相似性 是一种用于度量两个向量之间相似性的指标。在自然语言处理和信息检索领域,余弦相似度常用于比较文本之间的相似性。
预先相似度通过计算两个向量之间的夹角的余弦值来度量它们的相似性。值越接近1表示两个向量越相似,越接近-1表示两个向量越不相似,值为0表示没有相似性。
计算公式:
cosine_similarity(A,B) = dot_product(A,B)/( norm(A) * norm(B) )
dot_product(A,B) 表示向量A和向量B的点积
norm(A) 表示A向量的范数(即A向量的长度)

Sentence-BERT

对预训练 BERT网络 的一种改进,该网络使用孪生网络和三元组网络结构,来推导语义上有意义的句子嵌入,这些句子嵌入可以使用余弦相似性进行比较。
BERT由于有太多的组合的可能性而不适用于各种配对的回归问题。10000个句子就有10000*9999/2=49995000种组合,在一个V100的CPU上大约需要65个小时。
解决方法是将每个句子映射到一个向量空间,使语义相似的句子非常接近。
SBERT:孪生网络架构使输入句子的固定大小的向量能够导出。使用余弦相似性可以找到数量相似的句子。这些相似度可以在现代硬件上有效执行,从而允许SBERT用于语义相似性搜索和聚类。

你可能感兴趣的:(论文,bert,人工智能,深度学习)