我正在尝试使用朴素贝叶斯文本分类器。我已经在代码中创建了一个单词方法。在我的文档中,我注意到许多特定于某些分类的特征。这些功能的示例包括文档是否包含位置,日期或名称。这些都是布尔值,可以在文本分类之前确定。还有其他功能,例如第一个单词等。
我理解基本的朴素贝叶斯方法。但未能找到有关在分类器中合并这些功能的信息。
我的问题是,是否可以将上面提到的功能包含在内容中?如果有这样的例子,我可以遵循。如果情况不是这样,你会推荐什么?
谢谢
答案 0 :(得分:3)
在Naive Bayes框架中,没有什么可以阻止您添加不基于词袋表示的其他功能。假设你有一个基于你的词袋特征的类似然p(document | class_1)= l_1。您有理由相信某些二元功能b_1和b_2也有助于分类(这些功能可以分别包含日期和时间,以使示例具体化)。
您估计概率p(b_1 = 1 | class_1)=(1级中的文档数量,b_1 = 1)/(类1中的#of文档)--- p(b_1 = 0 | class_1)= 1 - p(b_1 = 1 | class_1)。对于类2执行相同的操作,对于两个类执行功能b_2。现在将这些功能添加到分类规则中特别简单,因为Naive Bayes只是假设功能独立性。所以:
p(class_1 | document)\ propto p(class_1)x l_1 x p(b_1 | class_1)x p(b_2 | class_1)
其中l_1表示与之前相同(基于BOW特征的可能性),对于p(b_i | class_1)项,您使用p(b_i = 1 | class_1)或p(b_i = 0 | class_1)项取决于b_i的实际值是多少。这可以以相同的方式扩展到非二进制功能,并且您可以继续添加内容(尽管您应该知道您在功能之间假设独立,并且您可能希望切换到不做出此假设的分类器。)