java实现Google和Baidu的“您是不是要找”成果
当前位置:以往代写 > JAVA 教程 >java实现Google和Baidu的“您是不是要找”成果
2019-06-14

java实现Google和Baidu的“您是不是要找”成果

java实现Google和Baidu的“您是不是要找”成果

配景 :

在利用搜索引擎和电商的搜索成果时,各人必然碰着过这样的情景:我想搜索博客园,可不小心输成博客员了,不消担忧搜不到你想要的功效,因为成立在大数据上的搜索引擎会帮你自动纠错,就这个例子Google和Baidu返回给我的别离是:

显示以下查询字词的功效: 博客园 和  您要找的是不是: 博客园 ,他们都做到了自动纠错,关于自动纠错我之前也写过一篇陋文,其时是本身实现的N-Gram模子,可是结果不是太好,主要是针对差异的语料库算法的准确度是纷歧样的,我想换个算法试试看,今朝主流的计较串间的间隔(相反的,你也可以领略为相似度)是Levenshtein,当要实现时,发明lucene已经做了这个事,那咱就站在巨人的肩膀上生长吧。

引用包:

lucene-core-3.1.0.jar + lucene-spellchecker-3.1.0.jar,你可以在这里获得

利用示例:

在类SpellCorrector的main要领中插手以下代码

//建设目次
File dict = new File("");
Directory directory = FSDirectory.open(dict);
   
//实例化拼写查抄器 
SpellChecker sp = new SpellChecker(directory); 
   
//建设辞书
File dictionary = new File(SpellCorrecter.class.getResource("dictionary.txt").getFile());
   
//对辞书举办索引
sp.indexDictionary(new PlainTextDictionary(dictionary));
   
//有错别字的搜索
String search = "很是勿扰";
    
   
//发起个数,这里我只想要最靠近的那一个,你可以配置成此外数字,如3
// 查察本栏目
朱颜血泪
冰上火一般的豪情
在敌之手
驰风竞艇王第二部
钓金龟
潇湘路一号
戏里戏外第二季
草原狼爵士乐
拯救大兵瑞恩

好了,接下来就直接运行吧,见下图:

java实现Google和Baidu的“您是不是要找”成就

完整代码和字典在这里(限于事情原因,字典只保存部门影戏名称,你可以用你本身的语料库)

    关键字:

在线提交作业