NLU 不是 NLP++

译自 Walid Saba

随着自然语言处理中各个榜被不断刷新,所谓的“超越人类“也已实现。人们感到的是什么,是满足吗?是得意吗?从此以后就可以安逸了吗?

并没有,人们反而发现,这些所谓“超越人类“的模型,可能一点都没有理解人类的语言。像 Bert 这样的刷榜模型,更像是大力出奇迹。这时,开始跳出一些人,对这些现象进行反思,为什么呢?我们走的这条路到底是不是正确的?还是说如果要摘下 NLP 这颗人工智能皇冠上的宝珠,还需要其他一些方法呢?

最近很多研究人员都发表了自己的看法,比如 EMNLP 上关于 NLG 的讲座,还有最近 Bengio 在北大的演讲中,提到了世界模型,其实和这篇也有很大的关系。

感觉这篇言辞还是非常尖锐的,我自己都看得汗颜,被戳中很多点,更别说那群思想家和逻辑学家了,闻所未闻。不过后面提到的例子里,也确实很有参考的价值。

我在其他很多地方都提到过,现在很多所谓的自然语言处理(NLP)“专家”,可能对很多语言理解难题闻所未闻,比如说内涵性,名词性复合词,辖域歧义,含糊语境等等。他们也没了解过 Gottlob Frege,Bertrand Russell,Ludwig Wittgenstein,W. V. O Quine,Rudolph Carnap 等人几个世纪前的工作,更别说最近的思想家如 Richard Montague,Jon Barwise,Hans Kemp, Jerry Fodor,George Lakoff,Jerry Hobbs 等人的工作。这看起来就像,从来没听说过热力学第三定律的专业物理学家。

这听起来很蠢,很悲哀:所谓的 NLP 专家,他们唯一技能就是知道如何调用机器学习库,处理数据,训练一些模型,然后就可以获得一个“理解”语言的系统。而产生这些效果的,也只是因为数据是 BIG(大) 的,模型是 DEEP(深) 的。然而,理所当然的,没有任何一个“大”的或“深”的模型,能很好地理解一个简单的句子,一个对于4岁小孩,都能轻而易举说出或毫不费力理解的句子。

然而,这里真正的问题是,这种天真的看法,却并不仅仅流行于被媒体炒作给洗脑的新毕业生们(顺带一提,他们大部分都没有坚实的科学基础!),这种看法甚至流行于所谓的NLP专家(那些创造并延续炒作的人),这其中包括今天人工智能的一些“摇滚明星“们(“大”和“深”解决一切的原始支持者们)。

我特别关注的是 NLU(重点'U', Understanding),即自然语言理解,而不是语言“处理”。因为在一段文本中查找命名位置的数量,或是“苹果”周围词的数量,还有“特朗普”出现在标题中的次数,亦或者一些词之间的分布和统计相关性等等等,这些都是某种形式的语言处理。但是,理论上所有这些都和在图像中找到具有 RGB 颜色值(220,0,117)的像素的数量,属于同种计算问题。

而这些文本,是由英语还是中文或其他语言组成就是次要的了。然而,理解语言其实是个完全不同的问题,它不仅仅是一个加强版的 NLP; 它实际上是一个完全不同的领域或研究,需要除语言学,语法之外各种不同的基础知识。语言即思想,在字面上,我甚至建议用 HTU 代替 NLU(Human Though Understanding,“人类思想理解”),以便将其与纯粹的文本处理区分开来

要明白这一点,可以看看下面这个例子:

(1)球不能装进这个灰色的箱子里,因为它太

a. 小了

b. 大了

对于这个,就连一个四岁小孩(我的一个朋友还跟我说他两岁半的儿子都能)都可以毫不费力的明白,如果答案是 a 的话,那么“它"指的就是箱子,而如果是 b 的话指的就是球。

当然,人们也可以通过改变一个单词来轻松改变这些常识性偏好。例如,将“因为”替换为“虽然”,或者将“不”代替成“确实”,或是这些的任意组合,从常识的角度来看的话,这将会改变整个“合理性空间“。

如果坚持将人类这种语言看做是字符(“数据”)的话,那么影响这个简单模式中“它”所指的组合数量就超了4000万种(相当于正常人一生中所听到过的句子的一半之多!)。因此,在数据上进行训练来学习模式的做法是荒谬的。

另一方面,一个4岁的孩子,即使他们只听过几个相似的句子,也能理解“它”是指什么,因为他们知道这些物体在我们生活的世界中如何运作,以及它们如何相互关联。简单来说,因为他们有常识。这是另一个(非常严重的)问题,即所谓的NLP专家忽视(或者甚至不知道这个问题存在?)。考虑下图中的情况

在数据驱动的方法中,人们会很容易地替换掉现实,并做出错误的推论。比如在“我看到玛丽在教她弟弟 7 + 9 = 16”的中,用一个等价的值替换掉 16(数据等同,但现实几乎不可能),比如说256取平方根 sqrt(256); 替换之后,其实我们很明显能看出来,“我看到玛丽教她弟弟 7 + 9 = 16” 与 “我看到玛丽教她的弟弟7 + 9 = sqrt(256)” 是不一样。在现实生活中,虽然前者是真的,但后者却不是(这是语言理解所需要的高级推理,这里你的高中老师是错的,sqrt(256)= 16 并不总是正确的!)。

简而言之,虽然文本的语法和语义分析在 NLP 中可能具有挑战性,但在自然语言理解(NLU)中实际上是微不足道的部分; NLU的严峻挑战在于,它与我们思考的形而上学的现实及其本体论结构,以及一般的推理和人类认知相相关所导致。

如果你对这些并不感兴趣,那么在文本处理(分类,过滤,搜索等)中还有很多工作你可以去做。但如果你对语言理解的问题感兴趣的话,那么深入了解 NLU 的复杂性,以及最杰出的逻辑学家和认知科学家几个世纪以来所做的工作将会是一条很长的路。然后,通过各种方式,利用那些“大”的数据,并做你喜欢的那些“深”的东西。之后,我将期待看到你做出的突破!

推荐阅读更多精彩内容