新的StanfordNLP本机Python软件包和Core-NLP的python包装器之间有什么区别?

时间:2019-05-19 06:54:53

标签: python nlp stanford-nlp

谁能阐明新的原生Python StanfordNLP软件包:https://stanfordnlp.github.io/stanfordnlp/

中使用的神经管道之间的区别。

和Java coreNLP软件包https://stanfordnlp.github.io/CoreNLP/的python包装器?

这是两种不同的实现吗?我看到StanfordNLP程序包具有本机神经实现,但还具有CoreNLP程序包的包装,并且想知道如果将所有内容都迁移到python,为什么您将需要此包装程序?

1 个答案:

答案 0 :(得分:0)

两个系统是完全不同的。 Python原生的神经管道大致对应于Universal Dependency Parsing from Scratch,其中使用的Tensorflow解析器在PyTorch中进行了复制。它为从句子拆分到依存关系解析,利用UD资源的多种语言提供了一条完整的神经流水线,但(目前)不支持NER,共指,关系提取,开放式IE和hand-书面模式匹配,并且仅在UD资源上接受培训。 CoreNLP(可通过此或其他Python包装器使用)确实为少数几种语言提供了所有其他组件,并且某些模型(包括英语)接受了更多数据的培训。它具有许多神经前成分的优点和缺点(快速记号生成器!纯粹是启发式句子拆分)。最有可能的是,如果您使用的是正式的英语文本,则目前在CoreNLP上仍会做得更好。在许多其他情况下,使用Python stanfordnlp会做得更好。