版本对照:左侧保留服务器原有 v1.7,右侧为当前中职修订稿。两栏可独立滚动。
旧版 v1.7原稿

第5章 机器怎么听懂人话:从字面到语义

本章导读

前面已经看过 AI 处理数字的样子——身高、体重、跳远成绩。这样的 AI 比较容易理解:数字进、数字出,跟做数学题差不多。

但你跟 AI 聊天的时候,明明输入的是文字,它怎么听懂的?你打一句我想吃西红柿鸡蛋烩饭,它怎么就知道这是在说一道菜?你打一句我心情不太好,它怎么就知道你需要安慰而不是答案?

本章将从自然语言处理(NLP)的基本方法入手,了解机器处理文字的大致演进:从手写规则,到统计词频,再到语义向量。读完这一章,你应理解一件事:

字面一样不等于意思一样,字面不一样也不等于意思不一样。

这个看似简单的判断,是后续学习提示词、上下文管理和 RAG 等内容的基础。

《易经·系辞》说:书不尽言,言不尽意。 文字写不全要说的话,说话也装不下全部意思。机器处理语言时,难就难在要从有限字句中寻找更完整的语义关系。

学习目标

  • 知识目标:
    1. 能说出机器处理自然语言的三代技术:规则系统 → 统计词频 → 学习语义,每一代各自怎么做、有什么局限。
    2. 能用自己的话解释字面相似和意思相似的区别——并能各举一个例子。
  • 能力目标:
    1. 能运行本章预置 Notebook,比较字面共同字数与语义接近度的差别。
    2. 能想出至少 3 个字面差很多但意思一样的同义说法。
  • 素养目标:
    1. 不把 AI 的理解当成人的理解——它的“懂”是数学上的接近,不等于人的理解。
    2. 知道涉及重要决定、真实权益、健康安全和个人隐私的判断,不能只看 AI 算出的语义分数。

先修要求与环境清单

  • 已完成第 3 章环境验证和第 4 章数据实验,能打开课程 Notebook,并能保存运行结果和人工复核记录。
  • 软件准备:
    • 课程统一配置的 AI 学习环境。
    • 本章预置 Notebook:notebooks/ch05_text_similarity.ipynb
  • 配套资源:本章 Notebook 已经准备好一个对比实验脚本——基础版不要求从零写代码,运行、观察、记录和解释即可。

本章提醒:本章所有句子、客服、情绪和群聊示例均为教学模拟,不收集真实聊天记录,不上传真实个人隐私。

知识准备:先认识这些词

  1. 自然语言处理(NLP)
    • 一句话说明:让机器处理自然语言的技术总称,包括识别、理解、生成和翻译自然语言。
    • 直观解释:从输入法联想下一个词,到搜索引擎理解你想搜什么,再到 AI 跟你对话——这些都是 NLP。
  2. 关键词匹配(字面匹配)
    • 一句话说明:看两段文字有多少个共同的字 / 词——共同的字越多就算越像。
    • 直观解释:相当于对对碰——你看到我用了番茄,我看到你也用了番茄,那我们俩说的差不多。
    • 关键短板:番茄和西红柿对对碰是 0 分——但意思一样。
  3. 同义异构
    • 一句话说明:字面差别很大,但意思相近或相同。
    • 例子:
      • 我想退货 / 钱能退吗 / 我不想要了 —— 字面差别明显,但都可能是在表达退款或不再购买的诉求。
      • 西红柿 / 番茄 —— 字不一样,但常常指同一种食材。
    • 关键点:只看字面对对碰,会漏掉所有同义异构的情况。
  4. 一词多义
    • 一句话说明:同一个字 / 词,在不同场合意思完全不同。
    • 例子:
      • 苹果 是水果还是手机?要看上下文。
      • 我要挂了 是挂电话、是不及格、还是生病?要看场合。
    • 关键点:字面一样不等于意思一样。
  5. 词向量 / 语义匹配
    • 一句话说明:把一段话翻译成一组数字,相近意思的话在数字上更接近。
    • 直观解释(比喻):每个词在某个地图上的一个位置——教师和老师在地图上几乎重合,教师和拖拉机离得很远。
    • 关键价值:让机器能按意思找东西,不只是按字找东西。
  6. 场景依赖
    • 一句话说明:同样一句话,放在不同场景里意思可以完全不同。
    • 例子:你跟朋友说我要挂了 vs 你跟医生说我要挂了——同一句话,意思天差地别。

5.1 问题与现象:为什么计算规则容易,理解自然语言更难?

5.1.1 一个反直觉的事实

设想这两件事:

  • A. 算 100 道复杂的微积分题:计算机可以在很短时间内完成。
  • B. 完整理解一篇小学生日记:电脑做不到——它能识字,但分不清作者是开心、难过还是装作开心。

这件事一开始很反直觉——数学那么难,电脑都能做;小学生日记那么简单,电脑反而不行?

