Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/algorithm/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C++ 基于文本的指纹不同距离计算算法_C++_Algorithm_Text_Hash_Fingerprinting - Fatal编程技术网

C++ 基于文本的指纹不同距离计算算法

C++ 基于文本的指纹不同距离计算算法,c++,algorithm,text,hash,fingerprinting,C++,Algorithm,Text,Hash,Fingerprinting,因此,我有大量的.txt文件(数GB),我希望能够组织它们,并找到一些方法来查找几乎重复的文件和编辑 是否有一种算法可以读取文本文件,并生成一种散列或文本指纹,这样一个文本块的编辑或添加次数越多,其汉明距离距离给定的指纹/散列越远? 例如:给定任意长度的文本,我可以生成一个长度为N的值。可用于检查其他文本文档之间的相似性 所以:对于N=8 "Some text bla bla bla bla bla ext." => "21juob1G" "Other text of differen

因此,我有大量的.txt文件(数GB),我希望能够组织它们,并找到一些方法来查找几乎重复的文件和编辑

是否有一种算法可以读取文本文件,并生成一种散列或文本指纹,这样一个文本块的编辑或添加次数越多,其汉明距离距离给定的指纹/散列越远?

例如:给定任意长度的文本,我可以生成一个长度为N的值。可用于检查其他文本文档之间的相似性

所以:对于N=8

"Some text bla bla bla bla bla ext."   => "21juob1G"
"Other text of different length"       => "fejbweoi"
"Close text bla bla bla bla bla ext."  => "f2juob1G"
在例1和例3之间,输出非常相似,我可以计算汉明距离并确定给定的文本非常相似

<强>试图在C++中构建这个。这是否存在?

我研究了剽窃算法,并看到了一些前景,但我找不到任何一个有好的例子或算法描述可以复制的

我目前的方法是,从给定的文本中去掉所有非字符,将其分成32个大小相等的块,然后将所有字母的总和计算为数字,然后将结果转换为单个字节的sigmoid。但我得到的结果是。。。太相似了。

一般来说,尼尔西玛可能与此相关参见:一般来说,尼尔西玛可能与此相关参见:和