概念
自然语言是我们思想情感最基本、直接、方便的表达工具。作为信息的一种载体,它充斥着我们的生活。
语音和文字是构成语言的两个基本属性,语音是语言的物质外壳,文字则是记录语言的符号系统。由此,自然语言处理自然而然地就划分成了两个研究学科:语言学—研究文本,语音学—处理声音。
在自然语言处理的多个定义中,我最喜欢这个:
自然语言处理是研究人与人交际中,以及人与计算机交际中语言问题的一门学科。
研究内容
信息时代,人们交互的形式更加灵活、多样、广泛。然而,人脑是如何理解自然语言的?我们该如何建立语言与客观世界之间的联系?从数学角度这些问题又是否是可以计算?如果可以计算,那么计算模型和方法以及复杂度又是如何呢?
面对如此多的问题,研究者们在各个领域开枝散叶,将庞大的问题划分为一个个叶节点,构建了繁华的 NLP 世界。下面让我们了解一下当前的自然语言处理。
-
应用领域
自然语言处理的内容非常广泛,主要研究领域包括但不限于:
机器翻译 信息检索 情感识别 信息过滤 信息抽取 舆情分析 文字识别 语音识别 声音认证 -
研究层次
如果抛开语音学研究的方面,自然语言处理研究的问题一般涉及自然语言的形态学、语法学、语义学和语用学等几个层次。
面临的困难
目前机器学习发展已经较为成熟,深度学习等 AI 算法发展亦如火如荼,虽然它们可以很好地支持自然语言处理的发展,但目前我们仍然面对诸多问题,其中最棘手的就是语言歧义。
例如:“喜欢乡下的孩子。”
第一种断句方法:“喜欢 [ 乡下的孩子 ]”。所表达的含义为:对乡下的孩子有好感。
第二种断句方发:“[ 喜欢乡下 ] 的孩子”。所表达的含义为:这个孩子喜欢乡下。
在英文中同样存在歧义,例如:Put the rock in the box on the table.
(1) Put the rock [ in the box on the table ],所表达的含义为:把石头放进桌子上的盒子里。
(2) Put [ the rock in the box ] on the table,所表达的含义为:把桌子上的石头放进盒子里。
而且,随着介词短语(例如:in the yard)的增加,歧义结构的组合数是成指数级增加的。这个歧义结构的组合数称为 卡塔兰数 (Catalan numbers),记作 C n C_n Cn,可由下式计算:
C n = C 2 n n 1 n + 1 , 其 中 C 2 n n 为 排 列 组 合 中 的 数 学 标 记 C_n=C_{2n}^{n}\frac{1}{n+1},其中 C_{2n}^{n} 为排列组合中的数学标记 Cn=C2nnn+11,其中C2nn为排列组合中的数学标记
对于一个特定的 NLP 系统来说,总有可能遇到未知词汇或未知结构等各种意想不到的情况,而且每一种语言又都随着社会的发展而动态变化。所以,一个实用的自然语言处理系统必须有较好的对未知语言现象处理的能力,而且应该有足够的对各种可能输入形式的容错能力。
综上,自然语言处理系统要具备良好的语言处理能力以及足够的鲁棒性。