给外行能看懂的科普:这就叫自然语言处理

来源:互联网 发布:计算机java 编辑:程序博客网 时间:2024/05/17 02:57

自然语言处理
Natural Language Processing

一、什么是自然语言处理
简单地说,自然语言处理(Natural Language Processing,简称NLP)就是用计算机来处理、理解以及运用人类语言(如中文、英文等),它属于人工智能的一个分支,是计算机科学与语言学的交叉学科,又常被称为计算语言学。由于自然语言是人类区别于其他动物的根本标志。没有语言,人类的思维也就无从谈起,所以自然语言处理体现了人工智能的最高任务与境界,也就是说,只有当计算机具备了处理自然语言的能力时,机器才算实现了真正的智能。

从研究内容来看,自然语言处理包括语法分析、语义分析、篇章理解等。从应用角度来看,自然语言处理具有广泛的应用前景。特别是在信息时代,自然语言处理的应用包罗万象,例如:机器翻译、手写体和印刷体字符识别、语音识别及文语转换、信息检索、信息抽取与过滤、文本分类与聚类、舆情分析和观点挖掘等,它涉及与语言处理相关的数据挖掘、机器学习、知识获取、知识工程、人工智能研究和与语言计算相关的语言学研究等。

值得一提的是,自然语言处理的兴起与机器翻译这一具体任务有着密切联系。机器翻译指的是利用计算机自动地将一种自然语言翻译为另外一种自然语言。例如自动将英文“I like Beijing Tiananmen Square”翻译为“我爱北京天安门”,或者反过来将“我爱北京天安门”翻译为“I like Beijing Tiananmen Square”。由于人工进行翻译需要训练有素的双语专家,翻译工作非常耗时耗力。更不用说需要翻译一些专业领域文献时,还需要翻译者了解该领域的基本知识。世界上有超过几千种语言,而仅联合国的工作语言就有六种之多。如果能够通过机器翻译准确地进行语言间的翻译,将大大提高人类沟通和了解的效率。

《圣经》里有一个故事说巴比伦人想建造一座塔直通天堂。建塔的人都说着同一种语言,心意相通、齐心协力。上帝看到人类竟然敢做这种事情,就让他们的语言变得不一样。因为人们听不懂对方在讲什么,于是大家整天吵吵闹闹,无法继续建塔。后来人们把这座塔叫作巴别塔,而“巴别”的意思就是“分歧”。虽然巴别塔停建了,但一个梦想却始终萦绕在人们心中:人类什么时候才能拥有相通的语言,重建巴别塔呢?机器翻译被视为“重建巴别塔”的伟大创举。假如能够实现不同语言之间的机器翻译,我们就可以理解世界上任何人说的话,与他们进行交流和沟通,再也不必为相互不能理解而困扰。

事实上,“人工智能”被作为一个研究问题正式提出来的时候,创始人把计算机国际象棋和机器翻译作为两个标志性的任务,认为只要国际象棋系统能够打败人类世界冠军,机器翻译系统达到人类翻译水平,就可以宣告人工智能的胜利。四十年后的1997年,IBM公司的深蓝超级计算机已经能够打败国际象棋世界冠军卡斯帕罗夫。而机器翻译到现在仍无法与人类翻译水平相比,从此可以看出自然语言处理有多么困难!

自然语言处理兴起于美国。第二次世界大战之后,二十世纪五十年代,当电子计算机还在襁褓之中时,利用计算机处理人类语言的想法就已经出现。当时,美国希望能够利用计算机将大量俄语材料自动翻译成英语,以窥探苏联科技的最新发展。研究者从破译军事密码中得到启示,认为不同的语言只不过是对“同一语义”的不同编码而已,从而想当然地认为可以采用译码技术像破译密码一样“破译”这些语言。

