第一章:语言的曙光——从哲学思辨到机器翻译的萌芽
1954年1月7日,美国乔治城大学礼堂,一场注定被写入计算机科学史的演示正在紧张筹备。舞台中央,IBM 701计算机——这台重达约5吨、占地约18平方米的“巨兽”,其内存仅64KB——将通过60句精心挑选的俄语句子,向世界展示人类语言能否被机器“破译”。演示者,洛克菲勒基金会赞助项目的负责人 Leon Dostert 与 IBM 的 C. Blake 等人,屏息凝神。当第一句俄语“Миротворчество — это наша политика”(和平共处是我们的政策)被输入机器,经过一系列基于词典和有限语法规则的机械匹配,最终输出英文译文 “Peace is our policy” 时,台下爆发出雷鸣般的掌声。《纽约时报》翌日以头版标题宣告:“机器开始‘说’俄语”。然而,鲜有人知的是,这看似胜利的“破译”,其核心逻辑并非理解,而是替换——将俄语单词替换为对应英语单词,再按预设语序排列。它像一个拥有巨大但死板映射表的密码本,而非一个思考者。此刻,在数千公里外英国剑桥的计算机实验室里,一位年逾而立的数学家艾伦·图灵,正以其特有的沉静,思考着一个更为幽邃的问题:“机器能思考吗?” 他于1950年发表的论文《计算机器与智能》中提出的“模仿游戏”(即后世所称的“图灵测试”),并未提供任何技术路径,却如同一柄锋利的思想解剖刀,剖开了“智能”、“理解”与“语言”之间纠缠千年的哲学结。这两场几乎同时发生的标志性事件——一场是面向公众的技术演示,一场是面向学界的哲学思辨——共同构成了自然语言处理(NLP)学科诞生的“双生黎明”。它们揭示了NLP从一开始就背负的三重基因:对人类智能本质的哲学追问(图灵)、对语言结构的语言学探索(稍后的乔姆斯基)、以及对符号操作与计算的工程实践(乔治城实验)。这三大脉络的交织、碰撞与融合,贯穿了此后七十余年的整个发展史,而其中最为根本的张力,始终是语言那无限生成的、创造性的本质,与任何有限形式规则系统之间不可调和的矛盾。本章将带领读者回到那个充满理想主义与朴素愿景的年代,亲历先驱者如何在黑暗中摸索,如何将自然语言视为一种待解的“密码”,如何用逻辑与规则编织最初的“炼金术”方程式,又如何在“组合爆炸”的泥潭中第一次深刻体会到,语言的魔力,远非简单的符号替换所能捕获。这不仅是技术的起点,更是一场持续至今的关于意义、理解与智能的宏大叙事的开篇。
---
一、图灵的追问:在哲学深渊边缘架设计算之桥
1950年10月,伦敦《心灵》期刊上刊登了一篇标题平淡的文章《计算机器与智能》。其作者艾伦·麦席森·图灵,当时年仅38岁,已是曼彻斯特大学数学讲师,并在二战期间因在布莱切利园破解恩尼格玛密码而功勋卓著。然而,这篇文章的野心远非技术报告,它试图回答一个自柏拉图时代以来便萦绕西方哲学的幽灵:何为思考?机器能否思考?
图灵清醒地意识到,直接定义“思考”或“机器”将陷入无休止的语义泥潭。他的策略是 operationalization (操作化)——将模糊的哲学问题转化为一个可操作、可测试的行为主义游戏。他设想:一个人类询问者通过文本终端,与隐藏的另一方进行问答。另一方可能是人,也可能是机器。如果询问者在经过一段时间的交流后,无法以显著高于随机概率(他设定为70%置信度)区分对方是人还是机器,那么,这台机器就可以被认为具有智能。这便是著名的“模仿游戏”,后称“图灵测试”。
```mermaid graph TD A[人类询问者] --> B[文本终端<br/>(隔离交流)]; B --> C{隐藏的应答方}; C --> D[人类]; C --> E[机器]; D --> F[回答]; E --> G[回答]; F --> B; G --> B; B --> H{询问者判断}; H --> I[“是人”]; H --> J[“是机器”]; style C fill:#f9f,stroke:#333 style E fill:#ccf,stroke:#333 ```
图灵测试的深刻之处,在于它将智能的判据从“内部状态”彻底转移至“外部行为”。它不关心机器是否“真正”理解“红”是什么,只关心它能否在关于颜色的对话中,做出与人类无法区分的回应。这一转向,为后来所有基于统计和模式匹配的NLP方法提供了某种哲学护身符:只要输出在统计上足够“像人”,是否“理解”便成了次要的形而上学问题。然而,批评随之而来。哲学家约翰·塞尔在1980年提出的“中文房间”思想实验,正是对图灵测试的直接挑战:一个不懂中文的人,通过一本巨大的规则手册(程序),处理传入的中文字符(输入),并产出正确的中文回答(输出)。从外部看,他完美通过了中文理解测试,但塞尔坚称,此人(及整个系统)没有任何中文理解,只是纯粹的符号操作。这场争论至今未息,它尖锐地指向了NLP的核心困境:符号的形式操作,是否能产生语义?
图灵在论文中 further 预测,到2000年,人们可以说“机器思考”而不会被普遍反对。他更具体地讨论了如何让机器通过测试,提到了“教学”与“学习”的可能性,并首次明确提及了机器翻译作为一项关键挑战:“翻译英文到俄文显然需要巨量的知识……但也许可以设计出某种专门化的‘教学’程序。” 这为乔治城实验提供了直接的哲学预演。图灵没有提供技术方案,但他完成了一项更为基础的工作:他将“机器处理语言”从“自动化工具”的范畴,提升到了“检验智能”的终极实验场域。从此,NLP的每一次突破,都不再仅仅是效率的提升,而被置于“机器离思考还有多远”的聚光灯下审视。这种沉重的哲学遗产,既是动力,也是原罪。
---
二、乔治城的“破译”:将语言视为代码的朴素愿景
如果说图灵在哲学层面为机器智能设下了靶心,那么1954年1月7日乔治城大学与IBM联合进行的俄英机器翻译演示,则是第一次在工程实践上扣动了扳机。这场由美国洛克菲勒基金会资助的项目,其核心驱动力极其现实:冷战初期,美国急需快速理解苏联的科技文献与政治声明,而人工翻译速度慢、成本高、专业译者稀缺。将语言视为一种需要“破译”的密码,是那个时代最自然、最直接的隐喻。
项目的灵魂人物是法国出生的语言学家 Leon Dostert。他曾是纽伦堡审判的翻译总监,深谙多语言沟通的瓶颈。他与IBM工程师合作,其系统的基本原理可以用一个简化的流程图概括:
```mermaid flowchart TD A[输入俄语句子] --> B[形态分析<br/>(单词切分、词性标注)]; B --> C[词典查询<br/>(获取候选英语对应词)]; C --> D[语法分析<br/>(基于预设规则选择词序)]; D --> E[生成英语句子]; E --> F[输出译文];
C --> G[词典<br/>(约2500俄语词条<br/>及对应英语翻译)]; D --> H[语法规则库<br/>(约50条<br/>俄语语法模式)];
style G fill:#e1f5fe style H fill:#f3e5f5 ```
系统依赖一个双语词典(约2500个俄语词条,每个词条关联一个或多个英语词)和一套基于短语结构语法的约50条规则。例如,一条规则可能规定:当俄语句子中出现“名词+动词+名词”结构且动词为过去时态时,英语译文应遵循“主语+动词+宾语”顺序。整个处理过程是流水线式的、确定性的、无状态的。输入“Миротворчество — это наша политика”,系统先切分单词,查词典得到“мир(和平)”、“творчество(创造/共处)”、“это(是)”、“наша(我们的)”、“политика(政策)”,再应用一条关于判断句的规则,最终拼凑出 “Peace is our policy”。
演示的成功,与其说是技术的胜利,不如说是精心策划的公关事件。 Dostert 团队提前数周就确定了要演示的60个句子,并针对性地优化了词典和规则,使其恰好覆盖这些句子。系统完全没有泛化能力。然而,在冷战焦虑和媒体热捧下,这场演示被广泛误解为“机器已经能够翻译语言”,引发了全球范围内对机器翻译的狂热投资。美国、苏联、欧洲纷纷成立研究小组,乐观的预测层出不穷(如1958年IBM的“五年内实现完美机器翻译”)。
然而,好景不长。当研究者试图将系统扩展到更一般的文本时,“组合爆炸”(Combinatorial Explosion) 如同梦魇般浮现。语言的歧义性远超预期: 1. 词汇歧义:俄语单词 “замок” 可意为“城堡”或“锁”;英语 “bank” 可意为“银行”或“河岸”。词典无法穷尽所有含义的上下文选择。 2. 句法歧义:英语 “I saw the man with the telescope” 可理解为“我用望远镜看见了那个人”或“我看见了那个拿着望远镜的人”。这种结构歧义在规则系统中需要无数补充规则来消解。 3. 语义与语用歧义:脱离上下文,甚至无法确定代词指代(“He hit him. Who is who?”)。
规则系统试图通过增加规则来应对,但每增加一条规则,都可能与其他规则产生冲突,或需要更多规则来限定其应用条件。规则数量呈指数级增长,很快变得无法管理。到了1960年代中期,美国国防部高级研究计划局(ARPA)主导的系列评估报告(如1966年著名的“ALPAC报告”)给出了致命一击:经过十年投入,机器翻译系统的产出质量远低于人工翻译,且编辑机器译文所需时间甚至长于直接翻译原文。资金大幅削减,NLP进入第一个“AI寒冬”。乔治城的“破译”愿景,在语言的复杂海洋中,如同一张漏水的网,只捕捞到了预先设定的几条鱼。它留下的最大遗产,并非技术,而是一种深刻的教训:语言的本质不是密码,密码有唯一的、预设的对应法则;语言是活的、开放的、创造性的系统,其核心能力——无限地用有限手段表达无限思想——恰恰是任何有限规则系统最难以捕捉的。 这场早期的失败,恰恰预演了全书贯穿的根本矛盾。
---
三、乔姆斯基的革命:为计算语言学奠定形式基石
在乔治城实验进行的同时,一位年轻的语言学家正从另一个方向,为NLP铺设真正持久的基础。1957年,诺姆·乔姆斯基出版《句法结构》(Syntactic Structures),这本书薄而精悍,却引发了语言学史上最深刻的范式转移,其影响远超语言学本身,直接塑造了计算语言学的早期形态。
乔姆斯基批判了当时主导语言学界的描写语言学(以哈里斯·叶尔姆斯列夫为代表),后者主张仅对语言现象进行客观、归纳性的分类描述,如同博物学家分类昆虫。乔姆斯基认为,这只能得到“语言表层结构”的杂乱清单,而无法解释人类语言能力的核心——创造性。儿童能说出从未听过、但完全符合语法的句子;成年人能理解从未见过、但结构合理的句子。这种能力证明,人类心智中存在一套抽象的、生成性的语法知识。
他提出了转换生成语法(Transformational Generative Grammar)的雏形,其核心思想可概括为: 1. 短语结构规则:用类似于上下文无关文法(CFG)的规则(如 `S -> NP VP`)生成句子的深层结构(D-Structure),表达语义关系。 2. 转换规则:将深层结构通过一系列转换(如被动化、疑问化)变为表层结构(S-Structure),即我们听到或读到的具体词序。
例如,句子 “The cat chased the mouse” (猫追老鼠)和 “The mouse was chased by the cat” (老鼠被猫追)具有不同的表层结构,但通过转换规则,可以被追溯到同一个深层结构,表达相似的施事-受事关系。
乔姆斯基的理论,首次为语言提供了严格的、数学化的形式描述。它将语言学从对文本的归纳统计,转变为对心智内语法能力的演绎推理。对于计算机科学家而言,这无疑是一道曙光:语言既然可以被一套精确的规则系统(生成语法)所描述,那么用计算机来模拟这个规则系统,实现语言的分析与生成,在理论上就是可能的!
这直接催生了计算语言学(Computational Linguistics)作为独立学科的诞生。早期NLP系统,如1960年代的系统开发公司(SDC)的SYSTRAN(后来成为著名的机器翻译系统),以及卡内基梅隆大学的MENTOR系统,其语法分析部分,几乎都是乔姆斯基短语结构规则的直接或改编实现。研究者们试图用上下文无关文法及其扩展(如特征结构、合一算法)来形式化语法规则,并编写递归下降解析器或图表解析器来遍历这些规则,找到与输入句子匹配的语法树。
然而,问题很快显现。乔姆斯基的规则是为解释人类语言能力而设计的抽象心理实体,而非为高效计算而设计的工程规范。将其实施于计算机时,遇到了两大挑战:
- **计算复杂性**:对于许多自然语言语法(即使是上下文无关文法),确定一个句子是否属于该语法(即解析问题)是 **NP-完全** 的。当句子稍长、规则稍多时,解析器的搜索空间会爆炸式增长。
- **规则覆盖与冲突**:真实语言的例外、idioms(习语)、不规则现象远超干净的理论规则集。为覆盖这些现象而添加的规则,常常相互冲突,导致解析失败或产生多解。
更根本的是,乔姆斯基理论聚焦于句法,而句法只是语言的一部分。语义(意义)和语用(上下文使用)如何与句法接口,如何被形式化,在当时仍是黑箱。早期基于规则的系统,在句法层面或许能分析出“正确”的树,但离真正的“理解”依然遥远。它像一位精通所有语法规则的语法学家,却可能读不懂一首诗中的隐喻。尽管如此,乔姆斯基的贡献不可磨灭:他确立了形式化、生成性、心智导向的语言学研究范式,为NLP提供了最初的理论坐标系。他让计算机科学家明白,处理语言,不能只停留在词频统计,必须深入到结构层面。他所定义的“语法能力”,成为了早期NLP系统追求的圣杯,尽管这个圣杯本身,在后续发展中也被证明需要重新审视。
---
四、规则与词典的迷宫:在“组合爆炸”中挣扎的早期系统
将乔治城的朴素替换愿景与乔姆斯基的形式语法理想结合,便构成了1950-1980年代主流NLP系统的标准架构:基于规则、词典驱动、管道式处理。一个典型的系统流程如下:
1. 形态学分析:切分单词,处理词形变化(如英语复数-s、过去式-ed),将词汇还原为词干或词元(lemma)。例如,“running” -> “run”。 2. 词典查询:为每个词元查找词典条目,获取其词性(名词、动词等)、子范畴信息(及物/不及物动词)、语义类别(如“动物”、“工具”)等特征。 3. 句法分析:应用一套复杂的上下文无关或 mildly context-sensitive 语法规则,结合词汇特征,为整个句子构建一个语法分析树。这是最核心、计算量最大的步骤。 4. 语义解释:从语法树中提取逻辑形式(如一阶逻辑表达式),或映射到某个语义网络/框架。 5. 语用处理(若有):根据上下文、世界知识进行指代消解、意图识别等。
这套架构的哲学内核是模块化、自顶向下、规则主导。它假设语言处理可以分解为独立的、串行的阶段,每个阶段只依赖于前一阶段的输出。其优势在于透明性和可控性:错误可以被定位到特定规则或词典条目;系统行为可被人类专家理解和修改。这符合早期AI“物理符号系统假说”的信仰:智能即符号操作。
然而,正是这套看似严谨的架构,在真实语言的复杂性面前,陷入了“组合爆炸”与“知识获取瓶颈” 的双重困境。
组合爆炸:搜索空间的噩梦
句法分析是组合爆炸的重灾区。考虑一个简单的歧义结构:“The old man the boats.” 此句可被(错误地)解析为“The old / man the boats”(那个老人操纵船只),其中“man”是动词;或(正确但费解地)解析为“The old man / the boats”(那位老人与那些船),其中“man”是名词。一个基于CFG的解析器,在遇到“man”这个同时可以是名词和动词的词时,会产生两种 parse 假设。随着句子增长和歧义点增多,假设的数量呈指数增长。例如,一个包含10个主要歧义点的句子,可能产生 $2^{10} = 1024$ 种 parse。更复杂的结构(如介词短语附着歧义)会使情况更糟。尽管有图表解析等算法通过共享子结构来避免完全重复计算,但在最坏情况下,解析复杂句子的时间仍是 NP-难的。这导致早期系统在处理超过20-30个词、或包含多重修饰的句子时,速度急剧下降,甚至无法在合理时间内完成。
知识获取瓶颈:规则从何而来?
比计算性能更致命的是知识获取瓶颈。构建一个实用的、覆盖特定领域(如天气预报翻译)的NLP系统,需要:
- 一个包含数万词条、并标注丰富句法和语义特征的**双语词典**。
- 一套涵盖该领域主要句式、能处理歧义的**语法规则库**(数百至数千条)。
- 可能还需要**语义规则**和**领域本体**。
这些知识,几乎完全依赖语言学家和领域专家的手工编码。这个过程缓慢、昂贵、易错,且难以扩展。每增加一个新领域(从气象到医学),几乎需要从头再来。更棘手的是,规则的交互会产生意想不到的漏洞和例外。一位语言学家可能花费数月编写规则,而一位程序员可能花更少时间发现规则间的冲突。这种“手工作坊”模式,与建造“通用语言处理器”的宏伟目标相去甚远。它像在黑暗中用蜡烛搭建一座巨大的迷宫,每前进一步,都需要额外的蜡烛,而迷宫本身的复杂性似乎永无止境。
案例研究:早期机器翻译系统(如SYSTRAN早期版本)的困境
SYSTRAN 系统最初为美国空军开发,用于俄英翻译。在1960-70年代,它代表了基于规则方法的最高水平。其知识库包含:
- 约6万俄语词条的词典,每个词条有词性、数、格、体等特征。
- 约2500条句法规则,处理词序、一致关系、介词短语附着等。
- 数百条语义和风格规则。
然而,其翻译质量在开放域文本上依然低下。一个经典例子是俄语短语 “Вопрос состоит в следующем” ( literally “Question consists in the following”)。一个理想译文是 “The question is as follows”。但SYSTRAN可能输出 “Question consists in following”