NLP 与人工智能

NLP 很难,但如果用一句话概括这种难度,应该是 “语义理解”,也就是让机器理解自然语言。“理解” 的意思是它明白那句话是什么意思,这个意思包括字面表现出来的意思和字面背后说话人实际想要表达的意思。比较上层的应用自不必说,即便是最底层的分词、词性标注、句法分析等任务也是同样涵盖在内。“分词” 是汉语以及其他一些没有对词语进行分割的语言才需要做的,而汉语相比其他语言除了分词上的问题外,还有大量汉语本身的特殊问题。仅拿文字处理举例,汉语中看似完全相反的话可能表达的是一个意思,比如 2018(CCF-GAIR)NLP 专场云孚科技张文斌分享的几个例子:了得 VS 了不得,我可想死你了 VS 你可想死我了;汉语的抽象程度相对更高,往往几个字就表达了很多东西,这点可以通过书籍的薄厚程度就能感知一二;汉语最小单元汉字数量非常多,相比英语熵要大很多。再说分词,之前看过一篇文章讲到分词,提到两个观点:第一,分词的主要目的是消除歧义;第二,汉语的不分词是导致其在世界范围内流传不广、难学的主要因素之一。我对这两个观点都比较认同,不分词从认知的角度来说的确需要更多的注意力,其实我们阅读过程中大脑后台已经做了分词,所以文字的不分词有点感觉是浪费人的精力。当然其他如词性标注、实体识别、句法、语义角色等任务也有类似的问题。

西蒙的《人工科学》在第三章讲到处理自然语言的部分,他说:“语言学的进步所必须把握的主要方向之一,是发展一种合适的语义学以补充句法。”他的观点是 “人生来具有习得和使用语言的能力” 与 “语言是人工色彩最强的,因而也是人的所有创造物之中最能反映人的特征的” 并不矛盾。前者断言存在一种内部环境限制人所能进行的信息处理的种类。语言结构揭示了这些限度,这些限度反转来又揭示了人类信息之间存在的共性。这是乔姆斯基的语法论观点,NLP 领域有个 GF - Grammatical Framework 正是致力于此。后者断言内部环境对适应性、对可能的语言所加的限制是对组织的非常一般的限制,不是对句法的非常特殊的限制。这些限制不仅施于语言,也施于通过外界刺激所得到的经验的其他每种内部表现方式。这是对语言的灵活性、可变性做出了解释,这种特性不光表现在对语言产生限制,也对从外界获取经验的内部表现方式产生限制。也就是说语言的各种可能性不是仅仅体现在语言层面,也体现在人的记忆和认知层面。这可能也就是那句俗话 “同样的意思,不同的人表达不同” 吧。我认为西蒙当时(题外话:近期阅读冯志伟大师的《自然语言计算机形式分析的理论与方法》也能够感觉到前人的智慧,非常推荐,后期针对该书会逐步分享。)其实已经把语言的关键点了出来,即:句法 + 语义,也就是基本的格式与要表达的意思。举个例子,有人说:“饿,饭”,我们大概能懂他意思是 “饿了,想吃饭”;但这句话并不符合严格的句子语法。而他这么说可能是他不懂如何用正确的语言表达,也可能是他听到别人这么说了就搞到了一份食物。或者他可能说 “饭吃我”,语法没问题,词也没问题,意思却不对,但其实我们都能懂。这种现象是普遍存在的。所以说,语法能力可能是天生的,但不同的内部环境对可能的语言和外部环境所做出的调整是非常灵活多样的。

