Skip to content
中文文档simhash值计算
Branch: master
Clone or download
Latest commit 094a5bd Oct 5, 2018
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
deps upgrade cppjieba to v4.5.3 Mar 22, 2016
dict update cppjieba to adapter lower version Mar 27, 2014
example add new directory: `deps` for `cppjieba` and `limonp` Feb 19, 2016
include/simhash Simhasher::isEqual Optimized. Apr 8, 2017
test update unittest Mar 22, 2016
.gitignore
.travis.yml
CMakeLists.txt
ChangeLog.md
README.md
README_EN.md

README.md

专门针对中文文档的simhash算法库 English

Build Status Platform Author License

logo

简介

此项目用来对中文文档计算出对应的 simhash 值。 simhash 是谷歌用来进行文本去重的算法,现在广泛应用在文本处理中。

详见simhash算法原理及实现

特性

  • 使用 CppJieba 作为分词器和关键词抽取器
  • 使用 jenkins 作为 hash 函数
  • hpp 风格,所有源码都是 .hpp 文件里面,方便使用。 没有链接,就没有伤害。
  • 本项目的副产品项目:simhash_server 提供了简单的 simhash HTTP 服务。

依赖

  • g++ (version >= 4.1 recommended), or clang++ .

用法

mkdir build
cd build
cmake ..
make

测试

make test

演示

./demo

结果如下:

文本:"我是蓝翔技工拖拉机学院手扶拖拉机专业的。不用多久,我就会升职加薪,当上总经理,出任CEO,走上人生巅峰。"
关键词序列是: ["蓝翔:11.7392", "CEO:11.7392", "升职:10.8562", "加薪:10.6426", "手扶拖拉机:10.0089"]
simhash值是: 17831459094038722629
100010110110和110001110011 simhash值的相等判断如下:
海明距离阈值默认设置为3,则isEqual结果为:0
海明距离阈值默认设置为5,则isEqual结果为:1

详情请看 example/demo.cpp

客服

  • Email: i@yanyiwu.com
  • QQ: 64162451

image

You can’t perform that action at this time.