版权归原作者所有,如有侵权,请联系我们

[科普中国]-自然语言理解

科学百科
原创
科学百科为用户提供权威科普内容,打造知识科普阵地
收藏

自然语言处理(N LP , Natural Language Processing)是使用自然语言同计算机进行通讯的技术, 因为处理自然语言的关键是要让计算机“理解”自然语言,所以自然语言处理又叫做自然语言理解(NLU ,Natural Language Understanding), 也称为计算语言学(Computational Ling uistics)。一方面它是语言信息处理的一个分支 , 另一方面它是人工智能(AI , Artificial Intelligence)的核心课题之一 。

简介Natural Language Understanding 俗称人机对话。人工智能的分支学科。研究用电子计算机模拟人的语言交际过程,使计算机能理解和运用人类社会的自然语言如汉语、英语等,实现人机之间的自然语言通信,以代替人的部分脑力劳动,包括查询资料、解答问题、摘录文献、汇编资料以及一切有关自然语言信息的加工处理。这在当前新技术革命的浪潮中占有十分重要的地位。研制第 5代计算机的主要目标之一,就是要使计算机具有理解和运用自然语言的功能。

自然语言理解是一门新兴的边缘学科,内容涉及语言学、心理学、逻辑学、声学、数学和计算机科学,而以语言学为基础。自然语言理解的研究,综合应用了现代语音学、音系学语法学、语义学、语用学的知识,同时也向现代语言学提出了一系列的问题和要求。本学科需要解决的中心问题是:语言究竟是怎样组织起来传输信息的?人又是怎样从一连串的语言符号中获取信息的?

这一领域的研究将涉及自然语言,即人们日常使用的语言,包括中文、英文、俄文、日文、德文、法文等等,所以它与语言学的研究有着密切的联系,但又有重要的区别。自然语言处理并不是一般地研究自然语言,而在于研制能有效地实现自然语言通信的计算机系统,特别是其中的软件系统。因而它是计算机科学的一部分。

特征语言是人类区别其他动物的本质特性。在所有生物中,只有人类才具有语言能力。人类的多种智能都与语言有着密切的关系。人类的逻辑思维以语言为形式,人类的绝大部分知识也是以语言文字的形式记载和流传下来的。因而,它也是人工智能的一个重要,甚至核心部分。

用自然语言与计算机进行通信,这是人们长期以来所追求的。因为它既有明显的实际意义,同时也有重要的理论意义:人们可以用自己最习惯的语言来使用计算机,而无需再花大量的时间和精力去学习不很自然和习惯的各种计算机语言;人们也可通过它进一步了解人类的语言能力和智能的机制。

实现人机间自然语言通信意味着要使计算机既能理解自然语言文本的意义,也能以自然语言文本来表达给定的意图、思想等。前者称为自然语言理解,后者称为自然语言生成。因此,自然语言处理大体包括了自然语言理解和自然语言生成两个部分。历史上对自然语言理解研究得较多,而对自然语言生成研究得较少。但这种状况近年来已有所改变。

无论实现自然语言理解,还是自然语言生成,都远不如人们原来想象的那么简单,而是十分困难的。从现阶段的理论和技术现状看,通用的、高质量的自然语言处理系统,仍然是较长期的努力目标,但是针对一定应用,具有相当自然语言处理能力的实用系统已经出现,有些已商品化,甚至开始产业化。典型的例子有:种数据库和专家系统的自然语言接口、各种机器翻译系统、全文信息检索系统、自动文摘系统等。

自然语言处理,即实现人机间自然语言通信,或实现自然语言理解和自然语言生成是十分困难的。造成困难的根本原因是自然语言文本和对话的各个层次上广泛存在的各种各样的歧义性或多义性(ambiguity)。

一个中文文本从形式上看是由汉字(包括标点符号等)组成的一个字符串。由字可组成词,由词可组成词组,由词组可组成句子,进而由一些句子组成段、节、章、篇。无论在上述的各种层次:字(符)、词、词组、句子、段,……还是在下一层次向上一层次转变中都存在着歧义和多义现象,即形式上一样的一段字符串,在不同的场景或不同的语境下,可以理解成不同的词串、词组串等,并有不同的意义。一般情况下,它们中的大多数都是可以根据相应的语境和场景的规定而得到解决的。也就是说,从总体上说,并不存在歧义。这也就是我们平时并不感到自然语言歧义,和能用自然语言进行正确交流的原因。但是一方面,我们也看到,为了消解歧义,是需要极其大量的知识和进行推理的。如何将这些知识较完整地加以收集和整理出来;又如何找到合适的形式,将它们存入计算机系统中去;以及如何有效地利用它们来消除歧义,都是工作量极大且十分困难的工作。这不是少数人短时期内可以完成的,还有待长期的、系统的工作。

以上说的是,一个中文文本或一个汉字(含标点符号等)串可能有多个含义。它是自然语言理解中的主要困难和障碍。反过来,一个相同或相近的意义同样可以用多个中文文本或多个汉字串来表示。

因此,自然语言的形式(字符串)与其意义之间是一种多对多的关系。其实这也正是自然语言的魅力所在。但从计算机处理的角度看,我们必须消除歧义,而且有人认为它正是自然语言理解中的中心问题,即要把带有潜在歧义的自然语言输入转换成某种无歧义的计算机内部表示。

歧义现象的广泛存在使得消除它们需要大量的知识和推理,这就给基于语言学的方法、基于知识的方法带来了巨大的困难,因而以这些方法为主流的自然语言处理研究几十年来一方面在理论和方法方面取得了很多成就,但在能处理大规模真实文本的系统研制方面,成绩并不显著。研制的一些系统大多数是小规模的、研究性的演示系统。

