阅读:3852回复:4

关于在拼音模式下的候选排序问题!

楼主#
更多 发布于:2014-08-08 23:18
不知道周大是如何考虑的,个人使用拼音输入法有近十多年时间了,个人认为在正常情况下面,也就是没有使用模糊音功能,使用了输入法的自动调频功能的时候,一般候选是这样排序的,
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-09 07:11
人工置顶!希望周大多多考虑!
地板#
发布于: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
楼主好强,不错,学习了。
游客

返回顶部