文本分类到类别

时间:2011-11-15 12:57:54

标签: machine-learning classification bayesian

我正在研究文本分类问题,我正在尝试将一组单词分类为类别,是的,有很多库可用于分类,所以如果您建议使用它们,请不要回答。

让我解释一下我想要实施的内容。 (以例如)

单词列表:

  1. 的java
  2. 编程
  3. 语言
  4. C-尖锐
  5. 类别列表。

    1. 的java
    2. C-尖锐
    3. 这里我们将训练该集,如:

      1. java映射到类别1. java
      2. 编程映射到类别1.java
      3. 编程地图到类别2.c-sharp
      4. 语言映射到类别1.java
      5. 语言映射到类别2.c-sharp
      6. c-sharp映射到类别2.c-sharp
      7. 现在我们有一个短语" 最好的java编程书" 从给定的短语后面的单词是我们的"单词列表的匹配。":

        1. 的java
        2. 编程
        3. "编程"有两个映射类别" java" &安培; " C-尖锐"所以这是一个常见的词。

          "的java"被映射到类别" java"仅

          所以我们这个短语的匹配类别是" java"

          这就是我想到的,这个解决方案是否合适,是否可以实施,您的建议是什么,我错过了什么,缺陷等等。

3 个答案:

答案 0 :(得分:4)

当然可以实施。如果你在正确的数据集上训练朴素贝叶斯分类器或线性SVM(我猜是Java和C#编程书籍的标题),它应该学习将术语“Java”与Java,“C#”和“.NET”联系起来与C# ,以及两者的“编程”。即,如果数据集被均匀分配,朴素贝叶斯分类器可能会学习Java或C#的大致均匀概率,如“编程”这样的常用术语。

答案 1 :(得分:2)

实现这一点的简单方法是使用直接的Lucene(或任何文本索引引擎)。使用所有“java”示例创建单个Lucene文档,使用“c#”示例创建另一个文档,并将两者都添加到索引中。要对新文档进行分类,或者对文档中的所有术语进行分类,并对索引执行查询,并获取分数最高的类别。

答案 2 :(得分:0)

如果可能,请阅读“编程集体智慧”一书中的“文档过滤”一章中的“A Naive Classifier”一节。虽然这些例子都是用Python编写的,但我希望你不会遇到太多麻烦。