从线性词串到层级词组:词组结构语法的诞生
先做一件谁都想得出来的事:把词按词性分好类——名词 N、动词 V、形容词 Adj、限定词 Det、介词 P。然后干脆用词性符号代替具体的词,按从左到右的顺序写规则,这就是「单词句法」的思路。一个短句倒还整齐:
可句子一旦加长,麻烦就来了。下面这句多了宾语和介词短语,词数翻了一倍:
把嵌套句拆开看,会发现「名词加动词」这一串老是在重复,「从句连词加名词加动词」也老是在重复。干脆给它们各取一个代号:
这是第一次尝到抽象的甜头:用一个符号顶替一长串词。但这一步还不够,因为名词那一侧仍然是 Det–Adj–N 三个符号连写,换个句子又得重抄。
观察一个窍门:凡是能被 and 一连到底的那一坨,就是一个词组。名词那头,「Det–Adj–N」反复出现还能互相并列,于是封成名词组 NP:
介词那头也一样:动作后面可以挂上一长串方向——「走出红门、顺着大街、拐进小巷」,重复单元是「P Det–Adj–N」,也就是 P 加一个 NP。于是有了介词组 PP = P NP。动词那头呢?「把书给男孩、把画寄给女孩……」反复出现的是「V NP PP」,于是封成动词组 VP = V NP PP。
| 词组 | 被什么现象逼出 | 替换规则 | 核心词 |
|---|---|---|---|
| NP | 名词串用 and 并列,Det-Adj-N 反复出现 | NP = Det Adj N | N |
| PP | 介词串并列,P NP 反复出现 | PP = P NP | P |
| VP | 动词短语并列,V NP PP 反复出现 | VP = V NP PP | V |
最后,描述一个句子的顶层规则压缩到只剩一条:S → NP VP——主语名词组加上谓语动词组。回头看这条发现链会发现:NP、PP、VP 不是谁拍脑袋定的,而是「同一串词反复抱团、还能被 and 并列」这一现象逼出来的必然抽象。这个「能不能整体并列」的测试,往后第 3 章鉴别成分身份时还会再请它出场。
用 NP、VP 这类抽象符号替换词串来归纳规则,就是词组结构语法(Phrase Structure Grammar,PSG)。它由四个部件组成,务必背熟:
| 部件 | 英文 | 含义 | 记忆抓手 |
|---|---|---|---|
| ① 非终端词汇 | non-terminal | 还能继续往下改写的抽象符号:S、NP、VP、PP、COMP 等 | 半成品,箭头左边常见 |
| ② 开端符号 | start symbol | 造句时唯一被允许用来开头的那个非终端符号,就是 S | 一切从句号 S 起笔 |
| ③ 终端词汇 | terminal | 不能再改写的具体词,存于词库,每词标注词类:girl, N、buy, V | 树最底层的叶子 |
| ④ 造句规则 | production | 形如 A→B,读「A 可改写成 B」,A 必须是非终端 | 搭骨架的图纸 |
把等号统一换成箭头,规则就标准化了:Det、Adj、N、V、P 这些词类符号只待在箭头右边,所以它们站在终端层,等着被具体的词替换;S、NP、VP、PP 老在箭头左边露面,是非终端,要继续展开。
早期规则硬要求每个 NP 都带 Det 和 Adj,可实际语言里「Fat men left」没有 Det,「a coin」没有 Adj,「children」两者都没有。归纳后发现:NP 里唯一非有不可的是名词 N,Det 和 Adj 可有可无。
精修一·圆括号=可选。括号里的成分可以出现、也可以不出现:
精修二·Kleene 星号=任意次,含零次。名词前能堆一串形容词:the thin old man、the smart thin old man……不必为一两个、三四个形容词各写一条规则,用星号 X* 一招搞定:
精修三·大括号=择一。两条规则左边相同时,可用花括号合并,箭头左边的符号从括号里任选一行:
把上面所有约定收拢,就得到本章的「总图纸」,后面所有习题都照它操作:
| 编号 | 规则 |
|---|---|
| a | S → NP VP |
| b | NP → { (Det) Adj* N / NP Conj NP } |
| c | PP → { P NP / PP Conj PP } |
| d | VP → { V { NP PP / S′ } / VP Conj VP } |
| e | S′ → COMP S |
读成白话:句子=名词组+动词组;动词后面要么跟「名词组+介词组」,要么直接跟一个大句子 S′;大句子=补语连词加句子。其中 NP→NP Conj NP、VP→VP Conj VP 的结果能回头再用到自己身上,叫循环规则(recursive rule),这正是「规则有限、句子无穷」的机关。
拿纸造句时记住总纲:先写下开端符号 S;反复用规则把所有非终端符号一路展开到 Det、N、V、P 这种终端层;全部展开完、再无符号可拆时,才按词性从词库里把词填进叶子——这一步叫词项插入(lexical insertion)。先搭骨架、后填词,不要边搭边填。
上图是 The child gave a dollar 的骨架填词结果:左枝 NP 是主语,右枝 VP 是谓语,每个词都能沿唯一路径上溯到 S。这种展示层级关系的倒树,就是结构树(structural tree,又称 phrase marker/P-marker)。下一篇画树工坊会一步一步带你把它画出来。
随堂自测(先做,再展开答案)
- 用一句话说明:为什么「按词类线性排列」的单词句法注定失败?
- NP、PP、VP 这三个符号分别是被什么共同现象逼出来的?
- (Det)、Adj*、{ A/B } 三个记号各表示什么?
参考答案:
- 1. 它死记词串,句子一长或一套嵌就得新写一条等长规则,永远写不完,因为它没抓住词组成团的层级结构。
- 2. 都是被「同一串词反复出现、且能被 and 整体并列」逼出来的:NP 出自名词串并列,PP 出自介词串并列,VP 出自动词短语并列。
- 3. (Det)=限定词可有可无;Adj*=形容词出现任意次、含零次;{A/B}=箭头左项二选一。

