это быстро и бесплатно
Оформите заказ сейчас и получите скидку 100 руб.!
Ознакомительный фрагмент работы:
Применениеданной статьи важно для тех, кто хочет сделать интерфейс к своей программе наестественном языке или сделать интеллектуальный поиск информации. Для этогонужно в первую очередь сделать морфологический анализ слов текста. Тогда ненужно будет иметь обширный словарь слов в разных словоформах. Достаточнозапомнить основное слово в словаре, а входной поток слов подвергатьморфологическому анализу, с тем чтобы все слова преобразовать к начальнымсловоформам.
Пример.пользователь ввел в базу знаний свою информацию "фирма РиК. Наша фирмапродает тару картонную". Модуль морфологического разбора преобразует этуинформацию к следующему виду: "фирма. РиК. мой фирма продать тара картонный".С точки зрения смысла получилась бессмыслица. Но для компьютера - в самый раз,это будет видно дальше. Теперь, другой пользователь вводит для поисковойсистемы запрос "продает тару картонную". Этот запрос будет так жепреобразован в "продать тара картонный". И теперь исполнив простойпоиск по совпадению, система поиска выдаст ранее запомненную информацию:"фирма Рик. продать...". Однако здесь было бы лучше запомнитьпервоначальную информацию клиента с правильными словоформами и выдать толькоеё.
Морфологияслов русского языка определяется по аффиксу - окончанию и суффиксу слова.Назовем это правило правилом морфологического разбора. Однако есть слова,которые имеют окончание, подходящее для некоторой формы слова, но являютсясовершенно другой формой. Например, "-ать" говорит что слово естьглагол (прыгать, бежать). Но есть слово "кровать", которое естьсуществительное. Значит, из правила морфологического разбора есть исключения.Так же есть слова, которые не изменяют свою форму. Например, предлоги,"не", наречия, "столь" и т.д. Значит, есть дополнения кправилу морфологического разбора. Эти дополнения можно представить какисключения из правила. Таким образом мы пришли к определенному логическомуописанию морфологического разбора слов. Для создания компьютерной программыздесь лучше всего подойдет логический язык программирования. Рассмотри два изних.
Примерпрограммы морфологического разбора слов на логическом языке программированияПРОЛОГ.
------------------------------------
/*программа по распознаванию морфологии слов русского языка */
/*по окончанию слова */
/*язык программирования ПРОЛОГ */
domains
Слово = string
predicates
морфология(Слово,СловоОснова)
nondetermисключение(Слово,Слово Основа)
nondetermправило(Слово Аффикс, Слово АффиксОсновы)
nondetermаффикс(Слово Корень, Слово, Слово Аффикс)
clauses
/*база знаний */
/*исключения из правила разбора слова для "неправильных" слов */
исключение("рек","река").
исключение("сел","сесть").
/*правила разбора для правильных слов */
/*для глаголов */
правило("нули","ать").
правило("нул","ать").
правило("еть","ать").
правило("ает","ать").
правило("ал","ать").
правило("ул","ать").
правило("ули","ать").
/*для прилагательных */
правило("вая","вый").
правило("вые","вый").
правило("ая","ой").
правило("ие","ой").
правило("ую","ой").
/*предикат осуществляющий перебор всех вариантов */
/*аффиксов для этого слова */
аффикс("",Аффикс,Аффикс).
аффикс(Корень,Слово,Аффикс):-
frontchar(Слово,Буква,Слово1),
аффикс(Корень1,Слово1,Аффикс),
frontchar(Корень,Буква,Корень1).
/*сначала просмотри все исключения */
морфология(Слово,Осн):-
исключение(Слово,Осн),!.
/*если не удачно, то переберем все аффиксы слова */
морфология(Слово,Осн):-
аффикс(Корень,Слово,Аффикс),
правило(Аффикс,АффиксиОсн),
concat(Корень,АффиксиОсн,Осн),!.
/*если неудачно, то значит слово несклоняемо */
морфология(Слово,Слово):-!.
/*вызов процедури морфологического разбора */
Goalморфология("зеленую",Слово).
ОтветПРОЛОГА: Слово = "зеленый"
Каквидно, в программе всего 13 строчек, а остальное база знаний. Теперь посмотримкак справится с этой задачей РЕФАЛ.
Примерна логическом языке программирования РЕФАЛ - 5:
-----------------------
/*программа по распознаванию морфологии слов руссского языка */
/*по окончанию и приставке слова */
/*язык программирования РЕФАЛ 5 */
/*автор Ермолаев Д.С. dimonas_long@yahoo.com */
/*ввод одного слова с консоли */
$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.1e.Qst ;
/*иначе, слово неизменяемо */
(e.1)= e.1;
};
Программана РЕФАЛЕ состоит из трех предложений!
Интересно,сколько бы предложений программы пришлось бы написать для решения такой задачина алгоритмическом языке? Например С++?
Список литературы
Д.С. Ермолаев. Компьютерный морфологический разбор слов русского языка
Сделайте индивидуальный заказ на нашем сервисе. Там эксперты помогают с учебой без посредников
Разместите задание – сайт бесплатно отправит его исполнителя, и они предложат цены.
Цены ниже, чем в агентствах и у конкурентов
Вы работаете с экспертами напрямую. Поэтому стоимость работ приятно вас удивит
Бесплатные доработки и консультации
Исполнитель внесет нужные правки в работу по вашему требованию без доплат. Корректировки в максимально короткие сроки
Гарантируем возврат
Если работа вас не устроит – мы вернем 100% суммы заказа
Техподдержка 7 дней в неделю
Наши менеджеры всегда на связи и оперативно решат любую проблему
Строгий отбор экспертов
К работе допускаются только проверенные специалисты с высшим образованием. Проверяем диплом на оценки «хорошо» и «отлично»
Работы выполняют эксперты в своём деле. Они ценят свою репутацию, поэтому результат выполненной работы гарантирован
Ежедневно эксперты готовы работать над 1000 заданиями. Контролируйте процесс написания работы в режиме онлайн
Требуется разобрать ст. 135 Налогового кодекса по составу напогового...
Решение задач, Налоговое право
Срок сдачи к 5 дек.
Школьный кабинет химии и его роль в химико-образовательном процессе
Курсовая, Методика преподавания химии
Срок сдачи к 26 дек.
Реферат по теме «общественное мнение как объект манипулятивного воздействий. интерпретация общественного мнения по п. бурдьё»
Реферат, Социология
Срок сдачи к 9 дек.
Выполнить курсовую работу. Образовательные стандарты и программы. Е-01220
Курсовая, Английский язык
Срок сдачи к 10 дек.
Изложение темы: экзистенциализм. основные идеи с. кьеркегора.
Реферат, Философия
Срок сдачи к 12 дек.
Заполните форму и узнайте цену на индивидуальную работу!