Источник: Естественно-языковые системы: курс лекций. – Улан-Удэ: Изд-во ВСГТУ, 2006. – 92 с.: илл. http://window.edu.ru/library/...

УДК 004.8 (075.8)
ББК 32.813 я73
Е155
Рецензент: Найханова Л.В., к.т.н., доцент, заведующая кафедрой систем информатики
ВСГТУ
Печатается по решению редакционно-издательского совета ВСГТУ
Курс лекций предназначен для студентов старших курсов специализации
«Искусственный интеллект» специальностей 230105 «Программное обеспечение
вычислительной техники и автоматизированных систем» и 010503 «Математическое
обеспечение и администрирование информационных систем». Данный курс содержит
теоретический материал по одноименной дисциплине, в нем изложены основные понятия
систем общения на естественном языке, рассматриваются архитектура и основные классы
ЕЯ-систем, вопросы создания основных компонент ЕЯ-систем и их методы организации.
Лекция 2. Основные классы ЕЯ-систем
В лекции 1 были определены и в общем виде рассмотрены основные функциональные
компоненты ЕЯ-систем: ведение диалога, понимание высказываний и генерация
высказываний. В зависимости от назначения прикладных систем, в состав которых входят
конкретные реализации ЕЯ-систем, задачи, решаемые отдельными функциональными
компонентами (как по постановке, так и по методам решения), могут в значительной степени
варьироваться. Исходя из этого, а также с учетом истории развития ЕЯ-систем, различают
следующие основные классы систем общения:
интеллектуальные вопрос - ответные системы;
системы общения с базами данных;
диалоговые системы решения задач;
системы обработки связных текстов;
системы машинного перевода.
Исторически ЕЯ-системы происходят от информационно-поисковых систем, с одной
стороны, и систем машинного перевода
-
с другой. Поэтому на начальном этапе ЕЯ-системы
представляли собой макеты информационно-поисковых систем, демонстрирующие
принципиальную возможность ввода данных (фактов) и обработки запросов на
естественном языке. Такие системы часто назывались интеллектуальными вопрос-ответными
системами. Название можно, по-видимому, объяснить стремлением их разработчиков
подчеркнуть, что в отличие от обычных информационно-поисковых систем и систем
машинного перевода того времени в данных системах широко используются концепции,
выработанные в исследованиях по искусственному интеллекту.
Основное внимание при разработке интеллектуальных вопрос-ответных систем
уделялось не столько возможностям их практического использования в реальных задачах,
сколько развитию моделей и методов, позволяющих осуществлять перевод ЕЯ-
высказываний, относящихся к узким и заранее фиксированным проблемным областям, в
формальное представление, а также обратный перевод. Накопленный опыт разработки
интеллектуальных вопрос-ответных систем позволил, с одной стороны, углубить понимание
процесса ЕЯ-общения и, следовательно, поставить новые проблемы (в том числе и
специфичные для общения в различных классах проблемных областей), требующие
дальнейшей проработки, а с другой - оценить перспективы практического применения ЕЯ-
систем.
Первые предпосылки для практического использования ЕЯ-систем создало появление
баз данных (БД). В связи с этим возникла проблема обеспечения доступа к информации,
хранящейся в БД, широкому классу неподготовленных конечных пользователей, к которым
относят специалистов в той или иной предметной области, как правило, не обладающих
знаниями о логической структуре БД, о системе представления информации в БД и не
умеющих пользоваться формализованными языками запросов. Для решения этой проблемы
стали создаваться системы общения с базами данных, основная задача которых (в
простейшем случае) заключается в выполнении перевода запросов неподготовленных
конечных пользователей с ЕЯ на формализованные языки запросов к БД.
Диалоговые системы решения задачи в отличие от систем общения с БД берут на себя
не только функции ЕЯ-доступа к БД, но и функции интеллектуального монитора,
обеспечивающего решение заранее определенных классов задач (например, планирование
путешествий, боевых операций, составление контрактов и т. п.). В этом случае разбиение
задач на подзадачи и распределение ролей между участниками, т. е. определение, кто из
участников (пользователь или система) решает ту или иную подзадачу, осуществляется не
пользователем (как в случае применения систем общения с БД), а диалоговой системой.
Решение подзадач, «порученных» системе, может осуществляться как на основе
использования собственных знаний и механизмов вывода, так и в результате обращения к
прикладным программам и пакетам, не входящим в состав ЕЯ-системы. Основным
направлением практического использования ЕЯ-систем данного класса является реализация
ЕЯ-общения с экспертными системами.
Возникновение последнего класса ЕЯ-систем — систем обработки связных текстов,
обусловлено возрастанием объема хранимой в ЭВМ текстовой информации (газетные статьи,
сообщения о различных событиях, патенты, авторские свидетельства и т. п.) и
необходимостью извлечения из нее разнообразных сведений (например, о структуре
некоторых объектов, о действующих лицах некоторых событий, о мотивах их поступков и т.
д.).
Каждый из классов ЕЯ-систем обладает специфическими особенностями, которые
хорошо заметны при рассмотрении характера задач, решаемых основными
функциональными компонентами этих систем (рис. 3).
Рис.3. Сравнительная характеристика основных классов ЕЯ-систем
Приведенная выше классификация ЕЯ-систем охватывает лишь функционально полные
системы, т. е. такие, в которых представлены все основные функциональные компоненты.
Прямые ответы, получаемые
с помощью средств генерации
отчетов СУБД. Стандартные
сообщения для предупреж-
дения или устранения неудач.
Перефразирование запросов
на ЕЯ
Прямые ответы в виде ЕЯ-
предложений с лексическими,
синтаксическими и
семантическими
ограничениями. Стандартные
сообщения о неудачах
Связный текст в виде
последовательности ЕЯ-
предложений
Прямые и косвенные ответы в
виде ЕЯ-предложений,
генерируемых с учетом целей
и намерений участников
общения
Компоненты ЕЯ-систем
Ведение
диалога
Понимание
высказываний
Генерация
высказываний
Жесткий или альтернативный
диалог. Инициатива в основ-
ном принадлежит пользова-
телю. Перехваты инициативы
системой для предупреждения
или устранения некоторых
видов локальных неудач
Жесткий диалог с инициативой
у пользователя
Жесткий диалог с инициативой
у пользователя
Гибкий диалог. Инициатива в
основном принадлежит
системе. Разнообразные
способы перехвата
инициативы
ЕЯ-предложения, которые
могут содержать
неправильности и ссылки на
предложения из предыдущих
запросов. Интерпретация на
проблемную область или
область языка общения
Отдельные правильные ЕЯ-
предложения с лексически-
ми, синтаксическими и сема-
нтическими ограничениями.
Интерпретация осуществляя-
ется на ПО
Связный текст в виде
последовательности ЕЯ-
предложений, описывающих
события, сложные объекты,
явления и т.п.
ЕЯ-предложения, которые
могут содержать
неправильности и ссылки на
предыдущие высказывания.
Интерпретация на
проблемную область,
область языка общения,
область системы, область
пользователя и область
дискурса
Однако помимо функционально полных систем ведется интенсивная разработка систем,
которые можно назвать фрагментарными. Цель их создания - исследование или реализация
новых методов решения достаточно узких задач (например таких, как анализ, интерпретация,
определение целей пользователя и т. п.).
Благодаря модульности структуры ЕЯ-систем и, как правило, универсальному (т. е. не
зависящему от специфики прикладных областей) характеру языка внутреннего
представления, фрагментарные системы могут успешно использоваться в качестве
отдельных функциональных блоков, встраиваемых (хотя бы на логическом уровне) в
различные функционально полные ЕЯ-системы. Рассмотрим основные отличительные
характеристики каждого класса ЕЯ-систем на примере существующих систем.
Интеллектуальные вопрос-ответные системы
При разработке интеллектуальных вопрос-ответных систем основное внимание
уделяется языковому аспекту, т. е. максимальному приближению языка общения к
литературному естественному языку. Наиболее значительной из отечественных систем
данного класса является система ПОЭТ, созданная коллективом исследователей под
руководством Э.В. Попова, во многом определившая применяемые в последующих системах
методы анализа и генерации высказываний на русском языке.
Система ПОЭТ воспринимает вопросительные предложения русского языка с
практически несущественными ограничениями на допустимые синтаксические конструкции
и пунктуацию. Типичными примерами запросов, допускаемых системой ПОЭТ, могут
служить «Сколько каменного угля перевезено железнодорожным транспортом в 1978 году?»
или «Каков удельный вес перевозок железнодорожным транспортом в общем объеме
перевозок всеми видами транспорта в 1975 году?»
Процесс понимания входных высказываний осуществляется в системе ПОЭТ по
полной схеме: морфологический анализ, синтаксический анализ, семантический анализ и
семантическая интерпретация (рис. 4). При этом последние три этапа выполняются в общем
случае параллельно, за счет чего достигается коррекция неверных путей анализа, и в
конечном счете сокращается время обработки запросов.
Все знания о языке общения разделяются в системе ПОЭТ на лингвистические и
проблемные. Первые хранятся в различных зонах словаря (морфологической и синтактико-
семантической), а вторые - в семантической сети. При этом в системе различаются
абстрактная (описывающая общие понятия и категории) и конкретная (описывающая
конкретные сущности) семантические сети. Описания базовых событий представлены в
словаре системы в виде моделей управления. Выделение участников событий и определение
выполняемых ими ролей осуществляются на основе метода фильтров. При этом активно
используется как грамматическая, так и синтактико-семантическая информация.
На этапе семантического анализа синтаксическая структура входного высказывания,
представленная в виде дерева зависимостей, преобразуется в семантический граф, состоящий
из вершин-понятий, связанных друг с другом через вершины-события и характеристики.
Каждая вершина семантического графа определяется каноническим представлением, а дуги
имеют глубинный смысл. Вся числовая и параметрическая информация выносится из графа в
дополнительные таблицы. Там же указываются и временные соотношения между
событиями.
На этапе интерпретации семантический граф запроса сопоставляется с семантической
сетью. В результате происходит вычленение контекста, имеющего отношение к запросу,
получение содержательной информации из конкретной сети, формирование обращений к
базе данных за числовой информацией и получение способа обработки этой информации
(суммирование, вычисление процента и т. п.). Семантический граф ответа вырабатывается на
базе графа запроса путем внесения в него смысловой информации, полученной на этапе
интерпретации.
Система ПОЭТ является ЕЯ-системой с генерацией ответов на русском языке.
Формирование ответов выполняется следующим образом. По семантическому графу ответа
строится дерево зависимостей. Затем каждой вершине приписывается морфологическая
информация и определяется порядок слов. На этом заканчивается синтаксический синтез. На
этапе морфологического синтеза по таблицам окончаний и морфологической информации,
приписанной вершинам дерева зависимостей, осуществляется окончательная генерация
поверхностной структуры ответа. Генерация полного ответа, например, «В 1978 году
железнодорожный транспорт перевез NNN млн. тонн каменного угля», позволяет
пользователю убедиться в правильности понимания системой заданного вопроса.
С помощью первых вопрос-ответных систем была показана принципиальная
возможность получения ответов на ЕЯ-вопросы, относящиеся к ограниченным проблемным
областям. Так, система ПОЭТ могла отвечать па вопросы о перевозках различных
народнохозяйственных грузов. ДИСПУТ - об обслуживании контейнерных перевозок к
морскому порту, LUNAR - о свойствах образцов лунных пород, LIFER - о дислокации и
характеристиках судов военно-морских сил и т. п. Для большинства интеллектуальных
вопрос-ответных систем была характерна жесткая структура диалога, при которой каждое
высказывание пользователя воспринималось как очередной запрос (который, как правило, не
мог быть связан с предыдущим). Система играла пассивную роль - она могла лишь отвечать
на запросы и выдавать сообщения о неудачах, когда очередной запрос по каким-либо
причинам не мог быть проанализирован или обработан. Обработка высказываний сводилась
в большинстве случаев к вызову (в соответствии с типом запроса) одной из имеющихся в
распоряжении системы специализированных программ и передаче ей в виде параметров
условий поиска информации в БД имен сущностей, значения которых должны быть
обработаны или выданы в качестве ответа, и т. п.
Первые эксперименты с интеллектуальными вопрос-ответными системами показали,
что, несмотря на возможность понимания запросов на ЕЯ, данные системы налагают
достаточно жесткие (и в общем случае трудновыполнимые) ограничения на процесс
общения. Эти ограничения стимулировали дальнейшие исследования, направленные, в
первую очередь, на повышение гибкости процесса общения.
Рис. 4. Схема вопрос-ответной системы ПОЭТ
Системы общения с базами данных
В последнее время возрос интерес к ЕЯ-системам данного класса, что связано с
усиливающейся тенденцией хранения информации в структурированных источниках
данных. Концепция базы данных лежит в основе подавляющего большинства современных
систем обработки данных. Для обеспечения взаимодействия с конечными пользователями
системы управления базами данных (СУБД) предоставляют специальные формализованные
языки. Однако, как правило, эти языки ориентированы на пользователей, обладающих
специальными знаниями. В частности, они должны знать основные приемы
программирования, синтаксис языка запросов, логическую структуру БД, термины,
используемые в БД для обозначения сущностей предметной области, и т.п. ЕЯ-системы
рассматриваемого класса предназначены для использования в качестве посредника
(естественно-языкового интерфейса) между неподготовленными конечными пользователями
(т. е. специалистами в прикладных проблемных областях, не обладающими указанными
выше знаниями) и БД. Другими словами, они должны позволять получать информацию,
хранящуюся в БД, по запросам, сформулированным на ЕЯ. На рисунке 5 показана
упрощенная схема систем общения с БД.
В системах общения с БД общение ведется в форме связного диалога, т.е. ответы на
вопросы пользователя выдаются с учетом его предыдущих вопросов и/или предыдущих
ответов системы. Инициатива в диалоге в основном принадлежит пользователю. Перехват
Таблица
аффиксов
Словарь
основ
Грамматика
Семантичес-
кая сеть
База данных
(факты)
Морфологический
синтез
Синтаксический
синтез
Семантический
синтез
Ответ во
внутреннем
представлении
Морфологический
анализ
Синтаксический
анализ
Семантический
анализ
Запрос во
внутреннем
представлении
Вывод ответа
(семантическая
интерпретация)
Вопрос
Ответ
СУБД
База
документов
SQL-запрос
П
П
О
О
Л
Л
Ь
Ь
З
З
О
О
В
В
А
А
Т
Т
Е
Е
Л
Л
Ь
Ь
Знания ПО и
метаописание БД
Морфологический
анализ
Синтаксический
анализ
Проблемный
анализ
Лингвистический
анализатор
ЕЯ-запрос
МИ
ГЗ
ЕЯ форма ответа на запрос
Лингвистические
словари
инициативы допускается лишь для уточнения незнакомых системе слов и исправления
орфографических ошибок. Язык общения является подмножеством естественного языка,
семантически ограниченным предметной областью, отображаемой в БД. В высказываниях
пользователя допускаются многие общепринятые синтаксические конструкции. Кроме того,
допускаются определенные неправильности: орфографические ошибки, пропуск слов,
ошибки в пунктуации, неправильное употребление строчных и прописных букв и ряд
типичных диалоговых конструкций: эллипсис и анафорические ссылки. Ответы ЕЯ-системы
строятся таким образом, чтобы обеспечить, насколько это возможно, «дружественность»
общения.
Рис. 5. Структурная схема систем общения с БД
С точки зрения возможностей практического использования, системы общения с БД
значительно опережают остальные классы ЕЯ-систем. Существует несколько коммерческих
и промышленных ЕЯ-систем общения с БД, которые успешно применяются на практике.
Несмотря на очевидные преимущества, предоставляемые пользователю ЕЯ-системами
данного класса, они в настоящее время еще не получили широкого распространения. Это
объясняется, по меньшей мере, следующими причинами: сравнительно малое количество
коммерческих систем и их ориентация на общение преимущественно с реляционными БД;
существующие ЕЯ-системы не позволяют задавать запросы, требующие сложной
вычислительной и логической обработки, а также не позволяют управлять форматированием
отчетов; значительная трудоемкость сопровождения и настройки ЕЯ-систем при их
использовании для общения с большими изменяющимися базами данных. Остановимся
подробнее на типах пользовательских интерфейсов к базе данных.
Типы пользовательских интерфейсов к базе данных
Под пользовательским интерфейсом понимается система средств, облегчающих поиск,
получение, просмотр и обработку информации из БД. Естественно-языковой интерфейс
(ЕЯИ) - разновидность пользовательского интерфейса, который принимает запросы на
естественном языке, а также использует ЕЯ и для вывода информации (реакции системы на
запрос пользователя).
В противоположность ЕЯ-интерфейсам, нетрадиционным с точки зрения
распространенности, существуют другие виды пользовательских интерфейсов к БД, которые
можно назвать традиционными. Среди них выделяют:
интерфейсы с формальным языком запросов;
интерфейсы с графическим построением запросов;
интерфейсы, основанные на заполнении форм запросов.
В интерфейсах с формальным языком запросов пользователь, для того, чтобы
правильно задать запрос, должен, во-первых, знать синтаксис языка запросов (например
SQL), а во-вторых, представлять устройство конкретного структурированного источника
данных (например, реляционную схему базы данных). При работе с этим типом интерфейсов
пользователь должен обладать достаточно высокой квалификацией. Опыт показывает, что
такой необходимой квалификацией обладают лишь специалисты, проектирующие и
создающие информационные системы. Очевидно, что такие ЕЯ-интерфейсы обладают
большей гибкостью - один и тот же запрос можно формулировать различными способами.
Средства графического построения запросов, которыми снабжаются многие
"настольные" СУБД (например, MS Access, MS FoxPro), безусловно, обладают большим
удобством - пользователь не должен держать в голове названия таблиц, полей и конструкции
языка. Однако для работы с такими средствами необходим опыт и представление некоторых
понятий, относящихся скорее к математике (например, термин связывания таблиц в
реляционной алгебре), а не к предметной области, и иногда достаточно утомительные
действия по заполнению форм. Так, в базе данных Microsoft Access для того, чтобы
сформулировать выражение AVG(PERSONNEL.SALARY), эквивалентный ЕЯ-фразе
"средняя зарплата", требуется около 15 нажатий мышью. Неподготовленный пользователь
обычно пасует перед системами, требующими сложных действий. Как и в случае
интерфейсов с формальным языком, пользователь должен представлять устройство базы
данных.
Интерфейсы, основанные на заполнении форм запросов, являются более
дружественными, по сравнению с формальными языками. Сама метафора формы и ее
заполнения подразумевает, что пользователь сразу видит набор критериев и параметров
поиска, а иногда и список возможных значений полей формы, что сводит к минимуму
ошибки при вводе запроса. От предыдущего метода построения пользовательских
интерфейсов данный отличается тем, что все необходимые запросы уже написаны
разработчиком интерфейса, и пользователь, чтобы получить ответ, должен просто вставить
недостающие значения. Так работают многие современные коммерческие приложения -
пользователю информация в системе доступна в виде нескольких типовых "срезов"
информационного пространства. К недостатку систем, основанных на таком подходе, как и в
предыдущем, также следует отнести необходимость наличия у пользователя опыта работы с
подобными системами, а также необходимость создания форм, что требует дополнительных
усилий программиста для создания интерфейса.
Поэтому преимущества ЕЯ-интерфейсов достаточно очевидны:
минимальная предварительная подготовка пользователя. Естественный язык
является наиболее привычным и удобным средством коммуникации, и именно в
силу этого с ростом эффективности ЕЯ-систем, он будет вытеснять
традиционные в данный момент;
простота задания запросов на ЕЯ. Во многих случаях запрос на ЕЯ получается
гораздо короче языка на формальном языке, поскольку ЕЯ-представление более
емко, ведь в самой структуре языка содержится понятийная база, которую
отражает структура источника данных;
большая скорость создания произвольного запроса (отсутствует стадия
формального задания запроса). Как правило, пользователь сразу может
сформулировать корректное ЕЯ-представление запроса, поскольку такое
представление является самым естественным для человека, тогда как построение
запроса на формальном языке, даже с помощью вспомогательных средств, таит
множество ошибок, зачастую исправить которые можно, только
проанализировав результат запроса;
более высокий уровень модели предметной области. Традиционные интерфейсы
обычно не обладают моделью предметной области как таковой, и в лучшем
случае скрывают от пользователя искусственные средства и особенности
структуры, присущие конкретной БД (такие, как связи по идентификаторам
между таблицами в реляционных базах данных или синтаксис XML).
Однако ЕЯ-интерфейсы не лишены недостатков:
неоднозначность естественного языка приводит к множественности смыслов.
Специфика естественного языка такова, что часто запрос может иметь несколько
смыслов, о которых пользователь в момент задания запроса не предполагает.
Формальные же языки лишены проблемы неоднозначности. Это свойство ЕЯ
приводит к усложнению ЕЯ-интерфейсов и методов анализа, в противном случае
ЕЯ-интерфейс получается слишком примитивным для реального использования;
недостаточная надежность анализаторов ЕЯ-запросов может привести к
неправильному пониманию. Современные ЕЯ-интерфейсы далеко не всегда
позволяют диагностировать причины неудач понимания. Причины этих неудач
могут быть как в лингвистической сфере, так и в концептуальной. Например,
запрос к кадровой базе данных "Кто получает больше Иванова" может привести
к непониманию, если ЕЯ-интерфейс не умеет распознавать вложенные запросы
(а в данном случае надо сначала получить значение зарплаты Иванова, а затем
сравнить с ней зарплату сотрудников). Это случай лингвистической проблемы.
Второй пример - "Как зовут жен сотрудников?" - может привести к неудаче
понимания, если ЕЯ-интерфейс не поймет, что имя супруга/супруги - это
реальный атрибут сотрудника, но отсутствующий в данной базе данных. В
данном случае налицо будет концептуальная проблема - ЕЯ-интерфейс должен
уметь отличать реальную предметную область, которую имеет в виду
пользователь, задавая ЕЯ-запрос, от той ее части или трансформации, которая
представлена в данном источнике данных;
пользователь может иметь завышенные или заниженные ожидания от ЕЯ-
интерфейса. Сравнительный анализ типов пользовательских интерфейсов
(основанных на формах, с формальным языком запросов, графические)
показывает, что в целях построения ЕЯ-интерфейсов превалирует желание
максимально приблизить интерфейс к потребностям неподготовленного
пользователя. Это несколько поднимает планку требований к дружественности и
надежности ЕЯ-интерфейсов, поскольку пользователь, впервые столкнувшись с
системой, понимающей естественный язык, слабо представляет, насколько
интеллектуальна система. При этом ожидания к степени понимания ЕЯ может
отличаться от реальных способностей системы в обе стороны - т.е. пользователь
может спрашивать систему о том, чего она "не знает", а может "по привычке"
использовать простейшие шаблонные формулировки запросов.
Для сравнения подходов к построению ЕЯ-интерфейсов введем метрику показателей,
характеризующих качество ЕЯ-интерфейсов к структурированным источникам данных.
Критерии качества ЕЯ-интерфейсов
Рассмотрим такую качественную интегральную характеристику, как надежность. Под
надежностью здесь понимается способность ЕЯ-интерфейса правильно понимать намерения
пользователя по получению информации из источника, при условии, что пользователь
корректно выразил потребности в виде ЕЯ-запроса. Надежность отражает правильность
принципов, лежащих в методе ЕЯ-анализа, а также правильность (корректность) построения
ЕЯ-интерфейса к конкретной БД.
Любой ЕЯ-интерфейс имеет некоторое пространство правильно понимаемых запросов.
Чем больше это пространство, тем большей полнотой обладает ЕЯ-интерфейс. Полнота -
характеристика, тесно связанная с гибкостью интерфейса. Поскольку пространство ЕЯ-
запросов весьма неоднородно, следует говорить о различных типах запросов, т.е. групп
запросов, имеющих сходное строение. Гибкость - показатель того, насколько разнообразные
типы запросов может понимать ЕЯ-интерфейс. Речь в основном идет о так называемых
"трудных" типах запросов, в числе которых - вложенные, эллипсис, анафорические.
Другой важной характеристикой является дружественность интерфейса, которую
можно определить как меру того, насколько ЕЯ-интерфейс удобен в работе, насколько
корректно он может сообщать о проблемах понимания, может ли он помогать в
перефразировании непонятных системе запросов и т.д.
Все эти критерии можно объединить в схему, отражающую составляющие качества
ЕЯИ (рис. 6).
Рис. 6. Иерархия качественных характеристик ЕЯ-интерфейса
Подходы к анализу ЕЯ-запросов к БД
В данном разделе дается краткий обзор методов и подходов анализа ЕЯ применительно
к теме построения ЕЯ-интерфейсов к структурированным источникам данных.
Подходов к решению задачи понимания естественно-языковых запросов несколько.
Наиболее распространенными являются подходы, основанные на синтаксическом,
семантическом анализах и шаблонах. Первый подход основан на использовании
синтаксических конструкций. Синтаксическое представление запроса строится на основе
подлежащего, сказуемого, прямого дополнения и т.п., которые определяются с помощью
морфологических характеристик (часть речи, род, падеж, лицо и т.д.). Это представление
ничего не говорит о глубоком смысле запроса.
В результате анализа запроса дерево синтаксического разбора непосредственно
отображается в выражение на языке запросов к базе данных. Типичная система, основанная
на синтаксическом анализе - LUNAR [1, 2].
Синтаксически-ориентированные системы используют грамматику, описывающую
возможные синтаксические структуры пользовательских запросов. Следующий пример
показывает упрощенную грамматику систем наподобие LUNAR:
S NP VP NT; NP Det N
Det "кто" | "какой"| "какие"
N "студент" | "специальность" | "группа" | "вуз" | …
N N"; N" "student" | "spech" | "group" | "вуз" | …
VP V N
VP V NT
NT N T
Y "630" | "620"
Данная грамматика указывает на то, что предложение (S) состоит из группы
подлежащего (NP), следующего за группой сказуемого (VP) и т.п. Группа подлежащего
состоит из детерминанта (Det), следующего за подлежащим, детерминантом может быть
"кто" или "какие", и т.д. Используя эту грамматику, ЕЯИ строит синтаксическую структуру
запроса "какие студенты учатся в группе 630", показанную на (рис. 7). ЕЯИ может затем
Гибкость
Полнота
Надежность
Дружественность
Качество
отобразить дерево синтаксического разбора в следующий запрос к базе данных:
SELECT (student) WHERE group="630".
Рис. 7. Дерево синтаксического разбора
Отображение дерева в выражение запроса производится с помощью правил, и целиком
основывается на синтаксической информации дерева разбора. Правила отображения могут
быть следующими:
"какие" отображается в SELECT;
"студент" отображается в student;
"группа" отображается в group;
поддерево NT отображается в N="T" (в нашем примере будет group="630");
поддерево NP отображается в det(N) (SELECT (student));
поддерево VP отображается в WHERE NT (WHERE group="630");
S отображается в NP and VP (SELECT (student) WHERE group="630").
Обычно трудно составить систему правил, трансформирующих дерево разбора
напрямую в некоторое выражение на языке запросов к реальным базам данных (например,
SQL), поэтому данный подход применятся в основном в комбинации с другими.
Семантически-ориентированный метод анализа ЕЯ-запросов был предложен А.С.
Нариньяни. Этот подход, основанный на семантике, гораздо ближе к смыслу запроса. В нем
используется синтаксическая информация из предыдущего подхода, а также информация из
семантических словарей. Каждое слово в словаре имеет характеристики, позволяющие
определять смысловые отношения между ним и другими словами, точнее, их значениями.
Полное описание связей между смыслами слов (а одно слово часто имеет несколько
смыслов) образует тезаурус, представляющий собой большую сеть со словами и их
смыслами в качестве узлов. С помощью таких тезаурусов выполняется построение
семантического представления запроса. Основная задача при этом — отсечь ненужные
смыслы, постараться выделить с помощью синтаксических связей достоверные
семантические конструкции. В больших предложениях, особенно с многозначными словами,
это часто приводит к комбинаторному взрыву — перебору множества смыслов и связей
между ними, а также многозначности синтаксических конструкций (одному и тому же
предложению может быть сопоставлено несколько синтаксических представлений),
обработка которых занимает неприемлемо большое время. Это лишь одна проблема, стоящая
на пути понимания естественно-языковых запросов в традиционной синтаксически-
S
NP
VP
V
NT
N T
N
T
какие студенты учатся группе 630
ориентированной парадигме. Вторая сложность — типичные естественно-языковые запросы,
которые, как правило, не имеют правильных синтаксических конструкций. На это влияют
вольное словоизменение и словообразование в виде неологизмов сетевой общественности,
большой процент имен собственных и сокращений, игнорирование правил пунктуации, что
приводит к тому, что от естественного языка во всем его многообразии иногда остается лишь
лексика, причудливым образом исковерканная. И, наконец, необходимые в этом подходе
семантические словари — очень трудоемкая составляющая, для многих предметных
областей они просто отсутствуют, а их разработка требует высокой квалификации.
Третий подход к анализу естественно-языковых запросов основан на шаблонах. Он
появился самым первым и с точки зрения программной реализации наиболее прост. Суть его
в том, что возможные запросы покрываются набором шаблонов-конструкций, позволяющих
отождествляться с запросом и выдавать в результате предопределенные конструкции.
Для примера рассмотрим таблицу базы данных, содержащую информацию о странах
(табл. 2):
Таблица 2
Пример таблица базы данных
Страна Столица
Язык
Россия Москва русский
Италия Рим итальянский
...
...
...
Простейшую основанную на шаблонах систему можно построить с помощью
следующих правил:
Шаблон: ... "столица"..., <страна>
Действие: Вывести столицу в строке, в которой поле страна = <страна>
Шаблон: . . . "столица" . . . "страна"
Действие: Вывести столицу и страну для каждой строки
Согласно первому правилу, если ЕЯ-запрос содержит слово "столица" перед названием
страны (т.е. значением поля Страна), то система найдет записи, содержащие это название
страны, и выведет соответствующую столицу. Например, для запроса "Какая столица
Италии?" будет использовано первое правило, и ответ будет "Рим". То же самое правило
применится для запроса "Напечатать столицу Италии", "Подскажите мне, пожалуйста,
столицу Италии?" и т.д. Во всех этих случаях ответ будет одинаковым.
В соответствии со вторым правилом, любой ЕЯ-запрос, в котором слово "столица"
предшествует слову "страна", вернет столицу каждой страны в соответствии с содержимым
таблицы. Так, запросы "Какая столица в каждой из стран?", "Вывести на печать столицу
любой страны.", "Столицы и страны, пожалуйста." будут подходить под второе правило.
Главным достоинством шаблонного подхода является его простота - здесь отсутствуют
сложные модули синтаксического разбора и интерпретации, такую систему, основанную на
шаблонах, легко реализовать. Однако простота подхода имеет оборотную сторону - такие
системы сложно портировать, и их надежность понимания запросов оставляет желать
лучшего. Такой подход заключается в необходимости предусмотреть все возможные
способы выражений на естественном языке, т.е. исчислить грамматику. К сожалению,
современный пользовательский язык совсем не похож на литературный, и поисковые
запросы синтаксическими шаблонами в чистом виде покрыть довольно трудно. Если же
основываться на семантической грамматике, придется для каждой новой предметной области
писать шаблоны заново.
Также выделяются системы с семантической грамматикой и системы с промежуточным
языком представления.
В системах с семантической грамматикой ответ на ЕЯ-запрос также делается разбором
запроса и отображением дерева в выражение на формальном языке. Отличие в том, что
грамматические категории не обязательно соответствуют синтаксическим концептам. Ниже
показана возможная семантическая грамматика, используя которую, ЕЯИ строит структуру
запроса "which rock contains magnesium", показанную на рисунке 8.
Заметим, что некоторые категории грамматики на (Substance, Radiation,
Specimen_question) не соответствуют синтаксическим конструкциям (группе подлежащего,
подлежащему, предложению). Семантическая информация о предметной области жестко
привязана к семантической грамматике. Категории семантической грамматики обычно
выбираются так, чтобы усилить семантические ограничения. Например, приведенная
грамматика не допускает следования слова "light" после "contains" (синтаксически же эта
фраза корректна - "contains light").
Грамматические категории могут быть выбраны также таким образом, чтобы облегчить
отображение дерева запроса в запрос к базе данных. Семантическая грамматика была
введена как инженерная методология, позволяющая просто включать семантические знания
в систему. Однако поскольку семантическая грамматика содержит жестко привязанные
знания о конкретной предметной области, системы, основанные на этом подходе, трудно
портируются на другие предметные области - каждая ПО требует своей грамматики.
Например, приведенная выше грамматика абсолютно неприменима для ЕЯ-интерфейса к
кадровой базе данных.
Многие современные ЕИЯ к базам данных сначала преобразуют ЕЯ-запрос в
логический запрос на некотором промежуточном языке представления. Промежуточный
логический запрос выражает значение запроса в терминах модели предметной области,
независимой от структуры базы данных. Затем логический запрос преобразуется в запрос на
языке запросов к базе данных, этот запрос исполняется в базе данных. Многие современные
ЕЯ-интерфейсы к БД используют не один, а несколько промежуточных языков запросов [3,
4, 5]. Принцип анализа следующий: ЕЯ-запрос сначала обрабатывается синтаксически
анализатором с использованием набора синтаксических правил для построения дерева
синтаксического разбора, аналогичного показанного на рисунке 8. Семантический
интерпретатор последовательно трансформирует дерево синтаксического разбора в язык
промежуточного представления, используя семантические правила, рассмотренные ранее.
S Specimen question | Spacecraft question
Specimen question Specimen Emits info |
Specimen Contains info
Specimen "which rock" | "which specimen"
Emits info "emits" Radiation
Radiation "radiation" | "light"
Contains info "contains" Substance
Substance "magnesium" | "calcium"
Spacecraft question Spacecraft Depart info |
Spacecraft Arrive info
Spacecraft "which vessel" | "which spacecraft"
Depart info "was launched on" Date | "departed
on" Date
Arrive info "returns on" Date | "arrives on" Date
К настоящему времени существующие естественно-языковые системы используют в
основном два последних подхода. Второй подход реализован в достаточно распространенной
системе ЗАПСИБ, разработанной в середине 80-х годов [10]. Система позволяет вести
общение на ограниченном подмножестве естественного языка. Развитием проекта является
система InterBase, вышедшая в 1990 году. Система основана на семантически-
ориентированном анализе и продолжает ряд естественно-языковых технологий лаборатории
искусственного интеллекта ВЦ АН Новосибирска, затем фирмы «Интеллектуальные
технологии», а теперь РосНИИ искусственного интеллекта. В 2001 году эта система была
переработана и получила название InBASE в виде коммерческого продукта. В настоящее
время система представляет собой библиотеку COM-компонентов и среду настройки
естественно-языковых интерфейсов. Существенным отличием от старой версии является
появление промежуточного уровня запросов — Q-языка, являющегося подмножеством языка
объектных запросов OQL и уровня описания предметной области в виде диаграммы классов
UML. В полном соответствии с особенностями семантически-ориентированной парадигмы
InBASE позволяет строить естественно-языковые интерфейсы ко многим языкам — для
русского и для английского используется один и тот же Л-процессор. Интересной
особенностью InBASE является возможность моделирования предметной области на
естественном языке: с помощью класса словарных статей «Толкование» смысл слова можно
описать простой фразой. Это позволяет настраивать естественно-языковые интерфейсы
людям, не обладающим навыками инженеров знаний. Основным недостатком данной
системы является то, что кортежи базы данных продублированы в словарях – отдельных
файлах. В базах данных больших объемов этот недостаток может стать проблемой.
Ярким представителем третьего подхода является система English Query. Система
English Query от Microsoft основана на синтаксически-ориентированных шаблонах,
связываемых с моделью предметной области, и через нее - со схемой базы данных. При
настройке необходимо задать модель базы данных и предметной области, а затем для
каждого отношения в базе данных (а отношением считается и связь между классом и его
which rock
S
Specimen question
Contains info
Specimen
contains Substance
magnesium
Рис. 8. Дерево разбора в
семантической грамматике
атрибутом, например, между товаром и его ценой) задать синтаксический шаблон
английской грамматики, выбираемый из списка. Этот продукт позволяет строить
естественно-языковые интерфейсы только для английского языка и работает только с
Microsoft SQL Server, в этом смысле это лишь утилита, поставляемая с SQL-сервером,
именно так она и позиционируется. В целом же этот продукт очень интересен. Например, в
нем есть встроенная обучаемая база знаний, с которой можно пообщаться на английском
языке, — она запоминает факты, правила и отвечает на вопросы по этой базе. К сожалению,
эта замечательная способность не совмещена с пониманием запросов к базе данных.
База знаний, необходимая для выполнения анализа запроса, содержит метаописание
базы данных и знания проблемной среды. Модуль метаописания БД состоит из описания
концептуальной схемы базы данных на естественном языке: сущностей, атрибутов и связей
между сущностями. Модуль словарей содержит знания для проведения морфологического,
синтаксического анализов и трансляции естественно-языковых запросов к базе данных.
Модуль знаний проблемной среды содержит описания понятий и терминов предметной
области.
Диалоговые системы решения задач
Основное отличие ЕЯ-систем данного класса от ЕЯ-систем общения с БД состоит в той
роли, которую играет система в процессе решения задач пользователя. Системы общения с
БД лишь облегчают получение из БД информации. Они, как правило, не имеют знаний о
задаче, для решения которой пользователю нужна эта информация. При общении с
диалоговыми системами решения задач пользователь и система меняются ролями. Цель
системы состоит в получении решения задачи на основе использования как собственных
знаний и механизмов вывода, так и данных, получаемых из ответов пользователя и из
прикладных программ, которые могут вызываться диалоговой системой для
непосредственного решения каких-то подзадач.
В системах данного класса требуется выполнить или упорядочить для последующего
выполнения (т. е. спланировать) действия, позволяющие получить решение некоторой
типовой, стереотипной задачи. Каждый класс подобных стереотипных задач характеризуется
тем, что входящие в него задачи имеют одинаковую и хорошо определенную структуру и
отличаются друг от друга лишь значениями органического числа параметров. Поэтому для
инициирования процесса решения задачи пользователю достаточно сообщить системе
преследуемую им цель (т. е. идентифицировать тип задачи) и задать ограничения на
значения каких-то параметров решаемой задачи. Если какие-то параметры пропущены или
заданы (с точки зрения системы) неправильно, то система перехватывает инициативу,
инициируя диалоги по уточнению параметров. В ходе этих диалогов пользователь также
может перехватывать инициативу, задавая системе вопросы для того, чтобы использовать
полученные сведения при формировании ответов на предыдущие вопросы системы.
Предопределенность решаемой задачи и наличие детальных сведений о ее структуре
приводят к тому, что основные функции ЕЯ-системы могут успешно выполняться в более
сложной (чем в случае ЕЯ-систем общения с БД) постановке. Так, вместо жесткой структуры
диалога в диалоговых системах решения задач может использоваться альтернативная или
гибкая структура с произвольным перехватом инициативы. Понимание входных
высказываний осуществляется с учетом текущего состояния диалога и имеющихся у
системы целей. Благодаря этому упрощается понимание высказываний, содержащих
неправильности, и в то же время повышается непроцедурность общения (так как система
может рассматривать высказывания пользователя как определения условий текущих
подзадач). Высказывания системы строятся в виде фраз естественного языка. Их генерация
осуществляется, как правило, в соответствии с коммуникативными намерениями, которые
определяются компонентом ведения диалога. В связи с этим содержание высказываний
системы может в значительной степени варьироваться. Это могут быть результаты решения
задач, вопросы, касающиеся каких-то параметров задач, объяснения действий системы и
имеющихся у нее представлений о проблемной области и т. п.
Основной областью практического использования диалоговых систем решения задач
является обеспечение ЕЯ-доступа к различным прикладным системам, предназначенным для
решения задач реальных объемов и сложности. При этом диалоговая система выступает в
качестве интерфейса между прикладной системой и конечным пользователем, не знающим
входного языка прикладной системы и имеющим лишь самое общее представление об
алгоритме решения задачи. В этом случае процесс решения задачи распадается на
следующие этапы:
информирование пользователя о возможностях прикладной системы;
получение от пользователя исходных данных (описаний задач, подзадач и их
параметров), их уточнение и формирование заданий на входном языке
прикладной системы;
собственно решение подзадач прикладной системой;
предоставление пользователю результатов решения задачи.
Большинство из существующих в настоящее время ЕЯ-систем данного типа
предназначены для общения пользователя (клиента) с экспертными системами (ЭС) в
процессе кооперативного решения задачи. Вместе с тем разрабатываются и ЕЯ-системы, не
прибегающие в процессе решения задач к помощи пользователей (эти системы могут найти
применение в простых проблемных областях).
В настоящее время разработано достаточно много систем данного класса, но все они
ориентированы на решение определенного круга вопросов в конкретной предметной
области. Например:
система Snuka – обеспечивает общение на английском языке с
экспериментальной ЭС Knobs, решающей задачи планирования военных
операций (система позволяет вводить в ЭС компоненты плана, получать ответы
на вопросы пользователя о предметной области, анализировать высказывания
пользователя и, по желанию пользователя, автоматически генерировать полный
план);
система Xcalibur - обеспечивает общение на английском языке с
экспериментальной ЭС Xsel, выполняет функции консультанта, помогающего
пользователю выбрать нужные ему компоненты вычислительной техники и
формирующего с помощью системы R1 заказ на конфигурацию технических
средств;
система Advisor выполняет функции консультанта, способного отвечать на
вопросы студентов о различных дисциплинах и давать советы относительно
возможности или необходимости изучения той или иной дисциплины и др.
На рисунке 9 показана примерная схема диалоговых систем решения задач (система
Advisor), в которой отражены компоненты данного класса ЕЯ-систем и их взаимосвязь.
Рис. 9. Структурная схема системы ADVISOR
Существующие ЕЯ-системы данного класса пока не отвечают требованиям, диктуемым
условиями промышленной эксплуатации (например, требование простоты настройки ЕЯ-
системы на класс решаемых задач и на прикладную систему). В то же время следует
обратить внимание на тенденцию применения в качестве подсистем ЕЯ-системы хорошо
зарекомендовавших себя и допускающих настройку фрагментарных систем. Эта тенденция
особенно заметна в ЕЯ-системах, решающих задачи с помощью собственных механизмов
вывода.
Системы обработки связных текстов
Системы данного класса моделируют процесс понимания законченных описаний
определенных фрагментов действительности (историй, рассказов, эпизодов и т. п.),
выраженных в виде текста на естественном языке, т. е. последовательности связанных друг с
другом предложений. Понимание текста трактуется как извлечение из него всей
существенной с точки зрения системы информации и присоединение ее к собственной базе
знаний. После этого система может отвечать на вопросы относительно фактов, событий,
Анализатор
Генератор
База
знаний
Функции
доступа
Блок вывода
целей
Экспертная
система
ADVISOR
явлений и прочих сущностей, которые явно или косвенно описаны во введенных текстах.
Очевидно, что в практическом плане модели и методы, развиваемые в системах обработки
связных текстов, могут быть полезны при создании интеллектуальных систем
автоматического индексирования и реферирования.
Для примера рассмотрим системы Researcher и Tailor, которые образуют единый
комплекс (рис. 10), позволяющий пользователю получать сведения из рефератов-патентов,
описывающих сложные физические объекты. Система Researcher получает рефераты
патентов, стрит на их основе базу знаний и делает обобщения их различных патентов,
которые могут служить для изучения содержащихся в рефератах сведений, относящихся к
различным объектам. Вопрос-ответные функции выполняет система Tailor.
Рис. 10. Схема взаимодействия систем RESEARCHER и TAILOR
Задача понимания связных текстов превосходит по сложности задачи, решаемые ЕЯ-
системами ранее рассмотренных классов. Наиболее сложными для понимания являются
тексты, описывающие взаимоотношения и поступки активных действующих лиц. Для их
понимания система должна обладать громадным объемом знаний о мире, иметь
совершенные механизмы вывода. Поэтому в настоящее время системы обработки связных
текстов находятся на стадии разработки экспериментальных образцов, которые
используются для исследования и оценки методов решения этой крайне сложной и
многогранной задачи.
Системы машинного перевода
Машинный перевод (МП), или автоматический перевод (АП) - интенсивно
Рефераты патентов,
описывающие
физические объекты
Запросы (требования на
получение описаний
объектов)
RESEARCHER
(анализ и
обобщение)
База знаний
(иерархически связанные
прототипы)
использование
при анализе
создание
Модель пользователя
(дискурсные стратегии -
словарные статьи об
объектах)
TAILOR
(генерация
текстов
)
Тексты
ответов
Запросы, во внутреннем
представлении
развивающаяся область научных исследований, экспериментальных разработок и уже
функционирующих систем (СМП), в которых к процессу перевода с одного естественного
языка на другой привлекается вычислительная система. СМП открывают быстрый и
систематический доступ к информации на иностранном языке, обеспечивают оперативность
и единообразие в
переводе больших потоков текстов, в основном научно-технических.
Работающие в промышленном масштабе СМП опираются на большие терминологические
банки данных и, как правило, требуют привлечения человека в качестве пред-, интер- или
постредактора. Современные СМП, и в особенности те, которые опираются при переводе на
базы знаний в определенной предметной области, относят к классу систем искусственного
интеллекта.
Основные сферы использования МП:
1. В отраслевых службах информации при наличии большого массива или постоянного
потока иноязычных источников. Если СМП используются для выдачи сигнальной
информации, постредактирование не требуется.
2. В крупных международных организациях, имеющих дело с многоязычным
политематическим массивом документов. Поскольку требования к переводу здесь высоки,
МП нуждается в постредактировании.
3. В службах, осуществляющих перевод технической документации, сопровождающей
экспортируемую продукцию. Структура и язык технической документации достаточно
стандартны, что облегчает МП и даже делает его предпочтительным перед ручным
переводом, так как гарантирует единый стиль всего массива. Поскольку перевод
спецификаций должен быть полным и точным, продукция МП нуждается в
постредактировании.
Помимо практической потребности делового мира в СМП, существуют и чисто
научные стимулы к развитию МП: стабильно работающие экспериментальные системы МП
являются опытным полем для проверки различных аспектов общей теории понимания,
речевого общения, преобразования информации, а также для создания новых, более
эффективных моделей самого МП.
В классических СМП, осуществляющих непрямой перевод по отдельным
предложениям (пофразный перевод), каждое предложение проходит последовательность
преобразований, состоящую из трех этапов: АНАЛИЗ>ТРАНСФЕР (межъязыковые
операции)>СИНТЕЗ. В свою очередь, каждый из этих этапов представляет собой
достаточно сложную систему промежуточных преобразований.
Цель этапа анализа - построить структурное описание (промежуточное представление,
внутреннее представление) входного предложения. Задача этапа трансфера (перевода) -
преобразовать структуру входного предложения во внутреннюю структуру выходного
предложения. К этому этапу относятся и замены лексем входного языка их переводными
эквивалентами (лексические межъязыковые преобразования). Цель этапа синтеза - на основе
полученной в результате анализа структуры построить правильное предложение выходного
языка.
Лингвистическое обеспечение стандартной современной СМП включает:
словари;
грамматики;
формализованные промежуточные представления единиц анализа на разных
этапах преобразований.
Помимо стандартных, в отдельных СМП могут иметься и некоторые нестандартные
компоненты. Так, экспертные знания о предметной области могут задаваться с помощью
специальных концептуальных сетей, а не в виде словарей и грамматик.
Механизмы (алгоритмы, процедуры) оперирования с имеющимися словарями,
грамматиками и структурными представлениями относят к математико-алгоритмическому
обеспечению СМП.
Одно из необходимых требований к современным СМП - высокая модульность. С
лингвистически содержательной точки зрения это означает, что анализ и следующие за ним
процессы строятся с учетом теории лингвистических уровней. В практике создания СМП
различают четыре уровня анализа (рис. 11).
Рис. 11. Основные уровни анализа в СМП
Синтез теоретически проходит те же уровни, что и анализ, но в обратном направлении.
В работающих системах обычно реализован только путь от синтаксического представления
до цепочки слов выходного предложения.
Досинтаксический анализ
морфологический анализ, анализ оборотов, неопознанных элементов
текста и др.
Синтаксический анализ
строит синтаксическое представление предложения. В его пределах
может выделяться ряд подуровней, обеспечивающих анализ разных
типов синтаксических единиц
Семантический анализ или логико-семантический анализ
построение аргументно-предикатной структуры высказываний или
другого вида семантического представления предложения и текста
Концептуальный анализ
анализ в терминах концептуальных структур, отражающих семантику
предметной области. Этот уровень анализа используется в СМП,
ориентированных на очень ограниченные ПО
Лингвистическое разграничение разных уровней может проявляться также в
разграничении используемых в соответствующих описаниях формальных средств (набор
этих средств задается для каждого уровня отдельно). На практике часто задаются отдельно
лингвистические средства морфологического анализа и совмещаются средства двух
остальных этапов. Но разграничение уровней может оставаться только содержательным при
использовании в их описаниях единого формализма, пригодного для представления
информации всех выделяемых уровней.
С технической точки зрения модульность лингвистического обеспечения означает
отделение структурного представления фраз и текстов (как текущих, временных знаний о
тексте) от «постоянных» знаний о языке, а также языковых знаний - от знаний ПО;
отделение словарей от грамматик, грамматик - от алгоритмов их обработки, алгоритмов - от
программ.
Словари анализа, как правило, одноязычные. Они должны содержать всю информацию,
необходимую для включения данной лексической единицы (ЛЕ) в структурное
представление. Часто разделяют словари основ (с морфолого-синтаксической информацией:
часть речи, тип словоизменения, подкласс, характеризующий синтаксическое поведение ЛЕ
и т. п.) и словари словозначений, содержащие семантическую и концептуальную
информацию: семантический класс ЛЕ, семантические падежи (валентности), условия их
реализации во фразе и т. д.
Во многих системах разделены словари общеупотребительной и терминологической
лексики. Такое разделение дает возможность при переходе к текстам другой предметной
области ограничиваться лишь сменой терминологических словарей. Словари сложных ЛЕ
(оборотов, конструкции) образуют обычно отдельный массив, словарная информация в них
указывает на способ «собирания» такой единицы при анализе. Часть словарной информации
может задаваться в процедурной форме, например, многозначным словам могут
сопоставляться алгоритмы разрешения соответствующего типа неоднозначности.
Грамматика и словарь задают лингвистическую модель, образуя основную часть
лингвистических данных. Алгоритмы их обработки, т. е. соотнесения с текстовыми
единицами, относят к математико-алгоритмическому обеспечению системы.
Разделение грамматик и алгоритмов важно в практическом смысле тем, что позволяет
менять правила грамматики, не меняя алгоритмов (и соответственно программ), работающих
с грамматиками. Но далеко не всегда такое разделение возможно. Так, для системы с
процедурным заданием грамматики и тем более с процедурным представлением словарной
информации такое разделение нерелевантно. Алгоритмы принятия решений в случае
недостаточной (неполнота входных данных) или избыточной (вариантность анализа)
информации в большой мере эмпиричны, их формулировка требует лингвистической
интуиции.
Наиболее четко разделение грамматик и алгоритмов наблюдается в системах,
работающих с контекстно-свободными (КС) грамматиками (КСГ), где модель языка -
грамматика с конечным числом состояний, а алгоритм должен обеспечить для произвольно
взятого предложения дерево его вывода по правилам грамматики, и если таких выводов
несколько, то перечислить их. Такой алгоритм, представляющий собой формальную (в
математическом смысле) систему, называется анализатором. Описание грамматики служит
для анализатора, обладающего универсальностью, таким же входом, как и анализируемое
предложение. Анализаторы строятся для классов грамматик, хотя учет специфических
особенностей грамматики может повысить эффективность анализатора.
Грамматики синтаксического уровня — наиболее разработанная часть и с точки зрения
лингвистики, и с точки зрения их обеспечения формализмами. Укажем основные типы
грамматик и реализующих их алгоритмов (в литературе по МП их часто описывают как одну
совокупность).
Цепочечная грамматика фиксирует порядок следования элементов, т. е. линейные
структуры предложения, задавая их в терминах грамматических классов слов
(артикль+существительное+предлог...) или в терминах функциональных элементов
(подлежащее+сказуемое). Примером реализации такой языковой модели является
предсказуемостный синтаксический анализ: идентифицированная грамматическая категория
слова предсказывает (с определенной долей вероятности) появление грамматической
категории следующего за ним слова. Стратегия анализа — «слева направо»: перебор слов,
проверка предсказаний, их изменение и добавление новых предсказаний регулируются
механизмом «магазинной памяти» (last in first out).
Грамматика составляющих (или грамматика непосредственно составляющих - НСГ)
фиксирует лингвистическую информацию о группировке грамматических элементов,
например, именная группа (состоит из существительного, артикля, прилагательного и
других модификаторов), предложная группа (состоит из предлога и именной группы) и т.
д. до уровня предложения. Грамматика строится как набор правил подстановки, или
исчисление продукций вида А >В>...С. НСГ представляют собой грамматики
порождающего типа и могут использоваться как при анализе, так и при синтезе:
предложения языка порождаются многократным применением таких правил.
Грамматика зависимостей (ГЗ) задает иерархию отношений элементов предложения
(главное слово определяет форму зависимых). Анализатор в ГЗ основан на идентификации
хозяев и их зависимых (слуг). Главным в предложении является глагол в личной форме, так
как он определяет число и характер зависимых существительных. Стратегия анализа в ГЗ —
сверху вниз (top-down): сначала идентифицируются хозяева, затем слуги, или снизу вверх:
(bottom-up): хозяева определяются процессом подстановки.
Новым и, сразу завоевавшим популярность, методом грамматического описания
является лексико-функциональная грамматика (ЛФГ). Она устраняет необходимость
трансформационных правил. Хотя ЛФГ основывается на КСГ, проверочные условия в ней
отделены от правил подстановки и «решаются» как автономные уравнения.