维基百科章节模型
wikipedia-sections-models
实现了 Ein Dor et al., 2018 的论文 Learning Thematic Similarity Metric Using Triplet Networks 中的思想。
它使用三元组损失 (triplet-loss) 进行训练:锚点 (anchor) 和正例 (positive) 是来自维基百科同一篇文章同一章节的句子,例如,都来自伦敦 (London) 这篇文章的历史 (History) 章节。而负例 (negative) 则来自同一篇文章的不同章节,例如,来自伦敦这篇文章的教育 (Education) 章节。
数据集
我们使用的数据集来自 Ein Dor et al., 2018 的论文 Learning Thematic Similarity Metric Using Triplet Networks。
关于如何在该数据集上进行训练,请参见 examples/sentence_transformer/training/other/training_wikipedia_sections.py。
预训练模型
我们提供以下预训练模型
bert-base-wikipedia-sections-mean-tokens:在测试集上准确率达到 80.42%。
您可以按以下方式使用它们
from sentence_transformers import SentenceTransformer
embedder = SentenceTransformer("bert-base-wikipedia-sections-mean-tokens")
性能比较
Dor 等人报告的性能(准确率)
mean-vectors: 0.65
skip-thoughts-CS: 0.615
skip-thoughts-SICK: 0.547
triplet-sen: 0.74
应用
这些模型在 STS 基准数据集上表现较差。其原因在于训练目标:训练时提供一个锚点、一个正例和一个负例。网络只需学会区分哪个是正例、哪个是负例,方法是确保负例与锚点的距离比正例与锚点的距离更远。
然而,负例的距离有多远并不重要,它可以是稍微远一点,也可以是非常远。这使得该模型在判断一对句子是否有些相似方面表现不佳。它只学会了识别相似的句子对(高分)和不相似的句子对(低分)。
不过,该模型在细粒度聚类方面表现良好。