Something-NLP

Something interesting about NLP when I tried to know it.

「每当我开除一个语言学家,语音识别系统就更准确了」
Every time I fire a linguist, the performance of the speech recognizer goes up.

—— IBM 的语音识别专家 Frederick Jelinek

NLP and CV

当时看《数学之美》的时候,就觉得很有趣,AI发展经历了好几个阶段,不同的主义和方法各领风骚数年,而NLP的发展也很有趣,前言提到的就是早期人们希望通过符号主义的方式去对需要处理的进行严密的定义和推理,但事实上,语言本身已是复杂世界的高级抽象,其规则本就由于人类思维的跳脱而无法一以贯之,所以尽管早期融入人类专家知识的专家系统和逻辑推理系统被期于解决感知、理解等问题,但伴随着数据的复杂性上升,该方法无以为继,基于统计学习理论的方法开始称霸领域,也就出现了上面前言中的调侃。其实看到书里提到当前看似非常intelligence的NLP处理,其实都是基于统计理论的时候,还是蛮震惊的,但却又不出乎意料之外,因为从感知到认知,我们还是有很长的距离的,也因此,目前CV领域看来频频爆发,而NLP却离我们心目中所期待的还有很长距离。

看来一些博客,其实还是有些思考的,包括结合自己做图像的经验,其实目前的DL模型,说白了,也是以力破巧的一个体现,通过大量神经元和隐含层的堆叠,理论上,其可以拟合任何的函数,也就能完成各项任务,而其也能从数据中抽象出人类无法直接定义的高级特征,从而在各个任务上取得了非常优异的成绩,但目前也仅仅是如此,能够通过上述的方法感知到数据中有什么,但是他们仍无法去理解数据和认知,而NLP恰恰需要的是更深层次的认知和基于认知的推理,当然还有很多其他原因,比如NLP数据的复杂性(不统一、分词等)。

以下内容主要来自:为什么相比于计算机视觉(cv),自然语言处理(nlp)领域的发展要缓慢? - saizheng的回答 - 知乎

从二者的任务和目标来看,二者的发展差异

1) 过去几年CV领域爆点,与NLP领域的主攻问题相比,是不同的智能认知阶段;

2) 而过去几年促使整个AI领域迈了一大步的深度神经网络技术,更适用于先前CV领域的认知阶段和问题范式。

具体来说,如果我们回顾过去几年这视觉(CV),甚至是语音识别(speech)领域的主要突破进展和成功应用,会发现它们都集中在对自然连续信号\进行底层感知(perception)的阶段:比如CV中的分类,分割,跟踪,以及典型的语音识别任务(可粗略类比于CV中的分类+分割问题)等对底层自然信号进行初步加工的问题。这类问题的本质是简单的统计特征发现函数拟合。例如对于自然图像分类问题,深度神经网络这类统计模型作为universal approximator已然强大, 加上诸如“convolutional”等可以捕捉自然图像低频、局部相似性等统计特征的inductive bias被直接融入到模型构建中,配以大量数据,使得这类拟合问题得到很好的解决。而伴随着模型训练得到的一个副产品就是很多答主提到的多层级的feature representation (特征表达),这些特征表达实际上是convolutional这种结构先验在数据空间的外化。总而言之,现有算法在这种本质是拟合的感知问题上已经达到了一个不错的的水平,而与此相关的工业应用自然也层出不穷。然而,对于视觉内容(包括静态图像,视频)进行高层抽象逻辑、语义理解(比如空间逻辑,时间逻辑,因果关联推理等)的研究还有很大的空间可以提升。

