文章

面向普通键盘输入的国际化中立的音系与组合法设计

本文试图解决现行语言中的正字问题。初学者水平,仅做抛砖引玉。

我的中文和英语都是使用归纳式学习方法进行学习的。而大学后学习的其他语言都是在对语言学的启蒙后学习的,因此我发现现行诸多语言设计具有一些不合理之处。

  • 中文采用了过多的宽音位和音调设计。后者对外来学习者造成了绝对的门槛姑且不提,前者也对学习者造成了巨大的考验。在学习外语的过程中,我通常会选择参考(也许存在的)中文拼音,但是读了几遍发现自己竟然说不出中文了……
  • 日语也存在部分宽音位的问题。此外不区分送气和非送气更是抽象。而且50音和全CV开音节导致组合过少,大量依赖汉字和音调做区分。
  • 英语就不说了,坏的设计总是心有灵犀。
  • 世界语作为人工语言,正字法非常优秀,一字一音,美中不足的就是不够国际化,偏向欧陆通用语,加上多了很多键盘很难打出的辅音。

好的音系设计应满足:

  • 能被普通键盘打出
  • 一字一音
  • 单读音信息熵高
  • 不同背景的人姑且能轻易学习2
  • 非母语使用者也能分辨各种区别(别笑,[p][b]区分不出的人大把)

如果一套语言希望能满足要求,最朴素的约束就是:尽量只使用 26 个基础拉丁字母,不依赖变音符号,不把核心区别压在难打、难听或难学的语音特征上。

这类音系设计不是单纯追求“字母用满”,也不是把自然语言里常见的音都塞进来。它真正要解决的是三个问题:

好输入:基础键盘即可稳定输入。
好学习:字母和读音的关系尽量固定。
好区分:高频词在真实口音和噪声中仍然能听开。

因此,音系和组合法必须一起设计。音系决定有哪些声音,组合法决定声音怎样组成词,检测机制负责筛掉那些理论合法但听起来太近的形式。

一、为什么以 26 字母为核心

26 个基础拉丁字母的优势很明确:键盘直接支持,文件名、网址、代码、搜索、排序和跨平台输入都方便。缺点也同样明显:如果不用变音符号,又想保持一字母一核心音位,就必须重新分配一些字母的读音。

这种设计的核心不是复刻英语、拼音或世界语,而是在三者之间取一个工程平衡:

尽量符合已有学习经验;
必要时重新定义字母读音;
重新定义后必须有明确规则;
高风险字母不承担高频最小对立。

比如 xqcj 在不同语言里的读音差异很大。若要充分利用 26 个字母,就不能完全依赖任何一种既有拼写传统,而要把它们放进一个内部一致的系统里,再用高频词检测来降低学习和听写风险。

二、元音:五元音优先

元音采用五元音:

a e i o u

对应大致是:

a /a/
e /e/
i /i/
o /o/
u /u/

五元音的好处是学习门槛低,跨语言稳定性高,也方便输入和朗读。这里不使用长短元音、鼻化元音、声调来区别词义,也不要求英语式双元音化。例如 e 应读成纯 /e/,不是 /eɪ/;o 应读成纯 /o/,不是 /oʊ/。

这会牺牲一些音色细节,但换来的是更强的可预测性。对一套面向输入和学习效率的音系来说,这个取舍通常是值得的。

三、辅音:用 26 字母建立稳定库存

一个候选辅音库存可以设为二十一个:

p b t d k g
f v s z x q h
c j
m n
l r
y w

设计目标是:每个核心辅音尽量由一个字母表示,不依赖 shchzhph 这类多字母拼写。这样输入和切分会更简单,词形也更短。

对应读音可以设为:

p /pʰ/    b /b/ ~ [p]
t /tʰ/    d /d/ ~ [t]
k /kʰ/    g /g/ ~ [k]

f /f/     v /v/
s /s/     z /z/
x /ʃ/     q /ʒ/
h /h/

c /tʃʰ/   j /dʒ/ ~ [tʃ]

m /m/     n /n/
l /l/     r /r/
y /j/     w /w/

