我正在研究文本分类问题,我正在尝试将一组单词分类为类别,是的,有很多库可用于分类,所以如果您建议使用它们,请不要回答。
让我解释一下我想要实施的内容。 (以例如)
单词列表:
类别列表。
这里我们将训练该集,如:
现在我们有一个短语" 最好的java编程书" 从给定的短语后面的单词是我们的"单词列表的匹配。":
"编程"有两个映射类别" java" &安培; " C-尖锐"所以这是一个常见的词。
"的java"被映射到类别" java"仅
所以我们这个短语的匹配类别是" java"
这就是我想到的,这个解决方案是否合适,是否可以实施,您的建议是什么,我错过了什么,缺陷等等。
答案 0 :(得分:4)
当然可以实施。如果你在正确的数据集上训练朴素贝叶斯分类器或线性SVM(我猜是Java和C#编程书籍的标题),它应该学习将术语“Java”与Java,“C#”和“.NET”联系起来与C# ,以及两者的“编程”。即,如果数据集被均匀分配,朴素贝叶斯分类器可能会学习Java或C#的大致均匀概率,如“编程”这样的常用术语。
答案 1 :(得分:2)
实现这一点的简单方法是使用直接的Lucene(或任何文本索引引擎)。使用所有“java”示例创建单个Lucene文档,使用“c#”示例创建另一个文档,并将两者都添加到索引中。要对新文档进行分类,或者对文档中的所有术语进行分类,并对索引执行查询,并获取分数最高的类别。
答案 2 :(得分:0)
如果可能,请阅读“编程集体智慧”一书中的“文档过滤”一章中的“A Naive Classifier”一节。虽然这些例子都是用Python编写的,但我希望你不会遇到太多麻烦。