欢迎您访问科普小知识本站旨在为大家提供日常生活中常见的科普小知识,以及科普文章!
您现在的位置是:首页  > 科普文章

自然语言处理

科普小知识2022-10-01 21:57:42
...

自然语言处理(NLP)是计算机科学、人工智能和计算语言学领域的一门研究人类(自然)语言和计算机的交互的一门学科。所以,自然语言与人机交互领域相关。自然语言处理包括两个重要的部分,自然语言理解(NatureLanguageUnderstanding)和自然语言生成(NatureLanguageGeneration)。

1、历史


艾伦·图灵

自然语言处理的历史起源于20世纪50年代,阿兰·图灵发表了一篇名为《计算机和智能》的文章,里面提到了有名的“图灵测试”。

1954年的“乔治敦实验”利用计算机将60多个俄语句子自动翻译为英文。当时的作者宣称,在3到5年内,机器翻译便可以得到全面解决。然而实际的进展比预计的要慢。1966年的ALPAC报告承认,10年的时间不足以解决机器翻译的问题,因此机器翻译的研究资金被严重削减。直到20世纪80年代末期,首个统计机器翻译系统才被研发出来。

20世纪60年代的一些值得关注的NLP系统包括,SHRDLU(基于有限词汇的自然语言系统“积木世界”)、ELIZA(JosephWeizenbaum在1964-1966年开发的人机对话系统)。尽管没有任何人类思维和情感,ELIZA在对话过程中表现得很“人性”。

在20世纪70年代,人们开始使用将现实世界信息转换为机器可理解的“概念本体”,比如MARGIE(Schank,1975),SAM(Cullingford,1978),PAM(Wilensky,1978),TaleSpin(Meehan,1976),QUALM(Lehnert,1977),Politics(Carbonell,1979),PolitUnit(Lehnert,1981)。这段时期出现了很多聊天机器人,比如PARRY,Racter以及Jabberwacky等。

到20世纪80年代,大多数NLP系统是基于复杂集和手写规则的。不过在80年代末,机器学习算法给自然语言处理带来了一场革命。这要归功于计算能力的稳步提升和乔姆斯基语言理论的兴起。早期的机器学习算法,比如决策树,带来了一系列“if-then”形式的规则库。然后在词性标注中引入隐马尔科夫模型后,相关研究开始向统计模型、概率决策方向发展。现有的很多语音识别系统中使用的就是统计模型。这些模型在不同的输入的情况下显得更加健壮,特别是那些包含错误的输入,产生的结果也更加可靠。

IBM实验室在机器学习领域做出了很多瞩目的成就,复杂统计模型就是在IBM实验室开发出来的。

最近的NLP研究开始关注非监督或者半监督的学习算法。这种算法可以从未经标注过的数据中自动学习知识。这种方法比监督学习更难,也不易获得准确的结果,但是由于数据源庞大,因此可以用于生成精度要求不是很高的结果。

2、自然语言处理的主要任务


自然语言理解

下面是自然语言处理的一些主要任务,其中包含一些实际任务,还有一部分是为了完成其它任务而进行的子任务。

自动文摘

对输入的文本生成一段可以阅读的摘要。通常用于已知类型的文本,比如新闻重点财经报道等。

指代消解

对于给定的文本,为其中起指代作用的词寻找其所指对象。指代消解既包括代词所代表的事物或人名的消解,也包括所谓“关联关系”的消解。比如“HeenteredJohn'shousethroughthefrontdoor”,“thefrontdoor”指的是Jhon'shouse而非其它位置的frontdoor。

话语分析

话语分析包含了很多相关任务。包括相关文本的结构识别,比如文本的自然话语结构等。

机器翻译

自动从一种语言翻译成另一种语言。这是自然语言处理中相当困难的一个任务。机器翻译也是“全智能”任务中的一个,即完成机器翻译,需要所有人类知识,包括语法、语义以及现实世界的规则等。

词素切分

将词语切分为独立的词素并识别其词性。词素切分的复杂程度与待分析词语的形态复杂程度有关。英文的屈折形态相对简单,因此通常不做词素切分,而是仅将所有的词形都列出来。有的语言,比如土耳其语或曼尼普尔语,这种方式就行不通了,因为词典里的每个词条都有成百上千种可能的形态。

命名实体识别