另一方面,自然语言处理(NLP)的研究更注重感知之后的认知/理解阶段(understanding/ comprehension)。自然语言本身是人类对世界各种具象以及抽象事物以及他们之间的联系和变化的一套完整的符号化描述,它是简化了底层物理感知的世界模型。从这个意义上讲,自然语言的描述空间实际上上已经大大超过了图像这种具象信号。这意味着NLP处理的输入是离散的抽象符号,它直接跳过了感知的过程,而直接关注以现实世界为依托的各种抽象概念,语义和逻辑推理。诚如各高票答案指出的,领域发展之初存在一些低处果实,这类果实大都基于浅层统计语义,或者可以直接被简化为跟CV感知问题一样的函数拟合,比如早期的信息检索(比如典型的tf-idf方法),文档/垃圾邮件分类,词性标注,甚至是机器翻译。实际上这些技术已经成为了一大批耳熟能详的科技公司的核心技术。然而,当这些低处果实被摘完了,新的研究则需要关注高层语义、记忆、知识抽象以及逻辑推理等等,这些问题解决不了,我们是无法构建出一套更成熟的“问答系统”、“对话系统”这种“类图灵测试”的AI系统的,而这样的系统恰恰是公众心目中认为的NLP技术大规模应用的表现。

与一些答主对统计学习/深度学习在NLP复杂问题上的乐观不同,我个人认为,这类问题的解决方法或许已经超出了现有深度学习或者更一般的统计机器学习技术的能力边界,换句话说,NLP中有一些核心问题是统计学习里的特征发现+拟合解决不了的。最简单的一个例子就是,统计学习模型在语言的组合性(compositionality)上到目前几乎是一无是处。此时此刻,NLP跟CV面临的挑战是共通的。

总而言之,从认知阶段的角度解读,不是CV领先于NLP,相反,恰恰是因为之前的CV技术搞不定感知,CV是“落后”于NLP所关心的认知范式的。当CV跨过感知的门槛之后,CV和NLP问题殊途同归,两者未来面临的挑战其实是一回事,就是理解这个世界背后的逻辑,它具体可以反映在对常识(common sense)的理解,如何进行因果推断(causal inference),对抽象概念的理解等等。目前相关的研究包括 language grounding 以及符号主义同连接主义的融合等,这些内容又可以写一个大综述了,吾辈任重而道远。

结合AI发展历史和二者依仗方法来看

自1956年达特茅斯会议开始,人工智能经历了符号主义(symbolicism),连接主义(又作:联结主义,connectionism) 以及后来统计学派的加入等多方的起起伏伏,他们实际上对“下游”的CV和NLP技术的发展变迁产生了重要影响。

早期(60年代到80年代)符合主义学派称霸,连接主义在夹缝中生存。下游反应则是CV领域进展缓慢,以专家系统为代表的NLP技术开始起步。

在这个时期,人工智能学者开始分化出两个学派即符号主义学派和连接主义学派的雏形。

符号学派的学者笃信思维的可计算性和强逻辑性,由此衍生出了一批跟逻辑推理、编程语言范式相关的人工智能方法。其主要特征是认为智能认知过程是可以做精确描述并实施逻辑演算或数学计算的,希望通过预先融入人类专家知识的专家系统和逻辑推理系统来解决感知、理解等问题。而这种思路反映在CV领域便是,早期专家认为通过对各种物体形状、颜色等物理和几何属性进行精确定义并设计一套严格的计算方法,就可以解决计算视觉的各种问题。历史已经证明这种方式是行不通的,但在这一时期,CV领域发展出了一套基本的关于几何视觉的计算理论。另一方面,因为NLP的研究对象是抽象符号,而且NLP问题本身内嵌了很多逻辑、推理等内容,使得在这一时期符号学派在NLP技术的推动上起到了很大作用,其中包括各种基于规则和专家知识的分词,词性标注,语法解析等系统,和一些基于规则和逻辑的问答,对话系统等,同时在这一时期已经逐渐出现了使用统计学来进行自然语言处理的思想。

而此时处于少数的连接学派学者,则试图摆脱先验知识和专家约束,希望通过连接模型例如单层的感知器(即perceptron,神经网络的前身)来自动学习数据中的模式。然而,由于这一学派在当时缺乏严格数学理论的支撑,同时其单层结构并不有效,且限于当时的数据收集和计算条件,并不能发挥连接主义的真正功效。更令人遗憾的是,曾经的连接主义者Minksy转投符号主义怀抱,除了为符号主义学派贡献了Frame theory 这一日后成为重要编程范式的理论之外,同时因为批评perceptron的局限性,直接导致了连接主义甚至是AI在70年代后期的寒冬。