原因是: * 数学题的边界是封闭的——题目里所有字符都有精确定义,加减乘除规则一目了然。 * 自然语言的边界是开放的——同一句话在不同场合意思不同;同一个意思可以有几十种说法;很多事情人靠常识就懂,但电脑没有常识。

5.1.2 三个机器很难处理的自然语言场景

场景 1:一词多义

  • 我要挂了
    • 跟朋友打电话:挂电话
    • 在学习群里:考试不及格
    • 在医院:生命垂危

同一个字,意思天差地别。怎么分?靠上下文——但教电脑识别上下文,是一件比做数学题难太多的事。

场景 2:同义异构

  • 同一个客户咨询,可以这样说:
    • 钱能退吗?
    • 帮我办个售后。
    • 我不想要这东西了。

三句话共同字很少、说法差别很大——但说的是相近的事。如果客服机器人只会对字面,它会把这三个用户当成完全不同的诉求。

场景 3:常识缺失

  • 老鼠吃掉了奶酪,因为它太饿了。 —— 你一秒钟就知道它指的是老鼠。
  • 老鼠吃掉了奶酪,因为它太诱人了。 —— 你一秒钟也知道它指的是奶酪。

人类靠常识瞬间就懂——但机器要先把老鼠会饿、奶酪会诱人这种常识学进去,才能做这个判断。

5.1.3 这一章要解决的问题

这一章要让你看清楚一件事——

机器处理自然语言不是凭空完成的。它经历了三代技术演进,每一代都在解决前一代的问题。

  • 第 1 代(规则系统):人工写一万条规则告诉机器如果出现 X 就当成 Y。 → 漏掉一种说法就崩。
  • 第 2 代(统计词频):数每个词在文章里出现了几次,字面越像就算越接近。 → 解决不了同义异构。
  • 第 3 代(语义向量):把每段话翻译成一组数字,让意思相近的话在数字上也接近。 → 才真正能做到按意思找。

理解了这三代,你就能更好地理解今天的大模型为什么能跟你聊天:它并不是凭空“懂人话”,而是在语义表示、上下文建模和大规模生成能力基础上形成了更强的语言处理能力。

【思考 1】 有人说:我做了一个客服机器人,用的方法是关键词匹配:用户说的话和“常见问答库”里的标准问题有多少个共同的字,共同字越多就当成同一个问题。

请结合 5.1.2 节,说明这个机器人会在哪些场景出问题,至少举两个具体场景。

思考提示:① 同义异构 —— 用户说钱能退吗?机器人在问答库里找不到包含退和钱两字的问题,就会回答错;但用户其实是要退款,他用售后不想要这些说法都会被漏。② 一词多义 —— 用户说我要挂了,机器人可能用关键词匹配到挂号这个标准问题,但用户其实在说挂电话。字面对对碰最大的问题就是看不见意思。


5.2 原理与分析:从字面匹配到语义表示的演进

相关结构如图5-1所示。

图5-1 语义地图:意思接近的位置更近

图中位置是教学简化后的二维投影。真实语义向量通常是高维数字,本图只帮助观察“字面相似”和“语义相似”之间的差别。

5.2.1 第一代:规则系统

最早的时候,人们请语言学专家手工写规则:

规则 1: 如果用户说话里出现"退款"或"退货" → 转给售后部门。
规则 2: 如果用户说话里出现"咨询"或"问问" → 转给客服部门。
规则 3: 如果用户说话里出现"投诉"或"差评" → 转给售后主管。
...
  • 优点:完全可控、每一步都能解释清楚。
  • 关键短板:自然语言表达过于开放。即使规则库非常庞大,用户也可能用规则库未覆盖的新说法提出同一需求,例如“把米还给我”这类含义依赖语境的表达。

这种方法曾经是 NLP 的重要路线,今天仍会在高可控、规则清楚的场景中作为辅助方法使用;但面对开放自然语言时,单靠规则很难覆盖所有表达。

5.2.2 第二代:统计词频

人们想:既然手写规则不行,那让机器自己从大量文章里数词的出现频率呢?

代表方法叫 TF-IDF / 词袋模型。简单说就是:

"番茄炒蛋盖浇饭"  →  里面有: 番茄(1次)、炒(1次)、蛋(1次)、盖(1次)、浇(1次)、饭(1次)
"西红柿炒鸡蛋盖饭" →  里面有: 西红柿(1次)、炒(1次)、鸡蛋(1次)、盖(1次)、饭(1次)

两段共同的词: 炒、盖、饭 (3 个)
→ 算法判断: 这两段有一定相似度
  • 优点:机器自动数,不用人工写规则。
  • 关键短板:
    • 同义表达难以识别 —— 番茄 和 西红柿 完全是两个不同的字,机器容易把它们当成互不相关的词。
    • 顺序丢失 —— 猫咬狗 和 狗咬猫 在词袋里一模一样(都只是有猫咬狗三个词)。
    • 没有意思 —— 它只是在数字面上的重合,对意思完全无感。

