又是一年315,消费者关心自身权益,科研人关心模型售后:大厂模型使用简单,但是用起来放心吗?鲁棒性够高吗?
业界自然语言处理API
Cloud Natural Language API 利用 Google 机器学习技术,从非结构化文本中提取实用信息
谷歌在 2016 年推出了云自然语言 API(Cloud Natural Language API),提供情感分析、实体识别、语义分析等功能;2017 年,亚马逊推出了 Amazon Comprehend 以支持命名实体识别和情感分析。顶尖高校也加入了自然语言处理工具集的开发,斯坦福大学 NLP 组开发的 Stanford Core NLP 支持多种语言(包括中文),能够实现分词、分句、词性标注、句法分析等许多常见的NLP任务;宾夕法尼亚大学的 NLTK(Natural Language Toolkit)是 NLP 研究领域常用的 Python 库,提供多种基本文本统计功能以及处理常见任务。
那么,这些大厂和高校提供的 API 和工具集的鲁棒性究竟如何呢?FudanNLP实验室的同学们在寒假加班加点,使用文本鲁棒性工具集 Textflint 进行了一番验证。
TextFlint 是复旦大学自然语言处理实验室开发的自然语言处理模型鲁棒性评测平台,其中涵盖 14 项 NLP 常见任务,囊括 80 余种数据变形方法,为模型鲁棒性评测及提升提供了一站式解决方案。
ABSA 任务鲁棒性
以属性级情感分类(ABSA)任务为例,在检测鲁棒性时我们使用了三种数据变形方法:增加新的属性评价(AddDiff)、改变非目标属性的情感(RevNon)以及改变目标属性的情感(RevTgt),三种方法的示例如下表所示。
表1:文本变形示例
通过以上三种文本变形方法,我们检测了谷歌和微软 API 在处理 ABSA 任务时的鲁棒性,在SemEval 2014 数据集上的实验结果如下表所示。
表2:属性级情感分析任务鲁棒性检测结果
实验数据可以说是非常的 amazing ,每种文本变形方法都能让 API 的预测准确率大幅下降,在三种变形当中,RevNon 的杀伤力最强,这也说明了这些 API 在判断目标属性的情感倾向时,会错误地参考非目标属性的情感词。这种不鲁棒的因素在 Textflint 的考验之下原形毕露。
NER 任务鲁棒性
如果说单独一个 ABSA 任务的鲁棒性分析并不能说明什么问题,实验室的同学们还针对大厂开放的词性标注、依存句法分析、篇章情感分析、命名实体识别等任务进行了大量测试。例如命名实体识别任务在五个 API 上进行了鲁棒性验证。验证中使用了五种变形方法,具体方法可以参考下表。
表3:命名实体识别任务文本变形方法
这些变形看上去还挺无关痛痒的,也不会对我们的阅读造成什么影响。但是,模型会怎么表现呢?我们把五个 API 和工具集都拉来溜了一溜,结果如下表。
表4:命名实体识别任务鲁棒性检测结果
不出意外的是,五个模型的正确率都有不同程度的下降。其中,模型遇到含有类别歧义的实体变形时掉血最严重,正确率直接砍半,这也说明模型可能并不能很好地建模上下文语义,于是在面对带有类别歧义的实体时,模型就被带偏了。这样看来大厂的模型看起来仍需努力呀。
Textflint2.0 正式发布,支持多种中文任务的鲁棒性检测
最后报告大家一下好消息, Textflint 全新升级了,新增支持多种中文任务的鲁棒性检测。实验室的同学们将 ACL2021 以及 EMNLP2021 相关任务的最新模型一网打尽,使用原文开源代码复现模型,并使用 Textflint 工具集验证了鲁棒性。