我正在尝试实现一种天真的bayseian方法来查找给定文档或单词流的主题.是否有朴素贝叶斯方法,我可以找到这个?
此外,我正在尝试改进我的字典,因为我继续.最初,我有一堆映射到主题的单词(硬编码).取决于已映射的单词以外的单词的出现次数.根据这些单词的出现,我想将它们添加到映射中,从而改进和学习映射到主题的新单词.并且还改变了单词的概率.
我该怎么做呢?我的方法是正确的吗?
哪种编程语言最适合实现?
朴素贝叶斯的现有实现
你可能最好只使用一个支持使用朴素贝叶斯进行文档分类的现有软件包,例如:
Python - 要使用基于Python的自然语言工具包(NLTK)执行此操作,请参阅免费提供的NLTK书籍中的" 文档分类"部分.
Ruby - 如果Ruby更像是你的东西,你可以使用Classifier gem.这是一个示例代码,用于检测Family Guy引用是否有趣或有趣.
Perl - Perl具有Algorithm :: NaiveBayes模块,在包概要中包含示例用法片段.
C# - C#程序员可以使用nBayes.该项目的主页包含简单垃圾邮件/非垃圾邮件分类器的示例代码.
Java - Java人员有Classifier4J.您可以在此处查看培训和评分代码段.
从关键字引导分类
听起来你想要从一组已知可以提示某些主题的关键字开始,然后使用这些关键字来引导分类器.
这是一个相当聪明的想法.通过McCallum和Nigam(1999)通过Bootstrapping with Keywords,EM和Shrinkage来看看文本分类.通过遵循这种方法,他们能够将分类准确度从单独使用硬编码关键字获得的45%提高到使用自举Naive Bayes分类器获得的66%.对于他们的数据,后者接近人类的协议水平,因为人们在72%的时间内就文档标签彼此达成一致.