可解释性论文阅读笔记2-Leveraging Language Models
作者:互联网
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
对比基线的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),备注工作/研究方向+加群目的。
标签:Bert,Cos,Language,模型,Models,CQA,解释性,生成,explanation 来源: https://blog.51cto.com/15060464/2675648