对于给定的文本,识别其中表示命名实体的部分并确定其代表的实体类型。尽管在英语中,首字母大写可以作为识别命名实体的一个特征,但是却不能用于识别该实体的类型。比如,每个句子的开头都是大写的,而一个命名实体不是所有部分都是大写的,有的中间还有空格分开。此外,有些非西文字符书写的文字(比如中文、阿拉伯文)并没有大写的形式。甚至有些西文字符的文字中,这个方法也不适用,比如德语将所有的名词都大写,而法语和西班牙语在命名实体起到定语作用时全部使用小写的形式。

自然语言生成

将计算机中的信息转换成可读的自然语言。

自然语言理解

将文本转换为计算机可以处理的符合一阶逻辑的形式。

图像字符识别

处理包含文字的图像,自动识别出其表达的字。

词性标注

对于给定的句子,确定其中每个词的词性。这一点对于兼类词十分必要。比如“book”既可能是名词表示书,也可能使动词表示预定。“set”可以是名词、动词或者形容词。有的语言这种情况更加明显,尤其是那些屈折形态不丰富的语言,比如英语。汉语兼类词的区分体现在声调上,而这一点往往不能反映在词语的形态上。

句法分析

确定一个句子的句法树。语言的语法不是显式的,而是有多重含义的,同样一个句子有可能可以生成多种形式的语法树。

自动回答

对于一个自然语言描述的问题,自动识别出该问题的答案。该类问题通常处理具有明确答案的问题,有的时候也会处理具有不确定答案的问题,比如“人生的意义是什么?”等。现在该领域甚至开始研究更加复杂的问题。

相关性提取

对于给定的文本,识别不同实体之间的关系。

情感分析

对于给定的文本进行分析,确定文本对某一实体的情感极性。情感分析可以用在市场营销上,用于判断公众对某一事物的态度。

语音识别

对于给定的一段语音,确定表示这段语音的文字形式。这一任务也是“全智能”自然语言处理任务中的一个。由于在自然语音流中,词与词之间基本没有间隔,因此语音切分就成为了语音识别的一个重要任务。值得注意的是,在自然语流中存在着语流音变的现象,所以将语音模拟信号转换为相应的字符具有相当大的难度。

分词

将一段连续的文本切分为一个词的序列。在像英语这类的语言中,词与词之间有一个自然的空格作为边界。在像汉语、日语和泰语这样的语言中,词与词之间没有明显的界限,因此分词成为处理这些语言中的一个重要任务。

词义消歧

很多词具有多种词义,因此需要确定最契合当前文本的那个词义。通常我们可以使用一个词表和对应的词义来确定当前文本中该词的具体词义,比如WordNet。

3、自然语言处理的评测

评测的目的

自然语言处理评测的目的是为了评估或衡量一个算法或系统的分析效果,确定一种算法或系统是否实现了设计者的初衷以及确定其是否满足了用户的需求。最近,评测方法研究越来越受到重视,因此评测一定程度上也明确了自然语言处理的任务。一套精确的评测标准包括评测数据和评测尺度,可以让不同的团队针对同一个自然语言处理任务开展竞赛。

自然语言处理评测的简史

第一次自然语言处理评测是在1987年举行的信息理解评测任务。1991年,Parseval/GEIG项目对比了不同短语结构语法的效果。1998年,Tipster项目对自动文摘、机器翻译和搜索进行了评测。对依存句法分析器的大规模评测在2006年和2007的CoNLL上进行。

自然语言处理评测的类别

1.内测和外测

内测是指对给定的黄金标准数据进行分析评测;外测是指对实际应用数据进行测试。

2.黑盒评测和白盒评测

黑盒评测关心系统或算法的输入和输出,最终评估系统的输出结果;白盒评测的是系统的结构设计、应用算法以及语言资源。

3.自动评测和手工评测

通常情况下,自动评测是指对比输出数据和标准数据确定评测效果。尽管制定标准数据需要较高的成本,但是一旦制作完成就可以重复使用而无需新增成本。但是很多自然语言处理任务中,标准的制定十分困难,有一些任务甚至无法制定标准。手工评测通过人工方式,根据人的标准进行系统效果评估。然而由于人的语言能力差异,评估的结果也不尽相同,因此自动测试也称客观评测,手工评测也称主管评测。