Автор работы: Пользователь скрыл имя, 03 Апреля 2013 в 17:47, контрольная работа
Язык программирования — формальная знаковая система, предназначенная для записи компьютерных программ. Язык программирования определяет набор лексических, синтаксических и семантических правил, задающих внешний вид программы и действия, которые выполнит исполнитель (компьютер) под её управлением.
Введение
Язык программирования — формальная знаковая система, предназначенная для записи компьютерных программ. Язык программирования определяет набор лексических, синтаксических и семантических правил, задающих внешний вид программы и действия, которые выполнит исполнитель (компьютер) под её управлением.
Сейчас значительная часть содержания Сети предназначена для чтения человеком, а не для осмысленного манипулирования этим содержанием с помощью компьютерных программ. Во многих странах мира ведется разработка Семантической паутины (Semantic web), представляющей собой надстройку над существующей Всемирной паутиной. Семантическая паутина призвана сделать размещённую в ней информацию более понятной для компьютеров. Для этого необходимо создать специальные формализмы для записи семантической информации, технологию работы с ними и разработать обширные текстовые ресурсы, записанные в этих формализмах. В этом процессе один из ключевых моментов состоит в семантической интерпретации текстов, написанных на естественном языке.
Минимальной языковой единицей, к которой будет применена технология машинного семантического анализа, является предложение на ЕЯ (естественном языке).
Предложение мы будем рассматривать как список отдельных слов. Задачей семантического анализатора является разбор предложения с целью выделения объекта (участника), агента (как некоторой сущности) и инструмента, - если это предложение действия.
Если удается выделить такие группы, то становится возможной интерпретация предложения, т.е. с каждой глагольной группой связывается некоторое действие, а с каждой группой существительного связывается некий объект. В более сложном виде предложение с каждой глагольной формой может интерпретироваться как двуместный предикат с соответствующей интерпретацией.
Падежи Гилмора:
1. объектный падеж
2. агентный падеж
3. инструментальный падеж
4. целевой падеж
5. локутивный падеж (падеж места действия)
6. временной падеж
7. коагентный падеж (помощник агента)
8. падеж источника и назначения
9. падеж траектории «я прошел через лес и вышел на опушку»
10. Падеж носителя («он проехал в машине через мост»)
и т.д.
Объект – это то, на что направлено действие агента. Инструмент – ресурс, с помощью которого достигается цель.
Таким образом, каждый падеж связан с некоторой группой существительных.
Например:
Студент четвертого курса ФБИ написал интересную программу с помощью языка Пролог в качестве курсового проекта, сидя в вагоне скорого поезда в ноябре месяце 2008 года, двигаясь из Иркутска в Новосибирск, и проезжая при этом через города Тайга и Красноярск.
Объект – интересная программа
Агент – студент четвертого курса ФБИ
Инструмент – язык пролог
Цель – курсовой проект
Локация - Вагон скорого поезда
Время – в ноябре месяце 2008 года
Источник и назначение – Иркутск, Новосибирск
Траектория – через города Тайга и Красноярск
Носитель – совпадает с метом
Список падежей открыт. Существующие падежи выделены исключительно эмпирическим путем
Семантика языков программирования
Семантика языка программирования - это смысл, который закладывается в каждую конструкцию языка.
Семантический анализ - это проверка смысловой правильности конструкции. Например, если в выражении используется переменная, то она должна быть определена ранее по тексту программы, а из этого определения может быть получен ее тип. Исходя из типа переменной, можно говорить о допустимости операции с данной переменной.
Существует несколько подходов к определению семантики языков программирования.
Наиболее широко распространены разновидности следующих трёх:
При описании семантики в рамках операционного подхода обычно исполнение конструкций языка программирования интерпретируется с помощью некоторой воображаемой (абстрактной) ЭВМ.
Деривационная семантика описывает последствия выполнения конструкций языка с помощью языка логики и задания пред- и постусловий.
Денотационная семантика
оперирует понятиями, типичными
для математики — множества, соответствия,
а также суждения, утверждения и др.
Понятие семантического
анализа
Семантический анализ позволяет изучить информацию с точки зрения смыслового содержания ее отдельных элементов, находить способы языкового соответствия (язык человека, язык ЭВМ) при однозначном распознавании вводимых в систему сообщений.
Анализ зарегистрированной в цифровой форме информации естественного языка с семантической точки зрения является вопросом значительной сложности, и он лежит в основе таких приложений, как автоматические ответы на вопросы из базы данных или восстановление информации посредством неограниченных запросов естественного языка.
Семантический анализ призван проводить смысловой анализ информации на основе изучения значений единиц языка: выявление синонимов, омонимов, антонимов, многозначных слов, анализ изменения значений единиц языка при их различных сочетаниях.
Традиционной задачей
семантики считается снятие неоднозначности
синтаксического анализа –
Грамматика семантического уровня в чистом виде (вне связи с синтаксисом) представлена в семантическом анализаторе Й. Уилкса. Его модель семантической предпочтительности включает такие инструменты семантического анализа, как тезаурусная информаци, правила вывода “по здравому смыслу”, понятие псевдотекста, декомпозицию лексем на семантические примитивы, что позволяет доказывать семантическую связность даже в трудном лингвистическом материале (метафорические словоупотребления).
Этапы семантического анализа
Семантический анализатор выполняет следующие основные действия:
Проверка соблюдения
во входной программе
Примерами таких соглашении являются следующие требования
Понятие семантической цепи
Семантическая сеть - структура для представления знаний в виде узлов, соединенных дугами. Самые первые семантические сети были разработаны в качестве языка-посредника для систем машинного перевода, а многие современные версии до сих пор сходны по своим характеристикам с естественным языком. Однако последние версии семантических сетей стали более мощными и гибкими и составляют конкуренцию фреймовым системам, логическому программированию и другим языкам представления.
Начиная с конца 50-ых годов были создано и применены на практике десятки вариантов семантических сетей. Несмотря на то, что терминология и их структура различаются, существуют сходства, присущие практически всем семантическим сетям:
1. узлы семантических
сетей представляют собой
2. различные узлы одного
концепта относятся к
3. дуги семантических сетей создают отношения между узлами-концептами (пометки над дугами указывают на тип отношения);
4. некоторые отношения между концептами представляют собой лингвистические падежи, такие как агент, объект, реципиент и инструмент (другие означают временные, пространственные, логические отношения и отношения между отдельными предложениями;
5. концепты организованы по
Однако существуют и различия: понятие значения с точки зрения философии; методы представления кванторов общности и существования и логических операторов; способы манипулирования сетями и правила вывода, терминология. Все это варьируется от автора к автору. Несмотря не некоторые различия, сети удобны для чтения и обработки компьютером, а также достаточно мощны, чтобы представить семантику естественного языка.
Семантический словарь русского языка
Семантический словарь русского языка — словарь, составленный проф. В. А. Тузовым из СПбГУ для решения проблемы семантического анализа текстов на русском языке.
Суть решения заключается в том, что семантический анализатор, используя морфологический и семантический словари, снимает с исходного текста оболочку русского языка и строит эквивалентный текст на семантическом языке. В книге описываются семантический язык, семантический словарь русского языка и приводится алгоритм семантического анализа.
Список литературы
Информация о работе Семантический анализатор естественного языка