快速业务通道

用Java实现Google的“您是不是要找”功能 - 编程入门网

作者 佚名技术 来源 NET编程 浏览 发布时间 2012-06-15
 new SpellChecker(directory); //对词典进行索引 sp.indexDictionary(new PlainTextDictionary(new File("dictionary.txt"))); //“错误”的搜索 String search = "Arnold Swuazeneger"; //建议个数 final int suggestionNumber = 5; //获取建议的关键字 String[] suggestions = sp.suggestSimilar(search, suggestionNumber); //显示结果 System.out.println("Your Term:" + search); for (String word : suggestions) {   System.out.println("Did you mean:" + word); }  //再创建一个拼写错误的搜索 search = "bava"; suggestions = sp.suggestSimilar(search, suggestionNumber); System.out.println("Your Term:" + search); for (String word : suggestions) {   System.out.println("Did you mean:" + word); }

用Java实现Google的“您是不是要找”功能(3)

时间:2011-08-11 infoq 译:王丽娟

给定的dictionary.txt文件如下所示:

Seth MacFarlane Arnold Schwarzenegger Scarlett Johansson Rodrigo Santoro java lava bullet

程序的输出为:

Your Term: arnold swuazeneger Did you mean: Arnold Schwarzenegger Your Term: bava Did you mean: java Did you mean: lava Did you mean: bullet

Benchmarking测试

为了对性能有所了解,我们在具备以下配置的机器上将示例运行了十五次,取其平均值:

操作系统:Windows XP Professional SP3 处理器:Intel Core 2 Duo E6550 @2.33GHz 内存:1.96GB

测试

  测试编号 关键字长度 词典大小 精度 算法 索引时间 获得建议的时间
  T1 17 5 0,5 Levenshtein 73,0136214 25,036049
  T2 17 81000 0,5 Levenshtein 3402,293693 27,7293112
  T3 17 5 0,5 JaroWinkler 69,53269 24,232477
  T4 17 81000 0,5 JaroWinkler 3356,016059 26,287849
  T5 17 81000 0,5 NGram 3353,633583 26,580123
  T6 17 81000 0,9 Levenshtein 3325,310027 26,96378
  T7 17 81000 0,3 Levenshtein 3408,072786 24,723142
  T8 4 81000 0,67 Levenshtein 3328,584784 25,363586
  T9 28 81000 0,67 Levenshtein 3354,5943 31,284672

凌众科技专业提供服务器租用、服务器托管、企业邮局、虚拟主机等服务,公司网站:http://www.lingzhong.cn 为了给广大客户了解更多的技术信息,本技术文章收集来源于网络,凌众科技尊重文章作者的版权,如果有涉及你的版权有必要删除你的文章,请和我们联系。以上信息与文章正文是不可分割的一部分,如果您要转载本文章,请保留以上信息,谢谢!

分享到: 更多

Copyright ©1999-2011 厦门凌众科技有限公司 厦门优通互联科技开发有限公司 All rights reserved

地址(ADD):厦门软件园二期望海路63号701E(东南融通旁) 邮编(ZIP):361008

电话:0592-5908028 传真:0592-5908039 咨询信箱:web@lingzhong.cn 咨询OICQ:173723134

《中华人民共和国增值电信业务经营许可证》闽B2-20100024  ICP备案:闽ICP备05037997号