针对西蒙关于 “语言” 的观点,我不仅特别赞同,而且觉得更甚:语言是人所有创造物中最能反映人特征的,语言同样也是 “智能” 标志,甚至可以说,语言的丰富性和复杂性代表了智能的高低。关于语言,之前写过一点小感想:语言、AI、情感 | Yam,主要观点是 “语言是人类表达自身情感的一种方式,是意识的产物”。关于语言的 “语义” 问题,西蒙还有一个观点:“处理解决难题型问题时,记忆所起作用有限,是问题的结构而不是记忆的组织驾驭着解题搜索方向。处理解决语义丰富问题时,一大部分解题搜索发生于长时记忆中并受在那里发现的信息的指导。” 这种观点和 “知识图谱” 有一些相互印证。无独有偶,维特根斯坦关于 AI 的观点(关于维特根斯坦的观点可以参阅:人工智能哲学笔记 | Yam 拆弹机器人和颜色不相容部分)也极其类似,即关注最基本的概念、简单的命题,越是我们平时不假思索确定的命题,越是需要分析判断。比如,我们要让机器人去拿起一个物品,对人来说 ”看见物品、确定目标方位、拿起“ 就可以了,但对机器人来说,首先应该做的是判断 ”我是否有一双手“。因为人类很多知识是内隐的,他做出很多决策是理所当然的,但是机器不知道,他不知道 ”平地是可以往前走的“,闲的蛋疼的时候也可以 “拐弯走、扭着走”。这就让我想到了另一位大师:Joshua Tenenbaum,MIT 认知科学和计算机科学教授,在 MIT 今年年初发布 MIT Intelligence Quest(MIT IQ)项目后的一个采访中他说 “Imagine if we could build a machine that grows into intelligence the way a human being does, that starts off like a baby and that learns like a child. This is really the oldest dream of artificial intelligence.” 他的观点在一定程度上将成人内隐知识最小化的同时,还尝试从零开始构建构建内隐的知识体系。Josh 的最近研究依然集中在小样本学习、概率推断、数据表征、因果推理、儿童学习等方面。

不知不觉我们已经开始逐渐转向 AI ,关于 AI 虽然有不少体系,但越来越多的证据表明我们可能需要将多种思路和手段融合,对此我自己在今年年初的时候也有一些心得,现分享如下。

等级/层次 Prior(常识)(在) Rules(演绎)(适) Sense(归纳)(美)
通用级 Map:万物基本关系 General Rules:万物规则 General Sense:万物表征
类别级 Tree:类别基本关系 Class Rules:类别规则 Class Sense:类别表征
具体级 Graph:具体对象基本关系 Specific Rules:具体对象规则 Specific Sense:具体对象表征

这张表一张 AI 框架表,不同层次之间通过 “贝叶斯” 连接。

  • Prior 层次的东西就是细胞和神经,底层的实体。Prior 是 常识,是 “在”。
  • Rules 层次的东西就是骨架和筋脉,衍生的规则。Rules 是 演绎,是 “适”。
  • Sense 层次的东西就是大脑和感知,直观的表示。Sense 是 归纳,是 “美”。

知识图谱可以看作是 Prior 层的应用,但又分为不同的级别,这很容易理解。Rules 层,最省力原则、齐夫定律、熵等可以看作是万物规则;强化学习在一定程度上可以看作类别规则,而对抗神经网络可以看作具体对象规则。Sense 层,词向量(图像和音频类似)就是一种基本表征,无监督学习就是类别表征,而有监督学习就是具体对象的表征。

这种分法其实是看 ”世界“ 的一种方法,我们把世界看成三层,第一层是实体和基本关系,比如:蓝天、白云、柳树,大鱼吃小鱼,小鱼吃虾米等等。第二层是适应,可以理解为对天地万物规则的适从,比如:最省力原则,在规则下实体可以有很多变化和结果。第三层是美,其实就是我们看到万千事物的表现和表征,比如:一幅画、一段文字等等,当然这里不一定是 “美” 的,感觉是一种状态。其实就是分层次看世界,比如一段文字,最底层的是词和搭配,比如我们说清澈的水,一般不说聪明的水,规则就是语法层面东西,可以理解为一些条条框框,而最终的文字就是第三层。这就是个框架思维,也可以很灵活,比如最底层是原子,根据一些法则(比如电子只能跃迁)组成分子等等。这种方式如果放到 AI 上来,表现出来的就是几种思想的综合。 PS:无论是西蒙还是 Joshua 都强调分层的重要性。:)