1954年1月7日,美国乔治敦大学和IBM公司合作实验成功地将超过60句俄语自动翻译成英语。虽然当时的这个机器翻译系统非常简单,仅仅包含6个语法规则和250个词,但由于媒体的广泛报道,纷纷认为这是一个巨大的进步,导致美国政府备受鼓舞,加大了对自然语言处理研究的投资。实验完成者也当即自信地撰文称,在三到五年之内就能够完全解决从一种语言到另一种语言的自动翻译问题。他们认为只要制定好各种翻译规则,通过大量规则的堆砌就能够完美地实现语言间的自动翻译。

然而,事实是理解人类语言远比破译密码要复杂得多,因此研究进展非常缓慢。1966年的一份研究报告总结发现,经过十年之久的研究,结果远远未能达到预期,因此支持资金急剧下降,使自然语言处理(特别是机器翻译)的研究陷入长达二十年的低潮。直到二十世纪八十年代,随着电子计算机的计算能力的飞速提高和制造成本的大幅下降,研究者又开始重新关注自然语言处理这个极富挑战的研究领域。三十年沧海桑田,此时研究者已经认识到简单的语言规则的堆砌无法实现对人类语言的真正理解。研究发现,通过对大量的文本数据的自动学习和统计,能够更好地解决自然语言处理问题,如语言的自动翻译。这一思想被称为自然语言处理的统计学习模型,至今方兴未艾。

那么,自然语言处理到底存在哪些主要困难或挑战,吸引那么多研究者几十年如一日孜孜不倦地探索解决之道呢?

二、自然语言处理的主要困难
自然语言处理的困难可以罗列出来很多,不过关键在于消除歧义问题,如词法分析、句法分析、语义分析等过程中存在的歧义问题,简称为消歧。而正确的消歧需要大量的知识,包括语言学知识(如词法、句法、语义、上下文等)和世界知识(与语言无关)。这带来自然语言处理的两个主要困难。

首先,语言中充满了大量的歧义,这主要体现在词法、句法及语义三个层次上。歧义的产生是由于自然语言所描述的对象——人类活动非常复杂,而语言的词汇和句法规则又是有限的,这就造成同一种语言形式可能具有多种含义。

例如单词定界问题是属于词法层面的消歧任务。在口语中,词与词之间通常是连贯说出来的。在书面语中,中文等语言也没有词与词之间的边界。由于单词是承载语义的最小单元,要解决自然语言处理,单词的边界界定问题首当其冲。特别是中文文本通常由连续的字序列组成,词与词之间缺少天然的分隔符,因此中文信息处理比英文等西方语言多一步工序,即确定词的边界,我们称为“中文自动分词”任务。通俗的说就是要由计算机在词与词之间自动加上分隔符,从而将中文文本切分为独立的单词。例如一个句子“今天天气晴朗”的带有分隔符的切分文本是“今天|天气|晴朗”。中文自动分词处于中文自然语言处理的底层,是公认的中文信息处理的第一道工序,扮演着重要的角色,主要存在新词发现和歧义切分等问题。我们注意到:正确的单词切分取决于对文本语义的正确理解,而单词切分又是理解语言的最初的一道工序。这样的一个“鸡生蛋、蛋生鸡”的问题自然成了(中文)自然语言处理的第一条拦路虎。

其他级别的语言单位也存在着各种歧义问题。例如在短语级别上,“进口彩电”可以理解为动宾关系(从国外进口了一批彩电),也可以理解为偏正关系(从国外进口的彩电)。又如在句子级别上,“做手术的是她的父亲”可以理解为她父亲生病了需要做手术,也可以理解为她父亲是医生,帮别人做手术。总之,同样一个单词、短语或者句子有多种可能的理解,表示多种可能的语义。如果不能解决好各级语言单位的歧义问题,我们就无法正确理解语言要表达的意思。

另外一个方面,消除歧义所需要的知识在获取、表达以及运用上存在困难。由于语言处理的复杂性,合适的语言处理方法和模型难以设计。

