OpenNLP 在使用泰语模型时出错

Posted

技术标签:

【中文标题】OpenNLP 在使用泰语模型时出错【英文标题】:OpenNLP gives error when using Thai model 【发布时间】:2018-07-23 07:14:59 【问题描述】:

我尝试按照here 的建议进行操作,但出现此错误:

C:\OpenNLP_models\tool\apache-opennlp-1.5.3-bin\apache-opennlp-1.5.3\bin>opennlp TokenizerME C:\OpenNLP_models\tool\apache-opennlp-1.5.3-bin\apache-opennlp-1.5.3\bin\thai.tok.bin < test.txt

Loading Tokenizer model ... Exception in thread "main" java.lang.NullPointerException
    at opennlp.tools.util.model.BaseModel.getManifestProperty(BaseModel.java:491)
    at opennlp.tools.util.model.BaseModel.initializeFactory(BaseModel.java:245)
    at opennlp.tools.util.model.BaseModel.loadModel(BaseModel.java:237)
    at opennlp.tools.util.model.BaseModel.<init>(BaseModel.java:181)
    at opennlp.tools.tokenize.TokenizerModel.<init>(TokenizerModel.java:125)
    at opennlp.tools.cmdline.tokenizer.TokenizerModelLoader.loadModel(TokenizerModelLoader.java:39)
    at opennlp.tools.cmdline.tokenizer.TokenizerModelLoader.loadModel(TokenizerModelLoader.java:31)
    at opennlp.tools.cmdline.ModelLoader.load(ModelLoader.java:62)
    at opennlp.tools.cmdline.tokenizer.TokenizerMETool.run(TokenizerMETool.java:41)
    at opennlp.tools.cmdline.CLI.main(CLI.java:225)

test.txt 文件包含句子“ผมหิวข้าว”。

谁能告诉我如何解决它?我想使用 POSTagger。 谢谢。

【问题讨论】:

请复制粘贴您的错误信息,请勿将其作为屏幕截图发布... 很抱歉这样做。我刚刚编辑了它。 【参考方案1】:

我认为您缺少 manifest.properties 文件。您能否解压缩thai.tok.bin 文件并检查它是否包含这些文件:

    token.model(二进制分词器模型) manifest.properties(配置)

manifest.properties 的内容应该是这样的,取自您链接到的问题:

Manifest-Version=1.0.
Language=th
OpenNLP-Version=1.5.0
Component-Name=TokenizerME
useAlphaNumericOptimization=false

【讨论】:

我的 manifest.properties 文件与您发布的一样,但我遇到了同样的错误。 对不起,不知道。 对不起我的错误。您的解决方案很实用,但我定义了错误的 manifest.properties 文件扩展名。谢谢。 我能再问你一些问题吗?我遇到了一个新问题,即结果似乎没有编码为 utf-8 "à¸?ินà¸à¸°à¹„รยังภ™à¸²à¸¢”。你知道我该如何解决吗? 听起来像是语言环境问题。如果键入locale,LANG 和 LC_ALL 的值是多少? (另外,你用的是Cygwin吗?我对Windows不太了解……)

以上是关于OpenNLP 在使用泰语模型时出错的主要内容,如果未能解决你的问题,请参考以下文章

如何在 OpenNLP 中创建一个好的 NER 训练模型?

使用 OpenNLP 进行情绪分析

使用opennlp进行文档分类

使用opennlp进行依存句法分析

使用opennlp进行依存句法分析

OpenNLP中关于语言检测的语料训练