如何在spaCy API中使用SyntaxNet解析器/标记器?

时间:2016-06-21 00:22:04

标签: python nlp syntaxnet spacy

我一直在使用spaCy Python包来解析和标记文本,并使用生成的依赖树和其他属性来推导出意义。现在我想使用SyntaxNet的Parsey McParseface进行解析和依赖标记(这似乎更好),但我想继续使用spaCy API,因为它很容易使用,并且它做了许多Parsey没有做的事情。 SyntaxNet以CoNLL格式输出POS标签和依赖标签/树:

  1. Bob _ NOUN NNP _ 2 nsubj _ _
  2. 带来_ VERB VBD _ 0 ROOT _ _
  3. _ DET DT _ 4 det _ _
  4. 披萨_ NOUN NN _ 2 dobj _ _
  5. 到_ ADP IN _ 2 prep _ _
  6. Alice _ NOUN NNP _ 5 pobj _ _
  7. 。 _。 。 _ 2 punct _ _
  8. 和spaCy似乎能够正确阅读CoNLL格式here。但我无法弄清楚spaCy的API在哪里需要一个CoNLL-fromatted字符串。

3 个答案:

答案 0 :(得分:3)

来自the spaCy blog

  

显然,我们希望在Parsey McParseface和spaCy之间搭建一座桥梁,这样您就可以使用更精确的模型和更甜蜜的spaCy API。

然而,在可能的情况下,看起来还有很多工作要做。

另请参阅spaCy作者的回复here

答案 1 :(得分:1)

有没有人设法让SyntaxNet作为服务运行?将注释加载到spaCy中没有问题。问题是SyntaxNet主要是一个研究系统,它足以满足实验需要对来自磁盘的批量文本进行操作。

如果您要从磁盘读取内容,那么应该没有问题 - 只需读取CoNLL格式,然后您就可以将注释应用于spaCy Doc对象。

答案 2 :(得分:1)

我没有尝试使用spaCy,但是我已经设法在Python NLTK的类/结构中使用SyntaxNet的输出,比如DependencyGraph和Tree。

以下是一个完整的例子:

http://www.davidsbatista.net/blog/2017/03/25/syntaxnet/