NER на основе правил в Spacy: удаление шаблонов - PullRequest
0 голосов
/ 11 марта 2020

Я добавляю правила в свою пользовательскую модель распознавания имен Spacy с использованием нового EntityRuler (https://spacy.io/usage/rule-based-matching#entityruler).

Я добавил 1 миллион имен белков, что заняло часы запустить, и теперь понял, что многие из них имеют имена, которые являются общими словами (например, «FOR» и «11»).

Я хотел бы удалить некоторые шаблоны из объекта EntityRuler ( https://spacy.io/api/entityruler). Но я не уверен, как это сделать ...

Как я могу удалить правила / шаблоны из моего объекта EntityRuler? Не выгружая все и загружая те, которые должны остаться.

1 Ответ

0 голосов
/ 15 марта 2020

Глядя на исходный код (https://github.com/explosion/spaCy/blob/master/spacy/pipeline/entityruler.py), объект EntityRuler передает шаблоны непосредственно объекту Matcher. Вы можете легко получить доступ к объекту Matcher EntityRuler следующим образом (при условии, что ваш объект EntityRuler называется entity_ruler):

matcher = entity_ruler.matcher

Объект Matcher имеет метод для удаления шаблонов / правил, как описано в API (https://spacy.io/api/matcher). Таким образом, вы можете удалить шаблоны, набрав

matcher.remove(<insert pattern ID here>)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...