/**
* http://gaojingsong.iteye.com/
* @author gaojingsong
* 单词拼写错误的几种基本场景:
* 例如 father
* 1、fther 漏掉字母 -->补救措施:插入字母
* 2、faather 多写一个字母 -->补救措施:删除字母
* 3、ftaher 字母写反 -->补救措施:交换字母
* 4、fcther 字母写错 -->补救措施:替换字母
*/
参考代码如下
package cn.com.test.mathoutDemo; import java.util.HashSet; import java.util.Set; /** * http://gaojingsong.iteye.com/ * @author gaojingsong * 单词拼写错误的几种基本场景: * 例如 father * 1、fther 漏掉字母 -->补救措施:插入字母 * 2、faather 多写一个字母 -->补救措施:删除字母 * 3、ftaher 字母写反 -->补救措施:交换字母 * 4、fcther 字母写错 -->补救措施:替换字母 */ public class SpellCorrect { private static String alphabet = "abcdefghijklmnopqrstuvwxyz"; public static Set edit(String word) { if (word == null) return null; Set out = new HashSet(); // delete for (int i=0; i<word.length(); ++i) { String wd = word.substring(0,i) + word.substring(i+1,word.length()); out.add(wd); } // insert for (int i=0; i<=word.length(); ++i) { for (int j=0; j<alphabet.length(); ++j) { char c = alphabet.charAt(j); String wd = word.substring(0,i) + c + word.substring(i,word.length()); out.add(wd); } } // replace for (int i=0; i<word.length(); ++i) { for (int j=0; j<alphabet.length(); ++j) { char c = alphabet.charAt(j); String wd = word.substring(0,i) + c + word.substring(i+1,word.length()); out.add(wd); } } // transpose for (int i=1; i<word.length(); ++i) { char c1 = word.charAt(i-1); char c2 = word.charAt(i); String wd = word.substring(0,i-1) + c2 + c1 + word.substring(i+1,word.length()); out.add(wd); } return out; } public static void main(String[] args) { /** * http://gaojingsong.iteye.com/ * @author gaojingsong * 单词拼写错误的几种基本场景: * 例如 father * 1、fther 漏掉字母 -->补救措施:插入字母 * 2、faather 多写一个字母 -->补救措施:删除字母 * 3、ftaher 字母写反 -->补救措施:交换字母 * 4、fcther 字母写错 -->补救措施:替换字母 */ String word = "tao"; System.out.println( edit(word) ); } }
相关推荐
使用c++实现英文拼写检查,对照自定义字典进行检查。 使用c++实现英文拼写检查,对照自定义字典进行检查。 使用c++实现英文拼写检查,对照自定义字典进行检查。
RS编码和纠错算法,主要介绍了RS编码的原理和纠错算法
可以检查你的拼写错误,帮助你提高拼写效率
二维码RS数据纠错算法,C++版本,2016年11月最新调试 二维码解析软件很多,但RS数据纠错生成算法,网上C++版本的很少,共享出来,供大家下载!
中文文本纠错是针对中文文本拼写错误进行检测与纠正的一项工作,中文的文本纠错,应用场景很多,诸如输入法纠错、输入预测、ASR 后纠错等等,例如: 写作辅助:在内容写作平台上内嵌纠错模块,可在作者写作时自动...
BCH纠错编码算法 BCH纠错编码算法 BCH纠错编码算法
Python拼写校正 纠正拼写错误是现代写作中不可或缺的一部分,无论是发短信,发送电子邮件,编写大型文档或在... 相反,真实单词拼写检查涉及检测和纠正错误拼写,即使它们偶然导致了真实的英语单词(真实单词错误)。
这几天在翻旧代码时发现以前写的注释部分有很多单词拼写错误,这些单词错得不算离谱,应该可以用工具自动纠错绝大部分。用 Python 写个拼写检查脚本很容易,如果能很好利用 aspell/ispell 这些现成的小工具就更简单...
java是实现的快速单词检错程序,内部算法使用字典树匹配。 开发环境netbeans
英文单词拼写混淆集:spell-errors.txt
基于FLASH的ECC纠错算法,ECC原理,校验流程,结果分析
本次发布的是杰林码信道检错优化版本,提高了纠错效率,当前的demo是针对BPSK-AWGN信道的仿真纠错程序。根据王杰林发明的基础理论算法编写的程序,本代码是基于e=10的纠错demo。
介绍RS原理,计算过程,相关知识,结合RS(11,4)进行举例。
为解决视频图像在互联网中进行传输时,其质量易受网络丢包率、时延等因素的影响而显著降低的问题,提出了一种基于丢包率预测的视频传输纠错算法。该算法采用隐马尔可夫模型预测网络丢包率,根据丢包率的大小自适应地...
MPT1327纠错算法
近期做英文单词拼写检查时找到的相关资源,包括国内期刊网的论文(研究)及国外(英文)的实现原理说明。可供大家参考。
对数据通信过程中差错的概念、差错的产生以及差错的控制进行了深入的剖析研究和介绍,并提出了一种自动纠错的新算法
languagetool30多种语言的文本纠错,单词纠错,错误建议。xml规则化配置。
介绍一种RS编码及纠错算法,提供原理介绍及提供相关应用实例