使用LingPipe在Gate中命名实体识别

时间:2016-02-28 15:37:10

标签: java nlp gate lingpipe

我正在使用GATE NLP处理我的文档,我想使用实体名称作为标记候选 在Gate中有OpenNLPLingPipe 当我读到答案表here @Shashikant Kore回答他说

  

如果你有句子“我的朋友乔史密斯去了沃尔玛   store“,OpenNLP识别两个命名实体 - ”Joe Smith“和   “沃尔玛”。我无法将它标记为“Joe Smith”作为Person和“Walmart”   作为组织。

并建议使用LingPipe,因此我使用了Gate NLP中提供的LingPipe 喜欢这里

SerialAnalyserController pipeline = (SerialAnalyserController) Factory.createResource("gate.creole.SerialAnalyserController");
        pipeline.add((ProcessingResource) Factory.createResource("gate.lingpipe.TokenizerPR"));
        pipeline.add((ProcessingResource) Factory.createResource("gate.lingpipe.NamedEntityRecognizerPR"));
        pipeline.add((ProcessingResource) Factory.createResource("gate.lingpipe.POSTaggerPR"));
        pipeline.add((ProcessingResource) Factory.createResource("gate.lingpipe.SentenceSplitterPR"));
        Corpus corpus = Factory.newCorpus("SegmenterCorpus");
        Document document = Factory.newDocument(handler.toString());
        corpus.add(document); 
        pipeline.setCorpus(corpus); 
        pipeline.execute();

然而,当我运行我的程序时,我有这个例外

  

线程“main”gate.creole.ResourceInstantiationException中的异常:   没有提供模型文件!在   gate.lingpipe.NamedEntityRecognizerPR.init(NamedEntityRecognizerPR.java:55)at   gate.lingpipe.NamedEntityRecognizerPR.init(NamedEntityRecognizerPR.java:55)

是什么意思没有提供模型文件? 抱歉,因为我问这个问题,但我对这个领域完全不熟悉 我只是学习了ANNIE,当我用它来提取POS标签时它不需要任何文件 任何帮助?

1 个答案:

答案 0 :(得分:2)

最后它对我有用。

我试过File - > Ready Made Applications - > LingPipe - > GATE GUI中的LingPipe IE System。它已被加载好了。

工作模型是: $gatehome$plugins/LingPipe/resources/models/ne-en-news-muc6.AbstractCharLmRescoringChunker

gate.lingpipe.NamedEntityRecognizerPR的完整相关配置为:

...    
<string>modelFileUrl</string>
<gate.util.persistence.PersistenceManager-URLHolder>
  <urlString>$gatehome$plugins/LingPipe/resources/models/ne-en-news-muc6.AbstractCharLmRescoringChunker</urlString>
</gate.util.persistence.PersistenceManager-URLHolder>
...

GATE screen clip