第二代解决了第一代手写不过来的问题,但没解决看不见意思的问题。

5.2.3 第三代:语义向量

现代自然语言处理中的一个基础思想叫嵌入(embedding)/ 语义向量。大模型内部也会使用丰富的向量表示来处理语言。它的核心思想是:

把每段话翻译成一组数字——意思相近的话,对应的数字也相近。

打个比方:

想象有一张语义地图——上面每个词都有一个坐标:

  • 教师 在 (0.9, 0.1, -0.4, ...) 这个位置
  • 老师 在 (0.88, 0.12, -0.38, ...) ——几乎和教师重合
  • 学生 在 (0.7, -0.5, 0.1, ...) ——离教师不远,因为常一起出现
  • 拖拉机 在 (-0.3, 0.8, 0.5, ...) ——离教师距离较远

这套地图怎么来的?它是在大规模文本训练中逐步学得的。训练材料足够丰富时,模型会发现教师和老师在许多上下文中可以互换,于是给它们分配了相近的坐标。

这能缓解第二代的两个大问题:

  • 同义异构 —— 番茄 和 西红柿 的坐标几乎重合(因为它们出现的上下文几乎一样)。
  • 一词多义 —— 在上下文嵌入模型中,苹果出现在“苹果手机”和“苹果是水果”里时,可以形成不同的表示。

5.2.4 但请注意:语义接近不等于真正理解

这里有一个特别重要的判断,请你记住:

AI 的“懂”是数学上的接近,不等于人的理解。

  • 它能算出老师和教师的坐标距离小——所以知道它们意思接近。
  • 它不能真的理解老师在你心里到底意味着什么。

举个例子:

  • 你跟 AI 说:我老师今天表扬我了,我特别开心。
  • AI 能算出老师和教师接近,表扬和夸奖接近,开心是正面情绪,所以可能给出一句祝贺。
  • 但 AI 并不知道你的老师姓什么、教什么、为什么表扬你、表扬这件事对你意味着什么。

这一条工程认识,是后面所有章节的基础:

  • 第6章:你给 AI 写提示词时,要意识到它的理解来自模式匹配和语义表示,所以要把任务说得具体、可检查。
  • 第7章:AI 可能以流畅语气给出错误内容,因为它会根据相似模式生成回答,而不是直接核验事实。
  • 第8章:让 AI 查资料(RAG)时,要先把资料翻译成向量——这就是第 3 代技术的工程落地。

【思考 2】 有人说:我用大模型做了一个智能客服。我让它把每条用户输入都转成向量,然后跟标准问答库的向量比对相似度,挑相似度最高的那个标准问题对应的答案回给用户。 请结合本章关于语义相似度和人工复核的讨论,说明这个设计在什么场景下会出问题,还需要增加哪些安全措施。

思考提示:可以从两类风险分析:一是语义相似但真实诉求不同,例如投诉被误判为普通咨询;二是涉及退款、投诉、权益等场景时,不能让 AI 直接自动回复,应设置阈值和人工复核。


AI 协同实践:观察字面相似与语义相似的差别

实践目标:用一个小实验,让你亲眼看见只看字面和看意思的根本差别——并明白为什么现代 AI 必须用第 3 代技术。

预计时间:20 分钟。

实验场景:美食问答助手

设想你做了一个美食小助手。用户说:我想吃西红柿鸡蛋烩饭。

你的菜谱库里有三道菜: 1. 番茄炒蛋盖浇饭 2. 西红柿紫菜蛋花汤 3. 清蒸排骨

问题:哪道菜跟用户的请求最匹配?

凭直觉你知道——答案是 1. 番茄炒蛋盖浇饭。但机器怎么判断?

我们对比两种方法:

  • 方法 A(第 2 代:字面对对碰):数共同的字。
  • 方法 B(第 3 代:语义向量):用 AI 算意思的接近度。

跑实验

打开本章 Notebook,运行预置好的对照实验脚本。它会自动做两件事:

  1. 字面对对碰:把每对句子里共同出现的字数算出来。
  2. 语义向量:调用 AI 给每对句子算一个语义接近度分数(0~1,越接近 1 意思越像)。

输出大致是这样:

用户请求: 西红柿鸡蛋烩饭

对比 1: 番茄炒蛋盖浇饭
  字面共同字数: 2 (有“蛋”“饭”两个字)
  语义接近度: 0.85(示例:很接近)

对比 2: 西红柿紫菜蛋花汤
  字面共同字数: 4 (有“西”“红”“柿”“蛋”四个字)
  语义接近度: 0.42

对比 3: 清蒸排骨
  字面共同字数: 0
  语义接近度: 0.12

把这个结果保存为运行输出或截图——它在视觉上把字面 vs 意思的差别一目了然地呈现出来了。

