как обучить пространственную модель, которая обрабатывает

#python #nlp #spacy #named-entity-recognition

Вопрос:

я обучил модель spacy NER, в которой текст сопоставляется с сущностью компании во время обучения, как —

 John amp; Doe amp; One pvt ltd -gt; Company  

Теперь в некоторых случаях я нахожу, что если предложение, как показано ниже, во время предсказания классифицируется как другие-

 John and Doe and One pvt ltd -gt; Other  

Что следует сделать, чтобы преодолеть эту проблему, когда у нас есть случаи «amp; == и» и «v == vs == против» и т. Д. Случаи, которые должны быть поняты моделью, имеют одинаковое значение ?

Ответ №1:

Для таких случаев вы хотите добавить нормы лексем или нормы лексем.

 # lexeme norm nlp.vocab["and"].norm_ = "amp;" # token norm doc[1].norm_ = "amp;"  

Все статистические модели используют token.norm вместо token.orth функции по умолчанию. Вы можете установить token.norm_ для отдельного токена в документе (иногда вам может потребоваться нормализация, зависящая от контекста) или установить nlp.vocab["word"].norm_ по умолчанию для любого токена, у которого нет отдельного token.norm набора.

Если вы добавляете нормы лексем в вокаб и сохраняете модель с nlp.to_disk помощью , нормы лексем включаются в сохраненную модель.