例如上下文知识的获取问题。在试图理解一句话的时候,即使不存在歧义问题,我们也往往需要考虑上下文的影响。所谓的“上下文”指的是当前所说这句话所处的语言环境,例如说话人所处的环境,或者是这句话的前几句话或者后几句话,等等。假如当前这句话中存在指代词的时候,我们需要通过这句话前面的句子来推断这个指代词是指的什么。我们以“小明欺负小亮,因此我批评了他”为例。在其中的第二句话中的“他”是指代“小明”还是“小亮”呢?要正确理解这句话,我们就要理解上句话“小明欺负小亮”意味着“小明”做得不对,因此第二句中的“他”应当指代的是“小明”。由于上下文对于当前句子的暗示形式是多种多样的,因此如何考虑上下文影响问题是自然语言处理中的主要困难之一。

再如背景知识问题。 正确理解人类语言还要有足够的背景知识。举一个简单的例子,在机器翻译研究的初期,人们经常举一个例子来说明机器翻译任务的艰巨性。在英语中“The spirit is willing but the flesh is weak.”,意思是“心有余而力不足”。但是当时的某个机器翻译系统将这句英文翻译到俄语,然后再翻译回英语的时候,却变成了“The Voltka is strong but the meat is rotten.”,意思是“伏特加酒是浓的,但肉却腐烂了”。从字面意义上看,“spirit”(烈性酒)与“Voltka”(伏特加)对译似无问题,而“flesh”和“meat”也都有肉的意思。那么这两句话在意义上为什么会南辕北辙呢?关键的问题就在于在翻译的过程中,机器翻译系统对于英语成语并无了解,仅仅是从字面上进行翻译,结果自然失之毫厘,差之千里。

从上面的两个方面的主要困难,我们看到自然语言处理这个难题的根源就是人类语言的复杂性和语言描述的外部世界的复杂性。人类语言承担着人类表达情感、交流思想、传播知识等重要功能,因此需要具备强大的灵活性和表达能力,而理解语言所需要的知识又是无止境的。那么目前人们是如何尝试进行自然语言处理的呢?

三、自然语言处理的发展趋势
目前,人们主要通过两种思路来进行自然语言处理,一种是基于规则的理性主义,另外一种是基于统计的经验主义。理性主义方法认为,人类语言主要是由语言规则来产生和描述的,因此只要能够用适当的形式将人类语言规则表示出来,就能够理解人类语言,并实现语言之间的翻译等各种自然语言处理任务。而经验主义方法则认为,从语言数据中获取语言统计知识,有效建立语言的统计模型。因此只要能够有足够多的用于统计的语言数据,就能够理解人类语言。然而,当面对现实世界充满模糊与不确定性时,这两种方法都面临着各自无法解决的问题。例如,人类语言虽然有一定的规则,但是在真实使用中往往伴随大量的噪音和不规范性。理性主义方法的一大弱点就是鲁棒性差,只要与规则稍有偏离便无法处理。而对于经验主义方法而言,又不能无限地获取语言数据进行统计学习,因此也不能够完美地理解人类语言。二十世纪八十年代以来的趋势就是,基于语言规则的理性主义方法不断受到质疑,大规模语言数据处理成为目前和未来一段时期内自然语言处理的主要研究目标。统计学习方法越来越受到重视,自然语言处理中越来越多地使用机器自动学习的方法来获取语言知识。

迈进二十一世纪,我们已经进入了以互联网为主要标志的海量信息时代,这些海量信息大部分是以自然语言表示的。一方面,海量信息也为计算机学习人类语言提供了更多的“素材”,另一方面,这也为自然语言处理提供了更加宽广的应用舞台。例如,作为自然语言处理的重要应用,搜索引擎逐渐成为人们获取信息的重要工具,涌现出以百度、谷歌等为代表的搜索引擎巨头;机器翻译也从实验室走入寻常百姓家,谷歌、百度等公司都提供了基于海量网络数据的机器翻译和辅助翻译工具;基于自然语言处理的中文(输入法如搜狗、微软、谷歌等输入法)成为计算机用户的必备工具;带有语音识别的计算机和手机也正大行其道,协助用户更有效地工作学习。总之,随着互联网的普及和海量信息的涌现,自然语言处理正在人们的日常生活中扮演着越来越重要的作用。

