OpenNLP NameFinder 自定义特征生成
OpenNLP NameFinder Custom Feature generation
我想训练自己的模型用于 OpenNLP NameFinder
。
搜索了很多,终于想出了一个训练模型的工作代码,但它并不准确。文档还说你需要 15000 个句子才能有一个准确的模型。
所以你每次都需要有 15000 个有良好上下文和名字的句子 <START> <END>
。为此,您将不得不花费数小时
days/months 写 .txt file.
我做了一些进一步的搜索来训练一个模型,而不是你自己写的,然后就开始了 Custom Feature generation of OpenNLP
。
http://opennlp.apache.org/docs/1.8.1/manual/opennlp.html#tools.namefind.training.tool
但它并没有说明如何使用它。文档给出了这个:
AdaptiveFeatureGenerator featureGenerator = new CachedFeatureGenerator(
new AdaptiveFeatureGenerator[]{
new WindowFeatureGenerator(new TokenFeatureGenerator(), 2, 2),
new WindowFeatureGenerator(new TokenClassFeatureGenerator(true), 2, 2),
new OutcomePriorFeatureGenerator(),
new PreviousMapFeatureGenerator(),
new BigramNameFeatureGenerator(),
new SentenceFeatureGenerator(true, false)
});
有人知道怎么用吗?或者更好的是,是否有人已经成功地为 OpenNLP NER
训练了自己的模型而无需自己输入数据集?
提前致谢。
您仍然需要带注释的训练文本。在训练期间使用特征生成器来创建更好的模型。不幸的是,带注释的训练文本无可替代。
我想训练自己的模型用于 OpenNLP NameFinder
。
搜索了很多,终于想出了一个训练模型的工作代码,但它并不准确。文档还说你需要 15000 个句子才能有一个准确的模型。
所以你每次都需要有 15000 个有良好上下文和名字的句子 <START> <END>
。为此,您将不得不花费数小时
days/months 写 .txt file.
我做了一些进一步的搜索来训练一个模型,而不是你自己写的,然后就开始了 Custom Feature generation of OpenNLP
。
http://opennlp.apache.org/docs/1.8.1/manual/opennlp.html#tools.namefind.training.tool
但它并没有说明如何使用它。文档给出了这个:
AdaptiveFeatureGenerator featureGenerator = new CachedFeatureGenerator(
new AdaptiveFeatureGenerator[]{
new WindowFeatureGenerator(new TokenFeatureGenerator(), 2, 2),
new WindowFeatureGenerator(new TokenClassFeatureGenerator(true), 2, 2),
new OutcomePriorFeatureGenerator(),
new PreviousMapFeatureGenerator(),
new BigramNameFeatureGenerator(),
new SentenceFeatureGenerator(true, false)
});
有人知道怎么用吗?或者更好的是,是否有人已经成功地为 OpenNLP NER
训练了自己的模型而无需自己输入数据集?
提前致谢。
您仍然需要带注释的训练文本。在训练期间使用特征生成器来创建更好的模型。不幸的是,带注释的训练文本无可替代。