Новые пайплайны
kuk opened this issue · 1 comments
kuk commented
Текст тикета не закончен и будет дополняться
С пайплайнами есть несколько проблем:
- Бывает забываешь добавить пайплайны при инициализации парсера. Парсер мог бы сам добавить пайплайн или хотя бы кинуть ворнинг если где-то в грамматиках встречается предикат типа
gram('CustomGram')
, а соответствующего пайплайна нет в аргументах парсера. - Можно ошибиться в предикате gram. Написать например не
gram('CustomGram')
аgram('Custom')
. Такое происходит не из-за опечаток (20 минут искал баг, а оказывается'OrganizationCrf' != 'OrganisationCrf'
), а когда начинаешь менять код в разных местах. В пайплайне заменил grammemes а в грамматиках забыл. - Конфликтующие пайплайны. Например, один пайплайн для названий улиц создаёт мультитокен "Карл Маркс" для "ул. Карла Маркса" , а в пайплайне для фамилий есть "Маркс". Если пайплайн для фамилий идёт после пайплайна для улиц ФИО "Карл Маркс" не заметчится.
- Нужно учитывать токенизатор. Нельзя написать "научно-производственное предприятие", нужно ставить пробелы "научно - производственное предприятие"
- Нет согласования слов. По-хорошему, "Карлом Марксу" не должно метчиться
- Неленивая инициализация. В конструкторе пайплайна вызывается MorphAnalizer. Если пайплайн большой, это занимает время. Хорошо бы эту работу делать не при импорте, а при запуске парсера.