使用 Weka 进行文本分类

Posted

技术标签:

【中文标题】使用 Weka 进行文本分类【英文标题】:Text classification using Weka 【发布时间】:2014-04-30 12:39:46 【问题描述】:

我是 Weka 的初学者,我正在尝试将其用于文本分类。我已经看到如何使用 StringToWordVector 过滤器进行分类。我的问题是,有没有办法为我正在分类的文本添加更多功能?例如,如果我想在文本中添加词性标签和命名实体标签,我将如何在分类器中使用这些功能?

【问题讨论】:

【参考方案1】:

这取决于数据集的格式和您执行的预处理步骤。例如,让我们假设您已经对文本进行了预先 POS 标记,如下所示:

The_det dog_n barks_v ._p

因此您可以构建一个特定的标记器(请参阅weka.core.tokenizers)来为每个单词生成两个标记,一个是“The”,另一个是“The_det”,这样您就可以保留标签信息。

如果您只想要标记的单词,那么您只需确保“_”不是weka.core.tokenizers.WordTokenizer 中的分隔符。

我的建议是同时拥有单词和标记的单词,因此更简单的方法是编写一个脚本来连接文本和标记的文本。从包含“The dog barks”和另一个包含“The_det dog_n barks_v ._p”的文件中,它将生成一个带有“The_det dog dog_n barks barks_v ._p”的文件。除非您打算使用 n-gram,否则您甚至可能会忘记顺序。

【讨论】:

以上是关于使用 Weka 进行文本分类的主要内容,如果未能解决你的问题,请参考以下文章

weka 3.7 explorer 无法对文本进行分类

使用 Weka 进行文本分类

在java中使用朴素贝叶斯(weka)进行简单的文本分类

关于使用独立数据集通过 weka 验证文本分类的问题

Java中使用Weka的基本文本分类

在 Java 中构建/运行流式 Weka 文本分类器