在 NLTK 中,使用朴素贝叶斯分类器,我从示例中知道使用“词袋”方法并查找一元或二元或两者都非常简单。你能用两组完全不同的功能做同样的事情吗?
例如,我可以使用 unigrams 和训练集的长度吗(我知道这已经在这里提到过一次)?但我更感兴趣的是出现在文档中的二元组和“二元组”或 POS 的组合?
这是否超出了基本 NLTK 分类器的能力?
谢谢亚历克斯
NLTK 分类器可以使用任何键值字典。我{"word": True}
用于文本分类,但您也可以使用{"contains(word)": 1}
来达到相同的效果。您还可以将许多功能组合在一起,这样您就可以拥有{"word": True, "something something": 1, "something else": "a"}
. 最重要的是您的功能是一致的,因此您始终拥有相同类型的键和一组固定的可能值。可以使用数值,但分类器对它们并不聪明——它将数字视为离散值,因此 99 和 100 与 1 和 100 一样不同。如果您希望以更智能的方式处理数字,那么我推荐使用 scikit-learn 分类器。