Хабр Курсы для всех
РЕКЛАМА
Практикум, Хекслет, SkyPro, авторские курсы — собрали всех и попросили скидки. Осталось выбрать!
Еще раз повторяю, что программа предназначена для демонстрации работы ее ядра; ибо 4 года разработки были потрачены именно на ядро, а не на наполнение БД слов и БД шаблона предложения.
Моя программа должна писать туда откуда ее запустили (и куда ее перед этим записал пользователь, соответственно). Если она пишет свои три текстовых файла в системный каталог — это серьезная проблема.

У меня была идея, чтобы это все еще происходило он-лайн; и не только со словарем (они есть в интернете в свободном доступе, но я не нашел быстро такого (кроме литовского), чтоб в нем указывались атрибуты формы слова),
но и самое главное — с шаблонами: возможность объединять шаблоны, созданные разными пользователями, или вообще сделать создание шаблонов полуавтоматическим — по принципу обучения экспертной системы — когда ей объясняешь новое правило, а она прогоняет его по всем подходящим фразам, чтобы уточнить для каких фраз правило не действует — обычно человек этого не учитывает, когда вписывает в шаблон новое правило.
Я русский бы выучил только за то, что им разговаривал Ленин!
ты вводил большой ( неполнота 10, плохость стиля 1, исправлений 7 )
ты вводил большое ( неполнота 10, плохость стиля 1, исправлений 7 )

— Просто где-то в 2005 я нашел свободный словарь для проекта iSpell, предназначенный для спеллинга литовского языка; я им воспользовался ибо там можно было выудить не только форму слова, но и ее атрибуты (род, число, падеж, лицо) — а именно это необходимо для проверки согласования.
Плюс, попробовав это, я острее понимаю, что: набрать базу предложений, распознать каждое в дерево, и на основе анализа деревьев создать универсальное (дерево, и прогнать все по новой) — это три большие разницы.… То есть, имхо, это самый сложный путь «распиливания» бюджета лингвистического иститута — я уверен, что таких немало, но мало кто на такое пойдет.
Защищая порядочность программы, могу предположить, что она просто подобрала ближайшие слова из словаря; безо всякого злого умыслу.
… И опять-таки, такой фразы я просто не тестировал…
На мой взгляд в той ситуации было бы правильнее вручную добавить недостающие слова в словарь (по 12-48 форм для каждого слова) и усовершенствовать шаблон (хотя я бы не рискнул улучшать шаблон, тем более для Маяковского; учитывая мои потуги последних месяцев — дай бог простое английское предложение осилить).
if( GetMessage(&msg,NULL,0,0) != -1 ) { TranslateMessage(&msg); DispatchMessage(&msg); }А, это все было реализовано в предыдущих версиях для литовского языка. Только там без суффикса было: окончание (из шаблона склонения), приставки («не» для прилагательных и куча для глаголов) и основная часть (корень + возможные суффиксы).
{ TranslateMessage(&msg); DispatchMessage(&msg); } я вроде «был отключивши», ибо такой код делал возможным закрыть программу во время распознания, и она ломалась, потому что при закрытии clean-up запускался неуведомив ядро.
Программа проверки грамматики