首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >斯坦福CorpNLP返回错误结果

斯坦福CorpNLP返回错误结果
EN

Stack Overflow用户
提问于 2015-02-23 16:46:18
回答 1查看 488关注 0票数 0

我正在试着用斯坦福大学的柠檬化来跟进的问题。我的环境是:-

  • Java 1.7
  • 月食3.4.0
  • StandfordCoreNLP版本3.4.1 (从这里下载)。

我的代码片段是:-

代码语言:javascript
复制
//...........lemmatization starts........................

    Properties props = new Properties(); 
    props.put("annotators", "tokenize, ssplit, pos, lemma"); 
    StanfordCoreNLP pipeline = new StanfordCoreNLP(props, false);
    String text = "painting"; 
    Annotation document = pipeline.process(text);  

    List<edu.stanford.nlp.util.CoreMap> sentences = document.get(SentencesAnnotation.class);

    for(edu.stanford.nlp.util.CoreMap sentence: sentences) 

    {    
        for(CoreLabel token: sentence.get(TokensAnnotation.class))
        {       
            String word = token.get(TextAnnotation.class);      
            String lemma = token.get(LemmaAnnotation.class); 
            System.out.println("lemmatized version :" + lemma);
        }
    }

    //...........lemmatization ends.........................

我得到的输出是:-

代码语言:javascript
复制
lemmatized version :painting

我期待的地方

代码语言:javascript
复制
lemmatized version :paint

请指点我。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2015-02-23 18:58:30

这个例子中的问题是,“绘画”这个词可以是“要画”或“名词”的现在分词,而狐猴的输出取决于分配给原始单词的词性部分标记。

如果只在片段绘制上运行标签,那么就没有上下文可以帮助标记者(或人类)决定如何标记单词。在这种情况下,它选择了标签NN和引理的名词绘画实际上是绘画。

如果你用“我在画一朵花”这句话来运行相同的代码。标记者应该正确地将绘画标记为VBG,而狐猴应该返回油漆。

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

https://stackoverflow.com/questions/28678811

复制
相关文章

相似问题

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