使用Core NLP和Stanford Parser进行词性标注的结果不同?

3
Stanford Parser 和 Stanford CoreNlp 使用的词性(POS)模型不同,这就是为什么通过Stanford Parser和CoreNlp执行的POS标记输出存在差异的原因。
  • Online Core NLP 输出
    • The/DT man/NN is/VBZ smoking/NN ./.
    • A/DT woman/NN rides/NNS a/DT horse/NN ./.
  • Online Stanford Parser 输出
    • The/DT man/NN is/VBZ smoking/VBG ./.
    • A/DT woman/NN rides/VBZ a/DT horse/NN ./。 类似的更多句子

是否有比较两个模型并对差异进行其他详细说明的文档?

看起来 corenlp 的输出在这些情况下是错误的。除了我在误差分析期间检查过的几个句子外,我猜测可能会有很多类似的情况,在这些情况下这种错误可能会发生。

1个回答

5

这不是关于CoreNLP的问题,而是关于您是否使用斯坦福POS标记器或斯坦福解析器(PCFG解析器)进行POS标记。 (PCFG解析器通常作为其解析算法的一部分进行POS标记,尽管它也可以使用其他位置给出的POS标记。)两者有时会犯错误。 平均而言,POS标记器比解析器稍微好一些。 但是,有时候解析器胜出,特别是在涉及整合从句水平信息的标记决策时,它似乎更擅长。 不管怎样,它正确地处理了这两个例子-虽然我打赌你也能找到一些反过来的例子。

如果您想在CoreNLP中使用PCFG解析器进行POS标记,请简单省略POS标记器,并将解析器移至较早的位置,以便词形还原器和基于正则表达式的NER可用POS标记:

java -mx3g -cp "*" edu.stanford.nlp.pipeline.StanfordCoreNLP -annotators tokenize,ssplit,parse,lemma,ner,dcoref -file test.txt

然而,我们的其他一些解析器(NN依存解析器、SR成分解析器)需要先进行词性标注。


感谢您的解释和详细说明。我尝试在CoreNLP中使用PCFG解析器进行词性标注,效果很好。 - Piyush
平均而言,POS标注器比解析器稍微好一些:我们如何根据我们的语料库来决定使用哪一个?一种可能性是:如果对于一个句子可以正确地进行解析,如果它是简短的句子,那么最好使用解析器,因为它能够查看上下文和其他信息,正如您所提到的“解析器在标记决策中涉及整合从属级别信息方面更加优秀”。 - Piyush

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接