如常见智能拼音输入法,用户输入的拼写有简拼( zfb 、wx )、局部简拼( zhongguor )、全拼( nihao ),其中会有各种拼写错误(微位替换,w->a/s/d/e/q ,少字符,多字符,临近字符对调,整体转置 wang -> angw 等),请问要开发一个纠错算法把错误拼写纠回正确拼写,应该如何去设计,需要使用哪些数据结构/算法?
自己是 Rime 重度用户,想为 Rime 输入法增加纠错模块。同时也想开一贴和众多 v 友研究下这个细分的领域技术。集思广益,启发彼此。开源输入法基本上纠错这块都做得不好。
![]() |
1
faywong8888 OP 微位替换 ->键位替换
|
2
yyf1234 7 天前 via iPhone
算法叫 编辑距离
|
3
katwalk 7 天前
对对对,经常输错相邻的拼音,期待楼主能找到解决的办法 🤗
|
![]() |
5
xzpjerry731 7 天前 via iPhone
补全还是纠错?
|
6
lesterchen 7 天前
我现在用键盘打字最常见的错误情况是.拼音的字母顺序错了~
|
![]() |
7
jarry777 7 天前 via iPhone
迫切需要双拼纠错。
目前在用 gboard ,符号显示不全的 bug 得两年了吧都没人修 |
8
hwdq0012 7 天前
vim spell 不知道怎么弄的,想想,好像是你自己维护一个字典,然后拼写的在字典里很像但不是的,就会有提示,按快捷键类似代码那样补全,就纠正了
]s 跳到下一个拼写问题的位置 [s 跳到上一个拼写问题的位置 z=选择正确拼写 zg 添加用户拼写 zw 删除用户拼写 :set spell 启用拼写 :set nospell 自己做的话我会用 myers 算法(git diff 算法好像也是这样),可以对比字典里的词语和正文的词语相似度 不过好像正文还需要分词一下,应该也有什么现成的中文分词工具吧 |