如何实现python中的单词特征哈希?

时间:2013-02-16 23:07:22

标签: python hash machine-learning nlp

我正在尝试对几千个文档进行分类,每个文档都有几行。我之前使用过常规词汇,但是这次想要使用哈希技巧,我无法理解实现。我的数据中有大约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)

现在我必须做错事,或者不要在某处理解某事,因为似乎存在大量的碰撞。任何帮助将不胜感激

1 个答案:

答案 0 :(得分:0)

您不应该通过%127修改哈希值,这将只生成127个可能的输出,而您似乎想要根据您的8000个唯一字词推理获得128 ^ 2个可能的输出。