面向普通键盘输入的国际化中立的音系与组合法设计
本文试图解决现行语言中的正字问题。初学者水平,仅做抛砖引玉。
我的中文和英语都是使用归纳式学习方法进行学习的。而大学后学习的其他语言都是在对语言学的启蒙后学习的,因此我发现现行诸多语言设计具有一些不合理之处。
- 中文采用了过多的宽音位和音调设计。后者对外来学习者造成了绝对的门槛姑且不提,前者也对学习者造成了巨大的考验。在学习外语的过程中,我通常会选择参考(也许存在的)中文拼音,但是读了几遍发现自己竟然说不出中文了……
- 日语也存在部分宽音位的问题。此外不区分送气和非送气更是抽象。而且50音和全CV开音节导致组合过少,大量依赖汉字和音调做区分。
- 英语就不说了,坏的设计总是心有灵犀。
- 世界语作为人工语言,正字法非常优秀,一字一音,美中不足的就是不够国际化,偏向欧陆通用语,加上多了很多键盘很难打出的辅音。
好的音系设计应满足:
- 能被普通键盘打出
- 一字一音
- 单读音信息熵高
- 不同背景的人姑且能轻易学习2
- 非母语使用者也能分辨各种区别(别笑,[p][b]区分不出的人大ba)
如果一套语言希望能满足要求,最朴素的约束就是:尽量只使用 26 个基础拉丁字母,不依赖变音符号,不把核心区别压在难打、难听或难学的语音特征上。
这类音系设计不是单纯追求“字母用满”,也不是把自然语言里常见的音都塞进来。它真正要解决的是三个问题:
好输入:基础键盘即可稳定输入。
好学习:字母和读音的关系尽量固定。
好区分:高频词在真实口音和噪声中仍然能听开。
因此,音系和组合法必须一起设计。音系决定有哪些声音,组合法决定声音怎样组成词,检测机制负责筛掉那些理论合法但听起来太近的形式。
一、为什么以 26 字母为核心
26 个基础拉丁字母的优势很明确:键盘直接支持,文件名、网址、代码、搜索、排序和跨平台输入都方便。缺点也同样明显:如果不用变音符号,又想保持一字母一核心音位,就必须重新分配一些字母的读音。
这种设计的核心不是复刻英语、拼音或世界语,而是在三者之间取一个工程平衡:
尽量符合已有学习经验;
必要时重新定义字母读音;
重新定义后必须有明确规则;
高风险字母不承担高频最小对立。
比如 x、q、c、j 在不同语言里的读音差异很大。若要充分利用 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
设计目标是:每个核心辅音尽量由一个字母表示,不依赖 sh、ch、zh、ph 这类多字母拼写。这样输入和切分会更简单,词形也更短。
对应读音可以设为:
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/bin、top/do、key/go 的听感。
关键限制是:b d g 可以弱,可以不完全浊化,但不能送气。否则就会和 p t k 合并。
同样的逻辑可以扩展到塞擦音:
c /tʃʰ/ j /dʒ/ ~ [tʃ]
c 是强送气的后齿龈塞擦音,接近更强的 ch;j 是浊塞擦音,允许读成弱不送气 [tʃ]。这样 c/j 和 p/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. 高频风险检测
结构合法性检测判断候选词是否符合模板。形态排歧检测排除那些既像裸根、又能拆成派生词的形式。听觉距离检测负责比较候选词之间是否太像。高频风险检测则对语法词、代词、否定词、连接词等常用词类设置更高门槛。
听觉距离不能只用普通编辑距离。pa 和 ba 只差一个字母,pa 和 ta 也只差一个字母,但它们的听辨难度不同。前者是同部位强弱差异,后者是发音部位差异。
更合理的模型是:
距离 = 音段特征差异 × 位置权重 × 风险修正
位置权重可以初步设为:
词首差异权重最高
第一个音核差异次高
词中差异中等
词尾差异较低
弱差异表至少应包括:
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 会自然失去送气,例如英语 spin、stop、skin。因此,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 字母输入,避免变音符号和多字母核心拼写。
为了易学,保持五元音和相对固定的字母读音。
为了易区分,用强送气/弱浊音增强阻塞音对立。
为了真实可用,用检测机制保护高频词。