ACL2019的一篇文章,主要亮点是利用预训练语言模型中的丰富信息生成解释,辅助CQA(Commonsense Question Answer)任务,对比CQA的the state of the art baseline,提升了10%的准确率,文章的链接如下:

https://www.aclweb.org/anthology/P19-1487/

Explain Yourself! Leveraging Language Models for Commonsense Reasoningwww.aclweb.org

Motivation

常识推理任务CQA(Commonsense Question Answer)是机器阅读理解中更具挑战性的任务,它的输入包括one question, one correct answer, serveral distraction answers,要求输出correct answer。CQA任务的挑战性来源缺乏commonsense knowledge用于推理出正确答案,作者提出了一个Commonsense Auto-Generated Explanations (CAGE)的框架,是利用预训练语言模型生成explanation,为CQA任务加入commonsense knowledge信息。

Dataset

文章实验所用的数据库

  • CQA dataset:常识推理数据库:一个问题,五个答案,其中一个正确答案四个干扰答案,需要利用常识预测答案

  • Cos-E dataset:针对CQA dataset中的每个sample,附加上human explanation,human explanation有两种形式

(1)问题描述中的highlighted text span

(2)open-ended的解释,人类语言给出的解释



  • The Story Cloze:预测故事结局

  • SWAG:给当前剧情预测下一幕剧情

Method

文章中的CQA任务被分解为两步,

Commonsense Auto-Generated Explanations (CAGE):

Explanation的生成利用conditional language model完成,根据输入条件的不同分为reasoning与rationalization两种。pretrain GPT模型作为conditional language model,用Cos-E与CQA的数据进行finetune。

  • Reasoning:推理 输入中不包括正确答案

目标函数是条件最大似然概率函数


  • Rationalization:

Rationalization的输入由question q , distracted answers , correct answer 合并组成

目标函数同上

Commonsense Predictions with Explanations

使用Bert模型进行分类,CQA的原始输入中再加入生成的或者人为标注的explanation。


参照文章给出的代码,具体的过程如下:

  • 准备数据:利用`parse-commonsenseQA.py`文件将json格式文件符合后续需求的csv文件

python parse-commonsenseQA.py <CQA-train-file> <cose-train-file> <output-csv-file>
  • 利用GPT语言模型生成explanation:将前步得到csv文件作为输入,finetune conditional LM模型获得explanation

PYTHONPATH=../:$PYTHONPATH python train_commonsenseqa_v1.1.py --do_train --output_dir out --data ../data/
  • 利用Bert对CQA分类任务:将生成的explanation与CQA中的输入(question answers)concat在一起,输入到Bert模型中进行分类

PYTHONPATH=../:$PYTHONPATH python run_commonsenseQA_expl_v1.1.py --do_train --output_dir out --data ../data/


Experimental Results

  1. 对比基线的baseline Bert方法,现有方法提升了将近10%

Cos-E-open与CAGE-reasoning方法中的分类模型都是Bert模型,该Bert模型直接以CQA dataset训练得到。区别是Cos-E-open中explanation为human explanation,CAGE-reasoning中explanation为GPT生成的explanation。

2. 用不同生成方法生成的解释,加入到CQA任务的输入中,用同一个Bert模型进行分类对比效果,目的是去对比生成解释方法的性能,可以看到CAGE-reasoning方法比单纯的GPT方法提升了接近十个百分点


3. 对比Cos-E dataset中两种解释语言的效果,Cos-E的解释包括两种question中的highlighted text span以及human open-ended的解释。Cos-E-selected表示explanation只包含question中的highlighted text span,Cos-E-open-ended表示explanation只包含Cos-E-selected,w/o表示输入中只包含解释不包含question。

4. 跨dataset的结果,将CQA以及Cos-E方法训练好得到的GPT解释生成模型以及Bert分类模型用到, 迁移性能还是比较差

comment

语言模型中包含着许多语言信息,对于需要可解释性以及推理的nlp task,这种引入explanation的方法可以借鉴。




本文由作者授权AINLP原创发布于公众号平台,欢迎投稿,AI、NLP均可。原文链接,点击"阅读原文"直达:


https://zhuanlan.zhihu.com/p/109886447



关于AINLP


AINLP 是一个有趣有AI的自然语言处理社区,专注于 AI、NLP、机器学习、深度学习、推荐算法等相关技术的分享,主题包括文本摘要、智能问答、聊天机器人、机器翻译、自动生成、知识图谱、预训练模型、推荐系统、计算广告、招聘信息、求职经验分享等,欢迎关注!加技术交流群请添加AINLP君微信(id:AINLP2),备注工作/研究方向+加群目的。



©著作权归作者所有:来自51CTO博客作者mb5fdb0a4002420的原创作品,如需转载,请注明出处,否则将追究法律责任

更多相关文章

  1. 金融NLP需求落地实践总结——热门话题生成
  2. Dive into BERT:语言模型与知识
  3. ALBERT 告诉了我们什么?
  4. 视频 | 阿里文娱智能营销增益模型(uplift model)技术实践
  5. 如何构建阿里小蜜算法模型的迭代闭环?
  6. 艾伦人工智能研究所发布 AllenNLP 1.0 ,设计和评估新深度学习模型
  7. 诺奖得主五因子定价模型的国际检验, 做金融的得学起来了!
  8. 中文刊上用中介效应模型的实证文章? 这位学者使用频率很高!
  9. 数字游戏

随机推荐

  1. Android LineaerLayout中layout_margin失
  2. 组件属性
  3. Android 15本经典教程和150多个实例源码
  4. android EditText提示居右无法显示的问题
  5. Android有效解决加载大图片时内存溢出的
  6. RelativeLayout里常用的位置属性
  7. ArcGIS for Android 离线数据编辑原理
  8. android 多媒体数据库详解
  9. android中自定义RadioButton
  10. 控件的间距为0