关于SimHash算法的实现及测试V1.0
@祁俊辉,2017年5月21日测试。 1 说明 本程序是简化版的SimHash算法(分词暂为手动分词,每个词的权重都设为1); 本程序是基于《数学之美 》第二版第16章所介绍的原理展开; 本篇文章将计算多个字符串的SimHash值,并将对其分析; 本篇文章暂不介绍SimHash算法的原理,因为网上的资源相对较杂,待我彻底理解,整理过后更新(已在笔记本中); 本篇文章(程序)将持续更新。 2 程序(32位) 关于程序的解释,都在程序源码中有相应的注释。若有不明白之处,请联系本人:qce.hui@qq.com。 1 /* 【算法】SimHash->32位 2 * 【说明】1.本程序手动分词,假设每个词的权重都为1 3 * 【说明】2.对每个词进行BKDRHash算法,在此基础上加减权重 4 * 【说明】3.将所有词整合后,降维 5 * 【说明】4.计算各个句子的海明距离 6 * 【时间】祁俊辉->2017.5.19 7 * */ 8 public class SimHash_32 { 9 // 定义待比较的字符串 10 static String s1="SimHash/算法/的/研究" ; 11 static String s2="SimHash/算法/的/探讨" ; 12 static String s3="SimHash/研究/的/算法" ; 13 static String