初始研究自然语言理解从 20世纪 60年代初开始研究,由于 N.乔姆斯基在语言学理论上的突破和此后各家理论的发展,以及计算机功能的不断提高,当下已经取得了一定的成果,分为语音理解和书面理解两个方面。 语音理解 用口语语音输入,使计算机"听懂"语音信号,用文字或语音合成输出应答。方法是先在计算机里贮存某些单词的声学模式,用它来匹配输入的语音信号,称为语音识别。这只是一个初步的基础,还不能达到语音理解的目的。因为单凭声学模式无法辨认人和人之间、同一个人先后发音之间的语音差别,也无法辨认连续语流中的语音变化;必须综合应用语言学知识,以切分音节和单词,分析句法和语义,才能理解内容,获取信息。

发展60年代至70年代初期,研究工作一直停留在单词的语音识别上,进展不大。直到70年代中期才有所突破,建立了一些实验系统,能够理解连续语音的内容,但是还限于少数简单的语句(见自然语言语音理解系统)。 书面理解 用文字输入,使计算机"看懂"文字符号,也用文字输出应答。这方面的进展较快,70年代初期取得突破,中期以后又有所发展。如今已能在一定的词汇、句型和主题范围内查询资料,解答问题,阅读故事,解释语句等,有的系统已付诸应用。

由于绝大多数语种使用的是拼音文字,计算机识别拼音字母已无问题,而输入又是按单词分别拼写,因此书面理解一般没有切分音节和单词的问题,只需直接分析词汇、句法和语义。但是汉语用的是汉字,无论是用汉字编码输入还是将来计算机能直接认识汉字,都要首先解决切分单词的问题,因为输入就是一连串汉字,词和词之间没有空隔。 书面理解的基本方法是:在计算机里贮存一定的词汇、句法规则、语义规则、推理规则和主题知识。语句输入后,计算机自左至右逐词扫描,根据词典辨认每个单词的词义和用法;根据句法规则确定短语和句子的组合;根据语义规则和推理规则获取输入句的含义;查询知识库,根据主题知识和语句生成规则组织应答输出。现阶段已建成的书面理解系统应用了各种不同的语法理论和分析方法,如生成语法、系统语法、格语法、语义语法等等,都取得了一定的成效。

研究方向大约90年代开始,自然语言处理领域发生了巨大的变化。这种变化的两个明显的特征是:

系统输入要求研制的自然语言处理系统能处理大规模的真实文本,而不是如以前的研究性系统那样,只能处理很少的词条和典型句子。只有这样,研制的系统才有真正的实用价值。

系统输出鉴于真实地理解自然语言是十分困难的,对系统并不要求能对自然语言文本进行深层的理解,但要能从中抽取有用的信息。例如,对自然语言文本进行自动地提取索引词,过滤,检索,自动提取重要信息,进行自动摘要等等。

同时,由于强调了“大规模”,强调了“真实文本”,下面两方面的基础性工作也得到了重视和加强。

(1)大规模真实语料库的研制。大规模的经过不同深度加工的真实文本的语料库,是研究自然语言统计性质的基础。没有它们,统计方法只能是无源之水。

(2)大规模、信息丰富的词典的编制工作。规模为几万,十几万,甚至几十万词,含有丰富的信息(如包含词的搭配信息)的计算机可用词典对自然语言处理的重要性是很明显的。

虽然上述新趋势给自然语言处理领域带来了成果,但从理论方法的角度看,由于采集、整理、表示和有效应用大量知识的困难,这些系统更依赖于统计学的方法和其他“简单”的方法或技巧。而这些统计学的方法和其他“简单”的方法似乎也快达到它们的极限了,因此,眼下在自然语言处理界广泛争论的一个问题便是:要取得新的更大的进展,主要有待于理论上的突破呢,还是可由现有的方法的完善和优化实现?答案还不清楚。大致上,更多的语言学家倾向于前一种意见,而更多的工程师则倾向于后一种意见。回答或许在“中间”,即应将基于知识和推理的深层方法与基于统计等“浅层”方法结合起来。自然语言处理理论上的一种突破就是自然语言的实质理解,关于自然语言真正理解的研究已取得进展。1

存在问题现阶段存在的问题有两个方面:一方面,迄今为止的语法都限于分析一个孤立的句子,上下文关系和谈话环境对本句的约束和影响还缺乏系统的研究,因此分析歧义、词语省略、代词所指、同一句话在不同场合或由不同的人说出来所具有的不同含义等问题,尚无明确规律可循,需要加强语用学的研究才能逐步解决。另一方面,人理解一个句子不是单凭语法,还运用了大量的有关知识,包括生活知识和专门知识,这些知识无法全部贮存在计算机里。因此一个书面理解系统只能建立在有限的词汇、句型和特定的主题范围内;计算机的贮存量和运转速度大大提高之后,才有可能适当扩大范围。

以上存在的问题成为自然语言理解在机器翻译应用中的主要难题,这也就是当今机器翻译系统的译文质量离理想目标仍相差甚远的原因之一;而译文质量是机译系统成败的关键。中国数学家、语言学家周海中教授曾在经典论文《机器翻译五十年》中指出:要提高机译的质量,首先要解决的是语言本身问题而不是程序设计问题;单靠若干程序来做机译系统,肯定是无法提高机译质量的;另外在人类尚未明了大脑是如何进行语言的模糊识别和逻辑判断的情况下,机译要想达到“信、达、雅”的程度是不可能的。

应用人机交谈:电脑如何能与人交谈?2

机器翻译:电脑如何将一篇英文文章翻译成中文?3

自动摘要:电脑如何对文章进行摘要?4

本词条内容贡献者为:

王慧维 - 副研究员 - 西南大学