CMU Subword Modeling | 02 Signs, Minimal Signs, and Compositionality

1. 核心问题:什么是 Sign(符号)?

在自然语言处理里,我们希望模型真正"理解"语言,而不仅仅是把字符拼凑在一起。为此,我们要理解一个最基础的概念。

Sign = Signifier + Signified

这个想法来自Semiotics(符号学):

  • Signifier(能观察到的形式):我们看到或听到的东西
  • Signified(意义):它对应的含义
  • Sign(符号):是前两者的一对配对关系

这意味着,符号不是单独的形式,也不是单独的含义,而是形式和含义的"契合"。举个日常例子:

  • 一块黄色的菱形标志 + 上面画着石头 → 这就是一个 road sign(路牌)
    Signifier : 菱形、黄色、图案
    Signified : "小心落石"(watch for falling rocks)
    Sign : 二者的配对(真正传达的意思)(dmort27.github.io)

这和 NLP 的 tokenization(分词)有一个关键关联:

如果我们把词拆成一些没有意义的碎片(例如随意的字母组合),那就不是 Sign ,模型也学不到真正的语义。(dmort27.github.io)

2. Minimal Signs(最小有意义符号)

在语言学里,有一个概念叫 Morpheme(词素):

  • 这是语言中最小的有意义单位(minimal meaningful unit)

  • 例如,在 walked 这个词里,

    • walk 是一个 morpheme(有意义)
    • -ed 也是一个 morpheme(表示过去式)
    • 组合在一起 walk + -ed 就是这个词的意义组合(dmort27.github.io)

Morphemes 就像语言的积木,有意义而且可以组合。

3. Compositionality(组合性)是什么?

这是语言最重要的一个性质之一:意义可以从更小的部分组合出来。例如:

复制代码
walk + -ed = walked(动作发生在过去)
hunt + -er = hunter(做某事的人)

这些组合是可预测的,你只要懂各个部分的意义,就可以"推理出"整体意义。也就是说:

合成词的意义 ≈ 各个部分的意义组合 (Compositionality)(dmort27.github.io)

这种组合性在 NLP 里非常重要:

  • 如果你的 token(分词单元)是真正的 Signs 或 Morphemes,
  • 那么模型可以从它们的组合中推断意义;
  • 反之,如果你的 token 只是一堆随机字符,例如 co mp os it io na li ty ,那么它们就不是 Signs ,模型无法用组合规律去推意义。(dmort27.github.io)

4. 对比说明

Token 类型 有意义? 能组合出语义?
Characters(字符) ❌ ❌
RandomFragments(随意碎片) ❌ ❌
Morphemes(词素) ✅ ✅
Words(完整单词) ✅ 有时候能,但不够细粒度
Good Subword Tokens(好的子词) 接近 ✅ 近似组合性
Bad Subword Tokens(随意子词) ❌ ❌

好的 token 不是只看形式的频率,而要像语言学上的意义单位那样有意义并可组合 。(dmort27.github.io) 这是课程背后的核心思想:tokenization good ➜ model representation better。

5. 为什么这对 Subword Modeling(子词建模)至关重要?

在上一讲我们提到过,Word-Level Tokenization(基于单词的分词)有两个核心问题:

  1. 词表太大(large vocabulary) → data sparsity(数据稀疏)
  2. 很多 rare words(稀有词)无法学到好 embedding(词向量)

Subword Tokenization 被提出就是为了解决这两个问题。但:如果 subword tokens 只是任意切出来的字母片段,就像句子里的 random fragments,它没有意义 ,也就无法组合成有意义的 representation(表示)。(dmort27.github.io)

真正有用的 token 不是随便的字符,也不是完整的大词,而是那些实际能表示内容并可组合出更复杂意义的最小有意义单位 ------ 最好是 morphemes(词素)或者近似的 compositional signs。 (dmort27.github.io)

相关推荐
泯泷2 小时前
AI Agent 的下一站:让世界主动来找它
人工智能·llm·agent
xsd202411182 小时前
MediaMTX + FFmpeg 搭一套轻量 RTSP 流服务器
人工智能
北漂人Java2 小时前
基于 Spring AI Alibaba WorkFlow 构建 Java 生产级 AI Agent
java·人工智能·spring
丘山录2 小时前
本地部署 llama.cpp,3.9G 盒子只能开 5.8 万
人工智能
tinggu2 小时前
从 $6.22 到 $113.96:拆解 AI 用纯 Python 在 Blender 5.2 中“手搓”百万面 3D 场景的工程真相
人工智能
Linye2 小时前
AI 写的 HTML 原型全是空壳?聊聊真实 DOM 交互避坑
前端·人工智能
师夷长技以自愈3 小时前
手搓 AI Agent 第 7 篇:菜做砸了别硬炒——错误分类 + 双账本熔断
人工智能·python
调接口的阿光3 小时前
调用对话接口时输出被截断怎么办:先看 finish_reason,再决定是续写一次、缩小范围,还是换成更短的格式(Python)
人工智能·python
东鸿电子Eastron3 小时前
工厂节能降本落地指南:从精准能源计量搭建数字化管理基础
大数据·人工智能·能源·智能电表·能耗管理
师夷长技以自愈3 小时前
手搓 AI Agent 第 6 篇:先别动刀——Plan Mode 让 AI 报完方案才动手
人工智能