привет, я знаю, что stanfordNERenglish.muc.7class.distsim.crf.ser.gz помогает классифицировать 7 классов: Местоположение, Человек, Организация, Деньги, Процент, Дата, Время, но я хочу классифицировать текст в 7 классе, но назовите полное имя человека , деньги, дата, время, местоположение, степень и т. д ... пожалуйста, позвольте мне настроить библиотеку nlp модели Stanford nlp / gate / open nlp
как настроить модель NER с помощью nlp
Ответы (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 строк, то вы можете рассчитывать на хорошие результаты!
В 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.