首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >使用stanford corenlp库标记单词和句子失败

使用stanford corenlp库标记单词和句子失败
EN

Stack Overflow用户
提问于 2016-01-29 14:58:21
回答 1查看 398关注 0票数 1
代码语言:javascript
复制
 //tagger
      MaxentTagger tagger = new MaxentTagger(args[0]);
      TokenizerFactory<CoreLabel> ptbTokenizerFactory = PTBTokenizer.factory(new CoreLabelTokenFactory(),
                                   "untokenizable=noneKeep");
      BufferedReader r = new BufferedReader(new InputStreamReader(new FileInputStream(args[1]), "utf-8"));
      PrintWriter pw = new PrintWriter(new OutputStreamWriter(System.out, "utf-8"));
      DocumentPreprocessor documentPreprocessor = new DocumentPreprocessor(r);
      documentPreprocessor.setTokenizerFactory(ptbTokenizerFactory);
      for (List<HasWord> sentence : documentPreprocessor) {
        List<TaggedWord> tSentence = tagger.tagSentence(sentence);
        pw.println(Sentence.listToString(tSentence, false));
      }

从C:\work\development\workspace\stanfordnlp\sample.txt读取POS机标记器模型时出现以下异常...

代码语言:javascript
复制
C:\work\development\workspace\stanfordnlp\sample.txtException in thread "main" edu.stanford.nlp.io.RuntimeIOException: Error while loading a tagger model (probably missing model file)
    at edu.stanford.nlp.tagger.maxent.MaxentTagger.readModelAndInit(MaxentTagger.java:869)
    at edu.stanford.nlp.tagger.maxent.MaxentTagger.readModelAndInit(MaxentTagger.java:767)
    at edu.stanford.nlp.tagger.maxent.MaxentTagger.<init>(MaxentTagger.java:298)
    at edu.stanford.nlp.tagger.maxent.MaxentTagger.<init>(MaxentTagger.java:263)
    at phoenix.TokenizerDemo.main(TokenizerDemo.java:42)
Caused by: java.io.StreamCorruptedException: invalid stream header: 416E6F74
    at java.io.ObjectInputStream.readStreamHeader(Unknown Source)
    at java.io.ObjectInputStream.<init>(Unknown Source)
    at edu.stanford.nlp.tagger.maxent.TaggerConfig.readConfig(TaggerConfig.java:748)
    at edu.stanford.nlp.tagger.maxent.MaxentTagger.readModelAndInit(MaxentTagger.java:804)
    ... 4 more
EN

回答 1

Stack Overflow用户

发布于 2016-01-30 13:50:43

日志应该清楚地指出问题所在:

正在从C:\work\development\workspace\stanfordnlp\sample.txt读取POS标记器模型的

...

您错误地实例化了MaxentTagger实例。如果向构造函数提供单个字符串参数,则该字符串将提供标记器模型文件的路径。

有关详细信息,请参阅documentation for MaxentTagger

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/35078604

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档