Будь умным!


У вас вопросы?
У нас ответы:) SamZan.net

ЛАБОРАТОРНАЯ РАБОТА 7 ИДЕНТИФИКАЦИЯ СЛОВ НАПИСАННЫХ С ОШИБКАМИ ЦЕЛЬ

Работа добавлена на сайт samzan.net: 2016-03-13

Поможем написать учебную работу

Если у вас возникли сложности с курсовой, контрольной, дипломной, рефератом, отчетом по практике, научно-исследовательской и любой другой работой - мы готовы помочь.

Предоплата всего

от 25%

Подписываем

договор

Выберите тип работы:

Скидка 25% при заказе до 22.5.2024

ЛАБОРАТОРНАЯ РАБОТА № 7 

ИДЕНТИФИКАЦИЯ СЛОВ, НАПИСАННЫХ С ОШИБКАМИ

ЦЕЛЬ. Целью лабораторной работы является расмотрение способа реализации распознавания ошибочных слов в языке ПРОЛОГ.

КРАТКОЕ ТЕОРЕТИЧЕСКОЕ ВВЕДЕНИЕ.

Важной задачей является распознавание ошибочно записанных слов. Такая задача возникает, например, при работе с семантическим вопросником, когда пользователь должен вводить вопросы на естественном языке, а система должна находить ответы на вопросы из текстовой базы знаний.

Упростим задачу: будем считать, что имеют место следующие ошибочные ситуации.

  •  Буква написана с ошибкой
  •  Буква пропущена
  •  Вставлена лишняя буква.

Напишем программу, которая эти ситуации выявляет. У нас должны быть образцы слов, например,

word("moloko").

word("kefir").

word("tvorog").

Пользователь должен вводить свое слово, например,

Goal

raspoz("molko",X),

write(X),

readchar(_).

Если система распознает слово (пропущена буква), то она выведет правильное слово на экран.

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

predicates

nondeterm check(string,string)

nondeterm raspoz(string,string)

nondeterm word(string)

Сlauses

raspoz(Y,X):-

word(Z),

check(Y,Z),

X=Z.

word("moloko").

word("kefir").

word("tvorog").

check("",Z):-

str_len(Z,Z1),

Z1<=2.

check(Y,""):-

str_len(Y,Y1),

Y1<=2.

check(Y,Z):-

frontchar(Y,CY,YR),

frontchar(Z,CZ,ZR),

CY=CZ,

check(YR,ZR).

check(Y,Z):-

frontchar(Y,CY,YR),

frontchar(Z,CZ,ZR),

not(CY=CZ),

frontchar(YR,C2,YR2),

frontchar(ZR,Z2,ZR2),

C2=Z2,

check(YR2,ZR2).

check(Y,Z):-    

frontchar(Y,CY,YR),

frontchar(Z,CZ,ZR),

not(CY=CZ),

frontchar(ZR,CZ2,ZR2),

CY=CZ2,

check(YR,ZR2).

check(Y,Z):-       

frontchar(Y,CY,YR),

frontchar(Z,CZ,ZR),

not(CY=CZ),

frontchar(YR,CY2,YR2),

CY2=CZ,

check(YR2,ZR).

Goal

raspoz("molko",X),

write(X),

readchar(_).

В этой программе у нас есть три эталонных слова:

word("moloko").

word("kefir").

word("tvorog").

Вызов для разбора слова реализуется командами

raspoz("molko",X),

write(X),

readchar(_).

Правила

check("",Z):-

str_len(Z,Z1),

Z1<=2.

check(Y,""):-

str_len(Y,Y1),

Y1<=2.

допускают совпадение слов при условии, что их длины хоть и разные, но не более  чем на два символа.

Правило

check(Y,Z):-

frontchar(Y,CY,YR),

frontchar(Z,CZ,ZR),

CY=CZ,

check(YR,ZR).

фиксирует действия, выполняемые при совпадении очередных букв в словах.

Правило

check(Y,Z):-

frontchar(Y,CY,YR),

frontchar(Z,CZ,ZR),

not(CY=CZ),

frontchar(YR,C2,YR2),

frontchar(ZR,Z2,ZR2),

C2=Z2,

check(YR2,ZR2).

распознает ситуацию, когда очередные буквы не совпадают, но совпадают следующие, т.е. делается предположение об однократной ошибке.

Наконец, два последних правила для  check(Y,Z) относятся к ситуациям, когда пропущена одна буква во входном слове (тогда сравнивается следующая буква в образце с текущей букве во входном слове), либо вставлена лишняя буква.

ЗАДАНИЕ

1. Допишите правило (-ла) для случая, когда пользователь переставил буквы местами, например, в слове   molook  (=moloko).

2. Допишите правила, которые допускают только такие несоответствия между буквами, которые созвучны, например,

  malako= moloko

  tvorog= tvorok=tvorox

Но слова  muloko  не отождествляется со словом moloko. Т.е. следует задать похожие по звучанию сочетания пар букв.

3. Допишите правила, которые игнорируют в словах спец. символы, например, пробелы или запятые. Так, слово

 mo lo?ko  есть moloko.




1. Постреанимационная болезнь
2. Контрольная работа по дисциплине 'Городские пути сообщения транспорта ' Выполн
3. статьях мы рассмотрели возможность диагностики гиперактивности основные характеристики такого ребенка го
4. задачи безусловной оптимизации или оптимизация без ограничений задачи условной оптимизации оптимизац
5. либо ускорение В частности если телу сообщается поворотное кориолисово ускорение происхождение которог
6. Расчёт налогов
7. Роль государства в обеспечении прав и свобод человека
8.  Суть имущественных правоотношений в семьеСемейный кодекс Украины регулирует семейные личные неимуществен
9. РОССИЙСКАЯ ПРАВОВАЯ АКАДЕМИЯ МИНИСТЕРСТВА ЮСТИЦИИ РОССИЙСКОЙ ФЕДЕРАЦИИ РОСТОВСКИЙ Г
10. ГОРМОНАЛЬНЫЕ ПРЕПАРАТЫ Часть I
11. Тема 1 Содержание финансов предприятий 1
12. Вариант 6 Вариант 7 1
13. Тема- Контрольные задания Специальность- 220703 Автоматизация тех
14. ОТКРЫТИЕ ГИДРОМАССАЖНОГО КАБИНЕТА СРОК РЕАЛИЗАЦИИ ПРОЕКТА- 20112012 гг
15. реферат дисертації на здобуття наукового ступеня кандидата історичних наук Київ ~ Д
16. по теме- Политические технологии Содержани
17.  Объект уголовнопроцессуальных отношений
18. Система эстетического воспитания учащихся и средства формирования их эстетической культуры.html
19. на тему - В гости к бабушке для детей 2младшей группы
20. Как вести переговоры с трудными людьми