本文章主要解决在CommonsensenQA中语义消歧问题,通过本文的方法,能够更好理解文本中指代词的意义。
举个小例子
本论文主要做了一下几件事:
- 将常识知识加入预训练;
- 提出了一种align,mask,select(AMS)方法,可自动构造了一个常识训练集;
- CommonsenseQA 、 Winograd Schema Challenge以及 GLUE任务的几个句子分类和推理任务上取得sota。
AMS方法:
首先,从ConceptNet中挑选一些三元组;(606,564 个) a.非英文去掉; b.调整RelateA和IsA关系三元组到正常比例,因为在ConceptNet中这两中关系占比较高; c.三元组中,至少有一个实体包含四个单词以上,或者两个实体之间的编辑距离少于4。
然后基于每个三元组中的两个实体词去Wikipedia中搜索包含这两个词的句子。(align)
在该句子中,使用[QW]遮掩两个实体中的一个,构成question,mask的词为标注答案;(mask)
基于三元组中的mask之外的词去ConceptNet搜索,找4个包含这两个词的三元组作为干扰。如果大于4个,随机选择4个,反之过滤掉(select)
论文中解释了,为什么不选择关系去mask,因为按照远程监督方法所描述,句子中存在两个实体,并不一定在描述或表达他们的关系,还有可能在表达某个主题。 构造流程如下:
预训练
16324864句子 1、为了节省时间和成本,论文使用了bert-base/bert-large初始化参数; 2、输入形式:[CLS] the largest [QW] by … ? [SEP] city [SEP]; 3、将[CLS]向量对句子进行是否有答案二分类;
fine-tune
以词义消歧为例: 最大似然概率公式: C1表示正确答案,C2为错误答案。
结果
- 不同预训练策略比较
- CommonSenseQA
- WSC相关任务 -GLUE相关任务
结论
除了笔记开始讲的论文三件事之外,作者将来还想将这种方法应用到Roberta,XlNet等模型中。