使用Core NLP和Stanford Parser执行部分语音标记的结果不同?

时间:2015-03-11 14:36:37

标签: stanford-nlp part-of-speech

Stanford解析器和Stanford CoreNlp的词性(POS)模型 用途不同,这就是为什么通过Stanford Parser和CoreNlp执行的POS标记输出存在差异。

  • 在线核心NLP输出
    • / DT man / NN是/ VBZ吸烟/ NN ./.
    • A / DT女/ NN骑/ NNS a / DT horse / NN ./.
  • 在线斯坦福分析师输出
    • / DT man / NN是/ VBZ吸烟/ VBG ./.
    • A / DT女子/ NN骑/ VBZ a / DT马/ NN ./。 同样更多的句子

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

似乎这些情况下corenlp的输出是错误的。除了我在错误分析期间检查过的几句话,我猜这些错误可能会有很多类似的情况。

1 个答案:

答案 0 :(得分:5)

这不是关于CoreNLP,而是关于您是使用Stanford POS标记器还是使用Stanford Parser(PCFG解析器)来进行POS标记。 (PCFG解析器通常将POS标记作为其解析算法的一部分,尽管它也可以使用从其他地方提供的POS标记。)两者都有时会出错。平均而言,POS标记器比解析器稍好一些。但是,有时解析器会获胜,特别是,有时它似乎更好地标记涉及集成子句级信息的决策。无论如何,这两个例子都是正确的 - 尽管我打赌你也可以找到一些反过来的例子。

如果你想在CoreNLP中使用PCFG解析器进行POS标记,只需省略POS标记器,并提前移动解析器,以便POS标记可用于变形器和基于正则表达式的NER:

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

然而,我们的一些其他解析器(NN依赖解析器,SR选区解析器)要求首先完成POS标记。