我正在尝试对几千个文档进行分类,每个文档有几行。我以前使用过常规的词袋,但这次想使用散列技巧,我无法理解实现。我的数据中大约有 8000 个唯一词,所以我认为 128*128 应该足够了
我主要使用这些来源:
http://blog.someben.com/2013/01/hashing-lang/ http://www.hpl.hp.com/techreports/2008/HPL-2008-91R1.pdf
这是我为每个文档生成特征向量的函数:
import mmh3
def add_doc(text):
text = str.split(text)
d_input = dict()
for word in text:
hashed_token = mmh3.hash(word) % 127
d_input[hashed_token] = d_input.setdefault(hashed_token, 0) + 1
return(d_input)
现在我一定是做错了什么,或者在某个地方不理解某些东西,因为似乎有大量的碰撞。任何帮助,将不胜感激