相似性排重
iteye_3084
这个作者很懒,什么都没留下…
展开
-
总体结构
基于字符串匹配的相似性排重 除去上下两个接口,剩下的部分大体分为四块: 预处理、生成散列值、提取特征值、相似度计算 一 预处理 输入:带有汉字、字母、数字、符号等的txt文件 输出:只含有数字编码的LinkedList 二 生成散列值 输入:只含有数字编码的LinkedList 输出:只含有散列值的LinkedList 三 提取特征值 输入:只含有散列值的Linke...原创 2011-06-20 22:29:46 · 93 阅读 · 0 评论 -
预处理
输入:汉字、字母、数字、符号混杂的txt文件 输出:只含有数字编码的LinkedList 汉字通过自己定义的一个常用汉字(2500个)映射表来进行替换 字母、数字、符号直接用它们的ASCII码来替换 空格去掉 无法识别的字符和汉字可以直接舍弃 所以,程序运行后,需要先生成一个2500大小的HashMap...原创 2011-06-21 15:00:25 · 72 阅读 · 0 评论 -
生成散列值
输入:只含有数字编码的ArrayList 输出:只含有映射编码的ArrayList 采用K-gram方法进行分块,相邻两个块有k-1个重复元素。然后将每k个元素进行hash映射。存入ArrayList(输入的那个就行) 哈希函数: 对于串:P = p1p2p3...pm 其中 s 是字符集合大小 这里s=2500 m根据java的long类型的大小,最大为5(还要乘P1,...原创 2011-06-27 17:26:38 · 349 阅读 · 0 评论 -
提取特征值
输入:只含有映射编码的ArrayList 输出:只含有特征值的ArrayList(明显变小) 定义一个窗口长度w,把散列值序列分配在若干个内容互相重叠窗口中,每相邻的两个窗口中有w-1 个散列值是完全重叠的。在确保不和前一个提取出的特征发生冲突的情况下,在当前窗口中选择最小的散列值作为文本特征。...原创 2011-06-27 22:29:43 · 568 阅读 · 0 评论