提醒:不同模型、不同切分方式会让分数略有差异。学习重点不是背住 0.85、0.42 这些数字,而是观察两种方法的排序为什么不同。

你看到了什么?

关键观察 1:

  • 用字面对对碰,最匹配的会是 西红柿紫菜蛋花汤(字面重合更多)——但其实它是汤,不是用户想要的烩饭!
  • 用语义向量,最匹配的是 番茄炒蛋盖浇饭——尽管字面重合不如第二项多,但意思最接近。

这就是第 2 代和第 3 代技术的本质差别。第 2 代在这个例子上会明显偏离用户意图——把汤推荐给想吃饭的人。

关键观察 2:

  • 番茄炒蛋盖浇饭字面共同字数不占优势,但语义接近度更高——模型判断它们在语义空间中很接近。
  • 清蒸排骨字面共同字数为 0,语义接近度也较低——这与人的直觉基本一致。

自主尝试:找字面差很多但意思一样的例子

实验脚本里有一段自定义对比——你可以输入两句话,让 AI 给你算它们的语义接近度。

任务:自己想 3 对字面差很多但意思一样的句子,分别跑一下,看 AI 给的分数。例如:

相关内容见表5-1。

表5-1 同义异构实验记录表

句子 A 句子 B 你预计的接近度 AI 算的接近度
我饿了 想吃点东西
你能再说一遍吗 不好意思我没听清
今天天气真好 今儿这天可真不错

把这三对放进 Notebook 跑一下——看 AI 是否给出了高的接近度。

反过来:找字面像但意思不一样

也试试反过来——找几对字面很像但意思不一样的句子:

相关内容见表5-2。

表5-2 同字异义实验记录表

句子 A 句子 B 你预计的接近度 AI 算的接近度
我要挂电话了 我要挂科了
苹果真好吃 苹果手机真好用
这个题太难了 这个题太简单了

跑完看看——AI 给的接近度是不是没有你想象中那么高?

把这两组实验的结果完整记下来——这就是这一章最重要的产出。


验证与证据:用字面与语义对照表记录结果

主对照表(菜谱例子)

相关内容见表5-3。

表5-3 美食问答主对照记录表

对比项 字面共同字数 语义接近度
番茄炒蛋盖浇饭
西红柿紫菜蛋花汤
清蒸排骨

关键观察:字面共同字最多的,是不是语义最接近的?为什么会出现差别?

同义异构对照

相关内容见表5-4。

表5-4 同义异构对照记录表

句子 A 句子 B 字面共同字数 语义接近度

同字异义对照

相关内容见表5-5。

表5-5 同字异义对照记录表

句子 A 句子 B 字面共同字数 语义接近度

原理小结

围绕两个问题写一段:

  1. 在你这次的实验里,什么样的情况下字面方法会误判?
  2. 这个实验对你将来和 AI 协同完成任务有什么启发? 提示:你跟 AI 说话时,要不要注意它如何理解你的话?

伦理、安全与边界

第一条底线:AI 的语义相似不等于真实理解

这是这一章最重要的一条底线。

AI 算出来两句话意思接近——这只表示它们在数学上的坐标接近。它并不真的理解这两句话在生活里意味着什么。

举几个例子:

  • AI 能算出“我心情不太好”和“我有点难受”语义接近——所以可能两条都给你推荐心情调节的内容。
  • AI 不知道“我心情不太好”背后可能是失恋、考试没考好、家庭变故或其他原因——不同原因需要完全不同的回应。

底线判断:

AI 的懂只能当线索,不能当真相。

涉及人的情绪、健康、安全、重要决定时,AI 对语义的判断必须经过人工复核。

第二条底线:用语义判断时要看相似度多高才算像

在本章实验中可以看到,AI 给出的语义接近度是个数字(0~1 之间)。

但多高才算足够像?这件事在不同场景下答案完全不同:

  • 聊天推荐:相似度 0.7 以上算挺像了——错了无所谓,下次推别的就行。
  • 客服自动回复:相似度 0.85 以上才算敢自动回——错了会得罪客户。
  • 医疗、法律、财务等高风险辅助:即使相似度很高,也不能让 AI 自动决定。

底线:重要场景下要设高阈值,否则就转人工。学习阶段就要形成这种意识,因为工作场景中一次错误自动回复可能带来实际损失。

第三条底线:不能因为 AI 算出意思接近就跳过人工核对

举一个真实可能的场景:

  • 客户在评论区留言:你们这个软件的退款功能隐藏得也太深了!
  • AI 用语义分析判断:功能、深——可能是在问功能有多深、有什么深度功能——所以回了:亲,建议您升级到最新版本体验更多功能哦~

结果:客户在投诉,AI 却在推销新功能,可能导致投诉升级。

为什么 AI 会犯这个错?

  • 它计算了句子里词的语义。
  • 它没有理解句子背后的情绪和真实诉求。
  • 它根据看起来相似的标准回复自动作答。

