谁能阐明新的原生Python StanfordNLP软件包:https://stanfordnlp.github.io/stanfordnlp/
中使用的神经管道之间的区别。和Java coreNLP软件包https://stanfordnlp.github.io/CoreNLP/的python包装器?
这是两种不同的实现吗?我看到StanfordNLP程序包具有本机神经实现,但还具有CoreNLP程序包的包装,并且想知道如果将所有内容都迁移到python,为什么您将需要此包装程序?
答案 0 :(得分:0)
两个系统是完全不同的。 Python原生的神经管道大致对应于Universal Dependency Parsing from Scratch,其中使用的Tensorflow解析器在PyTorch中进行了复制。它为从句子拆分到依存关系解析,利用UD资源的多种语言提供了一条完整的神经流水线,但(目前)不支持NER,共指,关系提取,开放式IE和hand-书面模式匹配,并且仅在UD资源上接受培训。 CoreNLP(可通过此或其他Python包装器使用)确实为少数几种语言提供了所有其他组件,并且某些模型(包括英语)接受了更多数据的培训。它具有许多神经前成分的优点和缺点(快速记号生成器!纯粹是启发式句子拆分)。最有可能的是,如果您使用的是正式的英语文本,则目前在CoreNLP上仍会做得更好。在许多其他情况下,使用Python stanfordnlp会做得更好。