3

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

  • 在线核心 NLP 输出
    • /DT男/NN是/VBZ抽烟/NN./。
    • A/DT女/NN骑/NNS a/DT马/NN./.
  • 在线斯坦福解析器输出
    • /DT男/NN是/VBZ抽烟/VBG./。
    • A/DT 女/NN 骑/VBZ a/DT 马/NN./. 同样多的句子

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

对于这些情况,corenlp 的输出似乎是错误的。除了我在错误分析过程中检查的几句话之外,我想可能会有很多类似的情况出现此类错误。

4

1 回答 1

5

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

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

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

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

于 2015-03-12T14:47:41.680 回答