Понятие естественно-языкового интерфейса

Автор работы: Пользователь скрыл имя, 21 Июня 2014 в 12:50, курсовая работа

Краткое описание

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

Вложенные файлы: 1 файл

Курсовая.doc

— 1.55 Мб (Скачать файл)
      1. Тернарные деревья поиска

Пусть для примера, необходимо осуществить поиск по следующим двенадцати двухбуквенным строкам: as at be by he in is it of on or to. Наиболее эффективно по скорости задачу такого поиска решила бы структура данных в виде дерева представленного на рисунке 4. Где степень ветвления каждого узла равна A, т.е. равна количеству символов в алфавите.

Рисунок 4 - Структура данных в виде дерева

Поиск по шаблону происходит очень быстро, начиная с корня дерева и первого символа шаблона спускаемся по дереву к узлу, соответствующему второму символу шаблона и так далее. Поиск закончится в одном из двух случаев: либо мы дойдём до последнего символа шаблона (и это будет значить положительный результат поиска), либо мы уткнёмся в нулевую ссылку на следующий узел, что будет говорить об отсутствии данного шаблона среди сходных строк. Однако с практической токи зрения это довольно неудобная структура данных, поскольку в каждом узле дерева должны храниться ссылки на A потомков, большинство из которых будут пустующими, и такое дерево будет занимать очень много места, относительно объёма исходных данных. Для того чтобы разрешить эту проблему, в качестве компромисса между бинарными деревьями и деревьями со степенью ветвления A был придуман некоторый их гибрид - тернарные деревья, степень ветвления которых не более чем 3, позволяющие производить поиск гораздо эффективнее, чем в бинарных деревьях поиска и быть довольно компактными. Поиск в этом случае будет выполняться за O (m + log(n)) операций сравнения. На рисунке 5 приведён пример тернарного дерева для того же набора данных.

Рисунок 5 - Пример тернарного дерева.

Процесс поиска может проходить следующим образом, допустим, что мы ищем строку he, тогда начиная с корня (узла i) сравниваем с узлом первый символ шаблона h и i, поскольку h> i то переходим в узел b, далее h <b и переход в узел h, поскольку первый символ шаблона и узел совпадают, переходим к центральному потомку и продолжаем сравнение, но уже со вторым символом шаблона. Алгоритм построения тернарного дерева аналогичен, рассмотренному выше поиску по дереву. По сравнению с хеш-таблицами тернарные деревья позволяют очень быстро вернуть отрицательный результат поиска для шаблона, заведомо не содержащегося в исходных документах.

    1. Основные подходы к анализу естественно-языковых запросов

    1. Лингвистический процессор

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

Естественный язык служит человеку для выражения собственных мыслей и для понимания мыслей других людей. Первому виду языковой деятельности соответствует производство ЕЯ-текстов, а второму - понимание таких текстов. Если обозначить множество текстов через {Т}, а множество выражаемых ими смыслов через {С}, то модель естественного языка можно определить, как транслятор, устанавливающий соответствие между этими двумя множествами: {Т} ⇔ {С}.

Формальные модели языка рассматриваются как компоненты различных прикладных ЕЯ-систем. Компонента системы, реализующая формальную лингвистическую модель и способная работать с ЕЯ во всем его объеме, называется лингвистическим процессором (ЛП).

Две основные функции ЛП состоят в извлечении смысла из заданного текста и в выражении заданного смысла текстом на ЕЯ, иначе это функции:

ƒ моделирования понимания (анализ);

ƒ моделирования производства текстов (синтез).

Формальная модель, лежащая в основе ЛП, является наиболее полной моделью класса «Смысл ⇔ Текст». Такая модель обеспечивает получение связных синтаксических структур для всех предложений обрабатываемых текстов, независимо от степени их сложности, и переработку текстов на естественном языке без смысловых потерь. Структура и состав лингвистического процессора со стороны своего внутреннего устройства лингвистический процессор представляет собой многоуровневый преобразователь. В нем различаются три уровня пофразного представления текста - морфологический, синтаксический и семантический. Каждый из уровней обслуживается соответствующим компонентом модели - массивом правил и определенным словарем. На каждом из уровней предложение имеет формальный образ, именуемый в дальнейшем его структурой - морфологической (МорфС), синтаксической (СинтС) и семантической (СемС). Синтез представляет собой обратный переход от СемС предложения к его записи в обычном орфографическом виде. Структура лингвистического процессора представлена на рисунке 6.

Рисунок 6 – Структура лингвистического процессора

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

Лингвистический процессор в целом должен обеспечивать выполнение следующих преобразований:

    • предложение на ЕЯ ⇒ МорфС ⇒ СинтС ⇒ СемС (при анализе)
    • СемС ⇒ СинтС ⇒ МорфС ⇒ предложение на ЕЯ (при синтезе)