然而,我们同时面临着一个严峻事实,那就是如何有效利用海量信息已成为制约信息技术发展的一个全局性瓶颈问题。自然语言处理无可避免地成为信息科学技术中长期发展的一个新的战略制高点。同时,人们逐渐意识到,单纯依靠统计方法已经无法快速有效地从海量数据中学习语言知识,只有同时充分发挥基于规则的理性主义方法和基于统计的经验主义方法的各自优势,两者互相补充,才能够更好、更快地进行自然语言处理。

自然语言处理作为一个年龄尚不足一个世纪的新兴学科,正在进行着突飞猛进的发展。回顾自然语言处理的发展历程,并不是一帆风顺,有过低谷,也有过高潮。而现在我们正面临着新的挑战和机遇。例如,目前网络搜索引擎基本上还停留在关键词匹配,缺乏深层次的自然语言处理和理解。语音识别、文字识别、问答系统、机器翻译等目前也只能达到很基本的水平。路漫漫其修远兮,自然语言处理作为一个高度交叉的新兴学科,不论是探究自然本质还是付诸实际应用,在将来必定会有令人期待的惊喜和异常快速的发展。

参考文献
[1] 张钹. 自然语言处理的计算模型. 中文信息学报, 2007, 21(3):3-7.
[2] 冯志伟. 《统计自然语言处理》序言. 1版. 北京: 清华大学出版社, 2008.
[3] 孙茂松. 语言计算:信息科学技术中长期发展的战略制高点. 语言文字应用, 2005, 3:38-40.


关于自然语言处理(NLP),中科院目前主要从事如下四类研究:
1.机器翻译;
2.信息检索与问答、广告与推荐;
3.语音合成、识别与交互;
4.字符识别、多语言。

信息检索与问答系统、广告计算与推荐系统是应用最成熟的方向,无论就业还是创业都很火;语音自从2012年后是目前模式识别领域创业最火的方向之一(语音+智能家居/智能机器人);机器翻译正遭遇瓶颈期,距离实用化还有很长的路要走,确实是NLP领域比较悲催的一个领域;NLP其他领域(文本自动摘要与信息抽取、情感分析和舆情分析、语义理解与语义消岐、分词与词性标注、语料库与知识库)都是一些辅助性的应用方向,也是文本处理领域不可或缺的方向。

信息检索对算法要求比较苛刻,同时对软件开发能力要求很高。一个能赢得客户的搜索引擎必须是一个返回精确搜索结果、响应速度很快的系统。信息检索的团队当属信工所王斌老师的团队最强,王斌老师是国内信息检索领域的知名学者,他独立或合作翻译了多本信息检索、数据挖掘、自然语言处理、机器学习相关的学术型和实战型书籍,这些书籍在学术界和业界具有较高知名度,培养出来的学生也都活跃于“BAT”等国内外互联网企业和创业市场。自动化所的赵军老师和软件所的孙乐老师的团队也很强,并且以上三位老师的人品和学术能力都很棒。自动化所赵军老师的主要集中在文本处理应用很火的几个方向:信息检索与知识问答、情感分析、文本分类、知识抽取等,团队实力很强,但非常低调。软件所的孙乐老师领导软件所中文信息处理实验室,组里的科研工作主要是韩先培老师负责,团队实力很强,但非常低调。中国科学院大学何苯老师团队实力也很强,老师也很好。另外上计算所网络数据实验室在学术方面很能灌水,同时工程项目比较多,可以说是实验室里有中科院全院信息检索领域最大最强的团队,因此保研时生源很火,就业前景很棒,但是特别提醒,该实验室不是专门做信息检索方向的,做的东西有点杂,可以说是跟着项目走,而且硕士生做信息检索方向的机会比较小。
BTW:清华马少平老师组包括张敏老师和刘奕群老师,是国内信息检索领域排第一的团队;哈工大社会计算与信息检索研究中心、复旦黄萱菁团队、天大宋大为团队也都是实力很强的团队。  

