qinwf / jiebaR

Chinese text segmentation with R. R语言中文分词 (文档已更新 🎉 :https://qinwenfeng.com/jiebaR/ )

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

请问simhash为什么算出来是20位,如果是10进制就溢出了呀..

opened this issue · comments

因为提供的distance好像只能计算字符串之间的距离,可是我只想保留simhash然后自己写一个函数计算海明距离以节省时间和空间,结果发现上述问题,望指教。
顺便能不能添加利用海明距离的文本聚类功能呢?
感谢

commented

Hi,你好。

对于每一个关键词 hash 后得到的是一个 64 位无符号整形数。对这个数字进行整形运算,建议使用任意精度整形运算包的如 gmp,或者转到 C、C++ 运算。

library(gmp)
as.bigz("13133893567857586837")

默认返回的 simhash 是用十进制表示,如果需要二进制表示,可以使用 tobin() 函数转换为二进制表示。

距离计算已经是用 C++ 位运算算出来了,应该是很快的,如果有更快的方法,欢迎 PR 。

如果已经计算出来了距离,就可以选择不同的聚类方法,R 有很多不同的聚类方法和包可以选择。

抱歉是我搞错了,20位刚好,感谢您快速的回复和悉心的指导:)