天真的贝叶斯人使用“单词袋”方法进行主题检测
-
03-10-2019 - |
题
我正在尝试实施一种幼稚的贝西安方法,以找到给定文档或单词流的主题。我是否可以查找天真的贝叶斯方法?
另外,我正在尝试改进我的字典。最初,我有一堆映射到主题(硬编码)的单词。取决于出现已经映射的单词以外的其他单词。并根据这些词的出现,我想将它们添加到映射中,从而改善和学习将映射到主题的新单词。并改变单词的概率。
我应该怎么做?我的方法是正确的吗?
哪种编程语言最适合实施?
解决方案
天真贝叶斯的现有实施
您可能会只使用使用幼稚贝叶斯支持文档分类的现有软件包之一,例如:
Python - 使用基于Python的 自然语言工具包(NLTK), ,请参阅 文档分类 自由使用的部分 NLTK书.
红宝石 - 如果Ruby更多,您可以使用 分类器 宝石。这是检测到的示例代码 是家人的名言很有趣还是不笨拙.
珀尔 - Perl有 算法:: naivebayes 模块,包含包装中的示例使用片段 概要.
C# -C#程序员可以使用 nbayes. 。该项目的主页具有简单垃圾邮件/非垃圾邮件分类器的示例代码。
爪哇 - 爪哇人有 classifier4j. 。您可以看到培训和评分代码片段 这里.
来自关键字的引导分类
听起来您想从一组关键字开始 已知要提示某些主题 然后将这些关键字用于 引导分类器.
这是一个相当聪明的主意。看纸 通过引导使用关键字,EM和收缩来进行文本分类 McCallum和Nigam(1999)。通过遵循这种方法,他们能够通过仅使用硬编码的关键字来提高从45%获得的分类准确性,从而使用自举的幼稚贝叶斯分类器提高66%。对于他们的数据,后者接近人类的一致性,因为人们在72%的时间内相互同意文件标签。
不隶属于 StackOverflow