自然语言处理
自然语言处理概况
自然语言处理是人工智能语言学领域的分支学科。此领域探讨如何处理及运用自然语言;自然语言认知则是指让电脑“懂”人类的语言。
自然语言生成系统把计算机数据转化为自然语言。自然语言理解系统把自然语言转化为计算机程序更易于处理的形式。
自然语言处理发展历程
自然语言处理大体是从1950年始,虽然更早期也有作为。1950年,图灵发表论文“计算机器与智能(英语:computing machinery)”,提出现在所谓的“图灵测试”作为判断智能的条件。
1954年的乔治城实验(英语:Georgetown-IBM experiment)涉及全部自动翻译(英语:automatic translation)超过60句俄文成为英文。研究人员声称三到五年之内即可解决机器翻译的问题。不过实际进展远低于预期,1966年的ALPAC报告(英语:ALPAC report)发现十年研究未达预期目标,机器翻译的研究经费遭到大幅削减。一直到1980年代末期,统计机器翻译系统发展出来,机器翻译的研究才得以更上一层楼。
1960年代发展特别成功的NLP系统包括SHRDLU(英语:SHRDLU)——一个词汇设限、运作于受限如“积木世界(英语:blocks world)”的一种自然语言系统,以及1964-1966年约瑟夫·维森鲍姆模拟“个人中心治疗”而设计的ELIZA(英语:ELIZA)——几乎未运用人类思想和感情的讯息,有时候却能呈现令人讶异地类似人之间的互动。“病人”提出的问题超出ELIZA 极小的知识范围之时,可能会得到空泛的回答。例如问题是“我的头痛”,回答是“为什么说你头痛?”
一直到1980年代,多数自然语言处理系统是以一套复杂、人工订定的规则为基础。不过从1980年代末期开始,语言处理引进了机器学习的算法,NLP产生革新。成因有两个:运算能力稳定增加(参见摩尔定律);以及乔姆斯基语言学理论渐渐丧失主导(例如转换-生成文法)。该理论的架构不倾向于语料库——机器学习处理语言所用方法的基础。有些最早期使用的机器学习算法,例如决策树,是硬性的、“如果-则”规则组成的系统,类似当时既有的人工订定的规则。不过词性标记(英语:part-of-speech tagging)将隐马尔可夫模型引入NLP,并且研究日益聚焦于软性的、以机率做决定的统计模型,基础是将输入资料里每一个特性赋予代表其分量的数值。许多语音识别现今依赖的快取语言模型(英语:cache language model)即是一种统计模型的例子。这种模型通常足以处理非预期的输入数据,尤其是输入有错误(真实世界的数据总免不了),并且在整合到包含多个子任务的较大系统时,结果比较可靠。
自然语言处理发展方向
许多早期的成功属于机器翻译领域,尤其归功IBM的研究,渐次发展出更复杂的统计模型。这些系统得以利用加拿大和欧盟现有的语料库,因为其法律规定政府的会议必须翻译成所有的官方语言。不过,其他大部分系统必须特别打造自己的语料库,一直到现在这都是限制其成功的一个主要因素,于是大量的研究致力于从有限的数据更有效地学习。
近来的研究更加聚焦于非监督式学习和半监督学习(英语:semi-supervised learning)的算法。这种算法,能够从没有人工注解理想答案的资料里学习。大体而言,这种学习比监督学习困难,并且在同量的数据下,通常产生的结果较不准确。不过没有注解的数据量极巨(包含了万维网),弥补了较不准确的缺点。
近年来,深度学习技巧纷纷出炉在自然语言处理方面获得最尖端的成果,例如语言模型,语法分析等等。
理论上,NLP是一种很吸引人的人机交互方式。早期的语言处理系统如SHRDLU,当它们处于一个有限的“积木世界”,运用有限的词汇表会话时,工作得相当好。这使得研究员们对此系统相当乐观,然而,当把这个系统拓展到充满了现实世界的含糊与不确定性的环境中时,他们很快丧失了信心。
由于理解(understanding)自然语言,需要关于外在世界的广泛知识以及运用操作这些知识的能力,自然语言认知,同时也被视为一个人工智能完备(AI-complete)的问题。同时,在自然语言处理中,理解的定义也变成一个主要的问题。
句子“我们把香蕉给猴子,因为(它们)饿了”和“我们把香蕉给猴子,因为(它们)熟透了”有同样的结构。但是代词“它们”在第一句中指的是“猴子”,在第二句中指的是“香蕉”。如果不了解猴子和香蕉的属性,无法区分。(英文的it没有区分,但在中文里“它”和“它”是有区别的,只是代词在中文里常常被省略,因此需区别属性并且标示出来)
给一句人类语言的问句,决定其答案。 典型问题有特定答案 (像是加拿大的首都叫什么?),但也考虑些开放式问句(像是人生的意义是是什么?)
在口语中,词与词之间通常是连贯的,而界定字词边界通常使用的办法是取用能让给定的上下文最为通顺且在文法上无误的一种最佳组合。在书写上,汉语也没有词与词之间的边界。
自然语言语法介绍
自然语言文法通常是模棱两可的,针对一个句子通常可能会剖析(Parse)出多棵剖析树(Parse Tree),而我们必须要仰赖语意及前后文的资讯才能在其中选择一棵最为适合的剖析树。
例如语音处理时遇到外国口音或地方口音,或者在文本的处理中处理拼写,语法或者光学字元识别(OCR)的错误。
句子常常并不只是字面上的意思;例如,“你能把盐递过来吗”,一个好的回答应当是动手把盐递过去;在大多数上下文环境中,“能”将是糟糕的回答,虽说回答“不”或者“太远了我拿不到”也是可以接受的。再者,如果一门课程去年没开设,对于提问“这门课程去年有多少学生没通过?”回答“去年没开这门课”要比回答“没人没通过”好。
第一,传统的基于句法-语义规则的理性主义方法受到质疑,随着语料库建设和语料库语言学的崛起,大规模真实文本的处理成为自然语言处理的主要战略目标。
第二,统计数学方法越来越受到重视,自然语言处理中越来越多地使用机器自动学习的方法来获取语言知识。
第四,自然语言处理中越来越重视词汇的作用,出现了强烈的“词汇主义”的倾向。词汇知识库的建造成为了普遍关注的问题。
统计自然语言处理运用了推测学机率统计的方法来解决上述,尤其是针对容易高度模糊的长串句子,当套用实际文法进行分析产生出成千上万笔可能性时所引发之难题。处理这些高度模糊句子所采用消歧的方法通常运用到语料库以及马可夫模型(Markov models)。统计自然语言处理的技术主要由同样自人工智能下与学习行为相关的子领域:机器学习资料采掘所演进而成。
内容由匿名网友提供,本内容不代表vibaike.com立场,内容投诉举报请联系vibaike.com客服。如若转载,请注明出处:https://ispeak.vibaike.com/3360