Разрешение Coreference с использованием OpenNLP - PullRequest
7 голосов
/ 25 декабря 2011

Я хочу сделать «разрешение ядра» с использованием OpenNLP. Документация от Apache ( Разрешение Coreference ) не охватывает, как сделать «Разрешение Coreference» У кого-нибудь есть какие-нибудь документы / руководства, как это сделать?

Ответы [ 2 ]

12 голосов
/ 06 декабря 2012

Недавно я столкнулся с той же проблемой и написал несколько заметок в блоге по использованию инструментов OpenNLP 1.5.x.Копировать его немного плотно, поэтому вот ссылка с более подробной информацией .


. На высоком уровне вам нужно загрузить соответствующую модель ядра OpenNLP.библиотеки , а также словарь WordNet 3.0 .Учитывая эти зависимости, инициализация объекта компоновщика довольно проста:

// LinkerMode should be TEST
//Note: I tried LinkerMode.EVAL before realizing that this was the problem
Linker _linker = new DefaultLinker("lib/opennlp/coref", LinkerMode.TEST);

Использование компоновщика, однако, немного менее очевидно.Вам необходимо:

  1. Разбить содержимое на предложения и соответствующие токены
  2. Создать объект Parse для каждого предложения
  3. Обернуть каждое предложение Parse таккак указать порядок предложений:

    final DefaultParse parseWrapper = new DefaultParse(parse, idx);
  4. Итерировать по каждому разбору предложения и использовать Linker для получения объектов Mention из каждого разбора:

    final Mention[] extents =
       _linker.getMentionFinder().getMentions(parseWrapper);
  5. Наконец, используйте компоновщик для идентификации различных объектов во всех объектах Упоминания:

    DiscourseEntity[] entities = _linker.getEntities(arrayOfAllMentions);
9 голосов
/ 27 февраля 2012

В настоящее время имеется мало документации по разрешению различий для OpenNLP, за исключением очень краткого упоминания о том, как запустить его в файле readme .

Если вы не инвестировали в использование OpenNLPзатем рассмотрим пакет Stanford CoreNLP , который включает пример Java для его запуска, , в том числе способ выполнения разрешения coreference с помощью пакета.Он также включает в себя страницу с краткой информацией о его производительности и документы, опубликованные в основном пакете .

...