правило суффикса переопределения токена spaCy SPECIAL-1, приводящее к смещению аннотации - PullRequest
0 голосов
/ 14 апреля 2020

Мой текст похож на

'Laboratories, Inc.'

Который маркируется как

Laboratories     TOKEN
,    SUFFIX
Inc.     SPECIAL-1

Однако аннотации обычно не включают суффиксные символы, такие как '.'

Так что я попытался добавить правило суффикса для токенизации '.'

(r'[.]+$',) 

, но оно не работает для строк типа 'In c.' или "св." которые помечены как SPECIAL-1. Проблема заключается в том, что проблема токенизации, как эта, приводит к тому, что значительное количество аннотаций игнорируется из-за этой проблемы смещения, что значительно сокращает ценные примеры во время обучения.

Любое предложение приветствуется.

1 Ответ

1 голос
/ 14 апреля 2020

Исключения токенизатора (также: особые случаи, правила) имеют приоритет над другими шаблонами, поэтому вам нужно будет удалить ненужные особые случаи.

nlp.tokenizer.rules содержит особые случаи, которые Вы можете изменить. Удалите все исключения с периодами, например:

new_rules = {}
for orth, exc in nlp.tokenizer.rules.items():
    if "." not in orth:
        new_rules[orth] = exc
nlp.tokenizer.rules = new_rules
...