为什么演算法无法 100% 推导所有汉越音?理解 Pure Projection 与 Lexical Normalization

Series 2 · 第 7 篇——Pure Projection 与 Lexical Normalization 上一篇:从两百多条音韵规律到 Quizzman Fanqie Engine

为什么演算法无法 100% 推导所有汉越音?理解 Pure Projection 与 Lexical Normalization

初次了解 Quizzman Fanqie Engine 时,许多人都会提出同一个问题:「既然音韵规律已经研究得相当完整,为什么 Engine 不能只依靠反切,就百分之百推导出所有汉越音?」 这个问题其实触及了历史语言学最核心的本质。简单地说:音韵规律(Phonological Rules)与语言使用历史(Lexical History)并不总是完全一致。 要理解这一点,首先必须区分两个重要概念:Pure ProjectionLexical Normalization

两个完全不同的问题

研究汉越音时,

我们常常不自觉地把两个问题混在一起。

第一个问题是:

如果一个 Middle Chinese 音节完全依照音韵规律发展,它最后应该变成什么?

这是:

历史音韵学(Historical Phonology)

所讨论的问题。

第二个问题则是:

历史上的越南人实际是怎么读这个字的?

这属于:

词汇学(Lexicology)

与:

借词历史(Borrowing History)

的范畴。

两者密切相关,

却不是同一件事。

因此,

Quizzman Fanqie Engine

将它们分成两个不同层次处理。


Pure Projection 回答什么?

假设,

我们已经知道某个汉字完整的

Middle Chinese Profile。

例如:

  • 声母;
  • 韵;
  • 摄;
  • 等;
  • 开口或合口;
  • 平、上、去、入四声。

如果完全依照音韵规律推导,

Engine 便会得到一个汉越音。

这个过程,

称为:

Pure Projection。

在这个阶段,

Engine 完全不考虑:

  • 字典怎么记录;
  • 现代越南人怎么读;
  • 哪一种读法比较常见。

它只回答一个问题:

依照历史音韵规律,理论上应该发展成什么样的汉越音?


但语言不只有规律

如果所有词语都完全按照规律演变,

问题就会变得非常简单。

只要知道:

  • 声母;
  • 韵母;
  • 声调;

再套用规则即可。

然而,

真实的语言历史,

远比这复杂。

一个词可能因为:

  • 在不同时期传入;
  • 受到不同方言影响;
  • 因使用习惯而改变;
  • 与其他词发生同化;
  • 保留了较早期的读音;

而走向不同的发展。

换句话说:

词汇历史,不一定完全遵循音韵历史。


一个容易理解的比喻

想像有一条从 A 点通往 B 点的直线道路。

如果每个人都按照这条路前进,

我们很容易预测他们的位置。

这就是:

Pure Projection。

然而,

现实中,

有人:

  • 改走另一条路;
  • 绕远路;
  • 半途停下;
  • 甚至折返。

这就是:

词汇的历史。

规律本身,

并没有错。

只是,

不同词语,

经历了不同的历史。


为什么汉越音存在那么多例外?

汉越音,

并不是在一天之内形成的。

它是:

数百年、

甚至上千年

汉越语言接触的结果。

在这段历史中:

  • 发生过多次借词;
  • 存在不同的发音中心;
  • 汉语本身持续演变;
  • 越南语也持续改变。

因此,

同一条音韵规律,

可能因借入时间不同,

而产生不同结果。

这也是我们经常看到:

  • 一字多音;
  • 文读与白读;
  • 古层汉越音与标准汉越音;

同时存在的原因。


演算法不应该「背诵」所有例外

如果只是追求最高命中率,

有一种非常简单的方法:

每遇到一个例外,

就在资料库新增一笔。

几年之后,

Engine 就会累积:

数万条例外。

准确率,

或许会提高。

但是,

音韵规律呢?

它们会逐渐被大量例外掩盖。

最后,

整个 Engine

将不再是一套推理系统。

而只是:

一个巨大的资料库。

Quizzman

并没有选择这条道路。


Lexical Normalization 因此诞生

完成 Pure Projection 之后,

Engine 才会进入第二层:

Lexical Normalization。

如果:

Pure Projection 回答:

理论上应该怎么发展?

那么:

Lexical Normalization 回答:

历史上实际怎么读?

这时,

才会引入:

  • Thiều Chửu;
  • 汉越字典;
  • 已验证的词汇资料;

来决定:

最适合作为输出的读音。


两个层次彼此互补

整个流程可以表示为:

Middle Chinese

Pure Projection

依照音韵规律得到的汉越音

然后:

依照音韵规律得到的汉越音

Lexical Normalization

历史上实际使用的汉越音

这两层,

并不是互相竞争。

而是:

互相补充。

如果没有:

Pure Projection,

Engine 就只是一本字典。

如果没有:

Lexical Normalization,

Engine 又无法完整反映语言历史。


科学未必只有唯一答案

在科学研究中,

尤其是历史语言学,

目标从来不是:

得到唯一且绝对正确的答案。

真正的目标是:

建立一个最能解释资料的模型。

当新的文献、

新的研究成果出现时,

模型可以继续修正。

这是再正常不过的事情。

Quizzman Fanqie Engine

正是建立在这样的理念上。

它不会宣称:

其他读法一定错。

也不会:

把所有例外都硬塞进规律。

相反,

Engine 努力区分:

  • 哪些属于音韵规律;
  • 哪些属于语言历史。

正因如此,

才能同时维持:

规则的一致性,

以及汉越音历史的丰富性。


结论

演算法无法仅依靠音韵规律,

就百分之百推导所有汉越音,

并不是因为演算法能力不足。

真正的原因是:

语言从来都不只是规律的集合。

每一个词,

都有自己的历史:

  • 借入的年代;
  • 使用的环境;
  • 世代之间的演变;
  • 方言的影响。

因此,

Quizzman Fanqie Engine

采用了两层架构:

Pure Projection

负责模型化音韵规律,

回答:

理论上应该如何发展。

Lexical Normalization

则负责反映历史上的实际使用,

回答:

历史上真正如何阅读。

这两层共同构成了一套既能推理、

又能解释、

同时可以验证的 Historical Phonology Rule Engine,

而不是一张单纯依靠资料查询的对照表。