AK
Видел (вообще мы собирали список https://docs.google.com/spreadsheets/d/1H9bxrakQPhC59BIpxsis0ppzP5aUmvmJSKfX8EQ-vVM/edit?usp=sharing) . Не всматривался по 2 причинам:
1. Не на питоне и похоже для винды
2. Репозиторий выглядит как-то неряшливо
2. "В статье показано, как использовать готовые правила..." - расскажите, пожалуйста, по вашему опыту, что с этой библиотекой НЕ стоит делать, для чего она НЕ подходит? Чтобы как-то очертить границы применимости.
По опыту приходит понимание, что не очень получается работать с текстами на совсем естественном языке (новости). Получается с текстами на контролируемом естественном языке: резюме, решения судов, нормативные акты
3. "Пользователю недоступны никакие настройки" (про интерфейс) - вы хотите сказать, что надо форкать репозиторий и патчи-патчи-патчи, а "из коробки" настроек нет (в смысле нет передачи параметров в функции)? Кстати, Наташа "тащит" Yargy?
Наташа конечно тащит Ярги. Наташа просто набор правил для Ярги. На самом деле я точно не знаю как это лучше делать. Пока мне вообще кажется что надо делать копи пейст из сорцов Наташи к себе в проект. Или можно делать import отдельных правил, на их основе строить свои. Как раз сейчас есть тикет по теме https://github.com/natasha/natasha/issues/45
4. "Часто приходится опускаться на уровень ниже, дополнять готовые правила" - то есть дописывать именно Yargy, мимо Наташи? А там какая лицензия? В чём смысл Наташи помимо того, что она - удобная обёртки для Yargy? Из каких компонент она состоит и как устроено её взаимодействие с Yargy? Если этого нет в документации (я пока не смотрел) - туториал из э маст.
Ярги это как компилятор Си++, а Наташа как набор программ для компилятора. Ярги дописывать не надо, надо дописать правила-программы. Лицензия МИТ.
5. (по картинкам) Что такое R0, R1...? Это сокращение от "Relative"? Не понимаю :(
Сокращение слова "Rule". Это технические вершины, на них надо не обращать внимания.
6. "Если нужно извлечь из текста, например, только даты, стоит выбрать готовую специализированную библиотеку." - то есть теоретически 10 "узко заточенных" решений аутперформят Наташу? Тогда почему не рекламировать бандл из 10, если performance is an issue? Может быть, каких-то "узко заточенных" просто нет для русского... Просветите, плиз. И, кстати! какой шаг пайплайна анализа (грамматики->интерпретация->согласование) самый длинный относительно всего?
1. Да, таких утилит нет для русского
2. По-любому на практике придётся сделать что-то что не умеет утилита
Самое долгое это применения грамматик
7. "Yargy нужен для объемных нестандартных задач". Учитывая, что есть консерны по перформансу, интересно было бы прочесть, какую производительность (в знаках на секунду) из неё можно выжать с обычного свежего Макбука Про. Понимаю, что "горизонтально масштабируется", но зарплата так не масштабируется :) Поделитесь, пожалуйста (если не секрет), какой стек технологий вы используете для распараллеливания?
Всё зависит от сложности правил и текстов. Есть замеры для новостей и имён https://github.com/natasha/natasha-benchmarks/blob/master/tomita/notes.ipynb . С PyPy получается поискать имена в 15 новостях (представьте средний текст новости на ленте ру ) в секунду. Там грамматики не очень сложные, но и не очень простые. На моей практике были очень очень сложные правила для текстов, связанных судопроиводством, там скорость было 2 секунды на текст. Ну вот какие-то такие скорости.
Из технологии, просто очереди, например http://python-rq.org/
8. "Мы надеемся, что сообщество поможет улучшить точность и полноту правил" - как конкретно вам можно помочь и что для этого сделать? :)
Слать пулл реквесты на https://github.com/natasha/natasha
Спасибо, постараюсь обновить текст по мотивам ваших коментов



