Семантический и синтаксический анализ

Метод алгоритмизации и программирования

 

Само слово "алгоритм" появилось как результат латинской транскрипции имени великого ученого IX в. Аль Хорезми, который сформулировал общие правила (алгоритмы) выполнения арифметических операций над десятичными числами.

Алгоритм - это определенная последовательность действий, выполнение которой приводит к достижению поставленной цели.

Укажем на те существенные требования к алгоритмам, которые следует обеспечить при их разработке.

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

Таким образом, свойство дискретности алгоритмов проявляется в том, что сама процедура решения задачи распадается на последовательность шагов (дискретизация во времени), а на каждом шаге обрабатывается порция информации конечного объема (дискретизация по величине).

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

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

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

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

 

 

Синтаксический анализ устанавливает важнейшие параметры информационных потоков, включая необходимые количественные характеристики, для выбора комплекса технических и программных средств сбора, регистрации, передачи, обработки, накопления и хранения информации. Семантический анализ позволяет изучить информацию с точки зрения смыслового содержания ее отдельных элементов, находить способы языкового соответствия (язык человека, язык ЭВМ) при однозначном распознавании вводимых в систему сообщений.

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

Семантический анализ призван проводить смысловой анализ информации на основе изучения значений единиц языка: выявление синонимов, омонимов, антонимов, многозначных слов, анализ изменения значений единиц языка при их различных сочетаниях.

С середины 1960-х годов проводились эксперименты с методикой, которая назначала каждому документу одну или большее количество "ролей" (функций) и одну или большее количество "связей" (указатели на другие документы, имеющие ту же самую или подобную роль). Методика показала потенциальную способность для оценки прагматической меры подобия. Приблизительно 20-ю годами позже подобная техника стала популярной под именем "гипертекст". В этой методике документы, которые человек или группа людей рассматривает как связанные (через понятия, иерархию, опыт, повод или другие характеристики), соотносятся через "гиперссылки" (hyperlinks), намечая пути ассоциации человеческих идей. Объекты, связанные таким образом, могут быть не только текстом; речь и музыка, графика и изображения, мультипликация и видео могут быть связаны в гипермедийные базы данных. Объекты хранятся с их гиперссылками, и пользователь может легко путешествовать по сети ассоциаций, щелкая мышью на ряде входов на компьютерном экране.