Как использовать синтаксический анализатор / тегер SyntaxNet с API spaCy?

Я использовал пакет Python spaCy для синтаксического анализа и тегирования текста, а также полученное дерево зависимостей и другие атрибуты для получения значения. Теперь я хотел бы использовать Partax McParseface от SyntaxNet для синтаксического анализа и тегирования зависимостей (что кажется лучше), но я бы хотел продолжать использовать spaCy API, потому что он очень прост в использовании и делает много вещей, которых не делает Parsey. SyntaxNet выводит POS-теги и теги / дерево зависимостей в формате CoNLL:

  1. Bob _ NOUN NNP _ 2 nsubj _ _
  2. принес _ VERB VBD _ 0 ROOT _ _
  3. _ DET DT _ 4 det _ _
  4. пицца _ NOUN NN _ 2 добь _ _
  5. _ ДОБАВИТЬ В _ 2 подготовительные _ _
  6. Алиса _ NOUN NNP _ 5 pojj _ _
  7. , _ ., _ 2 пункт _ _

и spaCy, кажется, в состоянии прочитать формат CoNLL прямо здесь. Но я не могу понять, где в API-интерфейсе spaCy используется строка, обработанная CoNLL.

3 ответа

Из блога spaCy:

Очевидно, что мы хотим построить мост между Parsey McParseface и spaCy, чтобы вы могли использовать более точную модель с более приятным spaCy API.

Тем не менее, похоже, что еще многое предстоит сделать, прежде чем это станет возможным.

Смотрите также ответ автора spaCy здесь.

Я не пробовал с spaCy, но мне удалось использовать вывод SyntaxNet внутри классов / структур Python NLTK, таких как DependencyGraph и Tree.

Вот полный пример:

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

Кому-нибудь уже удалось запустить SyntaxNet в качестве службы? Нет проблем с загрузкой аннотаций в spaCy. Проблема в том, что SyntaxNet - это, прежде всего, исследовательская система, и этого было достаточно для экспериментальных нужд, чтобы работать с пакетами текста с диска.

Если вы читаете с диска, проблем не должно быть - просто читайте в формате CoNLL, и тогда вы можете применять аннотации к объектам spaCy Doc.

Другие вопросы по тегам