Stanford nlp 如何在新解析器中使用标准管道(tokenize、ssplit、pos、lemma)?

Stanford nlp 如何在新解析器中使用标准管道(tokenize、ssplit、pos、lemma)?,stanford-nlp,Stanford Nlp,我一直在使用旧版本的斯坦福NLP,但想切换到最新、最酷的算法。然而,我看了NN依赖解析器的演示,不知道如何将其与CoreNLP管道集成 我使用的是jython代码: props = Properties() props.put("annotators","tokenize,ssplit,pos,lemma,parse") props.put("isOneSentence",True) pipeline = StanfordCoreNLP(props) 但是现在我想使用更新的算法。在目前的管道中

我一直在使用旧版本的斯坦福NLP,但想切换到最新、最酷的算法。然而,我看了NN依赖解析器的演示,不知道如何将其与CoreNLP管道集成

我使用的是jython代码:

props = Properties()
props.put("annotators","tokenize,ssplit,pos,lemma,parse")
props.put("isOneSentence",True)
pipeline = StanfordCoreNLP(props)
但是现在我想使用更新的算法。在目前的管道中,这可能吗?如果不是,那么重写它的简单方法是什么,以便在没有注释管道的情况下生成相同的结果

提前谢谢!
Pavel

您要查找的注释器是“depparse”,而不是“parse”。因此,代码看起来像:

props = Properties()
props.put("annotators","tokenize,ssplit,pos,lemma,depparse")
props.put("isOneSentence",True)
pipeline = StanfordCoreNLP(props)

请注意,在此之后,您将不再有选区树(
),只有依赖树(
语义图
)。

太好了,非常感谢!但我有时也希望能从选民中获得新的选民。“parse”注释器现在使用它,而不是词汇化的PCFG?因此,我似乎可以像这样使用nn dep解析器和组成部分解析器:props.put(“注释器”、“标记化”、“ssplit”、“pos”、“引理”、“解析”、“depprase”),但是这里有两个问题:1。NN解析器真的启动了吗,还是我们从LPCFG得到了结果?2.LPCGF是旧的慢实现,宣传的是移位减少解析器,它应该工作得更快。有没有办法使用这个解析器?最好集成到此注释管道中?非常感谢,Pavelys,在这种情况下,依赖项解析将覆盖选区解析。您可以按照此处的说明使用shift-reduce选区分析器:。谢谢!我想我必须使用两个不同的管道,可能使用不同的.jar,因为NN解析器和shift-reduce解析器似乎生活在不同的jar中。这是一个不错的解决办法,速度不会受到影响,但是带有一个管道的代码看起来肯定会更好!它们当然应该在同一个CoreNLP罐中。这些模型位于单独的jar中,但这只是因为shift-reduce选区解析器具有非常大的模型。