底线判断:

涉及用户真实情绪或诉求的场景,AI 给出回答前,要么有人工复核,要么让 AI 至少先识别这是不是在抱怨/投诉。

【思考 3】 有人做了一个 AI 情绪提醒原型:它读取每周学习群里的留言,如果发现某个成员发布心情不好或类似意思的句子,就自动私聊对方发一条关怀消息。他用的方法是:语义接近度 > 0.6 就触发关怀。 请回答:① 这个设计有什么风险?② 如果是你来改,你会怎么改?

思考提示:可以从误判、隐私、知情同意和人工复核四个角度分析。更稳妥的设计是不自动私聊,不直接处理敏感情绪,而是提高阈值、限制数据范围,并把提醒交给有责任边界的人复核。


总结与思考

本章核心判断

  • 机器处理自然语言经历了三代:规则系统 → 统计词频 → 学习语义。
  • 字面相似 ≠ 意思相似——字面对对碰会漏掉所有同义异构。
  • 意思相似 ≠ AI 真正理解——AI 的“懂”只是数学表示上的接近。
  • AI 给信号,人做决定——涉及重要判断时,AI 的语义分数只能当线索。

基础题(理解层面)

  1. 用自己的话说说字面相似和意思相似的差别。各举一个例子。
  2. 为什么第 1 代规则系统在开放语言任务中不够用?最主要的问题是什么?
  3. 第 3 代语义向量解决了什么问题?又有什么它没解决的问题?

迁移题(生活场景)

  • 想一想:你身边有哪些看起来很合理但其实差很多的同义异构?
    • 比如群聊中有人说今晚有空吗和今晚一起去吃点东西呗——意思可能完全一样。
    • 比如你跟家里说我想买个新手机和我手机有点旧了——意思也可能一样。
    请举出两组这样的例子。

风险题(伦理与边界)

  • 如果有一天,有机构用 AI 做了一个群体心理状态识别系统——它读取所有成员每周写的记录,自动判断哪个成员心情不好,然后把名单发给负责人。

    请回答:

    1. 这件事会让你舒服吗?为什么?
    2. 至少说出两条这件事可能造成的伤害。
    3. 你觉得这个系统应不应该上线?如果一定要上,至少要加什么保护?

本章交付物

请按下面清单提交本章证据:

本章的关键收获是:AI 可以计算语义接近度,但语义接近不等于真正理解。后续使用 AI 时,应把任务、资料、边界和验收标准说清楚,并在重要场景中保留人工复核。

当前中职版(2026-07-20)修订稿

第5章 机器怎么听懂人话:从字面到语义

(建议2课时)

章首语

课间,小李做了个小实验。他先问 AI 助手:“明天会下雨吗?”又换了一句:“明天出门要带伞吗?”两句话,字面几乎没有一个词相同,模型却都明白他关心的是同一件事——明天的天气。

小李有些好奇:它认的是字,怎么懂得字底下的意思?要知道,早年的计算机可没有这份灵性——你搜”带伞”,它绝不会想到”下雨”。

从认字到懂意思,机器跨过了一道不小的门槛。这一章,我们来看看它是怎样跨过去的,也看看门槛的另一边,还有哪些它跨不过去的东西。

“听懂”还需要一层技术解释:计算机不能直接处理意义,必须把文字变成数值表示,再比较这些表示在不同上下文中的关系。我们将沿着规则匹配、字面统计、语义表示三条路径,观察机器怎样从“认出相同的字”走向“识别相近的意思”。

字里行光 书不尽言,言不尽意。——《周易·系辞上》

学习目标

  1. 能举例说明”字面相同意思不同”与”字面不同意思相同”两种情形;
  2. 知道模型按语义组织语言,能说出”意思相近,表示相近”的含义;
  3. 能通过实验观察模型对语义相近句子的判断;
  4. 能说出”对答如流”与”真正理解”的区别;
  5. 树立”用 AI 而不冒充人”的诚信意识。

5.1 从字面到语义

语言有两层:一层是字面,写出来的字词本身;一层是语义,字词底下承载的意思。人读话,读的是意思;早年的机器读话,认的却只是字。

只认字面,会闹出两种笑话。

一种是字面不同,意思相关,机器却可能当成两回事。“明天下雨吗”与“明天要带伞吗”虽然都含“明天”,关键动作词并不相同;只按关键词匹配,容易忽略下雨与带伞之间的语义联系。

另一种是字面相同,意思不同,机器却混为一谈。同一个”苹果”,在果园里是水果,在手机店里是品牌;同一句”这批货有点意思”,在不同的场合,褒贬可以完全相反。

大语言模型的过人之处,正在于它读到了字面之下。它是怎么做到的?答案仍在第4章的源头里:亿万遍填空练习中,“下雨”与”带伞”总在相近的语境里出现,“苹果”在果园与手机店里各有各的邻居。见得多了,哪些话意思相近、哪个词在什么场合作什么解,规律便都刻进了模型内部。