这里最需要解释的是两点:阻塞音采用“强送气 / 弱浊音”的对立,x q c j 被重新分配为后齿龈音相关字母。

四、阻塞音:用强弱提高听辨度

传统拉丁字母系统里,p/b t/d k/g 常被理解为清浊对立:

p /p/    b /b/
t /t/    d /d/
k /k/    g /g/

但严格清浊对立对很多学习者并不稳。普通话使用者会自然把拼音 b d g 读成不送气清塞音 [p t k],而不是标准浊塞音 [b d g];英语使用者在词首也常常同时利用送气和清浊来听辨。

更稳的方案是:

p /pʰ/    b /b/ ~ [p]
t /tʰ/    d /d/ ~ [t]
k /kʰ/    g /g/ ~ [k]

也就是说:

p t k = 强送气、强清音
b d g = 标准浊音;允许读成弱不送气清音

这套设计把主要听辨线索从“是否严格发浊音”转移到“强送气 vs 弱不送气”。对普通话使用者,它接近拼音 p/b t/d k/g 的直觉;对英语使用者,它也接近词首 pin/bintop/dokey/go 的听感。

关键限制是:b d g 可以弱,可以不完全浊化,但不能送气。否则就会和 p t k 合并。

同样的逻辑可以扩展到塞擦音:

c /tʃʰ/   j /dʒ/ ~ [tʃ]

c 是强送气的后齿龈塞擦音,接近更强的 chj 是浊塞擦音,允许读成弱不送气 [tʃ]。这样 c/jp/b t/d k/g 属于同一种强弱对立。

不建议引入三分对立:

不采用:p /p/、ph /pʰ/、b /b/
采用:p /pʰ/、b /b/ ~ [p]

三分对立会明显增加学习成本,也会破坏“一字母一核心音位”的输入目标。

五、擦音和流音:保留,但高频词要保护

擦音可以保留清浊对立:

f /f/    v /v/
s /s/    z /z/
x /ʃ/    q /ʒ/

这能提高字母利用率和词形容量,但也带来听辨风险。v z q 对部分语言使用者不稳定,q /ʒ/ 的字母直觉也不强。因此,高频词不应只靠这些差异区分。

例如,普通词里可以允许:

sa / za
xa / qa

但若它们都是代词、否定词、疑问词、连接词、时体标记等高频功能词,就太危险。

l/r 也类似。r 可以设为齿龈颤音 /r/,以便和 /l/ 拉开距离;学习者口音中可弱化为 [ɾ]。但高频词仍应避免只靠 l/r 区分,因为很多人会把它们听近或读近。

y /j/w /w/ 很有用,但它们容易和 i/u 发生边界混淆。检测时应特别关注:

y/i
w/u
ya/ia
wa/ua
iy
uw

这些组合不一定都要禁止,但不适合在高频词中制造最小对立。

六、组合法:让词形可生成、可解析

音系只解决“有哪些声音”。组合法解决“声音怎样组成词”。

基础记号可以这样设:

V = a e i o u
C = 全部核心辅音

允许一组复合音核:

D = ai au ei eu oi ou
U = V 或 D

这里的 D 被视为一个音核,而不是两个普通元音随意相连。这样可以开放常见双元音,同时避免所有元音连续都自由出现,降低边界歧义。全上升的双元音也便于发音同时规避ua和wa这样的元音流音难以区别的问题。

短保留形可以优先分配给高频语法词、前缀和后缀:

V
CV
VF
C+D

普通裸词根可以限制在一音核或二音核:

短根:  O U F
标准根:O U I U F

其中:

O = 允许的词根声母
I = 允许的词中辅音连接
F = 允许的词根尾辅音

候选规则可以开放一部分容易读的辅音丛,例如:

pl pr bl br kl kr gl gr fl fr tr dr
sp st sk

词中也可以开放一些鼻音、流音加阻塞音或擦音的连接:

mp mb nt nd nk ng ns nz
lp lt lk ls rp rt rk rs

这种组合法的重点不是把所有可能组合都放开,而是让候选池足够大,同时保持可程序化生成、可程序化解析。

七、结构排歧:不要让裸根和派生词抢同一形式

如果允许前缀、词根、后缀组合,就必须处理结构歧义。

