Делаю программу по проверке ошибок в тексте. Нужно где-то взять базу слов во всех падежах.
Есть ли другие способы проверить на правильность слово, к примеру, в дательном падже?
Для правильного вопроса надо знать половину ответа
Без контекстного анализа словарь справится далеко не со всеми словами.
пиши́те - пи́шете
писец (профессия) - песец (животное)
белуга (рыба) - белуха (млекопитающее)
в течении (реки) - в течение (суток)
Да, я тоже об этом подумал. Лучше тогда уж не базу слов, а базу суффиксов, приставок и т д. И потом по частям слово разбирать, напимер:
Что-то типа базы:
let base = {
prefixes : ["под", "над"],
//И так далее
Слово подъЮхал
Ищем в базе приставку под -> нашли
Ищем в базе приставку Юхал -> не нашли
Ищем в базе корень, в котором максимальное количество совпадений с Юхал -> нашли корень ехал
Предлагаем в качестве замены подъехал
JackShcherbakov,
подъём - корень 'подъём'
Проблема простых проверок в том, что из абсолютно правильно написанных слов можно составить абсолютно неправильно согласованную фразу:
"Красивый лошадь паслось в луг"
И наоборот, из несуществующих слов можно составить согласованное предложение:
"Гло́кая ку́здра ште́ко будлану́ла бо́кра и курдя́чит бокрёнка"
Rsa97, Так моя задача проверка на правильность написания слов. За смыслом предложения должен следить юзер. Эта программа должная ваявлять ошибки, которые были допущенны случайно. Если вы русский, вряд ли напишие "Красивый лошадь паслось в луг", ибо этого нереально заметить.
Ну а если ставить задачу создать программу, помогающую учить русский язык и следить за нормальной структурой предложения (падеж, склонения и т д), то можно впринцепе тоже организовать, но это капец как трудно.
А не, бред с проверкой по корням. Действительно, у некоторых слов корень от приставки фиг отличишь. Но можно на крайний случай сделать базу с исключениями! И от нее прототип в базу с корнями и т д.
Про в течение и в течении: Можно как-то отслеживать, например, те же регулярные выражения.
Да, я тоже об этом подумал. Лучше тогда уж не базу слов, а базу суффиксов, приставок и т д. И потом по частям слово разбирать, напимер:
Что-то типа базы:
let base = {
prefixes : ["под", "над"],
//И так далее
Слово подъЮхал
Ищем в базе приставку под -> нашли
Ищем в базе приставку Юхал -> не нашли
Ищем в базе корень, в котором максимальное количество совпадений с Юхал -> нашли корень ехал
Предлагаем в качестве замены подъехал