как настроить модель NER с помощью nlp

привет, я знаю, что stanfordNERenglish.muc.7class.distsim.crf.ser.gz помогает классифицировать 7 классов: Местоположение, Человек, Организация, Деньги, Процент, Дата, Время, но я хочу классифицировать текст в 7 классе, но назовите полное имя человека , деньги, дата, время, местоположение, степень и т. д ... пожалуйста, позвольте мне настроить библиотеку nlp модели Stanford nlp / gate / open nlp


person ATechie    schedule 04.06.2016    source источник
comment
Вам понадобятся данные для обучения, специфичные для того, что вы хотите пометить. Также проверьте FAQ: nlp.stanford.edu/software/crf-faq. shtml # a   -  person David Batista    schedule 05.06.2016


Ответы (2)


хорошо, если вы используете opennlp, как указано в этом документации, создайте данные для обучения:

<START:person> Pierre Vinken <END> , 61 years old , will join the board as a nonexecutive director Nov. 29 .
Mr . <START:person> Vinken <END> is chairman of Elsevier N.V. , the Dutch publishing group .

эти теги - это то, что вы должны добавить для всех различных объектов, которые хотите найти. и используйте обучающий API или интерфейс командной строки, приведенный в документации, и создавайте свои модели.

Кроме того, если в вашем тренировочном наборе около 15000 строк, то вы можете рассчитывать на хорошие результаты!

person Community    schedule 05.06.2016

В OpenNLP вы можете создать собственную модель NER, выполнив следующие действия.

Во-первых, вам нужно обучить ваши данные заданному формату <START:entity-name> .....<END>. Допустим, вы хотите создать модель NER лекарства. Так будет примерно так:

Пример:

<START:medicine> Augmentin-Duo <END> is a penicillin antibiotic that contains two medicines -   
<START:medicine> amoxicillin trihydrate <END> and <START:medicine> potassium clavulanate <END>. They work together to kill certain types of bacteria and are used to treat certain types of bacterial infections

Для получения лучших результатов данные обучения должны содержать не менее 15000 предложений.

Используйте класс TokenNameFinderModel, вызываемый с желаемым именем модели и путем к файлу данных.

Вы можете создать его, используя командную строку:

$opennlp TokenNameFinderTrainer -model en-ner-drugs.bin -lang en -data drugsDetails.txt -encoding UTF-8

Чтобы сделать то же самое с использованием java, вы можете сослаться на этот пост: Написание пользовательской модели NameFinder в OpenNLP.

person Nishu Tayal    schedule 06.06.2016