东莞网站建设营销哪家好,什么网站可以做问卷调查,怎么用手机制作手机网站,长春网站建设q479185700強星标/置顶小屋#xff0c;带你解锁最萌最前沿的NLP、搜索与推荐技术文 | 北大小才女小轶昨晚ACL2020的Main Conference落下帷幕#xff0c;今年的最佳论文颁给了这篇《Beyond Accuracy: Behavioral Testing of NLP Models with CHECKLIST》。在ACL录用的778篇论文中#xff… 星标/置顶小屋带你解锁最萌最前沿的NLP、搜索与推荐技术文 | 北大小才女小轶昨晚ACL2020的Main Conference落下帷幕今年的最佳论文颁给了这篇《Beyond Accuracy: Behavioral Testing of NLP Models with CHECKLIST》。在ACL录用的778篇论文中这篇的标题并不起眼属于看到就想直接跳过的类型。今天细读了一下发现确实是很有意义的工作。在此与大家分享。背景介绍这篇paper解决的是NLP领域的模型评测问题。目前最主流的评测方法是从已有数据中划分出一部分作为测试集然后测试模型准确率。但这并不能全面地评估一个模型的好坏还有很多意想不到的情况测试集有部分数据和训练集相似度很高模型如果overfit了也无法发现测试集存在bias与真实场景分布不一致模型采用了某种shortcut才在数据集上表现良好所以模型的评估环节存在着不少风险很难做出一个完美的benchmark。近年来也涌现了大量关注NLP评测的工作。但之前的这些工作往往还是只能检测模型某种单方面的能力例如对噪音的鲁棒性或者只是提出了针对某种特定任务的评测指标例如针对NLG任务测试生成文本前后逻辑一致性。而且这些新提出的测试方法往往实际操作起来并不容易。所以尽管传统方法诟病已久却仍然大行其道。本文提出的CHECKLIST是一种全新的、颠覆性的评测方式。作者认为应当全方位对模型多项“能力”进行评估每一项能力都应通过三项不同类别的检测。借助作者提供的[开源工具](https://github.com/marcotcr/checklist)只需基本NLP经验即可快速生成大规模的测试样例。并且整个过程适用于几乎所有NLP任务task-agnostic。实践证明与不采用CHECKLIST时相比志愿者借助CheckList进行测试后在极短的时间内就生成了多出一倍的测试样例并从中发现了三倍未知的bug。论文作者视频解析https://slideslive.com/38929272/beyond-accuracy-behavioral-testing-of-nlp-models-with-checklistGithub:https://github.com/marcotcr/checklist论文链接:https://arxiv.org/abs/2005.04118公众号「夕小瑶的卖萌屋」 后台回复关键词【0710】下载论文PDFCHECKLISTCHECKLIST的思想借鉴了软件工程中的“黑盒测试”方法。它试图给出一套清晰完整的方法论告诉你What to Test以及How to Test。What to Test对于一个软件需要测试的是每一个function是否可以正确运行但在NLP中并没有明确划分的function。CHECKLIST提出我们应该测试model的各种“能力”。论文中列举了10种所有模型都应该具备的“基本功”包括但不限于VocabularyPOS是否熟练掌握任务相关的词汇Taxonomy是否理解同义词、反义词NER是否正确理解了named entityLogic是否前后连贯一致当然根据具体任务还要添加其他的特定能力。How to Test那么如何对各种能力进行测试呢CHECKILIST提出对于每种能力都要尽可能地进行三种不同类型测试分别是最小功能测试不变性测试定向期望测试。这里以情感分析任务为例为大家具体说明这三种测试方式1. 最小功能测试MFT, minimum functionality test 类似软工中的“单元测试”用大量简单但具有极强针对性的样例进行测试。例如下图用模板生成带有否定词的句子来测试模型NEGATION的能力。2. 不变性测试INT, invariance test 对原有数据做一些不影响结果的轻微变化。例如下图当我们把句子中的一些named entity替换模型应该不改变其输出结果。如果改变则说明其鲁棒性存在问题。3. 定向期望测试(DIR, directional expectation test) 也是对原有数据做少许改动。改动后模型的结果应该朝一个期望的方向变化。例如下图对于负面情绪的句子如果我们在其末尾继续添加负面的话语模型不应该变得比原来“乐观”。到这里我们已经清楚了CHECKLIST要测试的是模型的各项“能力”每种能力要经过三种测试。那么如下图所示以“能力”为行以测试类型为列就得到了一张完整的CHECKLIST。而测试过程就是填满这个矩阵。接下来的问题就是有那么多测试要进行如何针对每一项测试大规模生成测试样例呢根据原文的说法测试样例可以完全“无中生有”也可以通过改动已有数据得到。而作者们已经给出了强大的开源工具帮助你快速生成测试样例。整个工具完全可视化操作性极强。下图就展示了它友好的操作界面。为了证明CHECKLIST有多好用作者直接找到了Microsoft开发情感分析API的团队。CHECKLIST帮助他们在5个小时内找出了许多从未察觉的bug。又找了18个志愿者在仅接受简单辅导的情况下志愿者全部在2小时内测试出了SOTA模型的许多问题。用CHECKLIST测试SOTA模型作者在实验部分用CHECKLIST的方法在三个任务上进行了测试。抛弃传统的评测方式在CHECKLIST面前那些所谓SOTA模型暴露出了各种各样的问题。即使面对最最简单的模板生成样例也表现堪忧。以情感分析任务为例他们测试了Microsoft, Google, Amazon提供的情感分析付费API以及Bert、RoBerta。在Negation这一项能力上我们可以看到无论是工业界的成熟API、还是学术界的SOTA模型都出奇的糟糕。比如第二行双重否定这一项上只是用模板生成的简单双重否定Bert和RoBerta的错误率高达98.4%、95.4%。而对于先抑后扬的情况三个API的错误率高达100%、90.4%、100%。再比如在SQuad数据集上如今的SOTA模型声称已超越了human performance。然而果真如此吗作者对数据集中最简单的一类问题也就是那些只对basic property提问的那些问题进行反义词替换。Bert的回答就一下子牛头不对马嘴错误率高达82.4%。另外CHECKLIST还发现了Bert存在种族歧视、性别歧视、性取向歧视......在做情感分析时对于提到特定群体的句子Bert会直接给出negative的标签。在原文和github中作者给出了各个模型极其详尽的CHECKLIST测试结果和典型错误样例。看着这些密密麻麻的数据确实能感受到CHECKLIST更为全面地评估了模型的各方面能力。小结本文借鉴了软件工程的思想提出了一套完整的NLP模型评测方法论并提供了强大的开源工具使整个测试过程得以快速实现。实验证明CHECKLIST方式确实能够对NLP模型进行更为全面细致的评估。相比于原来仅用accuracy得到的评测结果CHECKLIST给出了更多的insight也让我们看到了在这些NLP任务上我们真的还有很长很长的路要走...论文作者视频解析https://slideslive.com/38929272/beyond-accuracy-behavioral-testing-of-nlp-models-with-checklistGithub:https://github.com/marcotcr/checklist论文链接:https://arxiv.org/abs/2005.04118公众号「夕小瑶的卖萌屋」 后台回复关键词【0710】下载论文PDF夕小瑶的卖萌屋_关注星标小夕带你解锁AI秘籍订阅号主页下方「撩一下」有惊喜