如何使用OpenNLP根据类别标记文本?

时间:2014-02-05 05:50:26

标签: machine-learning nlp stanford-nlp opennlp text-classification

我想根据文章所属的类别标记文字...

例如......

“使用微芯片监控离合器和齿轮” - >离合/机械,齿轮/机械,微芯片/电子

“此处用于监测氢含量的软件” - >软件/计算机,氢/化学..

如何使用openNLP或其他NLP引擎执行此操作。

我的作品
我尝试了NER模型,但它需要大量的训练语料库,我没有?

我的需要

是否有任何现成的培训语料库可用于NER或分类(它必须包含科学和工程词)..?

1 个答案:

答案 0 :(得分:1)

如果要为整个句子创建一组类标签,那么您将需要使用Doccat lib。使用Doccat,您将获得每个文本块的概率分布。 使用doccat,您的样本将生成如下内容:

“使用微芯片监控离合器和齿轮” - >机械0.85847568,电子0.374658

使用doocat,你将失去keyword-> classlabel映射,所以如果你真的需要它,doccat可能不会削减它。

对于NER,OpenNLP有一个名为Modelbuilder-addon的插件可以帮助你。它旨在加快NER模型建立的创建。您可以根据需要为每个类别创建一个文件/列表,然后创建一组句子的文件,然后使用插件使用种子术语和句子文件创建NER模型。看到这篇文章,我之前用代码示例描述了它。你必须从SVN下载插件。

OpenNLP: foreign names does not get recognized