机器翻译方向主要是计算所刘群老师、自动化所宗成庆老师。因为机器翻译这项技术自身发展瓶颈期的问题,专门做机器翻译的公司很少、大的公司也就google、百度等几家单位,所以学生毕业找工作时可能会选择其他NLP方向,工作也还好吧。刘群老师在NLP领域影响很大,不过因为计算所本身的一些问题,他现在长期在爱尔兰都柏林工作,但是他的团队仍然很活跃,主要是组里的姜文斌副研究员负责全组的工作,他们组的学生就业很不错,因为他们做的项目很多,对编程能力的提升帮助很大。自动化所宗老师个人学术能力较强,团队学生发表过ACL等很多顶级论文,主要科研方向有机器翻译、舆情分析、文本分类等,偏学术,工程项目不多,近年来才开始涉足横向项目。

语音信息处理:自动化所的陶建华老师(主攻语音合成、偏工程)和刘文举老师(主攻信号处理、音频分类,偏学术)。声学所的颜永红老师也做语音相关的研究,主要是设计安全领域,偏重工程,不怎么发论文。最强的是自动化所的徐波老师的团队,该团队在语音方面的研究有二十多年的积累,科研方向几乎覆盖语音信号处理的全部方向,该团队在语音方面的主要方向包括:大词汇量连续语音识别、关键词识别、说话人和语种识别、语音合成、人机对话、问答系统等,不过徐波老师已经是自动化所所长,本人不在局限于具体的科研和学生指导工作,而是专注于产业化和行政管理。自动化所徐波老师治学严谨、严于律己也严于律人、对学生要求很高,一般会安排一个学生独当一面,培养出来的学生不仅学术理解很深、工程能力出众,而且对语音整个大方向的把控很准。徐老师团队的学生近年来创业热情高涨,国内响彻语音界的云知声、音乐雷达等创业公司创始人都是徐门子弟,同时国内各大公司(百度、科大讯飞)的语音部门的高管也都是出自徐老师门下。近年来,随着语音技术的逐步成熟,产业化服務大众是一个趋势,语音技术作为人机交互的接口,结合智能家居、无人驾驶、智能机器人、安全认证等方向创业深受天使投资人的喜好。 像数据库这个方向也一样,太成熟了,所以主要是做工程,而现在数据库的前沿研究主要是向两个方向发展,最主要的就是向计算机体系结构与系统发展,比如内存、虚拟化、数据存储方面的研究,像Hive就属于数据库方面,其他应用方面就是大数据处理架构之类的,比如空间地理信息实时数据库等。另一方面是数据库理论,主要是自动机、形式语义、数据库程序语言理论之类的,因为很难研究,做的人不多。(附:清华大学的刘嘉老师,科大讯飞的戴礼荣、郭武老师的语音团队也非常强)

字符识别是模式识别领域的一项很成熟的应用技术,分为手写体字符识别和印刷体字符识别等。主要是图像识别和语言模型结合的技术,前端是单个字符的图像识别,后端需要语言模型进行词句层面的纠正。国内最强的是自动化所刘成林老师的团队,主要做字符识别(OCR),也做深度学习、机器学习等时髦的方向。字符识别技术的一个产业化就是自动化所持股的汉王科技公司。软件所的吴健老师和刘汇丹老师团队属于软件所中文信息处理实验室,主要做藏文信息处理和语音识别,实力很强,在中文编码国际标准方面有很大贡献。新疆理化所主要做维哈柯(维吾尔-哈萨克-柯尔克孜)文信息处理。这些少数民族语言处理都很有特色,做的都不错,但是肯定不会有很广泛的应用,因为不是主流语言。

再说说做NLP应用的团队,数字内容中心的郝红卫老师团队学术和工程做的都很不错,理论方面主要搞机器学习理论和脑网络的研究,工程项目主要是知识抽取、短文本处理。普适计算研究中心的钱跃良老师组,主要是做盲文数据库,属于语言数据存储方向,做的也很好,已经有成型的可供盲人使用的平板终端,并且负责计算所济宁分所(云合网:http://www.yunho.com,北京智城中科信息技术有限公司)。计算所的先进计算机系统研究中心的詹剑锋老师组主要是搞操作系统和数据中心Benchmarks,也涉及搜索引擎应用开发。


0 0