解读CMU Subword Modeling | 10 Grammatical Properties (dmort27.github.io)。
1. 什么是"语法属性(Grammatical Properties)"?
在自然语言中,不同的词形(例如词尾变化)往往承载着语言的 语法信息 ,这些信息可以看作是很多 维度(dimensions) 的组合。比如:
- 词性 (Part of speech)
- 语气 (Mood)
- 时态 (Tense)
- 人称/数 (Person/Number)
- 性别/名类 (Gender/Noun class)
- ......
这些都是语法属性。一个词形可能同时反映多个属性的值。直觉解释:
把语法属性想象成每个词带着的标签(tag)集合
类似我们给一张照片打上多个标签(colorful, outdoor, people, night...),每个词形也有一组"语法标签"。
不同语言词形上这些语法标签组合的方式不同,但每种语言都有它自己的组合规则。
讲义内容里列了很多可能的属性维度:
| 语法属性 | 意义 |
|---|---|
| Tense (时态) | 表示动作发生的时间 |
| Mood (语气) | 表示说话的态度(陈述、假设等) |
| Person / Number (人称数) | 我/你/他 + 单数/复数 |
| Gender (性别) | 阳性/阴性(某些语言) |
| Case (格) | 主格/宾格/与格 |
| Aspect (体) | 动作是否完成 |
比如:
在英语里,"he runs " vs "he ran ",动词 run 的形式变化主要表达 时态 (现在 vs 过去)。
在德语里,一句话里名词要同时体现 格、数、性别,比如 der Mann (主格 阳性 单数) vs den Mann (宾格 阳性 单数)。
你可以把每个词想成一个标签组合:
{Tense=Past, Person=3, Number=Singular, Gender=Neutral}
2. 为什么要区分这些属性?
"词形不是乱变的,它是在传递信息"
就像编程里给一个对象加属性一样,每个属性都会影响这个对象的行为。
语法属性其实就是词汇和语法之间的桥梁,它帮助语言模型理解:
- 谁在做事?
- 什么时候发生?
- 动作是怎样的?
例如,BERT/Transformer 这种模型在学习子词表示(subword modeling)时,往往会编码这些语法信息以便捕获语言规律,这对于语言理解和生成任务特别重要。(dmort27.github.io)
3. "范式(Paradigm)"是什么?
讲义里提到 "范式(paradigm)":
范式 = 不同语法属性值组合的全排列。
→ 比如:Case × Number 可能得到
{Nom-Sg, Nom-Pl, Gen-Sg, Gen-Pl, Acc-Sg, Acc-Pl}
"范式就像算法的所有输入组合,每一种组合对应一个输出形态(词形)。" 也就是说,范式是语言在所有可能组合下如何表达的整体结构。(dmort27.github.io)
4. 小结
核心概念
- 语法属性不是随便罗列的,它是语言的核心信息编码。
- 维度 = 大类(例如 Person、Tense),
值 = 在维度里的具体选项(例如 1/2/3 人称)。 - 范式是所有可能组合的全表。
为什么学习这些对 NLP 有用?
在 subword modeling 和 language modeling 里,词语不仅仅是符号,还蕴含着结构化信息,理解 grammatical properties 能让算法更好地学习这些规律,而不是仅依靠统计。(dmort27.github.io)