【想一想】① 请再举一个”字面相同、意思不同”的例子,最好来自你的专业用语,并说明人是靠什么分辨它的意思的。

从规则匹配到语义表示

早期文本系统常依靠人工规则。例如出现“退款”就转入售后类,出现“预约”就转入服务类。规则清楚、容易解释,但同义表达很多,规则表会越写越长;一旦词语换了说法,系统就可能漏掉。随后出现的字面统计方法,会计算哪些词经常一起出现,比单条规则更灵活,但仍容易受表面词语影响。

现代模型进一步把文本转换成一组数值。数值并不是字典里的释义,而是模型从大量用法中形成的关系表示。经常出现在相似语境中的表达,其数值关系往往更接近;在不同语境中使用的同一个词,其整体句子表示也会发生变化。这使系统能够处理改写、分类、检索和问答。

【图5-1 文本处理的三种路径:人工规则—字面统计—语义表示(SVG图位)】

三种方法并非后一种完全替代前一种。真实业务常把它们组合使用:语义模型负责识别多种说法,明确规则负责拦截禁用内容,人工人员处理低把握或高风险情形。工程设计选择方法,要看错误代价、数据条件和解释要求,而不是简单追求最复杂的模型。

5.2 相似的话,相近的表示

模型内部处理语言的方式,可以概括为一句话:它为读到的每句话安排一个内部表示,意思相近的话,表示也相近。

判断两句话是否同义,它比较的不是字面上有几个词相同,而是内部表示离得近不近。“明天下雨吗”与”明天带伞吗”,字面天差地别,内部表示却近在咫尺——所以它一眼认出这是同一份关心。

这一节与承重之梁一脉相承:正因为模型按语义、而不是按字面组织语言,它的预测才能举一反三。你换一种说法提问,它依然接得住;你用家乡的表达描述一件事,它多半也能会意。第2章说”换个说法再问一次”,之所以行得通,根子就在这里。

不过,“按语义组织”也有边界。模型的语义地图是从数据里画出来的:数据里常见的说法,地图上清清楚楚;数据里罕见的说法——生僻的行话、新造的词、小圈子里的暗语——地图上就可能是一片空白。遇到空白,它照旧会预测,只是预测的根据薄了,走偏的可能就大了。

【旁注】(楷体) 不妨把模型的内部表示想成一张城市地图:意思相近的词句,像相邻的街区,彼此串门只需几步。“下雨”与”带伞”是隔壁邻居,“下雨”与”下棋”虽只一字之差,却隔着半座城。

【做一做】 写出三个你专业里的行话或术语,猜一猜:哪个是模型语义地图上的”闹市区”,哪个可能是”空白地带”?待实践活动时验证你的猜测。

【想一想】② 为什么模型对常见说法反应准确,对生僻行话却容易出错?请用”数据是语义地图的来源”这一道理作出解释。

相近度怎样支持分类与检索

当系统收到一句新话,可以把它的数值表示与若干已知样例比较。若它更接近“退货退款”样例,便可把问题送往售后流程;若它更接近“修改地址”样例,便送往订单流程。这里的相近只表示语言用法接近,不自动证明两句话事实相同,也不说明处理建议一定正确。

系统通常还要设置一个接受界线。相近度高于界线时自动归类,低于界线时标为“待人工判断”。界线太宽,容易把不相关内容错分;界线太严,又会漏掉许多可自动处理的内容。工程人员需要用一批代表性样例比较错分与漏分,再决定合适设置。

【图5-2 语义分类的工程过程:新文本—相近样例—接受界线—自动或人工(SVG图位)】

对职业应用而言,不能只展示几条成功样例。至少要准备常见表达、改写表达、行话表达和容易混淆的表达,分别记录系统结果。例如“取消刚才的订单”和“订单为什么被取消”都含“取消”,任务方向却不同。这样的边界样例最能检验系统是否真正利用了上下文。

工程案例:售后消息怎样分到正确队列

网店每天收到许多短消息:“尺码不合适想换”“怎么还没发出”“收到的是空盒”“帮我把地址改到学校”。系统要把它们分到退换货、物流、异常投诉和订单修改四个队列。若只靠关键词,“换地址”和“换尺码”都含“换”,却属于不同任务;“空盒”没有“投诉”二字,风险反而更高。

小组先为每类准备常见表达,再补入四种边界样例:同词不同意、同义改写、一句话含两个诉求、信息不足。系统给出类别与相近样例后,学生检查它依据的是整句意思还是单个词。对双诉求消息,预期不是强行选一个,而是拆成两个任务或转人工确认。

样例 预期 容易发生的错误 安全处理
“换到宿舍地址” 订单修改 误入退换货 看“地址”与上下文
“鞋子偏小想换” 退换货 只抓“鞋子” 识别更换诉求
“箱子空的” 异常投诉 未命中投诉词 低把握转人工
“没到,还要改地址” 两个任务 丢掉其中一个 拆分或人工

