拼划:一种低重码率的汉字拉丁化方案

目标

汉字与编码一多对应
低重码率
以拼音为基础
按照汉字的前四个笔划,加入两个额外的字母,用以区分同音字

算法

1. 生成从汉字到拼音的映射表

为每个汉字选择一个拼音(使用数据源A和数据源B)
如果数据源B中含有该汉字,选择数据源B中的第一个拼音
如果数据源B中不含有该汉字,而且它有一个5声调(轻声)的拼音,选择这个拼音
否则,选择字典顺序的第一个拼音

2. 生成笔划后缀

扫描整个数据源A,计算每一个英语单词的出现次数

3. 生成拼英码

选取前四个笔划(使用数据源C)
如果笔划少于四个,用零(0)填充
按照下面的转换表,把四个笔划转换为两个字母

笔划到字母的转换表

笔划字母
--g
-|f
-/d
-\s
-~a
|-h
||j
|/k
|\l
|~m
/-t
/|r
//e
/\w
/~q
\-y
\|u
\/i
\\o
\~p
~-n
~|b
~/v
~\c
~~x
-0g
|0h
/0t
\0y
~0n
00z

数据源

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)