Скачать презентацию Решение простой лингвистической задачи с помощью компьютера Этапы Скачать презентацию Решение простой лингвистической задачи с помощью компьютера Этапы

Алгоритм и его свойства.ppt

  • Количество слайдов: 28

Решение простой лингвистической задачи с помощью компьютера Этапы решения задачи 1. 2. 3. 4. Решение простой лингвистической задачи с помощью компьютера Этапы решения задачи 1. 2. 3. 4. Постановка задачи Разработка модели Проведение компьютерного эксперимента Анализ результатов работы компьютерной модели

 Постановка задачи Говоря о постановке задачи, выделяют следующие действия: ü описание решаемой задачи Постановка задачи Говоря о постановке задачи, выделяют следующие действия: ü описание решаемой задачи ü формулирование цели процесса моделирования ü анализ оригинала модели При анализе оригинала модели (некоторого объекта, процесса или явления) в нем прежде всего выделяются формальные свойства оригинала, которые мог бы легко опознать компьютер 2

С точки зрения современной психологии задача в самом общем понимании - это некоторая цель, С точки зрения современной психологии задача в самом общем понимании - это некоторая цель, поставленная в конкретных условиях и требующая исполнения, решения. Примерами интеллектуальных задач являются следующие: – – – 3 решить полное квадратное уравнение ах2 + bх + с - 0; составить реферат научного текста; перевести текст с английского языка на русский и т. д.

Чтобы решить задачу, необходимо знать ее начальные условия, а также метод или способ ее Чтобы решить задачу, необходимо знать ее начальные условия, а также метод или способ ее решения. Так, чтобы решить полное квадратное уравнение необходимо знать конкретные значения коэффициентов а, b, и с (начальные условия). В качестве метода решения этого уравнения надо использовать правило вычисления значений x 1 и х2: - b ± b 2 - 4 ac x 1, 2 = 2 a Чтобы перевести текст на русский язык, необходимо иметь, как минимум, англо-русский словарь и знать английскую и русскую грамматики, лексикологию и еще многое другое. Все это начальные условия. В качестве метода решения этой задачи выступают те правила перевода текстов, которым обучают в вузе. 4

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

Например, в тексте: СКОРО_ПРИДЕТ_ВЕСНА_. _ВЕСНОЙ_ЛЕГЧЕ_ДЫШИТСЯ_. _ПРИХОДИ _ВЕСНА_! 8 словоупотреблений. Если бы из единиц этого Например, в тексте: СКОРО_ПРИДЕТ_ВЕСНА_. _ВЕСНОЙ_ЛЕГЧЕ_ДЫШИТСЯ_. _ПРИХОДИ _ВЕСНА_! 8 словоупотреблений. Если бы из единиц этого текста составлялся алфавитно-частотный словарь, то в нем оказалось бы 7 словоформ. Словоформы 1. ВЕСНА 2. ВЕСНОЙ 3. ДЫШИТСЯ 4. ЛЕГЧЕ 5. ПРИДЕТ 6. ПРИХОДИ 7. СКОРО 6 2 1 1 1 Слова 1. ВЕСНА 3 2. ДЫШАТЬСЯ 1 3. ЛЕГКО 1 4. ПРИХОДИТЬ 2 5. СКОРО 1

1. Постановка задачи Для описание решения задачи: необходимо найти в группе из 10 русских 1. Постановка задачи Для описание решения задачи: необходимо найти в группе из 10 русских глаголов глаголы в инфинитиве и напечатать их. Цель процесса моделирования: создать модель опознавания инфинитивной формы русского глагола. Решению каждой лингвистической задачи должен предшествовать анализ соответствующего лингвистического материала: конкретных слов. Просмотрев русские глаголы можно сделать вывод, что глаголы в инфинитивной форме заканчиваются буквосочетаниями –ть, -чь, -ти (отбросив возвратные глаголы). Это и есть те формальные признаки, на которые будет опираться модель. Выход в меню 7

