0
雷锋网AI科技评论按:一般认为计算语言学(CL)是语言学的一个分支,自然语言处理(NLP)是计算机科学的一个子学科。但是现在由于CL和NLP之间的界限越来越模糊,甚至两个领域的人常常去参加同样的会议,交流起工作来也完全没有障碍,于是一个问题出现了:NLP是跨语言学和计算机科学的交叉学科吗?
雷锋网注意到,近日在NLP学术圈里,因为Twitter上的一个推文引发了对这个问题的一场小争论。
一、The Beginning
事情的过程大概是这样的:
华盛顿大学著名的语言学教授Emily M. Bender在审核一篇跨语言应用的论文时,为作者数据集的混乱不堪发愁,于是就发了个twitter:
直接的评论到没有,转推也就两个。但两个转推却引来两场争论。一场主要关于怎么用数据集的,因为和本文无关,这里我们就按下不表了。
另一场争论起点是这样的:
推文转了四天,到了纽约大学计算科学与数据科学的助理教授Kyunghyun Cho这里,他抱怨说:“为什么我不用更多的语言?因为投稿ACL反馈回来的评审意见是:‘奇怪,作者竟然选择用土耳其语-英语数据集’。”
这条推文本身也是对数据集问题的响应。Emily Bender教授是这么回复的:会不会是因为(由于ACL是跨学科的)人手不够,不能相互审查?
我们知道,推文就像聊天,不一定看到的人联想到什么呢,所以推着推着话题就变了。接着“interdisciplinarity”这个词,约翰霍普金斯大学Jason Eisner教授( nlp几个神牛之一)的博士生Ryan Cotterell加入了讨论:
Ryan Cotterell:整体上来看,我不认为ACL是跨学科的。它将机器学习应用到语言数据上,很大程度上和语言学理论是不相干的。
Emily Bender:再次声明,NLP绝不只是机器学习的一个应用领域——即使机器学习在NLP上越来越有效。
……
一个是著名的语言学教授,一个只是一个博士生,在国内可能Ryan早早缴械投降,说“我one-million-percent endorse Emily教授的观点”了。但Ryan毕竟也是大牛的学生,并不怯于和教授辩论。
二、ACL是跨学科的吗?
随后的内容就变得越来越复杂,也有越来越多的人加入争论。
加上twitter 140个字符的限制,道理更是说不清。于是Ryan Cotterell决定做两件事情:
1)在medium.com上写篇博文(Is ACL Interdisciplinary,需要翻墙才能打开,没有VNP的可以在百度网盘上下载保存的电子版网页:ACL是跨学科的吗?)来澄清他的观点;
2)通过定量的方法来考察语言学和NLP之间的关系。
博文内容大致如下:
我最近推了一些东西,没想到引起了一些争论。由于Twitter上140个字符长度的限制,可能会引起误解。我的观点是:在NLP上发表的工作并没有吸取语言学方面最新的进展,因此也没有被公认为是跨学科的。
也许更坦率的观点例如这样:我们能做什么?在过去30年时间里语言学没有提出任何有意思的东西,这不是我们的错。
当然我不认为语言学最近三十年没什么有意思的成果,但很明显,语言学和NLP已经分离开了。举一个例子,在NLP阅读群,例如Stanford、CLSP、Stony Brook和Arizona等,从他们的日程安排中我找不到一篇最近的语言学论文。如果两个学科有交叉的话,这是不应该的。所以我的观点的弱化版本是:NLP在过去10到20年的发展与近期语言学的研究无关。
在深入这个观点之前,我想先说清楚两个概念:什么是计算语言学(CL)以及什么是自然语言处理(NLP)。内容来自我导师Jason Eisner在Quora上的回答。
1、什么是计算语言学
计算语言学(CL)类似于计算生物学或者任何计算XXX。它主要致力于用计算的方法来回答语言学的科学问题。
在语言学中的核心问题包括语言表征和语言知识的性质,如何在语言的产生、理解中获得和运用语言学知识。对这类问题的回答,有助于描述人类的语言能力,也有助于解释我们实际记录的语言数据和行为的分布。
在计算语言学中,我们用更形式化的答案来回答这些问题。语言学家关心人类计算了什么以及如何计算的。所以我们将语言表征和语法通过数学的形式来定义,我们研究它们的数学属性,并设计有效的算法来学习、生成和理解。只要这些算法可以实际运行,我们就可以测试我们的模型,看它们是否能作出合理的预测。
语言学也考虑一些非核心的问题,例如社会语言学、历史语言学、生理语言学或者神经语言学等等。这些学科问题本质上和计算语言学是平等的,都是在用一套模型和算法来让数据看起来合理。
从这个角度来说,计算语言学并不试图去对日常用语进行建模,而是将语言学家所作的推论自动化。这潜在地就使我们能够处理更大的数据集(甚至新的数据)并得出更准确的结论。同样的,计算语言学家可能会设计软件工具来帮助记录濒危语言。
2、什么是自然语言处理(NLP)
自然语言处理(NLP)是解决分析(或生成)自然语言文本的工程问题的艺术。 在这里,成功的标准不在于你设计了一个更好的科学理论,或者是证明了语言X和Y在历史上是相关的;它的标准是你是否在工程问题上得到了好的解决方案。
例如,你不会去考虑谷歌翻译有没有解释翻译的“本质”是什么或者翻译人员如何工作的;你在意的是它能否给你产生出一个合理、精确、流畅的翻译结果。机器翻译社群有他们自己的衡量方法,他们致力于提高这些分数,而不是理解翻译的本质。
NLP主要是用来帮助人们去理解和消化那些以文本形式存在的大量信息,当然也会被用来生成更好的用户接口以便于人类更好的与机器或人进行交流。
我说NLP是工程性质的,并不意味着它只用来开发商业价值。NLP也会被拿来研究学术问题,例如政治科学(博客文章)、经济学(金融新闻和报道)、医学(医生的笔记)、数字人文(文学作品、历史资料)等。这些都是被作为“计算XX学”的工具来回答XX学家的科学问题,而不属于语言学家的科学问题。
3、跟交叉学科有什么关系呢?
计算语言学已经被定义为一个交叉学科。但NLP还没有,可能是,也可能不是。正如航空工程不需要从鸟类获得灵感一样,NLP也不必从人类如何处理语言中获得灵感。所以我认为应当认真考虑的一个问题是:目前还没有关于NLP是否是交叉学科的判断标准。相关的人员只是从他们的工具箱里选择一些工具解决他们的工程问题,在ACL会议中很多(绝大多数)工作认真来看都不能算是交叉学科的。
4、交叉学科应该是什么样子?
Wilson and Hayes(2008)曾经做的一份工作可以很好的回答这个问题:首先他们借鉴NLP和ML的技术,提出了一些提高语言理解的方法;由此他们得出一些关于语言的科学结论,并通过实验验证了这些结论。
学科的定义一直是在变化的,我认为所谓跨学科的工作其实就是两个(多个)群体兴趣的交集。
一些人认为因为NLP里有“word”和“punctuation”这些语言学的概念就是跨学科了,这是很荒谬的。我们也使用对数的概念,能说NLP与数学也有交叉吗?我们所做的工作与数学期刊上的完全不同。
争论中出现有两个容易混淆的论断
Claim 1:没有语言学的理论,NLP就做不下去。
这是Emily Bender教授的说法,我倾向于认同。但我没有做过面向人类的NLP任务,所以我实在不好下判断。
Claim2:计算语言学的工作没有真正地呈现在*ACL会议上。
我认为这基本上是对的,但也有一些例外,只不过很少见。原因有两面:当我对NLPer谈论问题时,他们会问“这有什么用”;而当我和语言学家讨论时,他们又完全听不懂,因为他们最后一节数学课还是在高中上的。基于这样经验,我觉得ACL并不是一个真正的跨学科的地方,而且是越来越如此。举三个例子:
(1)许多以计算为导向的语言学家和面向语言的ACLers希望在2018年初成立一个新的会议。如果*ACL真的能够体现计算机科学和语言学之间的跨学科合作,为什么会有很多人需要另一个会议呢?我认为这主要是因为这两个学科之间基本上没有交叉。
(2)我在EMNLP 2017上有一个海报展示,是关于多语言形态标记的(Cotterell and Heigold 2017)。我得到的第一个问题是来自工业界的一个NLP研究人员,他很真诚地问:现在已经可以通过端对端训练一切东西了,为什么还要进行词性标注呢?在一定程度上这也是许多有建树的研究人员的观点,例如Kyunghyun Cho。当然在模型中选不选用词性标注应该根据你的问题而定。我想强调的是,我们正处于这样一个时期,之前NLP的一些旧的辅助应该用新一代重新判断了。如果认真去考察的话,就会发现词性标注是句法理论中相对肤浅的部分。Fred Jelinek著名的讽刺是:每次他炒掉一个语言学家,性能就会提升一些而且这个咒语现在还在很多NLP领域有效。
(3)另外一点就是很多NLPer并没有学过语言学。如Emily所说,交叉学科研究的本质上需要两个领域的专业知识。我认为,这些专业知识应该以某种形式来源于领域内的专家。而据我所知,这似乎并没有发生。
(Emily Bender教授发起的一个投票调查,286个NLPer当中有74%的人并没有语言学学位,甚至有16%的人没有任何语言学的背景。)
5、定量化研究
我现在正在尝试研究发表在语言学会议/期刊的论文与发表在NLP会议/期刊上的论文之间的引用情况,来定量化研究语言学与NLP之间关系。初步的结果表明,两者的重合率非常小。
我非常欢迎任何能促进这份研究的建议。
三、语言学、NLP和跨学科
看到Ryan Cotterell的博文(还有些别的原因),Emily Bender教授也就此在medium上写了一篇博文(Linguistics, NLP, and Interdisciplinarity Or: Look at Your Data,百度网盘下载:语言学、自然语言处理和交叉学科,或者:注意你的数据)来反驳Ryan(博文有一部分是针对另一场争论的反驳)
博文分三部分。首先,Emily教授回顾了一下事件的起因(前面已经说过了),然后针对第一波争论给出了一针见血的评论。随后话锋一转,说第一波争论周日晚上已经圆满结束,但又来了波新的——
相关博文内容:
Ryan Cotterell花了很大力气试图说服每一个人相信NLP不是一个交叉学科,理由是他认为交叉学科必须建立在两个学科共同的工作基础上,而目前NLP的工作大部分不符合不符合这个定义。
对此,我想做出以下回答:如果问题要求多个领域的专业知识有效地接近,一个研究领域原则上就是跨学科的。
根据我的定义,NLP原则上就是跨学科的。我同意Ryan的观点,说NLP在实践中大多不是学科交叉的,但我觉得没有必要非要达到这么高的标准。同样的,我也不认为语言学的所有子领域都和NLP相关。
我的观点是:学习语言如何工作以及(或者)与有相关经验的人合作,会让NLP发展地更好。
对“交叉学科”如此高标准的定义我觉得是无益的:我不希望人们认为“如果我不能拿一个语言学学位,我就没法做交叉学科的工作”;同样我也不希望人们留下“语言学无关紧要”的印象。
也许这个争论中最令人沮丧的部分是,它抹除了我在语言学领域和CL/NLP领域的工作。他们似乎还将“语言学”等同于“现代乔姆斯基语法”。另一方面,那些“通常NLP不使用语言学的工作”的论断等同于把包括我在内的一些人的工作都给排除在外了。
所以,Hey world,语言学已经不是乔姆斯基时代的了。
四、结语
事情大致就是如此,说大不大,说小也确实小。雷锋网觉得,它反映出几个问题:
1、要不要认真地考察一下NLP是否是交叉学科呢?笔者个人觉得是非常有必要的,理清学科的边界,有助于理解学科未来的发展方向。Ryan Cotterell在尝试用论文之间引用量的数据来定量化分析这个问题,也许会很有意思。
2、另一方面,不管讨论的结果是什么,它都是有益的,因为讨论促使人们去反复地思考自己的观点。国外学术圈子的讨论风气很旺盛。
下面补充一些网友的评论:
Xiang Z:机器学习的目标之一就是要尽量去除人的知识在建模中的作用,而尽量通过数据学到相关的规律。这种思路下的语言处理和传统语言学的矛盾好像不太好调和啊。
青龙:Ryan:NLP不是交叉学科,理由1,2…,分析1,2…,从概念到定量分析,有理有据有节 教授:根据我的定义,NLP原则上是跨学科的,对交叉学科这么高的定义是无意义的… 很显然,Ryan的理由更让人信服,因为按照教授的观点降低交叉学科的定义度很难把握,实施不好可能会降为负值,即万物皆交叉,一切终将逝去,唯有交叉永恒。
AI慕课学院近期推出了《NLP工程师入门实践班:基于深度学习的自然语言处理》课程!
三大模块,五大应用,海外博士讲师手把手教你入门NLP,更有丰富项目经验相授;算法+实践,搭配典型行业应用;随到随学,专业社群,讲师在线答疑!
课程地址:http://www.mooc.ai/course/427
加入AI慕课学院人工智能学习交流QQ群:624413030,与AI同行一起交流成长
相关文章:
清华大学团队开源OpenKE与OpenNE工具包,助力NLP系统梳理
雷峰网原创文章,未经授权禁止转载。详情见转载须知。