Невозможно использовать метод извлечения открытой информации OLLIE в Stanford Core NLP OpenIE - PullRequest
0 голосов
/ 10 октября 2018

Я сталкиваюсь с попыткой извлечь тройки с помощью OLLIE с помощью инструментов OpenIE от Stanford Core NLP.

Я также установил stanford-corenlp-3.9.1 stanford-corenlp-3.9.2 , чтобы попытаться извлечь тройки из текста.

Для stanford-corenlp-3.9.1 :

  • Может извлекать только информациюиспользуя метод по умолчанию, несмотря на добавление флага «-format ollie» или «-openie.format ollie»
  • Я проверил это с помощью этого предложения

    Некоторые люди говорятБарак Обама не родился в Соединенных Штатах.

    Что должно дать это:

    (Барак Обама; не родился в; Соединенные Штаты) [attrib = Someлюди говорят]

    Это пример, чтобы проверить, действительно ли метиды OpenIE - олли.Но я не получаю тройки вместо этого.Тем не менее, он работает для других предложений, но на выходе получается метод по умолчанию.

Для stanford-corenlp-3.9.2 :

  • Мне вообще не удалось извлечь тройки, но вместо этого я получил эту ошибку.

    'java.lang.IllegalArgumentException: annotator "openie" requires annotation "CorefChainAnnotation". The usual requirements for this annotator are: tokenize,ssplit,pos,lemma,depparse,natlog'
    

РЕДАКТИРОВАНИЕ:

  1. ПоворотыOLLIE не поддерживается в Stanford OpenIE, и флаги просто изменяют вывод в формате OLLIE.
  2. Возможность запуска версии 3.9.2 (см. ответ ниже).

1 Ответ

0 голосов
/ 11 октября 2018

Итак, Stanford OpenIE - это не то же самое, что Олли;у него просто есть возможность вывести в формате, который похож на (технически подмножество) формат Олли.

Система Stanford OpenIE описана в Angeli et al.«Использование лингвистической структуры для извлечения информации из открытых доменов» .Олли описан в Mausam et al.«Открытое изучение языка для извлечения информации» .

RE - пропущенное извлечение: система Стэнфорда моделирует отрицание и ложные утверждения как явление первого порядка, где не извлекаются отрицательные факты.Это делается для того, чтобы избежать случаев, когда нижестоящее приложение должно различать отрицательное отношение и неотрицательное отношение (например, что если отношение находится в двойном отрицательном контексте?).Следовательно, как из-за модификатора «некоторые люди говорят», так и из-за отрицания, система ничего не возвращает.

RE, исключение: вы пропускаете mention,coref как аннотатор в своем списке аннотаторов,Вы вызываете это из командной строки или из конвейера аннотаций?Если из командной строки, вы можете включить команду, которую вы использовали для запуска программы?

...