2025-08-19 08:53:06

自然语言处理

自然语言处理大体是从1950年代开始,虽然更早期也有作为。1950年,艾伦·图灵发表论文“计算机器与智能(英语:Computing Machinery and Intelligence)”,提出现在所谓的“图灵测试”作为判断智能的条件。

1954年的乔治城-IBM实验涉及全部自动翻译(英语:automatic translation)超过60句俄文成为英文。研究人员声称三到五年之内即可解决机器翻译的问题。[2]不过实际进展远低于预期,1966年的ALPAC报告(英语:ALPAC report)发现十年研究未达预期目标,机器翻译的研究经费遭到大幅削减。一直到1980年代末期,统计机器翻译系统发展出来,机器翻译的研究才得以更上一层楼。

1960年代发展特别成功的NLP系统包括SHRDLU——一个词汇设限、运作于受限如“积木世界”的一种自然语言系统,以及1964-1966年约瑟夫·维森鲍姆模拟“个人中心治疗”而设计的ELIZA——几乎未运用人类思想和感情的讯息,有时候却能呈现令人讶异地类似人之间的互动。“病人”提出的问题超出ELIZA 极小的知识范围之时,可能会得到空泛的回答。例如问题是“我的头痛”,回答是“为什么说你头痛?”

1970年代,程式设计师开始设计“概念本体论”(conceptual ontologies)的程式,将现实世界的资讯,架构成电脑能够理解的资料。实例有MARGIE、SAM、PAM、TaleSpin、QUALM、Politics以及Plot Unit。许多聊天机器人在这一时期写成,包括PARRY(英语:PARRY) 、Racter(英语:Racter) 以及Jabberwacky(英语:Jabberwacky) 。

一直到1980年代,多数自然语言处理系统是以一套复杂、人工订定的规则为基础。不过从1980年代末期开始,语言处理引进了机器学习的演算法,NLP产生革新。成因有两个:运算能力稳定增加(参见摩尔定律);以及乔姆斯基语言学理论渐渐丧失主导(例如转换-生成文法)。该理论的架构不倾向于语料库——机器学习处理语言所用方法的基础。有些最早期使用的机器学习演算法,例如决策树,是硬性的、“如果-则”规则组成的系统,类似当时既有的人工订定的规则。不过词性标记(英语:part-of-speech tagging)将隐马尔可夫模型引入NLP,并且研究日益聚焦于软性的、以机率做决定的统计模型,基础是将输入资料里每一个特性赋予代表其份量的数值。许多语音识别现今依赖的快取语言模型(英语:cache language model)即是一种统计模型的例子。这种模型通常足以处理非预期的输入数据,尤其是输入有错误(真实世界的数据总免不了),并且在整合到包含多个子任务的较大系统时,结果比较可靠。

许多早期的成功属于机器翻译领域,尤其归功IBM的研究,渐次发展出更复杂的统计模型。这些系统得以利用加拿大和欧盟现有的语料库,因为其法律规定政府的会议必须翻译成所有的官方语言。不过,其他大部分系统必须特别打造自己的语料库,一直到现在这都是限制其成功的一个主要因素,于是大量的研究致力于从有限的数据更有效地学习。

近来的研究更加聚焦于非监督式学习和半监督学习的演算法。这种演算法,能够从没有人工注解理想答案的资料里学习。大体而言,这种学习比监督学习困难,并且在同量的数据下,通常产生的结果较不准确。不过没有注解的数据量极巨(包含了全球资讯网),弥补了较不准确的缺点。

2011年以来,深度学习技巧纷纷出炉[3][4]在自然语言处理方面获得最尖端的成果,例如语言模型[5]、语法分析[6][7]等等。2017年Transformer模型诞生[8];2018年BERT模型推出,提出了预训练的方法[9]。

2022年底,随着ChatGPT等大型语言模型的推出,自然语言处理的重点从自然语言理解转向了自然语言生成。

历史发展(按技术范式划分)

编辑

1. 规则驱动时期(1950s-1980s)

编辑

1950年:艾伦·图灵提出“图灵测试”,奠定NLP理论基础。

1954年:乔治城-IBM实验首次实现俄英机器翻译,但过度乐观的预期导致1966年ALPAC报告后经费削减。 (修改说明:补充技术挫折背景)

1960s代表性系统:

SHRDLU(受限积木世界对话)

ELIZA(模拟心理治疗的聊天机器人),其模式匹配应答机制暴露早期NLP的局限性。

2. 统计方法兴起(1980s-2010s)

编辑

关键转折:摩尔定律提升算力 + 乔姆斯基理论式微 → 机器学习成为主流。

技术突破:隐马尔可夫模型(词性标注)、统计机器翻译(IBM主导)。 (修改说明:明确技术关联性)

3. 深度学习时代(2011年至今)

编辑

2017年:Transformer架构诞生[8],解决长距离依赖问题。 (修改说明:补充架构意义)

2018年:BERT提出预训练范式[9],推动迁移学习在NLP的应用。