上QQ阅读APP看书,第一时间看更新
1.1.2 传统的自然语言处理
自然语言处理经历了长时间的发展,基本上可以说随着计算机在科学界和工业界的应用而不停地向前发展:
- 1950年前,主流:阿兰·图灵的图灵测试。人和机器进行交流,如果人无法判断自己交流的对象是人还是机器,就说明这个机器具有智能。
- 1950—1970年,主流:基于规则形式语言理论。根据数学中的公理化方法研究自然语言,采用代数和集合论把形式语言定义为符号的序列。它试图使用有限的规则描述无限的语言现象,发现人类普遍的语言机制,建立所谓的普遍语法。
- 1970—2010年,主流:基于统计,主要是谷歌、微软、IBM等公司。20世纪70年代,弗里德里克·贾里尼克及其领导的IBM华生实验室将语音识别率从70%提升到90%。1988年,IBM的彼得·布朗提出了基于统计的机器翻译方法。2005年,Google机器翻译打败基于规则的Sys Tran。
- 2010年以后,逆袭:机器学习。AlphaGo先后战胜李世石、柯洁等,掀起人工智能热潮。深度学习、人工神经网络成为热词。领域包括语音识别、图像识别、机器翻译、自动驾驶、智能家居。
简单来说,自然语言处理可以分为以下几个阶段:
(1)可以说最早的自然语言处理是基于语法的,这也是最容易想到的方法。一开始这一想法受到众多专家的支持和追捧。科学家们认为可以通过总结一些语法规则来控制“自然语言处理系统”。
后来这套方法里一个致命的弊病开始显露出来,就是这个方法的算法复杂性会变得非常高。因为人类语言本身的复杂性,可能要分析一个并不长的段落就需要数十条规则,而这些规则可能彼此之间是相悖的,所以需要不断地增加规则。最终可以想象,处理一篇文章需要大量的规则,而这样海量的规则背后对应非常可怕的算法复杂度,这也远远超出了普通计算机的处理能力。
于是这种思想很快就被研究人员抛弃了。
(2)后来的自然语言处理更多的是基于统计方法,目前来说发展也是比较成熟的。这一阶段的自然语言处理项目所强调的核心就是统计学方法,比如著名的贝叶斯定理。这一部分其实也是人工智能里相对比较好入手的技术。这一部分里的许多技术已经有数十年的历史,早已成为我们日常生活的一部分,甚至大家都没有意识到它的存在,其中的典型案例有反垃圾邮件和文章情感分析等。
(3)传统的自然语言处理总是有些啃不动的问题,比如词汇的分词问题、词义消歧问题(比如,同一句话里的代词究竟指代谁)、方法的模糊性问题以及潜在含义问题(比如如何去理解一些俗语或者汉语里的成语)。目前,自然语言处理的重点和前沿是要实现结合了深度学习的自然语言处理。也就是说,随着深度学习的发展,自然语言处理被提供了无限的可能和机遇。许多之前非常硬核的问题如今也可以使用深度学习去推动解决了。