1.2 自然语言处理的难点
为什么计算机在处理自然语言时会如此困难呢?这主要是因为自然语言具有高度的抽象性、近乎无穷变化的语义组合性、无处不在的歧义性和进化性,以及理解语言通常需要背景知识和推理能力等,下面分别进行具体的介绍。
1.2.1 抽象性
语言是由抽象符号构成的,每个符号背后都对应着现实世界或人们头脑中的复杂概念,如“车”表示各种交通工具——汽车、火车、自行车等,它们都具有共同的属性,有轮子、能载人或物等。
1.2.2 组合性
每种语言的基本符号单元都是有限的,如英文仅有26个字母,中国国家标准GB 2312《信息交换用汉字编码字符集·基本集》共收录6,763个汉字,即便是常用的单词,英文和中文也不过各几十万个。然而,这些有限的符号却可以组合成无限的语义,即使是相同的词汇,由于顺序不同,组合的语义也是不相同的,因此无法使用穷举的方法实现对自然语言的理解。
1.2.3 歧义性
歧义性主要是由于语言的形式和语义之间存在多对多的对应关系导致的,如:“苹果”一词,既可以指水果,也可以指一家公司或手机、电脑等电子设备,这就是典型的一词多义现象。另外,对于两个句子,如“曹雪芹写了红楼梦”和“红楼梦的作者是曹雪芹”,虽然它们的形式不同,但是语义是相同的。
1.2.4 进化性
任何一种“活着”的语言都是在不断发展变化的,即语言具有明显的进化性,也称创造性。这主要体现在两方面:一方面是新词汇层出不穷,如“超女”“非典”“新冠”等;另一方面则体现在旧词汇被赋予新的含义,如“腐败”“杯具”等。除了词汇,语言的语法等也在不断变化,新的用法层出不穷。
1.2.5 非规范性
在互联网上,尤其是在用户产生的内容中,经常有一些有意或无意造成的非规范文本,为自然语言处理带来了不小的挑战,如音近词(“为什么”→“为森么”,“怎么了”→“肿么了”)、单词的简写或变形(please→pls、cool→coooooooool)、新造词(“喜大普奔”“不明觉厉”)和错别字等。
1.2.6 主观性
和感知智能问题不同,属于认知智能的自然语言处理问题往往具有一定的主观性,这不但提高了数据标注的难度,还为准确评价系统的表现带来了一定的困难。如在分词这一最基本的中文自然语言处理任务中,关于什么是“词”的定义都尚不明确,比如“打篮球”是一个词还是两个词呢?所以,在标注自然语言处理任务的数据时,往往需要对标注人员进行一定的培训,使得很难通过众包的方式招募大量的标注人员,导致自然语言处理任务的标注数据规模往往比图像识别、语音识别的标注数据规模要小得多。此外,由于不同的分词系统往往标准都不尽相同,所以通过准确率等客观指标对比不同的分词系统本身就是不客观的。难以评价的问题在人机对话等任务中体现得更为明显,由于对话回复的主观性,很难有一个所谓的标准回复,所以如何自动评价人机对话系统仍然是一个开放的问题。
1.2.7 知识性
理解语言通常需要背景知识以及基于这些知识的推理能力。例如,针对句子“张三打了李四,然后倒了”,问其中的“他”指代的是“张三”还是“李四”?只有具备了“被打的人更容易倒”这一知识,才能推出“他”很可能指代的是“李四”。而如果将“倒”替换为“笑”,则“他”很可能指代的是“张三”,因为“被打的人不太容易笑”。但是,如何表示、获取并利用这些知识呢?目前的自然语言处理技术并没有提供很好的答案。
1.2.8 难移植性
由于自然语言处理涉及的任务和领域众多,并且它们之间的差异较大,造成了难移植性的问题。如下一节将要介绍的,自然语言处理任务根据层级可以分为分词、词性标注、句法分析和语义分析等基础任务,以及信息抽取、问答系统和对话系统等应用任务,由于这些任务的目标和数据各不相同,很难使用统一的技术或模型加以解决,因此不得不针对不同的任务设计不同的算法或训练不同的模型。另外,由于不同领域的用词以及表达方式不尽相同,因此在一个领域上学习的模型也很难应用于其他领域,这也给提高自然语言处理系统的可移植性带来了极大的困难。
综上所述,由于自然语言处理面临的众多问题,使其成为目前制约人工智能取得更大突破和更广泛应用的瓶颈之一。因此自然语言处理又被誉为“人工智能皇冠上的明珠”,并吸引了越来越多的人工智能研究者加入。