Разработка модели На этапе непосредственной разработки модели создается алгоритм решения задачи. Слово алгоритм происходит Разработка модели На этапе непосредственной разработки модели создается алгоритм решения задачи. Слово алгоритм происходит от слова algorithmi - латинской формы написания имени великого математика IX века аль. Хорезми. Он впервые четко сформулировал правила выполнения арифметических действий. Сейчас это понятие используется для обозначения последовательности любых действий: арифметических, логических, взятия логарифмов, вычисления синуса и т. п. ). 8

 Общие понятия об алгоритме Алгоритм - точное предписание о выполнении в определенном порядке Общие понятия об алгоритме Алгоритм - точное предписание о выполнении в определенном порядке некоторой последовательности действий (физических или умственных), приводящее к решению некоторой типовой задачи. Например, при необходимости сварить кофе последовательность физических действий будет такой: вскипятить нужное количество воды, засыпать кофе в горячую воду (одну-две чайные ложки на стакан воды), нагреть воду до кипения (но не кипятить) и т. д. 9

 l l 10 Свойства алгоритма Дискретность - алгоритм разбивается на конечное число действий-шагов, l l 10 Свойства алгоритма Дискретность - алгоритм разбивается на конечное число действий-шагов, которые могут быть пронумерованы. Причем только после выполнения одного предписания можно перейти к выполнению другого. Результативность - при всех начальных условиях число шагов алгоритма конечно, и он приводит к решению задачи.

 Свойства алгоритма l l l 11 Массовость - по данному алгоритму может быть Свойства алгоритма l l l 11 Массовость - по данному алгоритму может быть решен целый ряд типовых задач (они отличаются лишь различными начальными условиями). Детерминированность - при многократном решении одной и той же задачи с одинаковыми начальными условиями всегда получается один и тот же результат. Формализованностъ - тот, кто его выполняет (человек, машина), может не вникать в смысл того, что он делает согласно предписаниям алгоритма, и все равно придет к верному результату.

 Способы записи алгоритмов l l • 12 Словесный способ сводится к тому, что Способы записи алгоритмов l l • 12 Словесный способ сводится к тому, что составляющие алгоритм шаги (предписания) записываются в виде слов и предложений естественного языка. При графическом представлении алгоритма его шаги изображаются разными геометрическими фигурами (блоками), образующими блок-схему алгоритма. Связи между блоками обозначены стрелками, соединяющими соответствующие фигуры. Для лингвистических задач используется словесно Далее -графический способ записи алгоритма.

 Способы записи алгоритмов Графическое представление алгоритма Параллелограмм Прямоугольник используется для записи вычислительных и Способы записи алгоритмов Графическое представление алгоритма Параллелограмм Прямоугольник используется для записи вычислительных и некоторых других действий Ромб используется для проверки различных условий Овал используется для обозначения начала и конца алгоритма Круг 13 используется для обозначения действий ввода информации в компьютер и вывода информации из него служит для указания тех блоков алгоритма, на которые передается управление от блоков первых трех типов Назад

 Способы записи алгоритмов • При табличном задании алгоритма его шаги записываются в графах Способы записи алгоритмов • При табличном задании алгоритма его шаги записываются в графах специальных таблиц. Чаще всего такой способ записи алгоритма используется для выполнения различных вычислений по формулам. • Псевдокод – краткая система обозначений, предназначенная для неформального представления идей в процессе разработки алгоритма. Такой подход обычно используется, когда целевой язык программирования известен заранее. Выход в меню 14

