首页 文章详情

【关于 语义相似度匹配任务中的 BERT】 那些你不知道的事

DayNightStudy | 1404 2021-07-07 03:06 0 0 0
UniSMS (合一短信)

作者:杨夕

项目地址:https://github.com/km1994/nlp_paper_study

个人介绍:大佬们好,我叫杨夕,该项目主要是本人在研读顶会论文和复现经典论文过程中,所见、所思、所想、所闻,可能存在一些理解错误,希望大佬们多多指正。

目录

  • 【关于 语义相似度匹配任务中的 BERT】 那些你不知道的事

    • 目录

    • 一、Sentence Pair Classification Task:使用 [CLS]

    • 二、cosine similairity

    • 三、长短文本的区别

    • 四、sentence/word embedding

    • 五、siamese network 方式

    • 参考

一、Sentence Pair Classification Task:使用 [CLS]

二、cosine similairity

三、长短文本的区别

  • 短文本(新闻标题)语义相似度任务:用先进的word embedding(英文fasttext/glove,中文tencent embedding)mean pooling后的效果就已经不错;

  • 长文本(文章):用simhash这种纯词频统计的完全没语言模型的简单方法也可以;

四、sentence/word embedding

bert pretrain模型直接拿来用作 sentence embedding效果甚至不如word embedding,cls的emebdding效果最差(也就是pooled output)。把所有普通token embedding做pooling勉强能用(这个也是开源项目bert-as-service的默认做法),但也不会比word embedding更好。

五、siamese network 方式

  • 思路:除了直接使用bert的句对匹配之外,还可以只用bert来对每个句子求embedding,再通过向Siamese Network这样的经典模式去求相似度;

  • 用siamese的方式训练bert,上层通过cosine做判别,能够让bert学习到一种适用于cosine作为最终相似度判别的sentence embedding,效果优于word embedding,但因为缺少sentence pair之间的特征交互,比原始bert sentence pair fine tune还是要差些。

参考

  1. 用BERT做语义相似度匹配任务:计算相似度的方


good-icon 0
favorite-icon 0
收藏
回复数量: 0
    暂无评论~~
    Ctrl+Enter