第四部 · 感知、语言与生成 · 第 14 章 · 已验收
自然语言处理:把语言变成可计算对象
从字符、词元与分词出发,经TF-IDF、词向量、语言模型和序列任务走到注意力与Transformer,并用机器翻译、问答和信息抽取说明基准、部署与理解边界。
导读:语言留下痕迹,但痕迹不是世界
自然语言处理(natural language processing,NLP)研究怎样让计算机处理人使用的语言:从文本中检索资料、标出人名,给邮件分类,翻译句子,或根据上下文生成后续词元。之所以需要它,是因为大量知识、交易和公共服务以语言保存,而普通程序更擅长边界明确的数字与字段;NLP把两者接起来。[1, chs. 2–3]
这座桥有一条容易忘记的裂缝。屏幕上的字符和麦克风里的声波是语言信号;一句话指向什么,还取决于前文、说话者、共同知识、语气和现实世界。“他到了银行”里的“银行”可能是金融机构,也可能是河岸的误译;“真早啊”在迟到场景里甚至可能表示责备。系统能从材料中学到规律,却没有因此自动取得说话者的意图或世界真相。流畅只是形式连贯的证据,不是理解、事实正确或诚实的证书。
本章贯通传统NLP的基本路线,并给出attention与Transformer的最小接口。大规模预训练、聊天式大语言模型、RAG和对齐留到第18章;不能用后章产品的声量抹去本章仍然成立的分词、表示、任务和评测条件。
14.1 从字符到词元:第一步已经在作决定
计算机先把文本编码为Unicode码点或字节,再按约定切成词元(token)。token可以是字符、词、标点或子词;它是系统的处理单位,不等于语言学上唯一正确的“词”。中文通常不以空格标出全部词界,“研究生命起源”可随词表和任务出现不同切法。早期中文分词已经把词典与概率结合,而不是把空格当现成答案。[2, pp. 377–386]
分词(tokenization)通常包含规范化、切界、查词表和变成整数ID。训练阶段可以从语料建立词表;推断时应固定同一词表。若新输入出现词表外项,系统必须有明确策略:整项变成[UNK]、退回字符,或继续拆成已知子词。三种做法都会丢失或保留不同信息,不存在免费方案。
子词(subword)折中于整词和字符之间。BPE一类方法从训练语料学习频繁合并,使常见词保持较完整、罕见词可拆开;这缓解开放词表翻译的稀有词问题,但学到的是数据与算法下的单元,不是“发现了唯一词素”。[3, §§1–3]
窄屏可横向滚动查看全图。
图14-1规定从左到右取词典中最长匹配;同长时按词典顺序;无匹配就报错。现实系统常选字符回退或[UNK]而非报错。这里故意报错,是让未知项不能静默改变计算。词表按三篇文档首次出现为[猫, 喜欢, 鱼, 狗]。
语言还会借词形表达语法与意义:英语的walk/walked、汉语的“看/看过”都提示时间或体,但语言组织形态的方式不同。词干化、词形还原或子词切分可以让相关形式共享证据,却也可能丢掉区别;中文没有空格词界,并不等于“没有形态”。本章的BPE单元是计算约定,不能冒充语言学分析。
语料库(corpus)是按目的收集并记录来源的一组语言材料,可以由文档、句子、转写语音和标注组成。训练集用于估计词表或参数;验证/测试材料用于选择与评价,不能一边看测试答案一边训练。语料的年代、领域、语言变体和许可,会限定模型学到什么以及成绩能外推到哪里。
14.2 计数仍有用:TF–IDF与余弦的完整手算
把词表中每个词对应一个维度,文档可写成高维、绝大多数位置为0的稀疏表示。先定义本例全部条件:有篇文档;是词在文档中的原始次数;是至少出现一次的文档数;是以为底的自然对数;IDF不平滑;向量顺序固定为[猫, 喜欢, 鱼, 狗]。于是
三篇文档为“猫喜欢鱼”、“狗喜欢鱼”、“猫喜欢狗”。分词后的原始词频向量依次是、、。四个df为,所以
未经归一化的TF–IDF向量因此是
“喜欢”在每篇都出现,本例IDF为0;这不表示它没有语言意义,只表示它在这三篇的区分文档任务中没有权重。真实实现有多种TF缩放、平滑与停用词约定,所以“TF–IDF”不是唯一公式。[4, Ch. 6]
若查询“猫鱼”,同一词表下。余弦用L2范数,且只在两个范数都非零时定义:
。于是与的点积为、余弦为1;与的点积均为,两个文档范数也是,余弦均为。若查询经处理后没有词表内项,就得到零向量,本例报告“不可计算/无匹配”,不以除零或擅自给0掩盖。章节JSON保留未舍入binary64值;页面十进制只是显示。
窄屏可横向滚动查看全图。
14.3 语言模型:预测语言形式的概率
语言模型(language model,LM)给词元序列分配概率,或估计下一个词元的条件概率。它之所以出现,是因为分词和词频只列出“有哪些单位”,还不能比较哪些排列在给定上下文中更可能;语音识别、输入法、翻译解码和生成都需要为候选序列评分。链式法则本身是恒等式:
这里是第个token,是长度。n-gram用最近个token近似全部历史,并从训练计数估计;未见n-gram若不平滑就会给0,因此实际系统要声明加法、回退或插值等处理。训练是在语料上估计参数,推断是在参数固定后评分或逐步选择/采样。离线可在未参与训练的同口径token序列上报告平均负对数似然或困惑度;两者依赖词表、tokenizer和测试语料,不能跨口径裸比分数,下游还要按识别、翻译或生成任务另评。高概率表示“像训练分布中的语言”,不保证句子在现实中为真。
规则方法可直接写词典、语法和模板,优点是局部行为可审计;统计方法用计数和概率表达不确定性;神经方法从数据学习表示和非线性函数。它们是历史重心的变化,不是三次彻底清场:搜索过滤仍用规则,神经翻译可用词表约束,混合系统也很常见。
14.4 从一个向量到上下文中的表示
TF–IDF的维度可解释,却把近义词放在不同坐标。嵌入(embedding)把离散项映射到较低维稠密向量;word2vec一类目标使相似上下文中的词得到可比较表示。[5, §§1–3] 静态词向量给“苹果”一个固定向量,难以区分水果与公司;上下文表示则让同一词在不同句子得到不同向量。向量接近是训练目标与数据下的统计关系,不自动等于同义、因果或价值一致。
循环神经网络按次序更新隐藏状态,seq2seq把输入序列编码后再解码输出;它们推动了翻译与标注,但长距离路径和顺序计算限制并行。序列任务大致分两类:
- 分类给整段文本一个或多个标签,如垃圾邮件、主题或情感;标签质量取决于定义与标注者。
- 序列标注给每个token标签,如词性、分词边界和命名实体识别(NER)。CRF显式给整条标签序列评分,避免只做互不相干的逐位置决定。[6, §§1–3]
NER之所以需要专门建模,是因为词典只能列已知名称,同一名称还可能随上下文改变类型。任务先规定实体类别与跨度标注,例如用B/I/O标签表示实体开始、内部和外部;训练时从已标注句子学习,推断时输出新句子的跨度与类型。它能为检索、脱敏或知识库候选提供结构,却不能核实该名称对应现实中的哪一个对象,也不能发现类型体系之外的“所有实体”。评价须同时报告precision、recall和F1,并写清是精确跨度还是部分匹配、micro还是macro;领域或标注规范一变就要重测。
信息抽取在此基础上寻找实体、关系和事件;它把自由文本变成任务定义下的结构,不是从文字直接恢复“世界数据库”。NIST参与的ACE把实体、关系、事件限制在给定类型体系、语料与评分协议中,这属于离线评价,不是实时生产知识库的真值保证。[7, task and evaluation sections]
14.5 Attention与Transformer:让位置直接交换信息
注意力(attention)让每个位置按内容从其他位置汇总信息。对单个注意力头,设序列长为,查询、键的维度为,值维度为:,。则
形状为;对每一行做softmax,权重非负且和为1;再乘得到。除以是为减轻较大时点积幅度使softmax过度饱和的问题。这里的“注意”是可学习加权运算,不等于人的注意、解释或因果证据。[8, §3.2.1]
Transformer以自注意力、逐位置前馈网络、残差连接和位置表示组成层,可并行处理一段序列,并缩短远位置的信息路径。它后来成为许多翻译、表示和语言模型的基础。但本式没有说明数据怎样取得、事实怎样核验、输出为何符合人的意图;模型规模化、预训练目标和聊天对齐将在后章展开。
14.6 从表示到任务:检索、翻译与问答
检索不是“生成一个听起来合适的答案”,而是依查询为文档或段落排序。TF–IDF/余弦是经典基线,现代检索还会学习稠密表示与重排器。好坏必须相对于查询集、相关性判断和指标来谈;离线相关文档命中率不能代替时效、权限、延迟和用户是否真正解决问题。[4, Ch. 8]
TREC 2001问答赛道在固定文档集、问题和人工判断规则下评价事实型、列表与上下文任务。它是严谨的离线共享评测,证明的是参赛系统在该协议下的能力,不是任意问题、实时网络、连续对话或安全拒答的生产证明。[9, task and scoring sections]
机器翻译(machine translation,MT)是在任务所要求的语境下,把一种语言的材料自动转换成另一种语言的表达;它不是逐词替换,同一句源文可以有多种合格译文。它出现是为扩大跨语言信息访问并减少纯人工逐句处理,但自动化不能取消专业译审。
研究重心经历了规则、统计短语模型和神经seq2seq/Transformer的迁移。规则系统能编码术语和语法,却难以穷举活语言的歧义与例外;统计系统从双语语料对齐片段,以数据估计选择,但依赖手工特征与局部分解;神经系统共同学习表示和条件概率,减少部分手工设计,却更依赖数据覆盖、算力和难以审计的内部表示。它们仍可组合,例如神经候选受术语表或解码约束控制。
Google 2016年的GNMT报告适合展示三种证据不要混写:
- 公开离线基准:作者在WMT’14英法、英德测试上报告BLEU;结论只属于指定语言方向、测试与处理口径。
- 厂商内部实验与人工评价:团队称系统在Google内部大规模数据集上做实验;另在英语往返法、西、中六个方向做三方并排人工评价,每个语对的评价材料是从Wikipedia和新闻网站随机抽取的500句及对应人工译文,并报告相对自家上一代短语系统的错误减少。材料被描述为孤立短句,协议与结果不能外推到长文、高风险专业翻译或所有语言。
- 部署陈述:作者称量化实现用于production traffic/production environment。这是系统开发方的一手陈述,不是独立部署审计。[10, §§6, 8.6–8.7 and Conclusion]
BLEU组合修正n-gram精确率与简短惩罚,面向语料级、依赖参考译文。它不是“正确率百分比”,单句分数也不是可靠的人类质量判断;分词、大小写和实现会改变结果,报告时应带计算口径。[11, §§2–5][12, §§1–3] 人工评价能直接问充分性、流畅度或偏好,却同样受样本、说明、评审者语言能力和一致性影响。真实部署还要测延迟、成本、术语、更新、投诉与危害;三层证据回答不同问题。
14.7 能做什么,以及哪些结论跨不过去
NLP可以把大量材料变得可搜索、可分类、可翻译、可提取,也能帮助字幕、辅助写作与信息访问。它不能仅凭文本形式保证下列事情:作者身份真实、叙述符合世界、缺失背景已被补足、讽刺被正确理解,或输出适合医疗、法律等高风险决定。
现实困难并非一个“准确率”能装下:
- 歧义与语境:同一串字符随前后文、领域和社群改变含义;切分与标签常有多种合理答案。
- 方言与社会语言变体:Blodgett等在2013年美国地理定位Twitter的AAE-like样本上发现特定语言识别与依存分析器差异。这是远程监督、平台与任务特定案例,不能改写为种族决定语言或所有方言都会失败。[13, §§2, 4–6]
- 低资源语言:Joshi等按若干资源目录、Wikipedia和论文记录观察到语言间资源不均衡;资源条目不是语料质量或模型性能,也不是2026年永久不变的排名。[14, §2]
- 领域与时间漂移:新闻上训练的NER遇到病历、地方机构简称或新的实体类型时,输入分布和标签定义都可能变。随机测试集高分不保证未来或异地用户。
- 事实性:在所测XSum抽象摘要系统中,人工评价发现来源不支持的内容;这说明流畅和ROUGE不足以证明忠实,不说明所有输出都错,也不把“忠于来源”与“现实为真”混成一件事。[15, §§1–5]
- 隐私:Carlini等在特定黑盒威胁模型下从GPT-2家族抽取到逐字训练文本,构成记忆可能转成抽取风险的存在性证据;它不等于任意提示能取出任意记录,或所有模型必然泄露。[16, §§3–5]
因此,评测报告至少要写清训练/测试材料、语言与变体、时间、领域、tokenizer、指标、阈值和失败样本。数据说明能帮助读者判断覆盖与外推,但填写表格不会自动消除偏见。[17] 涉及私人通信、客服记录或病历时,还要有最小收集、访问控制、保留与删除机制;“可抓取”不等于“可随意训练”。
本章小结
NLP把语言信号变为token、表示、概率和任务输出;每一步都带着词表、语料和评价约定。规则、统计和神经方法不是互斥年代,而是不同可控性、数据与计算条件下的工具。TF–IDF能说明可解释计数,embedding与上下文模型能学习更柔性的相似关系,attention/Transformer则让远位置直接汇聚信息。
但系统处理得像语言,不等于掌握了说话者意图或世界事实。离线基准、人工评价和真实部署必须分开;语言、领域、人群或时间一变,结论就需要重验。
相关词条
自然语言处理 · 词元 · 分词 · 子词 · TF–IDF · 嵌入 · 语言模型 · 命名实体识别 · 机器翻译 · 注意力 · Transformer
本页参考来源
- Jurafsky D, Martin J H. Speech and Language Processing [M]. Stanford University, 2025. Third-edition online draft chapters. 定位:Chapters 2, 3, 6, 8, 17, 18, 23 and 25, versions available at access date. 稳定来源(访问 )。
- Sproat R, Shih C, Gale W, Chang N. A Stochastic Finite-State Word-Segmentation Algorithm for Chinese [J]. Computational Linguistics, 22(3), 377–404. Computational Linguistics, 1996. 定位:pp. 377–386. 稳定来源(访问 )。
- Sennrich R, Haddow B, Birch A. Neural Machine Translation of Rare Words with Subword Units [C]. Association for Computational Linguistics, 2016. 定位:§§1–3 and experiments. DOI;稳定来源(访问 )。
- Manning C D, Raghavan P, Schütze H. Introduction to Information Retrieval [M]. Cambridge University Press, 2008. 定位:Chapters 6 and 8. 稳定来源(访问 )。
- Mikolov T et al.. Distributed Representations of Words and Phrases and their Compositionality [C]. NeurIPS, 2013. 定位:§§1–3. 稳定来源(访问 )。
- Lafferty J, McCallum A, Pereira F. Conditional Random Fields — Probabilistic Models for Segmenting and Labeling Sequence Data [C]. ICML, 2001. 定位:§§1–3. 稳定来源(访问 )。
- Doddington G et al.. The Automatic Content Extraction (ACE) Program — Tasks, Data, and Evaluation [C]. LREC, 2004. 定位:Task, corpus and evaluation sections. 稳定来源(访问 )。
- Vaswani A et al.. Attention Is All You Need [C]. NeurIPS, 2017. 定位:§§1–3, especially §3.2.1. 稳定来源(访问 )。
- Voorhees E M. Overview of the TREC 2001 Question Answering Track [R]. NIST, 2001. 定位:Task definitions, judgments and scoring sections. 稳定来源(访问 )。
- Wu Y et al.. Google’s Neural Machine Translation System — Bridging the Gap between Human and Machine Translation [R]. arXiv, 2016. arXiv:1609.08144v2. 定位:§§6, 8, especially §§8.6–8.7 and Table 10; Conclusion. 稳定来源(访问 )。
- Papineni K, Roukos S, Ward T, Zhu W-J. BLEU — a Method for Automatic Evaluation of Machine Translation [C]. ACL, 2002. 定位:§§2–5, especially footnote 4. DOI;稳定来源(访问 )。
- Post M. A Call for Clarity in Reporting BLEU Scores [C]. WMT, 2018. 定位:§§1–3. DOI;稳定来源(访问 )。
- Blodgett S L, Green L, O’Connor B. Demographic Dialectal Variation in Social Media — A Case Study of African-American English [C]. EMNLP, 2016. 定位:§§2, 4–6. DOI;稳定来源(访问 )。
- Joshi P et al.. The State and Fate of Linguistic Diversity and Inclusion in the NLP World [C]. ACL, 2020. 定位:§2 and coverage analysis. DOI;稳定来源(访问 )。
- Maynez J, Narayan S, Bohnet B, McDonald R. On Faithfulness and Factuality in Abstractive Summarization [C]. ACL, 2020. 定位:§§1–5. DOI;稳定来源(访问 )。
- Carlini N et al.. Extracting Training Data from Large Language Models [C]. USENIX Association, 2021. 定位:§§3–5 and 8. 稳定来源(访问 )。
- Bender E M, Friedman B. Data Statements for Natural Language Processing — Toward Mitigating System Bias and Enabling Better Science [J]. TACL, 2018. 定位:Data statement schema and discussion. DOI;稳定来源(访问 )。