实训页允许调节接受界线。界线放宽后,自动分类数量增加,但错分也可能增加;界线收紧后,待人工数量增加,漏掉自动处理机会。小组用同一批样例比较两种设置,分别统计错分和待人工,不用单一“正确率”决定好坏。高风险异常投诉宁可转人工,也不能为了提高自动率误入普通物流队列。

最后选择五条专业行话,请熟悉该专业的人给出预期解释,再与模型结果比较。若模型不熟悉,应把行话说明加入受控资料或设置人工分流,而不是要求模型凭空“理解”。语义技术能够扩展表达覆盖面,但业务类别、风险优先级和最终处置仍由流程负责人定义。

5.3 听懂不等于理解

到这里要停一停,说一件分寸上的事。

模型能听懂我们的话,能对答如流,甚至能把”疼”字讲得头头是道——疼的种类、疼的成因、疼时怎么办。但它从未疼过。它谈论大海,却未曾见过潮水;它安慰失意的人,自己却无所谓得失。它的一切言语,都来自语言,而不来自经历。

所以我们说:它听懂的是话,未必是话背后的人生。对答如流,是语义组织的功劳;真正的理解,还连着体验、情感与担当,这些在它的地图上没有街区。

认清这条边界,不是要贬低它,而是要用对它。整理知识、润色文字、答疑解惑,尽可放手请它帮忙;而安慰一位难过的朋友、体察一位病人的痛楚、担起一句承诺的分量——这些事,机器代替不了人,也不应当由机器冒名去做。

【想一想】③ 护理专业的同学常说”三分治疗,七分护理”。护理工作中,哪些环节可以请 AI 协助,哪些环节必须由人亲自面对?说说你的划分和理由。


上下文能消除歧义,也会带来误判

模型判断“苹果”的意思,不只看这个词,还会综合前后出现的“果园、品种、成熟”或“手机、型号、系统”等线索。上下文越明确,表示通常越容易区分。若句子很短、指代不清或缺少专业背景,模型只能依据常见用法估计,误判概率便会上升。

语义表示来自数据中的使用规律,因此也可能继承偏见。如果训练材料常把某类职业与固定性别相连,系统在简历分类或岗位推荐中可能延续这种关联。相近度也可能被恶意改写利用,例如用隐晦说法绕过简单规则。重要场景需要代表性测试、人工复核和明确申诉渠道。

语言上的相近还不等于人的理解。模型可以识别“我很难过”与“心情低落”意思相近,却没有人的感受和责任。系统设计因此应把它定位为文本处理与辅助判断工具。涉及关怀、诊断、承诺和真实权益时,语言结果只能提供参考,不能代替具备责任能力的人。

实践活动 给它的”语义地图”探探路

打开本章实训页(labs/ch05),完成三步验证后开始。

第1步 同义识别。 实训页给出一组句子,请先自己配对哪些意思相近,再交给模型判断,比较结果:

①明天会下雨吗 ②这道菜太咸了 ③明天出门要带伞吗
④汤的味道有点重 ⑤明天有体育课吗

第2步 一词多义。 分别输入两句话,观察模型对同一个词的不同理解:

果园今年的苹果丰收了,请推荐三个品种。
我想买一部苹果,请推荐三个型号。

第3步 行话探测。 把【做一做】中写下的三个专业术语逐一发给模型,请它解释。它解释得准的,是地图上的闹市区;解释含糊甚至张冠李戴的,就是空白地带——别忘了,空白处它照样会流畅作答,请用第4章的眼光核对。

第4步 填写记录单。 将三步结果填入《语义测试记录单》。

【编者注:此处配实训页实际截图,待实训页定稿后补充】


从“好像懂了”到分类测试

在原有同义、一词多义和行话测试之外,把每组样例扩充为四类:常见说法、换一种说法、容易混淆的说法、材料不足的说法。先写出你认为的正确类别,再查看模型结果。记录表增加“预期类别、模型类别、是否一致、错误原因猜测、是否需要人工”五栏。

完成后统计总样例数、正确数、错分数和待人工数。样例数量不用于证明模型已经适合真实岗位,而是帮助发现边界。选择一条错分样例,尝试补充上下文后再次测试;比较前后变化,说明是哪个信息帮助模型消除了歧义。

建立一组边界样例

原有句子测试完成后,小组自编12条专业消息:每个类别至少2条,其中至少包含2条同词不同意、2条同义改写、2条双重诉求和2条信息不足。先由两名成员独立标出预期类别;意见不一致的样例标为“待讨论”,不能强行选一个作为标准答案。

运行后,把错误分成字面误导、上下文不足、行话陌生和类别边界不清四类。若类别规则本身含糊,应先修正规则,不能把责任全部推给模型。选择两条错分消息,分别采用“补充上下文”和“转人工”处理,比较哪种更合适,并说明判断依据。