中期(90年代到00年代)统计学习理论称霸,符号主义遇冷,连接主义短暂复兴之后继续低头做人。下游反应则是CV领域开始抬头,NLP领域继续平稳发展。

随着计算技术和互联网的发展,大量的数据逐渐让符号主义学派的专家系统捉襟见肘,在这一时期大家逐渐认识到传统专家系统存在的灵活性和鲁棒性问题,以及从大量数据中进行专家知识获取的高昂成本和不可扩展性。而同一时期,统计机器学习理论逐渐成为主流,主要包括以vapnik的SVM和Valiant的PAC为代表的统计频率学派,和以概率图模型为代表的贝叶斯学派,以及其他相关的统计分析方法。统计学习派的元初思想其实与连接学派契合,都是抛弃靠专家人工定义知识和逻辑,通过从数据的分布本身挖掘隐藏模式和规律。这大大加强了相应系统的灵活性,稳定性和可扩展性。然而跟当时的连接学派不同,统计学习学派有坚实的数学理论作为后盾,同时其方法在中小型规模的数据上表现十分稳定,且可以给出模型能力的下界以及置信区间,这直接将当时如同江湖术士的连接主义学派摁在地上摩擦。

与此同时,在CV领域发展出了一系列完整的图像处理和特征提取算法,包括早期的基于signal processing的图像信号处理理论,及后来更偏重视觉本身的边缘(如canny)、角点(如Harris)、直线(如Hough)等检测手段以及后来著名的SIFT、HoG等复杂特征算法。这些特征提取算法的共同点就是借用了人类视觉计算专家的直觉和天才设计。通过将图像进行一些列的信号处理以及进行特征提取并结合同时期的的各种统计学习模型,直接造成了对“早期希望精确规则来计算视觉问题”的降维打击,第一次在视觉识别的任务上达到了可以忍受的精度,也使人们逐渐认识到诸如视觉的这类感知型问题必须通过从数据中自动学习才能被有效解决。由于统计学习理论是搞ML的人的事,此时期的CV研究者热衷于设计各种特征提取器,以至于在那一时期的很多论文都遵从“XYZ特征提取子+SVM,识别率提升1%”的套路模式。这一时期,跟CV相关的优化理论也在蓬勃发展,一个著名例子就是图像的稀疏表达和优化(sparse representation/optimization)

而在NLP领域,人们逐渐将各种统计理论与相关的NLP技术进行融合,发展出了一套完整的基于统计学习的分词,词性标注,解析,翻译,文档分类等技术,以及基于统计理论的语言模型(language model)等。同时期相关的技术还包括了各类信息检索技术,推荐引擎技术,以及基于统计学习的问答系统和对话系统。这些技术相比早期最大的不同是通过统计学习补获了真实数据分布的部分内在模式,像CV领域一样,使很多浅层的蕴含在数据中统计语义得以挖掘,提升了纯粹基于专家规则的系统的灵活性,稳定性和可扩展性。然而由于语言本身的抽象和概括特征,一些深层次的语义信息的发现仍然需要人类专家的介入,一个直接的例子就是在语义解析(semantic parsing)中我们需要大量的专家对语义要素的标注。

当前(10年代至今)连接主义逆袭,传统统计学习失宠,符号主义在角落里舔伤口等待重出江湖。下游反应则是CV领域大爆发,NLP领域继续平稳发展。

NLP vs. NLU vs. NLG

尽管人们可能会遇到令人生畏的技术术语,但NLP,NLG和NLU似乎是用于解释简单过程的复杂缩略词。

1、NLP是指计算机读取并将输入文本转换为结构化数据;

2、NLU意味着理解计算机捕获的文本/统计数据;

3、NLG是指计算机将结构化数据转换为文本并以人类语言编写信息;

preview

NLG在自然语言处理领域中是否还有需要? - 阿里云云栖号的回答 - 知乎

preview

NLG在自然语言处理领域中是否还有需要? - zibuyu9的回答 - 知乎

0%