Банк рефератов содержит более 364 тысяч рефератов, курсовых и дипломных работ, шпаргалок и докладов по различным дисциплинам: истории, психологии, экономике, менеджменту, философии, праву, экологии. А также изложения, сочинения по литературе, отчеты по практике, топики по английскому.
Полнотекстовый поиск
Всего работ:
364139
Теги названий
Разделы
Авиация и космонавтика (304)
Административное право (123)
Арбитражный процесс (23)
Архитектура (113)
Астрология (4)
Астрономия (4814)
Банковское дело (5227)
Безопасность жизнедеятельности (2616)
Биографии (3423)
Биология (4214)
Биология и химия (1518)
Биржевое дело (68)
Ботаника и сельское хоз-во (2836)
Бухгалтерский учет и аудит (8269)
Валютные отношения (50)
Ветеринария (50)
Военная кафедра (762)
ГДЗ (2)
География (5275)
Геодезия (30)
Геология (1222)
Геополитика (43)
Государство и право (20403)
Гражданское право и процесс (465)
Делопроизводство (19)
Деньги и кредит (108)
ЕГЭ (173)
Естествознание (96)
Журналистика (899)
ЗНО (54)
Зоология (34)
Издательское дело и полиграфия (476)
Инвестиции (106)
Иностранный язык (62791)
Информатика (3562)
Информатика, программирование (6444)
Исторические личности (2165)
История (21319)
История техники (766)
Кибернетика (64)
Коммуникации и связь (3145)
Компьютерные науки (60)
Косметология (17)
Краеведение и этнография (588)
Краткое содержание произведений (1000)
Криминалистика (106)
Криминология (48)
Криптология (3)
Кулинария (1167)
Культура и искусство (8485)
Культурология (537)
Литература : зарубежная (2044)
Литература и русский язык (11657)
Логика (532)
Логистика (21)
Маркетинг (7985)
Математика (3721)
Медицина, здоровье (10549)
Медицинские науки (88)
Международное публичное право (58)
Международное частное право (36)
Международные отношения (2257)
Менеджмент (12491)
Металлургия (91)
Москвоведение (797)
Музыка (1338)
Муниципальное право (24)
Налоги, налогообложение (214)
Наука и техника (1141)
Начертательная геометрия (3)
Оккультизм и уфология (8)
Остальные рефераты (21692)
Педагогика (7850)
Политология (3801)
Право (682)
Право, юриспруденция (2881)
Предпринимательство (475)
Прикладные науки (1)
Промышленность, производство (7100)
Психология (8692)
психология, педагогика (4121)
Радиоэлектроника (443)
Реклама (952)
Религия и мифология (2967)
Риторика (23)
Сексология (748)
Социология (4876)
Статистика (95)
Страхование (107)
Строительные науки (7)
Строительство (2004)
Схемотехника (15)
Таможенная система (663)
Теория государства и права (240)
Теория организации (39)
Теплотехника (25)
Технология (624)
Товароведение (16)
Транспорт (2652)
Трудовое право (136)
Туризм (90)
Уголовное право и процесс (406)
Управление (95)
Управленческие науки (24)
Физика (3462)
Физкультура и спорт (4482)
Философия (7216)
Финансовые науки (4592)
Финансы (5386)
Фотография (3)
Химия (2244)
Хозяйственное право (23)
Цифровые устройства (29)
Экологическое право (35)
Экология (4517)
Экономика (20644)
Экономико-математическое моделирование (666)
Экономическая география (119)
Экономическая теория (2573)
Этика (889)
Юриспруденция (288)
Языковедение (148)
Языкознание, филология (1140)

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

Название: Компьютерный морфологический разбор слов русского языка
Раздел: Рефераты по информатике, программированию
Тип: статья Добавлен 17:51:03 23 ноября 2002 Похожие работы
Просмотров: 3410 Комментариев: 33 Оценило: 11 человек Средний балл: 3.6 Оценка: 4     Скачать

Применение данной статьи важно для тех, кто хочет сделать интерфейс к своей программе на естественном языке или сделать интеллектуальный поиск информации. Для этого нужно в первую очередь сделать морфологический анализ слов текста. Тогда не нужно будет иметь обширный словарь слов в разных словоформах. Достаточно запомнить основное слово в словаре, а входной поток слов подвергать морфологическому анализу, с тем чтобы все слова преобразовать к начальным словоформам.

