Статья: Компьютерный морфологический разбор слов русского языка

правило("вая","вый").

правило("вые","вый").

правило("ая","ой").

правило("ие","ой").

правило("ую","ой").

/* предикат осуществляющий перебор всех вариантов */

/* аффиксов для этого слова */

аффикс("",Аффикс,Аффикс).

аффикс(Корень,Слово,Аффикс):-

frontchar(Слово,Буква,Слово1),

аффикс(Корень1,Слово1,Аффикс),

frontchar(Корень,Буква,Корень1).

/* сначала просмотри все исключения */

морфология(Слово,Осн):-

исключение(Слово,Осн),!.

/* если не удачно, то переберем все аффиксы слова */

морфология(Слово,Осн):-

аффикс(Корень,Слово,Аффикс),

правило(Аффикс,АффиксиОсн),

concat(Корень,АффиксиОсн,Осн),!.

/* если неудачно, то значит слово несклоняемо */

морфология(Слово,Слово):-!.

/* вызов процедури морфологического разбора */

Goal морфология("зеленую",Слово).

Ответ ПРОЛОГА: Слово = "зеленый"

Как видно, в программе всего 13 строчек, а остальное база знаний. Теперь посмотрим как справится с этой задачей РЕФАЛ.

Пример на логическом языке программирования РЕФАЛ - 5:

-----------------------

/* программа по распознаванию морфологии слов руссского языка */

К-во Просмотров: 214
Бесплатно скачать Статья: Компьютерный морфологический разбор слов русского языка