2. Разработка модели Для решения нашей лингвистической задачи, очевидно, необходимо выполнить следующую цепочку 2. Разработка модели Для решения нашей лингвистической задачи, очевидно, необходимо выполнить следующую цепочку "умственных" действий: 1. Взять очередной анализируемый глагол 2. Выделить у этого глагола две последние буквы 3. Посмотреть, совпадают ли эти буквы с буквами ть, чь, ти. Если да, то перейти к действию 4; если нет, то выполнить действие 6 4. Сделать вывод: "Данный глагол употреблен в инфинитиве" 5. Перейти к действию 7 6. Сделать вывод: "Данный глагол употреблен в личной форме" 7. Подсчитать число проанализированных глаголов 8. Проверить, все ли 10 глаголов проанализированы. Если нет, то перейти к выполнению действия 1; если да, то перейти к действию 9 9. Закончить работу Назад 15

 1 2 Начало Вводим очередной русский глагол Алгоритм решения задачи Подсчитать число введенных 1 2 Начало Вводим очередной русский глагол Алгоритм решения задачи Подсчитать число введенных глаголов 3 Введен 11 глагол? да Конец нет 4 Отделяем у глагола 2 последние буквы 5 Это “ть”, “чь” или ” ти”? да нет 6 7 Глагол употреблен в инфинитиве Глагол употреблен в личной форме Назад 1 1

 3. Проведение компьютерного эксперимента На данном этапе на конкретном алгоритмическом языке должна быть 3. Проведение компьютерного эксперимента На данном этапе на конкретном алгоритмическом языке должна быть написана программа на некотором языке программирования. Язык программирования – искусственный язык, состоящий из фиксированного словаря и совокупности правил, называемых синтаксисом, которые используются для составления команд, выполняемых впоследствии компьютером Алфавит языка Язык BASIC был создан в 1965 году в США. Основные составляющие языка QBASIC 1. Алфавит языка QBASIC. 2. Типы исходных данных. 3. Операторы обработки исходных данных. ü Все прописные и строчные буквы латинского и русского алфавита ü Десятичные цифры от 0 до 9 ü Знаки арифметических действий ü Знаки логических действий ü Знаки-разделители: ". " , ", ", "; " , " ' " , "(" , ")" , "_" ü Специальные знаки: "#", "$", "&" , "!" , "%" 17

 Типы исходных данных ü Данные, представленные буквами (буквосочетаниями) называются символьными или строковыми. ü Типы исходных данных ü Данные, представленные буквами (буквосочетаниями) называются символьными или строковыми. ü Данные, представленные числами называются вещественными. Каждый тип информации может быть представлен в виде констант (постоянных величин) и переменных. Строковые константы - это обычные буквы, слова, предложения любого естественного языка, заключаемые в кавычки. Например: "ВЕСНА", “ 2002 г. ", "ПЕТРОВ И. В. " и т. п. 18 Каждая строковая переменная имеет имя – эта некоторая область оперативной па-мяти, где будет размещаться соответствующее данное (суффикс, слово, текст и …). Имя может состоять из латинских букв и цифр, на конце имени должен находиться знак $. Например: Х$, К 2$, S 9$, BUK$. Вещественные константы-это привычные для человека дробные и целые числа. Вещественная переменная, как и строковая, должна иметь свое имя. Оно записывается точно так же, как и имя строковой переменной, только в конце имени не ставится знак. Например: X, К 2, S 9, BUK, STROKA и т. п.

 Операторы обработки исходных данных Оператор - это условная запись действия, выполняемого компьютером над Операторы обработки исходных данных Оператор - это условная запись действия, выполняемого компьютером над некоторой информацией (данными). 19 В самом общем виде оператор языка QBASIC записывается так: НС Имя оператора Содержание оператора НС - номер строки программы или номер оператора в программе обработки данных, может принимать значение от 0 до 65535, не является обязательным; имя оператора - это одно из слов или частей слов английского языка, обозначающее то действие, которое этот оператор выполняет; содержание оператора - это какая-то константа или переменная, какое-то арифметическое или логическое выражение, или же номер какого-либо другого оператора той же программы.

 Основные группы операторов 1. 1. 2. 2. 3. 3. 4. 4. арифметических действий Основные группы операторов 1. 1. 2. 2. 3. 3. 4. 4. арифметических действий логических действий управления программой ввода и вывода информации 5. информации специальных 5. специальных Простейшим из операторов является оператор присваивания, который в общем виде записывается так: НС L=К где НС - номер строки программы, L - имя любой переменной, которой присваивается значение К (вместо К может быть число, слово, предложение, какая-то другая переменная или арифметическое выражение). 20 Операторы арифметических действий выполняют различные арифметические операции над переменными (+, , *, /, ^). Например. Y = X 2 -5 X + 3 В операторах логических действий выполняются следующие логические операции (=, <, >, <=, >=, <>, OR, AND).

 Основные группы операторов Операторы управления программой. 21 Чаще всего используются следующие операторы управления Основные группы операторов Операторы управления программой. 21 Чаще всего используются следующие операторы управления программой: 1. Оператор безусловного перехода GO TO ("перейти к"): НС GO TO HC 1 2. Оператор условного перехода IF THEN ("если то"): НС IF условие GOTO HC 1 НС IF условие THEN оператор В более развернутом виде может иметь следующую форму : НС IF условие THEN [операторы] ELSE [операторы] END IF

