文本和音频中蕴含着大量的人类知识和经验,再加上对人机交互的需求,使得机器处理人类语言的能力成为人工智能的重要组成部分,这便催生了自然语言处理(Natrual Language Processing,NLP)这个专业领域。NLP是一个横跨语言学、计算机科学和人工智能的多学科领域,它赋予计算机理解和再现人类语言的能力。
文章目录
- 一、NLP 的演进历程:从规则枷锁到深度智能
- 1.1 符号主义时代:基于规则的机械映射
- 1.2 统计革命与浅层神经网络:从“编码”到“学习”
- 1.3 深度学习时代的巅峰:RNN 与 Transformer
- 1.4 大模型的淬炼:预训练与微调
- 二、自然语言处理的双翼:自然语言理解 (NLU) 与 自然语言生成 (NLG)
- 2.1 自然语言理解(NLU)
- 2.2 自然语言生成(NLG)
一、NLP 的演进历程:从规则枷锁到深度智能
自然语言处理(NLP)的发展并非一蹴而就,而是一场从“人工教机器说话”到“机器自我领悟语言”的范式革命。
1.1 符号主义时代:基于规则的机械映射
在 NLP 的萌芽期,系统主要依赖人工编写的复杂规则,语言学家试图将博大精深的语言逻辑拆解为计算机可识别的“if-then”指令,虽然其中一些早期方法在特定领域取得了一些成功,但它们本质上受限于人类语言的复杂性和多变性。
例如以麻省理工学院的 ELIZA (1966) 为代表的聊天机器人的鼻祖。ELIZA 旨在模拟心理治疗师,利用其将用户陈述以问题形式反映出来的能力。它通过模式匹配和关键词替换来产生反馈,例如,用户说“我很难过”,它便套用模板反问“你为什么觉得难过?”。虽然当时的输出令人印象深刻,但 ELIZA 聊天框只是遵循预先定义的规则,并不理解"难过"到底是什么意思。
1.2 统计革命与浅层神经网络:从“编码”到“学习”
20 世纪 80 年代末到 90 年代,随着机器学习的引入,NLP 进入了统计学时代(Statistical NLP),NLP不再依赖硬编码规则,而是使用基于统计的模型从大量标记数据中学习模式。从“人工规则”转向“特征工程”。
开发者开始设计复杂的特征提取器来预测下一个词出现的概率,这一发展显著提升了整体性能,并拓宽了 NLP 能够处理的任务范围,但这些方法仍然存在局限性,它们依赖于源自专家知识的精心设计的特征,这需要大量人力,并且无法完全捕捉人类语言的丰富性和微妙性。
此外,这些方法难以捕捉文本中的长程依赖关系,即句子中不相邻或不靠近但仍会相互影响彼此含义的单词或元素之间的关系,例如句子“这个女孩戴着她妈妈去年生日时给她买的红帽子,沿着街道跑去。”,尽管句子中“女孩”和“跑”存在这么长的距离,对于人类很容易理解是女孩在跑,而不是妈妈或帽子,但是传统的自然语言处理方法难以捕捉和理解这种长程依赖关系。
其次,传统的 NLP 方法缺乏利用分布式表示的优势的能力,分布式表示是一种将词语符号化为高维空间中的向量的方法,它使语义相似的词语能够更紧密地共存,我们可以将高维空间想象成一个坐标系,每个单词都有自己的位置,在这种空间里,语义相似的词(如“国王”与“皇后”)在数学距离上更为接近,这赋予了模型一种“联想”能力,使其能理解即便没见过的词组合。
1.3 深度学习时代的巅峰:RNN 与 Transformer
为了彻底解决长程依赖和语境理解问题,NLP 架构经历了从串行到并行的跨越:
- 循环神经网络 (RNN): RNN 引入了“隐藏状态”的概念,试图模仿人类边读边记的过程。然而,由于梯度消失问题,它在处理极长句子时仍会产生“遗忘”。
- Transformer:现代 NLP 的里程碑,Transformer 架构放弃了传统的循环结构,引入了自注意力机制(Self-Attention),它能够同时观察句子中的所有单词,并根据重要性分配“注意力权重”,无论“女孩”和“跑”距离多远,自注意力机制都能瞬间建立两者之间的数学联系。
1.4 大模型的淬炼:预训练与微调
如今,以 GPT 和 BERT 为代表的预训练大模型遵循着两阶段学习法:
- 预训练——“通才教育”: 模型在数万亿字的互联网文本中进行学习,通过预测下一个词,模型学会了语法并具备初步的推理能力。
- 微调——“专才培养”: 在拥有了强大的通用能力后,通过特定领域的标注数据(医疗、法律),对模型进行针对性训练,让模型转型为特定领域的“专家”。
二、自然语言处理的双翼:自然语言理解 (NLU) 与 自然语言生成 (NLG)
广义上讲,自然语言处理 (NLP) 可以分为两种不同的方法:
- 自然语言理解 (NLU) ,使模型能够理解并从人类语言中获取含义,情感、意图和其他语义特征,以执行情感分析、命名实体识别或文本分类。
- 自然语言生成 (NLG),使模型能够生成连贯且符合语境的文本,包括创建完整的句子、段落,甚至整篇文章。
2.1 自然语言理解(NLU)
自然语言理解 (NLU)的核心是将非结构化的文本转化为计算机可以处理的结构化语义表示,它不仅要识别单词,更要理解意图和上下文,NLU常见的任务包括主题建模、情感分析、命名实体识别和文本分类。
- 情感分析:确定句子或文档的情感或情绪,例如,将“这手机续航真绝了”识别为积极情感,而“这手机发热真绝了”识别为消极情感。
- 实体识别:识别文本中的“专有名词”,例如,人物、组织、位置。
- 文本分类:将文本分为预定义的类别,最典型的应用是垃圾邮件拦截和新闻自动化分类。
- 主题建模:发现文本文档中的抽象主题,从海量文档中通过算法自动聚类确定讨论主题(如“医疗”“科技”或“体育”)。
常见的应用例子包括:
- 聊天机器人和虚拟助手,例如 Apple 的 Siri,应用程序使用 NLP 理解用户命令并生成相应的响应,使用户能够设置提醒、搜索互联网、控制家用设备等等。
- 社交媒体情绪分析,通过 NLU 分析社交媒体帖子或客户评论中的文本数据,实时监测舆情,在负面情绪爆发的第一时间做出预警。
2.2 自然语言生成(NLG)
NLG 负责将非语言格式的数据或抽象的意图转化为人类可读的自然语言,通常包含三个阶段:文档规划、句子规划和文本实现。
- 文档规划:决定“说什么”,系统会从源数据中识别出需要在文本中传达的信息。例如生成天气预报,文档规划阶段会确定报告中要包含的关键数据点,例如温度、降水量和湿度,并确定信息的呈现顺序和方式。
- 句子规划:决定“怎么说”,此阶段选择可用于表达信息的具体词汇和短语,此外它还会确定句子的结构,并综合考虑语法正确性、与周围句子的衔接性以及表达方式等诸多方面。以天气预报为例,此阶段涉及选择是说“预计晴天”还是“预计阳光明媚”以及一些其他因素。
- 文本实现:决定“说的对”,这是最后生成实际文本的地方,此阶段系统将上一阶段的语言表征转换为最终流畅的文本,它确保语法结构正确,并关注语言的其他方面,例如标点符号、主谓一致,并生成最终形式“明天,预计晴天,最高气温 25 度”。
这三个阶段通常涉及复杂的算法和规则,最近,GPT 等较新的语言模型已被证明在生成流畅连贯的文本方面非常成功,并具备了风格迁移(将报告写成诗歌或模仿名人写作风格)和逻辑续写的能力,生成的连贯性已达到甚至超过了人类水平。