Bert 针对语义相似性进行了微调

Bert fine-tuned for semantic similarity

我想应用微调 Bert 来计算句子之间的语义相似度。 我搜索了很多网站,但我几乎没有找到关于这个的下游。

我刚刚找到 STS 基准测试。 我想知道我是否可以使用 STS 基准数据集来训练微调的 bert 模型,并将其应用到我的任务中。 合理吗?

据我所知,计算相似度的方法有很多,包括余弦相似度、皮尔逊相关度、曼哈顿距离等。 如何选择语义相似度?

作为前面的一般性评论,我想强调此类问题可能不会被视为 Whosebug 上的主题,请参阅 How to ask. There are, however, related sites that might be better for these kinds of questions (no code, theoretical PoV), namely AI Stackexchange, or Cross Validated

如果你看一下 rather popular paper in the field by Mueller and Thyagarajan, which is concerned with learning sentence similarity on LSTMs, they use a closely related dataset (the SICK dataset),它也由 SemEval 竞赛主办,运行 与 2014 年的 STS 基准一起举办。

其中任何一个都应该是一个合理的微调集,但 STS 已经 运行 多年,因此可用的训练数据量可能更大。

作为该主题的入门读物,我还强烈推荐 Adrien Sieg 撰写的 Medium 文章(请参阅 here,其中附带 GitHub 参考资料。

对于语义相似性,我估计你最好微调(或训练)神经网络,因为你提到的大多数经典相似性度量都更加关注标记相似性(因此,句法相似性,尽管不一定如此)。另一方面,语义有时会在单个词上有很大差异(可能是否定,或者两个词的句子位置互换),这很难用静态方法解释或评估。

此外,如果您在进行二元判断(yes/no 对应 'semantically similar'),BERT 实际上是使用 MRPC(Microsoft Research Paraphrase Corpus)在此任务上进行基准测试的。 google github repo https://github.com/google-research/bert 包括一些示例调用,请参阅句子(和句子对)分类任务部分中的 --task_name=MRPC。