最后交换样例集。另一组只看到类别说明和样例,检查是否存在真实姓名、联系方式或业务秘密,确认全部为虚构内容后再测试。提交时附上样例来源说明、预期结果、模型结果和错误分类。这样的边界样例集,比只保存成功回答更有长期复用价值。

分类测试报告的写法

报告首页先写类别规则,再写样例构成,最后才写结果。若不说明样例中包含多少常见、边界、双诉求和信息不足任务,一个总数无法让别人判断测试难度。错分案例不得删除,它们是改进类别规则和人工接管条件的主要依据。

样例类型 数量 正确 错分 待人工
常见表达
同义改写
容易混淆
双诉求/缺项

选择一种错误,说明若发生在真实岗位会带来什么影响。例如异常投诉误入普通物流,可能延误处理;普通咨询转人工,则增加工作量。错误后果不同,接受界线和接管规则也应不同。这样的讨论把语义相近度从课堂现象连接到工程决策。

提交前检查所有消息为虚构材料,专业行话的解释得到可靠来源确认。模型给出的解释不能反过来充当标准答案。

岗位迁移:设计专业消息分流

电商方向设置售前、物流、退换和投诉四类;数媒方向设置需求确认、素材缺失、版本修改和版权问题四类;汽修、护理或物流方向设置预约咨询、记录缺项、异常上报和人工处理四类。每类使用虚构消息,先写清类别边界与高风险优先级。

样例不能只含典型关键词。每类至少准备一种换说法、一种容易与别类混淆的表达;整个集合还要有双重诉求和信息不足消息。模型输出类别、相近样例和是否建议人工。学生依据专业规则判断,而不是用模型结果反过来定义标准答案。

分别统计错分和人工接管。对高风险消息,错误进入低风险队列的代价通常大于多转一条人工,因此接受界线可以更谨慎。小组要为一个边界样例写处理规则,例如“同时包含投诉与退款时先进入投诉并保留退款子任务”,使系统行为可预期。

交换测试时,复核组重点寻找类别规则中的空白。若一条消息在两类都说得通,先修正业务规则,再评价模型。语义技术能够识别更多表达,但队列设计、优先级和责任仍来自岗位流程。

贯穿项目:班级 AI 助手 v0.5

本章项目阶段是“语义分流”。为班级问题建立若干类别和边界样例,让助手能够给出分类建议,并把低把握结果转交人工。这一版不是另起一个无关作业,而是在上一版项目档案上增加一项可验证能力;新增、保留和取消的内容都要写入版本记录。

同时把本章最值得保留的一次失败写入《失败样例册》。记录项目版本、输入条件、预期与实际、错误起点、修改动作和回归结果;暂时无法定位时写“证据不足”,不得为了完整而虚构原因。

安全与责任

本章红线 不用 AI 冒充真人与他人交流而不告知。

它听得懂人话,说得出人话,但它不是人。用它代写代聊而对方毫不知情——冒充朋友谈心、冒充客服许诺、冒充本人应答——伤害的是他人的信任。技术越是逼真,告知越是本分:该说明”这是智能助手”的场合,一定说明。

本章小结

这一章,我们看清了机器”听懂人话”的门道。语言有字面与语义两层,模型在亿万遍训练中为语言画出了一张语义地图:意思相近的话,内部表示相近,所以它能听懂换了说法的同一份关心,也能分清果园与手机店里不同的”苹果”。地图来自数据,数据未至之处便是空白,空白处的流畅回答尤须核对。而地图再密,也只画得下语言,画不下人生——对答如流不等于真正理解。懂它的本领,也懂它的边界,我们才算真正会同它说话。

习题

基础题

  1. 什么是字面,什么是语义?各举一例说明两者不一致的情形。
  2. 用自己的话解释:“意思相近的话,内部表示也相近。”
  3. 判断并说明理由:模型能把”孤独”解释得很好,说明它体会过孤独。

应用题

  1. 顾客对电商客服说:“这快递也太给力了,三天了还在省内转圈。”这句话字面是夸,语义是怨。请设计一个小实验,测一测模型能否听出其中的反话,并写出你预计的结果。
  2. 整理你在”行话探测”中发现的空白地带术语,为其中一个写一段两三句话的准确解释——这段解释,将来可以用作第7章”给 AI 看对材料”的材料。

拓展题(选做)

  1. 有人说:“等 AI 的数据足够多,它终将无所不懂。”结合”语言”与”经历”的区别,谈谈你的看法。

本章交付物

交付物 要求
《语义测试记录单》 一张,三步结果记录完整
自评勾选单 逐条自查勾选

《语义测试记录单》

项目 记录
同义识别:我的配对与模型的配对
一词多义:两次回答的差异
行话探测:闹市区术语
行话探测:空白地带术语及其回答问题
我的一点发现

自评勾选单