Основные группы операторов Операторы ввода и вывода информации Для ввода информации используется оператор ввода Основные группы операторов Операторы ввода и вывода информации Для ввода информации используется оператор ввода INPUT : ? _ ХОДИТЬ НС INPUT P 1, P 2, . . . где НС - номер оператора, a PI, P 2, . . . - имена переменных, которым с клавиатуры передаются исходные данные. Например, в компьютер необходимо ввести для последующего анализа глагол ХОДИТЬ. Это действие можно записать следующим образом: INPUT W$ 22 Как только компьютер встретит данный оператор, он высветит на экране знак вопроса (? ). Человек должен набрать на клавиатуре слово ХОДИТЬ и нажать на клавиатуре клавишу ENTER. Слово ХОДИТЬ попадет в область оперативной памяти с именем W$.

Основные группы операторов Для вывода информации на принтер используется оператор PRINT, который записывается так: Основные группы операторов Для вывода информации на принтер используется оператор PRINT, который записывается так: НС PRINT DI, D 2. . . Dl, D 2, . . - выводимые на печать данные. Вместо Dl, D 2. . . могут ХОДИТЬ-ГЛАГОЛ стоять либо имена переменных, либо фраза. УПОТРЕБЛЕН В ЛИЧНОЙ ФОРМЕ Например, PRINT W$; " - ГЛАГОЛ УПОТРЕБЛЕН В НЕОПРЕДЕЛЕННОЙ ФОРМЕ" 23

 Специальные операторы языка QBASIC Оператор LEN служит для определения числа знаков (букв и Специальные операторы языка QBASIC Оператор LEN служит для определения числа знаков (букв и т. д. ) в строковых данных. НС L =LEN (К) где L - имя переменной, в которую будет передано число знаков (букв, цифр и т. п. ), находящихся в обрабатываемом данном К. Например, L=LEN ("ХОДИТЬ"), где L= 6 или L=LEN(W$) Итог будет тот же: L=6. Оператор RIGHT$, общий вид которого выглядит следующим образом: НС B$=RIGHT$ (W$, n) позволяет выделить в строке символов, содержащейся в переменной с именем W$, определенное число (n) правых символов и направить их в переменную именем В$. Например, B$=RIGHT$ (W$, 2), при этом в переменную В$ помещается ТЬ (В$=“ТЬ"). 24

3. Проведение компьютерного эксперимента Для написания программы для нашей задачи необходимо выполнить следующих действий: 3. Проведение компьютерного эксперимента Для написания программы для нашей задачи необходимо выполнить следующих действий: Выделяют основные переменные памяти компьютера. В данном случае ими будут: ü место в памяти компьютера для размещения каждого анализируемого глагола; ü место в памяти компьютера для размещения двух последних букв глагола ; ü место в памяти компьютера (счетчик) для размещения числа проанализированных глаголов. Этим переменным присваивают определенные имена : gl$ - строковая переменная для размещения анализируемого глагола; sf$ - строковая переменная для размещения двух последних букв глагола; I – числовая переменная (счетчик) для размещения числа проанализированных глаголов. Написание компьютерной программы сводится к замене блоков операторами языка QBASIC. Отладка программы, т. е. устранение различных ошибок 25

Текст программы Вы уже знаете, что написание компьютерной 1 программы сводится к замене блоков Текст программы Вы уже знаете, что написание компьютерной 1 программы сводится к замене блоков операторами INPUT “Введите глагол”, gl$ 2 языка QBASIC I=I+1 3 IF I > 10 THEN END 4 sf$=RIGHT$(GL$, 2) 5 IF sf$=“ть” or sf$=“ти” or sf$=“чь” THEN 6 PRINT gl$; “- употреблен в инфинитиве” ELSE 7 PRINT gl$; “- употреблен в личной форме” 8 END IF 9 GOTO 1 26 Выход в меню

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

Спасибо за внимание 28 Спасибо за внимание 28