【问题标题】:Different results performing Part of Speech tagging using Core NLP and Stanford Parser?使用 Core NLP 和 Stanford Parser 执行部分语音标记的不同结果?
【发布时间】:2015-03-11 14:36:36
【问题描述】:

Stanford 解析器和 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 的输出似乎是错误的。除了我在错误分析期间检查的几句话之外,我想可能会有很多类似的情况出现此类错误。

【问题讨论】:

    标签: stanford-nlp part-of-speech


    【解决方案1】:

    这实际上与 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 标记。

    【讨论】:

    • 感谢您的解释和详细信息。我尝试在 CoreNLP 中使用 PCFG 解析器进行 POS 标记,效果很好...
    • “平均而言,词性标注器比解析器略好”:我们如何根据我们的语料库决定使用哪一个?一种可能性:如果可以正确地对一个句子进行解析,如果它是简单的短句,那么最好使用解析器,因为它可以查看上下文和其他信息,正如您还提到的“解析器更擅长标记决策涉及整合子句级信息”
    猜你喜欢
    • 2017-10-28
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-11-15
    • 1970-01-01
    相关资源
    最近更新 更多