??文章发表在ACL2020。下面简单记录一下这篇文章的主要内容。
-
模型结构
如图1所示:
- 首先,用基础的BERT对两个句子S1S_{1}S1?,S2S_{2}S2?进行编码。BERT最后一层的输出作为句子对的表示,用向量CCC来表示:
- 根据主题模型得到两个句子的文档主题D1D_{1}D1?和D2D_{2}D2?:
其中,NNN和MMM表示句子长度,ttt表示主题数,TiT_{i}Ti?是句子中的单词。 - 同样,通过主题模型给句子中每一个单词分配一个主题wiw_{i}wi?,然后取平均得到单词主题W1W_{1}W1?和W2W_{2}W2?:
- 将句子对的向量表示分别与文档主题和单词主题联合起来,送入一个隐层和softmaxsoftmaxsoftmax分类层,整个模型就搭建完毕。
结合文档主题:
结合单词主题:
- 使用交叉熵损失进行训练。
- 首先,用基础的BERT对两个句子S1S_{1}S1?,S2S_{2}S2?进行编码。BERT最后一层的输出作为句子对的表示,用向量CCC来表示:
-
主题模型的选择
- 主题模型的选择
文章选取了2种主题模型:LDA和GSDMM。LDA适合长文本,GSDMM适合短文本。 - 参数的设置
包括主题数与alpha值的选择。
文章经过实验认为主题数设置为70-90,alpha值设置为1或10效果比较好。
- 主题模型的选择
-
数据集
- MSRP
- Quora
- SemEval
-
基线方法
- Topic baselines。基础的主题模型
- Previous systems。之前发表的论文模型
- Siamese BiLSTM。双向LSTM
- BERT
-
实验结果
-
在测试集上的评估
-
主题模型是否提升了BERT的效果?
首先,在测试集上可以直观的看出效果有了提升。
其次,在不明显的案例中提升了BERT的效果:
-
主题模型如何提升了效果?
作者在每一个数据集随机抽取了100个例子,根据与主题相关的三个属性(命名实体、特定领域的词、不标准的拼写)人工给它们打上二分类标签。实验结果表明,tBERT模型在特定领域的例子中表现优于BERT。人工检查发现,BERT更适合处理那些在预训练阶段出现的命名实体,而tBERT更适合处理某个数据集中特有的命名实体。
-