拼划:一种低重码率的汉字拉丁化方案
目标
汉字与编码一多对应
低重码率
以拼音为基础
按照汉字的前两个笔划,加入两个额外的字母,用以降低重码率
算法
1. 生成从汉字到拼音的映射表
为每个汉字选择一个拼音(使用数据源A和数据源B)
如果数据源B中含有该汉字,选择数据源B中的第一个拼音
如果数据源B中不含有该汉字,而且它有一个5声调(轻声)的拼音,选择这个拼音
否则,选择字典顺序的第一个拼音
用"uy"表示"ü"
如果拼音没有元音,加入"e": "ng" -> "eng", "hng" -> "heng"
2. 生成笔划字母
选取前两个笔划(使用数据源C)
如果只有一个笔划,则只取第一笔
如果前两个笔划一样,则只取第一笔
按照下面的转换表,把一个或者两个笔划转换为一个或者两个字母
3. 生成拼划码
把上述一个或者两个笔划字母,加上声调字母,插入到第一个元音字母之前
笔划到字母的转换表
笔划
笔划字母
-
e
|
i
/
a
\
u
~
o
声调到字母的转换表
声调
声调字母
1 -
w
2 /
r
3 v
v
4 \
n
5 .
m
数据源
A. 汉字词频和拼音
http://lingua.mtsu.edu/chinese-computing/statistics/char/list.php?Which=MO
(现代汉语单字频率列表 - 笪骏 (jda@mtsu.edu))
B. 常用汉字的常用拼音
http://zein.se/patrick/3000char.html
(The most common Chinese characters in order of frequency, by © 2003 – 2009 Patrick Hassel Zein )
C. 汉字笔画
https://github.com/YQ-YSY/stroke-seq_MB/blob/master/text/%E5%8D%95%E5%AD%97_%E7%AC%94%E9%A1%BA%E7%A0%81_29685%E4%B8%AA.txt
(来自
https://github.com/YQ-YSY/stroke-seq_MB
)