查看原文
其他

可解释性论文阅读笔记2-Leveraging Language Models

HardenHuang AINLP 2020-10-22

作者:HardenHuang

学校:清华大学

研究方向:自然语言处理

知乎专栏:模型可解释性论文专栏





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:推理 输入中不包括正确答案

Reasoning的输入由question  , distracted answers , commnsense 合并组成

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

条件概率  由具有参数  的神经网络以  及前一个explanation token  为条件生成


  • Rationalization:

Rationalization的输入由question  , 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年度阅读收藏清单

可解释性论文阅读笔记1-Tree Regularization

知识图谱存储与查询:自然语言记忆模块(NLM)

AINLP-DBC GPU 使用体验指南

征稿启示| 让更多的NLPer看到你的文章

AINLP-DBC GPU 云服务器租用平台建立,价格足够便宜

我们建了一个免费的知识星球:AINLP芝麻街,欢迎来玩,期待一个高质量的NLP问答社区

关于AINLP


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


    您可能也对以下帖子感兴趣

    文章有问题?点此查看未经处理的缓存