我有大量的文档(主要是PDF和DOC格式),我想对它们进行分类,以便根据特定的标签进行搜索。这些标签可以是我自己添加的(我将标签添加到文档中),也可以是从文本中提取的。
我刚刚看到一个与此相关的帖子(使用Apache Mahout分类数据),但或许有更简单的解决方案。
回答:
Mahout对于你的问题可能过于复杂了——但你可以使用OpenNLP获得一个相当快速、简单的解决方案。
http://opennlp.sourceforge.net/api/index.html
具体来说,请查看opennlp.tools.doccat包。基本上,你需要手动为每个你想要的类别标记一小部分项目。如果这些类别非常不同,你可以使用较小的样本量。
你可以使用DocumentCategorizerME.train()静态函数来训练一组文档,每个文档需要一个类别标签和用于训练的文本块。然后,你可以用训练好的模型初始化DocumentCategorizerME,并开始对你剩余的所有文档进行分类。
一旦你完成了这个步骤,你可以(我认为)将模型写入文件中,这样你就不需要再次进行这个操作了。