【发布时间】:2016-02-28 15:37:10
【问题描述】:
我正在使用GATE NLP 处理我的文档,并且我想使用实体名称作为候选标签
在 Gate 有OpenNLP 和LingPipe
当我阅读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();
但是,当我运行我的程序时,我遇到了这个异常
线程“主”gate.creole.ResourceInstantiationException 中的异常: 没有提供模型文件!在 gate.lingpipe.NamedEntityRecognizerPR.init(NamedEntityRecognizerPR.java:55) 在 gate.lingpipe.NamedEntityRecognizerPR.init(NamedEntityRecognizerPR.java:55)
没有提供模型文件是什么意思?? 抱歉,因为我在问这个问题,但我对这个领域完全陌生 我刚刚了解了 ANNIE,当我使用它来提取 POS 标记时它不需要任何文件 有什么帮助吗??
【问题讨论】:
-
NamedEntityRecognizer需要一个参数model。首先尝试在 GATE Developer (GUI) 中测试您的管道......但我没有成功让 LingPipe NamedEntityRecognizer 运行。似乎该插件在 GATE 8.1 中已损坏。也许也可以试试邮件列表。 -
是的,LingPipe 插件似乎坏了,它给我一个错误,虽然它在门文件 _ 中,但不存在 LingPipe ....我正在阅读关于地名词典使用它我希望找到一个java代码.....thanx @dedek
-
我不确定门插件是从哪里来的。它可能需要类路径上的 LingPipe 模型(在具有给定标签集的语料库上训练的编译命名实体识别器)。如果您可以查看 gate.lingpipeNamedEntityRecognizerPR 代码,它可能会指示它正在寻找的路径。然后你只需要把它放在类路径上。