2016-09-21 75 views
1

我是新来的NLP场景,并且正在使用OpenNLP 1.5入门。 https://opennlp.apache.org/documentation/manual/opennlp.html
(我使用命令行界面上手)自定义NER模型 - 失败

我以前已经提供的样品模型,使用不同的工具进行试验和:

我通过一些文件在这里给出的命令去最后决定创建一个定制NER型号

我遵循上述链接给出的指示。

复制给到.train文件样本句子(我简单地创建具有该扩展名的新文件,并粘贴内容到它):

<START:person> Pierre Vinken <END> , 61 years old , will join the board as a nonexecutive director Nov. 29 . 
Mr . <START:person> Vinken <END> is chairman of Elsevier N.V. , the Dutch publishing group . 

我用下面的命令来使模型:

bin/opennlp TokenNameFinderTrainer -model en-ner-person2.bin -lang en -data en-ner-person2.train -encoding UTF-8 

问题是,即使该模型正在创建,它似乎不能正常工作。使用新创建的模型进行测试: bin/opennlp TokenNameFinder en-ner-person2.bin

但是,当我输入Pierre Vinken时,它不会被识别为人。我也尝试从.txt文件创建具有完全相同内容的模型,但也失败了。

我在做什么错?

TIA。

+0

输入“Pierre Vinken”时会得到什么结果?你尝试过输入完整的句子吗? – NBartley

+0

@NBartley电流输出只是“Pierre Vinken”。我想' Pierre Vinken '。 –

+0

@NBartley我还没有试过完整的句子。当我用已有的样本模型试用Pierre Vinken时,我得到了预期的输出。 –

回答

4

总之 - 你不能期望统计模型学习只从两个句子。再加14,998,你很好走。

训练数据至少应包含15000个语句创建执行逢

CRF(条件随机场)的这种统计模型的模型,他们确实需要数据的大量图在游戏规则中,他们不是简单地“记住”他们在训练阶段看到的东西,所以即使你从裁判队伍中寻求什么东西 - 他们也不能提供答案。

+0

新手问题。这是为什么?除了机器学习过程之外,模型还能记住训练集中的单词吗? –

+0

CRF是最受欢迎的统计模型吗?初学者在哪里可以了解更多信息?还有哪些统计模型可用? –

+0

就是这样,因为你实际学习好模型的方式是通过复杂的统计分析,通常基于一些可区分的成本函数,“记忆”不是真的与这样一个范式兼容,仅仅是一种启发式,仅此而已。机器学习(特别是现代的)是关于远离启发式学习并试图学习所有东西,而不是假设人们更好地了解底层机制。如果你想了解更多 - 去coursera,有很多关于机器学习和/或NLP的课程。 – lejlot