Итак, сущесвтует два подхода к разбору текстов:
- грамматики составляющих (они же контекстно-свободные грамматики Хомского, но это не точно)
- грамматики зависимостей (Люсье́н Тенье́р — французский лингвист, специалист по славянским языкам и общему синтаксису)
В рамках первого подхода самый юзабельный генератор парсеров это Antlr 4, написанный на Java.
В рамках второго подхода - FCG, написанный на Lisp.
Лис хочет, чтобы результирующая программа понимала русский язык (всякие там склонения, спряжения).
Русский язык лучше описывается грамматиками зависимостей.
Это означает, что нужно взять типовой инструмент для этой задачи,
разработать грамматику в терминах этого инструмента и потом сделать так, чтобы оно как-нибудь заработало.
Например была работа про отображение текста на онтологию -
2012, Игорь Богуславский & Вячеслав Диконов & Cветлана Тимошенко, Онтология для поддержки задач извлечения смысла из текста на естественном языке
Что же мешает?
1) этот FCG написан на lisp, которого я не знаю. Это мешает запустить (затрудняет запуск) его на практике;
2) нет понимания того, как должны выглядеть тексты программ, для которых надо разработать грамматику;
3) нет понимания как разрабатывать грамматики для движка FCG (надо много читать);
4) нет точного понимания того на каких теоретических принципах этот FCG работает (надо много читать).
Конца и края этому процессу изучения не видно, и это затрудняет планирование.