Пример. пользователь ввел в базу знаний свою информацию "фирма РиК. Наша фирма продает тару картонную". Модуль морфологического разбора преобразует эту информацию к следующему виду: "фирма. РиК. мой фирма продать тара картонный". С точки зрения смысла получилась бессмыслица. Но для компьютера - в самый раз, это будет видно дальше. Теперь, другой пользователь вводит для поисковой системы запрос "продает тару картонную". Этот запрос будет так же преобразован в "продать тара картонный". И теперь исполнив простой поиск по совпадению, система поиска выдаст ранее запомненную информацию: "фирма Рик. продать...". Однако здесь было бы лучше запомнить первоначальную информацию клиента с правильными словоформами и выдать только её.

Морфология слов русского языка определяется по аффиксу - окончанию и суффиксу слова. Назовем это правило правилом морфологического разбора. Однако есть слова, которые имеют окончание, подходящее для некоторой формы слова, но являются совершенно другой формой. Например, "-ать" говорит что слово есть глагол (прыгать, бежать). Но есть слово "кровать", которое есть существительное. Значит, из правила морфологического разбора есть исключения. Так же есть слова, которые не изменяют свою форму. Например, предлоги, "не", наречия, "столь" и т.д. Значит, есть дополнения к правилу морфологического разбора. Эти дополнения можно представить как исключения из правила. Таким образом мы пришли к определенному логическому описанию морфологического разбора слов. Для создания компьютерной программы здесь лучше всего подойдет логический язык программирования. Рассмотри два из них.

Пример программы морфологического разбора слов на логическом языке программирования ПРОЛОГ.

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

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

/* по окончанию слова */

/* язык программирования ПРОЛОГ */

domains

Слово = string

predicates

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

nondeterm исключение(Слово,Слово Основа)

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

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

clauses

/* база знаний */

/* исключения из правила разбора слова для "неправильных" слов */

исключение("рек","река").

исключение("сел","сесть").

/* правила разбора для правильных слов */

/* для глаголов */

правило("нули","ать").

правило("нул","ать").

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

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

правило("ал","ать").

правило("ул","ать").

правило("ули","ать").

/* для прилагательных */

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

/* язык программирования РЕФАЛ 5 */

/* автор Ермолаев Д.С. [email protected] */

/* ввод одного слова с консоли */

$ENTRY Go { = <Prout <Question (<Card>) >>; };

/* таблица1. слова, которые имеют неправильное окончание */

WordsMissTable { =

( ('сел') 'сесть' )

( ('рек') 'чего' )

} ;

/* таблица2. окончания, по которым можно определить основу */

CompletionTable { =

/* для глаголов */

( ('нули') 'ать')

( ('нул') 'ать')

( ('ает') 'ать')

( ('еть') 'ать')

( ('еч') 'ать')

( ('ал') 'ать')

( ('ел') 'ать')

/* для прилагательных */

( ('вые') 'вый')

( ('вая') 'вый')

( ('ая') 'ой')

( ('ие') 'ой')

( ('ую') 'ой')

};

/* сама программа распознавания морфологической формы слова */

Question {

/* берем слово и ищем подходящее по шаблону в таблице1 */

(e.Word), <WordsMissTable>: e.L((e.Word)e.Qst)e.R = e.Qst;

/* иначе, бере окончание слова и ищем по шаблону в таблице2 */

(e.1 e.End), <CompletionTable>: e.L((e.End)e.Qst)e.R = e.1 e.Qst ;

/* иначе, слово неизменяемо */

(e.1) = e.1;

};

Программа на РЕФАЛЕ состоит из трех предложений!

Интересно, сколько бы предложений программы пришлось бы написать для решения такой задачи на алгоритмическом языке? Например С++?

Список литературы

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

Оценить/Добавить комментарий
Имя
Оценка
Комментарии:
Хватит париться. На сайте FAST-REFERAT.RU вам сделают любой реферат, курсовую или дипломную. Сам пользуюсь, и вам советую!
Никита22:45:02 01 ноября 2021
.
.22:45:01 01 ноября 2021
.
.22:45:01 01 ноября 2021
.
.22:45:00 01 ноября 2021
.
.22:45:00 01 ноября 2021

Смотреть все комментарии (33)
Работы, похожие на Статья: Компьютерный морфологический разбор слов русского языка

Назад
Меню
Главная
Рефераты
Благодарности
Опрос
Станете ли вы заказывать работу за деньги, если не найдете ее в Интернете?

Да, в любом случае.
Да, но только в случае крайней необходимости.
Возможно, в зависимости от цены.
Нет, напишу его сам.
Нет, забью.



Результаты(287664)
Комментарии (4159)
Copyright © 2005-2021 HEKIMA.RU [email protected] реклама на сайте