一个标准根如果也能被拆成:

前缀 + 短根
短根 + 后缀

那它就不应再作为普通裸根收录。否则同一个表层形式既可能是一个词根,也可能是一个派生词,词典和解析都会变复杂。

完整词结构可以按:

前缀* + 词根 + 后缀*

来判定。裸词根不开放三音核以上形式,三音核以上默认留给派生词、复合词、术语或外来词改写。这样做不是为了让表层语言变成公式,而是为了让自然词形背后有稳定的结构边界。

八、检测思路:生成宽,筛选严

组合法给出的候选池通常会非常大。真正重要的不是“能生成多少词”,而是“哪些词适合进入高频核心层”。

检测可以分四层:

1. 结构合法性检测
2. 形态排歧检测
3. 听觉距离检测
4. 高频风险检测

结构合法性检测判断候选词是否符合模板。形态排歧检测排除那些既像裸根、又能拆成派生词的形式。听觉距离检测负责比较候选词之间是否太像。高频风险检测则对语法词、代词、否定词、连接词等常用词类设置更高门槛。

听觉距离不能只用普通编辑距离。paba 只差一个字母,pata 也只差一个字母,但它们的听辨难度不同。前者是同部位强弱差异,后者是发音部位差异。

更合理的模型是:

距离 = 音段特征差异 × 位置权重 × 风险修正

位置权重可以初步设为:

词首差异权重最高
第一个音核差异次高
词中差异中等
词尾差异较低

弱差异表至少应包括:

p/b t/d k/g
f/v s/z x/q c/j
l/r
y/i
w/u
s/x
x/c
q/j

还可以在高频层额外关注:

e/i
o/u
词尾塞音差异
s 后强送气弱化

检测规则不应简单把这些差异全部判为非法。更好的做法是分层处理:

高频语法词:不得只靠一个弱差异区分
核心常用词:弱差异要叠加惩罚,距离阈值更高
普通词根:可以放宽,但记录风险分
外来词:允许更多不规则压力,但不得冲突核心词

这样可以保留词库容量,同时保护最容易造成误听的高频层。

九、送气方案对组合法的额外要求

如果 p t k c 是强送气音,组合法检测就要特别关注两个位置。

第一是 s 后的阻塞音。很多语言中,s 后的 p t k 会自然失去送气,例如英语 spinstopskin。因此,sp st sk 这类辅音丛即使被开放,也不适合轻易进入高频词。检测器应把同音节内的 s+p/t/k/c 环境标为送气弱化风险。

第二是词尾阻塞音。词尾的 p t k c 容易弱化、不爆破或送气不明显。因此,高频词不应该只靠下面这种差异区分:

ap / ab
at / ad
ak / ag
ac / aj

普通词可以保留更多形式,但高频核心词必须更保守。换句话说,组合法允许某种结构,不等于高频词可以无条件使用这种结构。

十、一次候选词检测可以怎样运行

实际生成词表时,可以按这个流程:

1. 枚举候选形式
2. 检查是否符合短根、标准根或短保留形模板
3. 排除与前缀、后缀、短保留形冲突的形式
4. 把词形转写成音段和特征序列
5. 与已选词计算听觉距离
6. 对弱差异、危险位置、边界风险加惩罚
7. 按词频层级使用不同阈值
8. 输出可用、需复核、拒绝三类结果

检测报告最好给出原因,而不只是给一个分数:

pa / ba:只差 p/b,若都是高频词则风险过高
xa / qa:只差 x/q,q 的读写直觉和浊擦音稳定性都有风险
li / ri:只差 l/r,不适合核心语法对立
spau...:含 s 后强送气弱化环境,高频层需复核
...ak / ...ag:词尾塞音差异,低可靠

这样设计者可以决定是换词、降频、保留但标注风险,还是调整组合法规则。

十一、总结

这套音系的核心判断是:

为了 26 字母输入,避免变音符号和多字母核心拼写。
为了易学,保持五元音和相对固定的字母读音。
为了易区分,用强送气/弱浊音增强阻塞音对立。
为了真实可用,用检测机制保护高频词。
License:  CC BY 4.0