|专访ACL2020最佳论文二作:全新NLP模型评测方法论,思路也适用于CV( 四 )


2
专访吴彤霜:最佳论文何以花落此家
到这里我们大概明白了这篇论文到底在讲什么 , 但是我们还是心存疑惑 , 何以它能获得最佳论文殊荣?
我们在Twitter上看到了本篇论文的第二作者吴彤霜在论文获奖后的祝贺 , 之后我们第一时间联系到了吴彤霜同学 。
|专访ACL2020最佳论文二作:全新NLP模型评测方法论,思路也适用于CV
本文插图

|专访ACL2020最佳论文二作:全新NLP模型评测方法论,思路也适用于CV
本文插图

(据吴同学称 , 上图的狗子为校狗 , 档期很满 , 一年才能见上一次)
吴彤霜本科就读于香港科技大学 , 曾在苹果和微软工作过 , 目前在华盛顿大学就读博士 。
|专访ACL2020最佳论文二作:全新NLP模型评测方法论,思路也适用于CV
本文插图

https://www.linkedin.com/in/tongshuangwu/
以下为专访实录:
AI 科技评论:首先恭喜您和您的团队斩获ACL2020最佳论文!我们想先了解一下这项工作的完成大概花了多长时间 , 把软件测试带入NLP模型检测的想法是最近才有的吗还是说之前就有了最近才实现?
吴彤霜:这个项目最早是一作快博士毕业时我们开始合作的 , 中间因为各种原因搁置了一段时间 , 实际做大概一年吧 。 引用软件测试应该可以算是一个新的想法 。 以前有很多nlp模型分析的论文本质上也可以说是我们论文里提到的那种“行为测试” (behavioral testing) , 比如各种NLI challenge set 。 只不过这些工作大部分是针对某一个任务在做某个特定种类的分析 , 每次都要从头开始 。 我们工作其中的一个主要的一个贡献就是把这些分析做归一化 , 提供一个测试框架+开源系统 。
AI 科技评论:这项测试系统是不是可以理解为对抗扰动系统啊?或者相比有什么优势呢?
吴彤霜:不变性测试 (INVariant test) 可以相当于扰动 , 就是模型在预测一个句子s和经修改后的版本s'时结果类似 。 CheckList还支持别的测试类别 (test type):定向测试 (DIRectional test) 是用来测试预测结果的特定变化 , 最小功能测试 (Min Func Test) 不需要有配对的例子 , 只要一个能生成单个测试例句的模板就可以了 。
只和INV(不变性测试 )相比而言 , 现在NLP的大部分对抗句经常是在改拼写或者会产生乱码 , 比较难保证句子的连贯性 , 而能保证句子连贯性的居多是改近义词 (it's a good movie -> it's a great movie) 。 CheckList因为允许自定义改写函数 (perturbation function) , 所以可以更多样地测试模型的性能 , 比如看情感分析模型是否能辨认虚拟语气 (it's a bad movie -> it would have been a good movie) 。 这种测试也更系统化 , 因为可以生成很多对改写方法类似的句子/测试用例 (test case) 。
当然相应的checklist的自动化就比较差 , 需要人来定义这些测试 :)
AI 科技评论:请问你们团队成员之前有过软件测试的经验吗 , 在CheckList的设计环节有什么亮点以及代码实现过程中有什么难点?
吴彤霜:应该不算有经验 , 没有在工业界实战过 , 顶多就是在软工课写单元测试 , 所以最开始其实也认真学习了一下软工 :)
设计上我觉得最大的亮点是对于性能 (capability) 的定义 。 我们遇到一个瓶颈就是试图给每个NLP task设计需要测试的不同方面 , 但这样就非常繁琐 , 也失去了可拓展性 。 直到后来我们和其他researcher聊的时候意识到其实大部分的模型需要测试的“capability”基本比较稳定 , 只是不同任务里对标签的影响会有区别 , 比如[改主语]对NLI影响会比对情感分析要大 。 这样一个稳定的capability集合就让整个框架干净了很多 。
开源上 , 其实NLP部分还是比较整洁的 , 但是为了让大家能比较流畅地在notebook里浏览和回顾test集 , 我们下了很大功夫研究怎们做交互插件 , 是一个大坑 , 但是最终效果还挺好看的 , 可以到readme里看看preview感受一下 , 哈哈 。


推荐阅读