UIMA Ruta使用DKProCore词性标注器运行错误(德语小说教程)

时间:2017-05-11 07:09:58

标签: nlp uima ruta treetagger dkpro-core

在逐步关注德国小说的UIMA Ruta的this教程时,运行Main.ruta时出现以下错误:

*SEVERE: Exception occurred
org.apache.uima.analysis_engine.AnalysisEngineProcessException
(...)
Caused by: java.io.IOException: Unable to locate model [de] in the 
following locations 
[classpath:/de/tudarmstadt/ukp/dkpro/core/treetagger/lib/tagger-de-
little-endian.par].  Make sure the environment variable 
'TREETAGGER_HOME' or 'TAGDIR' or the system property 'treetagger.home' 
point to the TreeTagger installation directory.*

我已经验证了我的TREETAGGER_HOME的位置,它在我的环境变量和Eclipse中设置。我还考虑使用更近期的treetagger verison并发现以下错误:

1.7.0     严重:发生了异常     org.apache.uima.analysis_engine.AnalysisEngineProcessException:     注释器处理失败。     (......)     引起:java.lang.ClassNotFoundException:     de.tudarmstadt.ukp.dkpro.core.api.parameter.Messages     at java.net.URLClassLoader.findClass(Unknown Source)     at java.lang.ClassLoader.loadClass(Unknown Source)     at sun.misc.Launcher $ AppClassLoader.loadClass(Unknown Source)     at java.lang.ClassLoader.loadClass(Unknown Source)     ......还有43个

1.8.0     严重:发生了异常     org.apache.uima.analysis_engine.AnalysisEngineProcessException:     “不支持的语言[de]。”     在de.tudarmstadt.uk     (......)     引起:java.io.IOException:无法加载资源     [类路径:/ DE / tudarmstadt / UKP / dkpro /型芯/ treetagger / LIB /标记器-脱     le.properties]:     FileNotFoundException:找不到文件     [类路径:/ DE / tudarmstadt / UKP / dkpro /型芯/ treetagger / LIB /标记器-脱     le.properties]

在上一次尝试中看到错误后,我再次检查了德语的语言参数,这些参数以必要的格式出现。 关于如何解决这个问题的任何建议?

1 个答案:

答案 0 :(得分:1)

问题是,TreeTagger的许可证禁止通过Maven Central分发它。

这是一个很长的答案,其中包括如何在本地构建和安装TreeTagger模型。你可以看看,例如在Excitement项目提供的说明here,该项目也使用DKPro Core。

我建议您尝试使用其他标记器而不是TreeTagger,例如来自DKPro Core的OpenNlpPosTagger。而不是pom.xml文件中的de.tudarmstadt.ukp.dkpro.core.treetagger-asl使用de.tudarmstadt.ukp.dkpro.core.opennlp-asl

<dependency>
  <groupId>de.tudarmstadt.ukp.dkpro.core</groupId>
  <artifactId>de.tudarmstadt.ukp.dkpro.core.opennlp-asl</artifactId>
  <version>1.5.0</version>
</dependency>

在POSTag.ruta脚本中,尝试使用以下代码替换TreeTaggerPosLemmaTT4J的import / exec:

UIMAFIT de.tudarmstadt.ukp.dkpro.core.opennlp.OpenNlpPosTagger;
...snip...
Document{-> EXEC(OpenNlpPosTagger, {pos.POS, Lemma})}:

警告:我没有尝试过这个;)

免责声明:我正在开发DKPro Core。