Помощь относительно NER в NLTK


12

Я работал в NLTK некоторое время с использованием Python. Проблема, с которой я сталкиваюсь, заключается в том, что они не могут получить помощь по обучению NER в NLTK с моими пользовательскими данными. Они использовали MaxEnt и обучили его на корпусе ACE. Я много искал в Интернете, но я не смог найти какой-либо способ, который можно использовать для обучения NER NLTK.

Если кто-нибудь может предоставить мне какую-либо ссылку / статью / блог и т. Д., Которая может направить меня в формат учебных наборов, используемый при обучении NER NLTK, чтобы я мог подготовить свои наборы данных в этом конкретном формате. И если я буду перенаправлен на любую ссылку / статью / блог и т. Д., Которая может помочь мне NER TRAIN NLTK для моих собственных данных.

Это вопрос, который широко ищут и на который не так много ответов. Может быть полезно для кого-то в будущем, чья работа с NER.


Ответы:


4

Подготовка модели, связанной с добычей информации , в целом, а также с именем распознавания лица / разрешения (NER) , в частности, подробно описано в главе 7 из NLTK книги , доступны в Интернете по следующему адресу: Http: //www.nltk .org / book / ch07.html .

Кроме того, я думаю, что вы можете найти полезный мой ответ на сайте Cross Validated . В нем много ссылок на соответствующие источники по NER и смежным темам, а также на различные связанные программные инструменты.


Они не упоминают, как обучить модель NER на пользовательских данных, вы можете сказать, как это сделать?
Хима Варша

1
@HimaVarsha Я не эксперт в этой области. Однако ... Я думаю, что модель NER NLTK проходит предварительную подготовку на корпусе conll2000 , поэтому в книге NLTK нет информации. Проверьте следующие ресурсы: 1. nltk-trainer.readthedocs.io (скорее всего, что вам нужно; вероятно, раздел « Обучающие блоки IOB »). 2. sujitpal.blogspot.com/2012/11/… (также может быть полезно). 3. nlp.stanford.edu/software/crf-faq.shtml#a (если вы используете или решите использовать программное обеспечение Stanford NER).
Александр Блех

Я думаю, что реализация stanfordcrf принимает пользовательские данные, но NTLK NER приходит только предварительно обученным. Тренинг IOB Chunkers просто ломается, верно? Или это даже делает NER?
Хима Варша

@HimaVarsha Пожалуйста, обратите больше внимания на советы, которые вы получаете. Если вы внимательно прочитаете пост по ссылке № 2 выше, вы увидите, что код там выполняет как обучение модели NER, так и ее запуск. Я не думаю, что могу помочь вам, кроме совета выше.
Александр Блех

3

Достаточно ли хороша эта статья? http://www.succeed-project.eu/wiki/index.php/NLTK#Input_format_for_training

Есть объяснение того, как должен выглядеть корпус.

Ваши данные должны быть в формате IOB (слово тег chunktag), чтобы они работали.
Эрик NNP B-ЧЕЛОВЕК
VB O Генеральный директор
AT B-NP
NN I-NP
из IN O
Google NNP B-ОРГАНИЗАЦИЯ


1
Было бы идеально, чтобы опубликовать краткое резюме статьи в этом ответе.
Шелдонкрегер

1

Я нашел этот учебник весьма полезным: Полное руководство по созданию собственного Recognizer Entity Recognizer с Python. Он использует корпус Groningen Meaning Bank (GMB) для обучения своего NER-блока.

После этого вы можете проверить этот урок от одного и того же человека: Обучение системе NER с использованием большого набора данных, где он использует scikit, чтобы улучшить производительность своей системы.

Наконец, некоторые действительно полезные учебные пособия можно найти здесь: Учебное пособие по NLTK У этого парня есть канал на YouTube с большим количеством учебников по многим предметам (ML, NLP, Python ...)

Надеюсь, поможет.

Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.