第一章:自然语言处理(NLP)核心概念
自然语言处理(Natural Language Processing, NLP)是人工智能领域(AI)的一个重要分支,目标是使计算机能够理解、解释并生成人类语言 ,实现自然、无障碍的人机交互。随着信息技术的发展,NLP已成为从海量文本中提取信息、理解语言深层含义的核心工具。本章旨在为您系统地介绍NLP的基础知识,包括其定义、发展脉络、主要任务及关键的文本表示技术。
1.1 什么是自然语言处理(NLP)
NLP是一个跨学科 领域,融合了计算机科学、人工智能、语言学和心理学的知识和技术。它的核心在于通过计算机程序模拟人类的语言认知和使用过程。
NLP 的核心目标
-
理解(Understanding) :让计算机识别和处理语言的表层结构,进而理解语言背后的深层含义,包括语义、语境、情感和文化等复杂因素。
-
生成(Generation):让计算机能够生成流畅、自然且符合语境的人类语言。
-
弥合差距:打破人类语言和计算机语言之间的障碍,实现无缝交流与互动。
现代 NLP 的发展驱动力
得益于深度学习等现代技术的发展,NLP取得了显著进步。通过训练大规模数据集,深度学习模型能够学习复杂的语言模式和结构,在多项NLP任务上取得了接近甚至超越人类水平的性能。
尽管如此,NLP仍面临挑战,如:处理歧义性 、理解抽象概念 、以及处理隐喻和讽刺等复杂的语言现象。
1.2 NLP 发展历程
NLP的发展是一部从基于规则 到基于统计 ,再到基于深度学习不断演进的技术革新史。
| 阶段 | 时间轴 | 核心思想 / 代表事件 | 关键技术 | 影响与成就 |
|---|---|---|---|---|
| 早期探索 | 1940s - 1960s | 认识到语言自动翻译的重要性。 | 字典查找、基本词序规则、生成语法理论 | 艾伦·图灵提出图灵测试 (1950),判断机器是否具备与人类不可区分的智能行为。诺姆·乔姆斯基提出生成语法。 |
| 符号主义与统计方法 | 1970s - 1990s | 研究者分为符号主义 (规则基础)和统计方法两大阵营。 | 逻辑基础范式、形式语言、统计和概率方法 | 统计模型开始取代复杂的"手写"规则,开启了以数据驱动为核心的研究范式。 |
| 机器学习与深度学习 | 2000s - 至今 | 深度学习技术广泛应用,推动性能实现跨越式提升。 | RNN, LSTM, 注意力机制, Transformer | Word2Vec (2013)开创词向量新时代;BERT (2018)引领预训练语言模型浪潮;GPT-3等基于Transformer的模型能够生成高质量文本。 |
1.3 NLP 核心任务
NLP涵盖了从文本基本处理到复杂语义理解和生成的多个核心任务。
1.3.1 文本基础处理
| 任务名称 | 描述与目的 | 示例 | 作用 |
|---|---|---|---|
| 中文分词 (CWS) | 将连续的中文文本切分成有意义的词汇序列,解决中文词汇间无明显分隔的问题。 | 中文输入:今天天气真好 →\rightarrow→ ["今天", "天气", "真", "好"] |
后续词性标注、实体识别等任务的首要步骤和基础。 |
| 子词切分 (Subword) | 将词汇进一步分解为更小的单位(子词/片段),解决词汇稀疏问题(罕见词或新词)。 | unhappiness →\rightarrow→ un + happi + ness |
在预训练语言模型(BERT/GPT)中尤为重要,帮助模型理解未见过的词汇。 |
| 词性标注 (POS) | 为文本中的每个单词分配一个词性标签(如名词、动词、形容词等)。 | She is playing the guitar. →\rightarrow→ She(代词) is(动词) playing(动词) the(限定词) guitar(名词) |
理解句子结构,是句法分析、语义角色标注等高级任务的基础。 |
1.3.2 文本理解与信息抽取
| 任务名称 | 描述与目的 | 示例 | 作用 |
|---|---|---|---|
| 文本分类 | 将给定文本自动分配到一个或多个预定义类别。 | 新闻文章 →\rightarrow→ 体育 / 政治 / 科技 |
情感分析、垃圾邮件检测、主题识别等。 |
| 实体识别 (NER) | 识别文本中具有特定意义的命名实体,并归类为人名、地点、组织、日期等。 | 李雷在上海旅行。 →\rightarrow→ [("李雷", "人名"), ("上海", "地名")] |
信息提取、知识图谱构建、问答系统的关键步骤。 |
| 关系抽取 | 识别文本中实体之间的语义关系(如创始人、拥有、亲属等)。 | 比尔·盖茨是微软公司的创始人。 →\rightarrow→ ("比尔·盖茨", "创始人", "微软公司") |
理解文本内容、构建知识图谱,提升机器理解语言的能力。 |
1.3.3 文本生成与高级应用
| 任务名称 | 描述与目的 | 示例 | 分类 |
|---|---|---|---|
| 文本摘要 | 生成一段简洁准确的摘要,概括原文的主要内容。 | 新闻报道 →\rightarrow→ 抽取/生成式摘要 | 抽取式 (选取原文句子);生成式(理解后重组改写)。 |
| 机器翻译 (MT) | 将源语言自动翻译成目标语言,准确传达语义、风格和文化背景。 | 今天天气很好。 →\rightarrow→ The weather is very nice today. |
涉及词汇转换、语义理解和结构重构,跨越语言障碍的核心应用。 |
| 自动问答 (QA) | 理解自然语言提出的问题,并从数据源中提供准确答案。 | 问:谁是微软的创始人? →\rightarrow→ 答:比尔·盖茨 |
检索式 (从文本检索)、知识库式 (从结构化知识库)、社区问答式(从UGC数据)。 |
1.4 文本表示方法的发展历程
文本表示是NLP的基础性、必要性 工作,目标是将人类语言转化为计算机可处理的数字化形式(如向量、矩阵),其质量直接决定了后续NLP任务的性能。
1.4.1 词袋模型与向量空间模型 (VSM)
-
核心思想 :将文本(词、句、文档)转换为高维空间中的向量。每个维度代表一个特征项 (如一个词),元素值代表该特征项在文本中的权重(如TF-IDF)。
-
示例 :One-Hot 编码将每个词表示为一个高维稀疏向量,仅对应位置为1,其余为0。
挑战:
-
数据稀疏性 和维数灾难:词汇表庞大导致向量维度极高,且非零元素极少。
-
忽略结构信息:基于特征项独立性假设,无法捕捉词序和上下文信息。
-
1.4.2 统计语言模型 (N-gram)
-
核心思想 :基于马尔可夫假设 ,一个词的出现概率仅依赖于它前面的 N−1N-1N−1 个词。通过条件概率链式规则估计整个句子的概率。
-
示例 :N=3N=3N=3(trigram)时,估计第三个词的概率依赖于前两个词。
挑战:
-
数据稀疏性 :NNN 较大时,相同的 NNN-gram 序列概率极低,模型泛化能力下降。
-
局限性 :忽略了词之间的长距离依赖关系,无法捕捉复杂语义信息。
-
1.4.3 词嵌入 (Word Embedding)
Word2Vec (2013)
-
跨越 :从高维稀疏表示到低维密集向量表示。
-
核心思想 :通过学习词与词之间的上下文关系来生成词的密集向量表示。语义相似的词在向量空间中距离较近。
-
架构:
-
CBOW:根据上下文词预测目标词。适用于小型数据集。
-
Skip-Gram:根据目标词预测上下文词。在大型语料中表现更好。
-
优势 :捕捉到词之间的语义关系(如"国王"和"王后"接近)。
-
局限 :基于局部上下文 ,无法捕捉长距离依赖关系;缺乏一词多义的能力。
-
ELMo (Embeddings from Language Models) (2018)
-
跨越 :从静态词向量到动态/上下文感知词向量。
-
核心思想 :首次将预训练 思想引入词向量生成。使用双向LSTM 结构,捕捉词汇的上下文信息 ,实现一词多义。
-
两阶段过程:
-
预训练:在大型语料库上训练语言模型。
-
微调:在特定任务中,提取预训练网络的词向量作为新特征补充到下游任务中。
-
-
局限:模型复杂度高、训练时间长、计算资源消耗大。