使用OpenNLP POSTagger时,配置文件数据流的格式无效

时间:2014-02-12 05:16:06

标签: opennlp pos-tagger

我收到无效格式异常。我看到有人建议从tags.tagdict文件中删除en-pos-maxent.bin文件,但我不知道该怎么做。任何人都可以向我解释一下

    ava.io.FileInputStream inputStream2 = new java.io.FileInputStream("D://Documents/7090/opennlp-models/en-pos-maxent.bin");
    POSModel pModel = new POSModel(inputStream2);
    POSTaggerME posDetector = new POSTaggerME(pModel);

3 个答案:

答案 0 :(得分:1)

en-pos-maxent.bin文件重命名为en-pos-maxent.zip。 (如果您使用的是Windows,则可能需要取消隐藏文件扩展名。要执行此操作,请转到控制面板 - >外观和个性化,然后单击"文件夹选项。"在视图选项卡中查找"隐藏已知文件类型的扩展名"并取消选中该框。)

其中有3个文件,它们是:

  1. manifest.properties
  2. pos.model
  3. tags.tagdict
  4. 我看过一篇建议用户删除tags.tagdict的帖子,但没有任何理由支持它。我也试过这个,不幸的是它没有用。

答案 1 :(得分:1)

尝试使用此代码,en_pos_maxent.bin

不做任何更改
System.setProperty("org.xml.sax.driver", "org.xmlpull.v1.sax2.Driver");
try { 
    AssetFileDescriptor fileDescriptor = 
    context.getAssets().openFd("en_pos_maxent.bin"); 
    FileInputStream inputStream = fileDescriptor.createInputStream();
    POSModel posModel = new POSModel(inputStream);
    posTaggerME = new POSTaggerME(posModel);
} catch (Exception e) {}

答案 2 :(得分:0)

en-pos-maxent.bin只是一个ZIP文件,因此您可以将其压缩并在没有该文件的情况下重新压缩。