为什么要给拼音加辅助码呢?因为拼音整句输入并不完善,加了辅助码之后的转换成功率可以显著提高。心目中理想的输入方式是:双拼连续输入整句,平均两键一字;当文本比较离散、词语不多时,适当添加辅助码以减少单字重码。最佳的辅助码应该是和声母没有交集,完全不影响字词的切分。比如:“单子”和“单字”就可以通过为“zi”添加笔画辅助码“折”和“点”而区别。
佛振大佬写过一个帖子 http://tieba.baidu.com/p/2094178562 演示了一款全拼 + 仓颉/速成辅助码的《仓颉拼音》。看了好几遍,想依葫芦画瓢做一个双拼辅助码却一直不能成功,无法有效地使用 script_translator 和朙月拼音自带的词库。不仅词库要自己编制,而且辅助码的插入位置也没有灵活性。原则上一个词甚至一句话里的任何一个字后面都可以加若干辅助码,不应该有限制,但是编制这样的没有限制的词库会导致内存爆炸。
这几天通过试错的方式,终于找到了问题的症结所在。一是双拼要通过拼写运算间接产生,而不能直接编码;二是要给包括繁体字在内的所有字编码,而不能只有简体字。第一条保证了有效地使用 script_translator 而且可以灵活地改变双拼方案。第二条则是适应 Rime 内在的由繁及简的运作方式。比如字典里有简体的“时”和“代”,但没有繁体的“時”,就无法打出作为词组的“时代”。
在整句输入时辅助码可有可无,一般日常输入时甚至可以盲打。如果感觉文本比较难,则不妨在几个关键字后加一两个笔画,以提高智能转换的准确度。加了一次辅助码之后,Rime 会自动造词而变得更聪明,以后再输入同样的词语可能就不需要辅助码了。例如“聪明的输入法懂我心意”一开始被误认为“聪明的输入法动窝心以”。通过添加笔画辅助码修正为“懂我心意”后,再输入时没有辅助码也能正确转换了。

总结一下,这种辅助码方式有若干好处。
* 整句输入,可以在任意位置添加辅助码。
* 只要编制拼音加辅助码的单字字典,词组和短语都交给 script_translator。
* 双拼方案可以通过拼写运算快速定制,不必修改字典。
佛振大佬写过一个帖子 http://tieba.baidu.com/p/2094178562 演示了一款全拼 + 仓颉/速成辅助码的《仓颉拼音》。看了好几遍,想依葫芦画瓢做一个双拼辅助码却一直不能成功,无法有效地使用 script_translator 和朙月拼音自带的词库。不仅词库要自己编制,而且辅助码的插入位置也没有灵活性。原则上一个词甚至一句话里的任何一个字后面都可以加若干辅助码,不应该有限制,但是编制这样的没有限制的词库会导致内存爆炸。
这几天通过试错的方式,终于找到了问题的症结所在。一是双拼要通过拼写运算间接产生,而不能直接编码;二是要给包括繁体字在内的所有字编码,而不能只有简体字。第一条保证了有效地使用 script_translator 而且可以灵活地改变双拼方案。第二条则是适应 Rime 内在的由繁及简的运作方式。比如字典里有简体的“时”和“代”,但没有繁体的“時”,就无法打出作为词组的“时代”。
在整句输入时辅助码可有可无,一般日常输入时甚至可以盲打。如果感觉文本比较难,则不妨在几个关键字后加一两个笔画,以提高智能转换的准确度。加了一次辅助码之后,Rime 会自动造词而变得更聪明,以后再输入同样的词语可能就不需要辅助码了。例如“聪明的输入法懂我心意”一开始被误认为“聪明的输入法动窝心以”。通过添加笔画辅助码修正为“懂我心意”后,再输入时没有辅助码也能正确转换了。

总结一下,这种辅助码方式有若干好处。
* 整句输入,可以在任意位置添加辅助码。
* 只要编制拼音加辅助码的单字字典,词组和短语都交给 script_translator。
* 双拼方案可以通过拼写运算快速定制,不必修改字典。