基于自定义功能的文本分类

时间:2013-06-12 13:06:15

标签: java opennlp

我需要开发自定义文本分类解决方案,该解决方案不使用输入文本作为一组功能,而是使用一些派生参数,例如文本中的URL数量,表示不同语音部分的单词数量,平均字长等等(假设我们能够在给定输入文档的情况下导出一组特征)。

最初我考虑使用OpenNLP为我做分类(通过DocumentCategorizerME),但是我认为它只使用文本字符串作为可能的功能,并且不可能使用非谨慎的功能(例如代表的浮点数)平均字长。)

所以问题是:

  1. 我错过了什么吗?实际上是否可以调整OpenNLP以将其与整数或浮点功能一起用于分类
  2. 如果不是,我应该使用什么建议的库/工具包?

2 个答案:

答案 0 :(得分:1)

您应该尝试Mallet使用自己的功能训练自己的分类器。 Here是一个帮助您入门的教程。

答案 1 :(得分:0)

如果您像我一样从Google露面,您可能会注意到OpenNLP在classify方法中有一个extraInformation参数。不幸的是,它完全是not used :(

这意味着Renaud提出的建议也许是最好的选择。

或者,如果您必须使用OpenNLP,则可以通过在数据中仅包含一个新单词(包括训练和预测)来包括新功能。如:XAverageWordLengthX。我并不是说这是一个很好的解决方案,但可以帮助您的算法。