2015-07-29 3 views
0

Удивительно, что есть способ загрузить определенный класс в StanfordCoreNLP. Я пытаюсь решить проблему, когда 3 классификатора, которые по умолчанию загружаются по третьему классификатору, не надежно возвращают тег ner и приводят к несогласованности в приложении. Хотите знать Загружать только английский.all.3класс достаточно хорош для базовых тегов именованных объектов и что является релевантностью двух других в следующем списке.Как загрузить определенный классификатор в StanfordCoreNLP

Edu/Stanford/NLP/модель/нер/english.all.3class.distsim.crf.ser.gz Edu/Стэнфорд/NLP/модель/нер/english.muc.7class.distsim.crf. ser.gz Edu/Стэнфорд/NLP/модель/нер/english.conll.4class.distsim.crf.ser.gz

ответ

0

Да, вы должны быть в порядке, если указать путь в модельной банке.

В принципе вы можете установить «ner.model» в список разделенных запятыми сериализованных crf, которые вы хотите использовать, поэтому, если вы хотите исключить один из них, просто поставка двух моделей, которые вы хотите, будет работать нормально.

И, чтобы обеспечить некоторую ясность, три модели прошли обучение на разных наборах данных.

Все.3 класс обучен на 7 источниках данных, которые имеют (человек, организация, местоположение, нет) с тегами.

Класс muc.7class обучен данным MUC-7 Named Entity Task и включает (дата, местоположение, деньги, организация, процент, человек, время). Более подробная информация:

https://catalog.ldc.upenn.edu/LDC2001T02

http://www-nlpir.nist.gov/related_projects/muc/proceedings/ne_task.html

conll.4class обучается на данных из РЭК корпуса CONLL 2003 года, и включает в себя (лицо, организация, местонахождение, разный).

http://www.cnts.ua.ac.be/conll2003/ner/

+0

Спасибо за ввод. Что помогает. Я разместил еще один вопрос на http://stackoverflow.com/a/31727674/4946589, дайте мне знать, как мне получить помощь для этого. Если это ошибка, как сообщить об этом команде Stanford-nlp? –

3

я получил ответ после некоторых исследований. Мы можем загрузить определенную модель с помощью ner.model. Интересно, можем ли мы ссылаться на уже упакованную модель в банке библиотеки StanfordCoreNLP, вместо того чтобы иметь дублирующую копию модели в рабочем каталоге проекта для этой цели.

Properties configuration = new Properties(); 
configuration.put("annotators", "tokenize,ssplit,pos,lemma,ner"); 
configuration.put("ner.model", "english.all.3class.distsim.crf.ser.gz"); 
StanfordCoreNLP coreNLP = new StanfordCoreNLP(configuration); 
Смежные вопросы