Таким образом, чтобы построить ЛП, необходимо разработать:

  • формальные языки для записи (образов) предложений на морфологическом, синтаксическом, семантическом уровнях представления;
  • формальное понятие структуры предложения для каждого из этих уровней;
  • массивы правил для преобразования структур смежных уровней друг в друга;
  • морфологический, синтаксический и семантический словари, включив в них всю информацию о каждой лексеме, необходимую для осуществления
    1. Анализ методов и подходов морфологического анализа

Стадия морфологического анализа (МА) является наиболее проработанным

лингвистическим этапом процесса обработки естественного текста.

Цель морфологического анализа (МА) заключается в определении морфологической информации словоформ для использования ее на последующих этапах обработки ЕЯ текста. На рисунке 7 изображена классификация морфологических признаков слов русского языка.

Рисунок 7 - Морфологические признаки слов русского языка

 Существуют три основных метода реализации МА: декларативный, процедурный и комбинированный.

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

Процедурный МА выполняет следующие функции: выделяет в текущей словоформе основу, идентифицирует ее и приписывает данной словоформе соответствующий комплекс МИ. Процедурный метод предполагает предварительную систематизацию морфологических знаний о ЕЯ и разработку алгоритмов присвоения МИ отдельной словоформе. Недостатком

такого подхода является высокая трудоемкость составления словарей совместимости. При этом наличие в русском языке большого числа слов-исключений не позволяет сколько-нибудь автоматизировать этот процесс. Для проведения анализа словоформы необходимо наличие словарей «приставка-корень», «корень – суффикс - флективный класс», «флективный класс – окончание - морфологическая информация».

Работающая система, в которой реализован процедурный морфологический анализ, занимает значительно меньший объем памяти, но при этом увеличивается время поиска МИ за счет разбиения словоформы на составляющие и применения процедур совместимости. Исходя из этого, процедурный метод удобнее применять в системах с относительно небольшим количеством пользователей, в то время как декларативный – в системах с частым обращением к лингвистическому анализатору. Другим существенным недостатком процедурных методов является отсутствие универсальности, т.к. существует большое количество слов, которые нельзя представить в виде суммы неизменной основы и аффиксов.

В системах реальной степени сложности чаще используется комбинированный вариант морфологического анализа. При этом используется как словарь словоформ, так и словарь основ. На первом этапе проводится поиск по словарю словоформ, как при декларативном методе, и в случае успешного поиска анализ на этом завершается. В противном случае задействуется словарь основ и процедурный метод анализа. В комбинированном методе, реализованном фирмой «Интелтек Плюс» словоформа разделяется на основу и аффикс (окончание и, возможно, суффикс), и словарь содержит только основы слов вместе со ссылками на соответствующие строки в таблице возможных аффиксов, причем основа должна оставаться неизменной во всех возможных словоформах данного слова. За счет использования словаря готовых словоформ обеспечивается достаточно высокая скорость определения МИ, а за счет справочников “основа+аффикс” – качество морфологического анализа.

    1. Методы, алгоритмы и подходы синтаксического анализа ЕЯ-текстов

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

Таблица 1

Классификация способов синтаксического анализа

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

Одним из основных компонентов лингвистической базы знаний, осуществляющей автоматический синтаксический анализ, является описательная модель синтаксической структуры предложения. Такая модель в значительной степени передает концепцию разработчиков относительно синтаксического уровня анализа: какая именно информация об элементах предложения и их взаимосвязях должна выявляться в процессе анализа, присутствовать в его результатах и какие формы представления ей адекватны. Наиболее общим для разработчиков синтаксических анализаторов является взгляд, что синтаксическое строение предложения можно представить некоторым частично упорядоченным множеством бинарных связей между элементами. Виды и свойства элементов, связей и отношения порядка варьируют в разных моделях.

Представления о бинарных синтаксических связях используются в двух известных моделях синтаксической структуры: графах зависимостей и графах непосредственных составляющих. В настоящее время эти две формы представления синтаксической структуры остаются основными. Они используются в чистом виде или – очень часто – в смешанных формах, сочетающих в себе свойства обоих графов. Описание структур в форме классического графа зависимостей хорошо соответствует русской грамматической традиции: оно основывается на понятии бинарного словосочетания в предложении с выделенными главными и зависимыми элементами. Элементы изображаются узлами графа, подчинение одного узла другому – направленными дугами, вследствие чего граф зависимостей является ориентированным графом. Обычно ровно один узел графа в подавляющем большинстве моделей, соответствующий сказуемому, не имеет подчиняющего узла и называется вершиной. Иногда двумя вершинами представляют подлежащее и сказуемое. Отношение подчинения задает частичный порядок на множестве узлов. Если одному узлу подчиняется сразу несколько узлов, то среди последних порядок не определен: граф зависимостей не передает информацию об относительной степени близости подчиненного слова к главному. 

Информация о работе Понятие естественно-языкового интерфейса