阅读:4544回复:4
关于在拼音模式下的候选排序问题!
不知道周大是如何考虑的,个人使用拼音输入法有近十多年时间了,个人认为在正常情况下面,也就是没有使用模糊音功能,使用了输入法的自动调频功能的时候,一般候选是这样排序的,
1.假如有固定词库的话,首先考虑固定词库的位置,在接下来需要将这些位置排除掉! 2.有用户词库的话,用户词库优于主码表和分词库 3.主码表和分词库的按照先后顺序的词频排序 比如 固顶词库: {2}jrvi 就是 用户词库: {7}jrvi 就使 主码表: jrvi 救市 九十 旧时 旧事 分词库: jrvi 酒食 那么 输入jrvi 候选分别是 1救市 2就是 3九十 4旧时 5旧事 6 酒食 7 就使 个人觉得候选不需要按照词长重新排序,因为这样会破坏用户词频,候选词长短不一的问题,用户应该在编辑制作主码表里面就排好序了!喜欢短的在前面那就将短的排在前面啊! 在使用模糊音功能后,候选就多出了很多,不但有符合标准编码的候选,也有符合模糊音编码的候选! 这个时候就涉及到词频的问题了,因为输入法不知道用户在输入的时候,到底是需要输入标准编码的候选还是模糊音的编码的候选,个人建议这样, 首先,固定词库不使用模糊音功能 这样在候选里面固顶词库就占据了不变的固定几个位置,然后在接下来的空余位置按照第一个是 标准编码候选第二个是模糊音编码的候选,第三个又是标准编码的候选如此循环,就可以兼顾两种编码的词频常和全部显示了! 同样候选也不需要按照词长重新排序,原因同前! 如jusi作为jrvi的模糊音 候选分辨是 1九四 2就死→ 3酒肆 (注:第二候选多了一个字符) 那么jrvi的候选就是1救市 2就是 3九四 4九十 5 就死→ 6旧时 7酒肆 8 旧事 9 酒食 那么jrsi的候选就是(这个编码没有固顶词库的编码和用户词库) 1九四 2 救市 3就死→ 4九十 5酒肆 6旧时 7旧事注:当两个编码的用户词库的词频是一样的时候,以当前输入的编码的用户词频优先 候选有重复的内容的时候以前面的词频为主,去重,后面的候选前移 其实固顶词库的内容多方一份在主码表的话,使用标准拼音和模糊拼音都能够将所有的候选打出来,可以自己考虑选择! 内容比较啰嗦,看起来比较头晕,或许有些地方打错了,希望大家多多讨论! ps:只要小小能够坚持固顶词库的内容和位置和实际候选一致的话,现在的候选按照词长重排也能接受,反正我用辅助码筛词的,不用辅助码的用户可能难接受一点! |
|
沙发#
发布于:2014-08-09 06:49
使用了模糊音之后,候选结果为标准编码的候选(包括用户词库)和模糊音编码的候选(包括用户词库)交叉排序显示!
这样就可以兼顾两个编码的候选词和词频了! |
|
地板#
发布于:2014-08-11 00:32
詞頻的調整應該有一個最高使用率的字頻表,這樣自然可把最常用的詞和介詞頂到最前面,在加上使用者詞庫的使用率加以配合
例如 一 135314 一〇 543 一一 2868 皂 930 皂化 506 皂化劑 276 皂白不分 0 皂礬 0 皂莢 487 皂莢樹 404 皃 325 的 4822928 的一員 1188 的一確二 131 的一種 4615 的事 12366 的些 0 的人 51876 數字越高使用率越大越可以變成組字的優先權,這樣才能提高拼音輸入 |
|
4楼#
发布于:2014-09-05 17:53
楼主好强,不错,学习了。
|
|