ЛЕНИНГРАДСКИЙ ОРДЕНА ЛЕНИНА И ОРДЕНА ТРУДОВОГО КРАСНОГО ЗНАМЕНИ
ГОСУДАРСТВЕННЫЙ УНИВЕРСИТЕТ имени А А. ЖДАНОВА
СТРУКТУРНАЯ И ПРИКЛАДНАЯ ЛИНГВИСТИКА
Межвузовский сборник
В ы п у с к 2
ЛЕНИНГРАДИЗДАТЕЛЬСТВО ЛЕНИНГРАДСКОГО УНИВЕРСИТЕТА
1983
Печатается по постановлению Редакционно-издательского совета
Ленинградского университета
Статьи сборника «Структурная и прикладная лингвистика»- охватывают широкий круг проблем современной теоретической и прикладной лингвистики. В них рассматриваются актуальные вопросы семантики предложения, применения математических методов в языкознании, проблемы лингвистической статистики. Сборник содержит статьи, посвященные разработке лингвистического обеспечения автоматических систем обработки текста.
1-й выпуск сборника «Структурная и прикладная лингвистика» вышел в 1978 году.
Сборник предназначен для филологов, специалистов по прикладной и математической лингвистике.
Р е д а к ц и о н н а я к о л л е г и я : докт. филол. наук В. В. Богданов; докт. филол. наук Л. В. Бондарко; докт. филол. наук А. С. Герд (отв. редактор); докт. филол. наук Б. Ю. Городецкий.
Р е ц е н з е н т : докт. филол. наук П. М. Алексеев (ЛГПИим. А. А. Герцена).
ИБ № 1462
Структурная и прикладная лингвистика
Межвузовский сборник
В ы п у с к 2
Редактор А. Ф. АкимоваТехн. редактор Е. Г. Учаева Корректоры Н. М. Чаплинская, Т. Г. ПавловаСдано в набор 25.05.82. Подписано в печать 13.01.83. М-41003. Формат 60Х90'/|б- Вумага тип. № 2. Печать высокая. Гарнитура литературная. Уел. печ. л. 12. Уел. кр.-отт. 12,19. Уч.-изд. л. 13,60. Тираж 1470 экз. Заказ № 250. Цена 2 руб. Издательство ЛГУ им. А. А. Жданова. 199164, Ленинград, Университетская наб., 7/9.
Типография Изд-ва ЛГУ. 199164, Ленинград, Университетская наб., 7/9.
1593000000—933 С 076(02)—83 68-83 .
Издательство Ленинград- С) ского университета,
1983 г.
В. Д. Буторов, И. В. Азарова
ИСПОЛЬЗОВАНИЕ ТЕРМИНОЛОГИЧЕСКОЙ СЕТИ ДЛЯ АНАЛИЗА ЗАПРОСОВ
НА ОГРАНИЧЕННОМ ЕСТЕСТВЕННОМ ЯЗЫКЕ
Проблемно-ориентированный естественный язык запросов. Одной из важных задач лингвистического обеспечения информационных систем является разработка лингвистического процес-
154
сора для анализа и перевода запросов пользователей с естественного языка на информационный язык, принятый в системе в качестве языка взаимодействия с базой данных. В общем случае взаимодействие пользователя с базой данных не ограничивается только запросами к базе, но может включать также и ввод данных в базу, изменение данных в базе и даже изменение структуры базы. Однако говорить об использовании естественного языка для обеспечения такого взаимодействия в полном объеме в настоящее время, видимо, преждевременно. В большинстве случаев естественный язык используется только для формулировки запросов к базе данных или для синтеза ответов. Остальные формы взаимодействия обычно обеспечиваются некоторым формальным языком (информационным языком).1
Информационный язык, включающий средства описания структуры данных и средства формальной записи запросов, может служить также удобным «языком-посредником» для интерпретации запросов на естественном языке, преимущества которого для широкого круга пользователей, не знакомых детально со структурой базы данных и с информационным языком, достаточно очевидны.
В описываемой системе анализа запросов на естественном языке для их интерпретации используется модифицированный для конкретной предметной области базовый информационный язык (БИЯЗ), разработанный в ЦЭМИ АН СССР.2
Модифицированный БИЯЗ используется в качестве входного языка для базы данных, имеющей иерархическую (древовидную) структуру (типа «Ока»), Элементами данных в базе являются структуры, состоящие из двух полей: наименования признака и значения признака.
БИЯЗ позволяет запрашивать информацию из конкретного элемента базы данных (единичный показатель) или же из набора однотипных элементов (множественный или агрегированный показатель). Элемент базы данных может задавать числовое или текстовое данное.
Запросы на БИЯЗ представляют собой множество пар <•*:*/>, где х — наименование признака (наименование поля базы данных), у — значение признака х. Среди всех пар < х : у > выделяются две пары, определяющие имя информационного объекта (имя вершины дерева базы данных, в котором должен осуществляться поиск информации) и наименование запрашиваемого признака х, значение 5 которого является ответом на за-
1 Л е в и н Д. Я., Н а р н н ь я н и А. С. Формальный язык взаимодействия с Сазами данных. — В кн.: Семантика естественных и искусственных языков ^■^анализированных системах. Тезисы докл. конф. (Ленинград, 1—2 окг. 19792.Г,). Л„ 1979.дг С р е д с т в а формализованного описания экономических данных для
С»: Методические рекомендации. М., 1975.
155
прос. Остальные пары < х : у > определяют условие поиска запрашиваемых данных.
Приведем пример записи запроса на естественном языке и на БИЯЗ.
ЕЯ: Указать сметную стоимость КВР «Грот» за 1980 год.БИЯЗ в дескрииторной форме: Программа: ОБ; Сметная
стоимость КВР : 5;Перечень КВР: Грот; Год: 1980.
БИЯЗ в кодовой форме: ОВ:РКОО; 02А Т : 5; 5НКВР:1; СОИ : 1980.
Используемая иерархическая база данных позволяет сформулировать для простых запросов достаточно сильный критерий семантической правильности: все пары < х : у > , входящие в условие поиска, являются элементами базы данных, лежащими на пути от вершины базы (имя информационного объекта) до запрашиваемого элемента. Это свойство запросов на БИЯЗ используется (см. ниже) в качестве критерия правильности анализа запроса на естественном языке (в частности, при выборе из нескольких возможных вариантов анализа).3
Естественный язык, используемый для формулировки запросов, является ограниченным, однако характер ограничений, задающих подмножество естественного языка, следует оговорить особо.
Лексика используемого естественного языка ограничена предметной областью экономики электронной промышленности (точнее, множеством технико-экономических показателей).
В информационном языке эта лексика упорядочена системой классификаторов и номенклатур, заданных в виде взаимосвязанных списков дескрипторов. Каждому списку присваивается наименование (также являющееся дескриптором). Структура дескрипторов достаточно сложна и разнообразна: от отдельных лексем до многокомпонентных словосочетаний и даже предложений.
При формулировке запросов на естественном языке дескрипторы употребляются в конкретных текстовых формах (ТФД), представляющих собой различные лексико-грамматические варианты основных форм дескрипторов, зафиксированных в классификаторах.
Конкретная предметная область и характер задачи взаимодействия с базой данных ограничивают и семантику запросов на естественном языке. Как упомянуто выше, запрашиваться могут толь'ко конкретные значения технико-экономических показателей, содержание некоторых списков, свойства определенных объектов.
з П е т р о в А. Е. Алгоритм обработки запросов в фактографической ИПС. — В кн.: Электронная техника. Сер. 9. Экономика и системы управления, вып. 1 (34). М„ 1980, с. 112—120.
С синтаксической точки зрения запросы на ЕЯ являются вопросительными или «предписывающими» высказываниями. Но кроме этих естественных для данной задачи синтаксических ограничений, никаких дополнительных ограничений на синтаксис запросов не накладывается. Пользователю, таким образом, практически не нужна никакая инструкция по формальной записи запроса. Действительно, любые ограничения на синтаксис запросов на ЕЯ резко снижают эффективность такой формы общения с ЭВМ, и естественный язык сразу перестает быть естественным для пользователя.
В то же время лексические и семантические ограничения языка запросов делают его проблемно-ориентированным языком, хотя и использующим свободно синтаксис естественного языка.
Приближенный метод анализа запросов. Решение прикладных лингвистических задач часто бывает ограничено техническими требованиями на объем используемой памяти и на скорость обработки текста. Это заставляет использовать не только ограниченные средства самого естественного языка, но и использовать в определенном смысле ограниченные и в то же время достаточные для решения поставленной задачи методы анализа естественного языка. Видимо, только таким путем можно найти оптимальные для конкретной задачи методы анализа.4
Ограниченная лексика языка запросов в рассматриваемой области (не более 1000 лексем), достаточно простая структура информационного языка, используемого для интерпретации запросов, и строгий критерий семантической правильности (осмысленности) запросов к базе данных позволяют ограничиться приближенным анализом запросов на естественном языке.
Распознавание запроса на ЕЯ в соответствии со структурой БИЯЗ состоит в выделении множества пар < х :г /> , «признак : значение».
Если зафиксировать в словаре, оптимальным образом организованном, все текстовые формы дескрипторов, выражающих наименование признаков и их значение, то задача анализа будет сводиться к распознаванию самих дескрипторов в тексте запроса на ЕЯ. Это достаточно простая задача, решаемая при наличии словаря текстовых форм дескрипторов без привлечения морфологического анализа и без полного синтаксического анализа высказывания — запроса, поскольку в словаре будут храниться как все необходимые формы слов, так и (в готовом виде) локальные синтаксически связанные группы слов, соответствующие текстовым формам дескрипторов (ТФД).
Задача состоит в том, чтобы оптимальным образом организовать такой словарь и найти метод анализа, позволяющий
4 Б у т о р о в В. Д. Приближенные методы анализа языка в прикладной лингвистике. См. с. 131.
157
шэффективно с помощью этого словаря «выделять» дескрипторы в тексте запроса.
Терминологическая сеть. Словарь, применяемый при анализе, представляет собой массив текстовых форм дескрипторов. При определении структуры словаря учитывались следующие требования:
— информация о словоформах запроса и связях между ними должна извлекаться быстро, без просмотра значительной части словаря;
— полученная информация должна позволять быстро определить релевантные и нерелевантные связи между словоформами;
— в результате анализа должен извлекаться набор дескрипторов, встретившихся в запросе (если существует неоднозначность, то — все возможные наборы).
Для представления словаря была выбрана сеть — орграф общего вида с помеченными дугами. С текстовой формой де-3 скриптора в сети сопоставляется цепь — последовательность неповторяющихся узлов, в качестве которых выступают словоформы, образующие ТФД. Словоформы в цепи упорядочены в соответствии с синтаксической структурой ТФД. При этом в случае последовательного синтаксического подчинения словоформ в структуре ТФД запись словоформ в цепи идентична синтаксической структуре, в случае ветвящейся синтаксической структуры ТФД (что бывает достаточно редко) словоформы упорядочены так, что ветвящийся узел предшествует подчиненным ему узлам, порядок которых произволен. Дуги, связывающие словоформы в сети, помечаются числами, показывающими, сколько раз данная пара словоформ встретилась в общем массиве ТФД. Начальная и конечная словоформа цепи некоторой ТФД в словарной записи соединяются так называемой граничной дугой, которой приписывается в виде символьного кода информация о дескрипторе, образом которого и является данная ТФД. В результате каждая текстовая форма дескриптора оказывается представленной в сети циклом — замкнутой цепью, при этом только одна дуга в каждой цепи будет иметь символьный код. Различение типов дуг в сети позволяет автоматически контролировать омонимию вводимых в словарь текстовых форм дескрипторов. Символьный код, приписываемый граничной дуге, является либо кодом дескриптора в БИЯЗ, записанным в виде пары «признак: значение», либо условным выражением, представленным в жестком формате, для проверки некоторого контекстного условия на уровне дескрипторов БИЯЗ (например, при определении роли данного дескриптора в запросе).
Словарь терминологических сетей, таким образом, содержит информацию о лексическом составе и локальных синтаксических группах (дескрипторах БИЯЗ) данной предметной области. Петли в сети представляют однословные текстовые формы де-
158
скрипторов. Число дуг, выходящих из узла, равно числу входящих в узел дуг с учетом кратностей, приписанных дугам. Коэффициент ветвления в сети (среднее значение выходящих из узла дуг) поддерживается на низком уровне (около двух), так как получаемая редкая сеть дает оптимальные результаты в используемых процедурах обхода сети.
$>*$НКЗР: **5>НКВР'.5',
Фрагмент словаря ТС
Массив ТФД. Массив ТФД определяет, насколько хорошо будет работать автоматический анализ запросов на ЕЯ- На стадии эксплуатации он может быть скорректирован в соответствии с реальными запросами пользователей. Предварительное порождение массива запросов производится экспериментально на основе баз данных. Последние определяют возможные сочетания различных признаков: поисковых (ПП) и запрашиваемых (ЗП). Поисковые признаки представлены в запросе на ЕЯ в виде своих значений — дескрипторов или числовых данных' Запрашиваемые признаки не раскрываются по значению. С этим связаны существенные различия в представлении тех и других. Поисковые признаки имеют не только ряд разных значений, но и широкий круг возможностей их синтаксического оформления.
159-
Запрашиваемые признаки выражаются синтаксически единообразно. После определения набора исходных дескрипторов и их синтаксического оформления производится выявление всевозможных текстовых форм дескрипторов. Число ТФД для одного
.дескриптора варьируется от одного до десяти, среднее число вариантов —около четырех (на массиве около ста дескрипторов) .
Для сокращения объема словаря в составе ТФД выбирается контрастное ядро — часть словосочетания, обеспечивающая распознавание данного дескриптора; словоформы, несущие чисто строевые функции, в словарь не включаются.
Массив ТФД, представленных в виде синтаксических групп с кодами соответствующих дескрипторов, является вводным для алгоритма построения автоматического словаря ТС.
Фрагмент массива ТФД:стоимость — сметную/02АТ : 5;стоимость — сметная/02АТ : 5; IКВР/ * > * 5НКВР : ** 5НКВР : 5;ГРОТ/5НКВР : 1;в — 9999 — году/* Н* ООО : =Составление словаря ТС. Словарь ТС строится автоматиче
ски на основе массива ТФД. Алгоритм построения словаря ТС включает: ввод исходных данных (массив ТФД); создание словника, упорядоченного по возрастанию кодов слов; формирование терминологической сети; организацию данных в последовательный файл.
Словарь ТС хранится и формируется как файл последова- 1 тельной организации, а при анализе запросов и накоплении словаря он переписывается в индексно-последовательный файл.
Информация о структуре сети сконцентрирована по словоформам, для каждой из которых указаны выходящие из узла '3 дуги в виде ссылок на узлы, в которые они входят. В целях компактного представления ссылок узлы перенумерованы. На- I бор ссылок некоторого узла представлен кортежем номеров А тех узлов, в которые входят дуги, исходящие из данного узла, а также кортежем кодов, приписанных этим дугам; указывается длина кортежа. Структура информации некоторого узла имеет \ следующий вид: словоформа; ее номер; длина кортежа ссылок; кортеж ссылок; кортеж кодов.
Алгоритм пополнения словаря ТС включает: запись «старого» массива в индексно-последовательный файл; ввод новой порции ТФД и ее обработка в последовательном файле; слияние двух файлов; запись пополненного словаря в последовательный файл.
В результате пополнения в сеть могут быть добавлены новые узлы, а также пополнены кортежи ссылок у имеющихся узлов. Оба алгоритма производят контроль омонимии — однотипности кодов у одной дуги. Объем словаря на материале трех задач160
НИР и ОКР включал 315 узлов и 542 ссылки; автоматический словарь ТС занимал 8 дорожек на магнитных дисках типа 2311.
Фрагмент автоматического словаря ТС
Словоформа Н ом ер Д лина кортеж а К ортеж ссы лок К ор теж кодон
сметную 80 1 83 02АТ: 5;сметная 82 1 83 02АТ: 8;стоимость 83 2 80; 82 1; 1
* п *ОСШ : =год 489 1 315году 486 1 317 * П *СЮО: =! рот 479 1 479 5НКВР: 1;
Автоматический анализ запроса. Автоматический анализ запроса на ЕЯ проводится в два этапа: выделение в тексте запроса набора дескрипторов с использованием словаря ТС; проведение контекстного анализа выделенных дескрипторов с целью формирования запроса на БИЯЗ.
Анализ запроса на ограниченном ЕЯ включает извлечение подсети словаря ТС, охватывающей словоформы запроса, и выделение в ней набора непересекающихся циклов. Если такое разбиение подсети возможно, то коды выделенных циклов однозначно определяют набор дескрипторов, представленных в запросе. Напомним, что цикл в словаре ТС сопоставлен некоторой текстовой форме дескриптора. Линейный порядок словоформ в запросе для анализа не существен.
Пример анализа запроса:
Указать сметную стоимость К6Р ” Грот” за 1930 год.1 8НКВР: 1:
$>*$НКВР: лнЙНКВР:1; йл *& 0В: =
Результат: 02АТ.5- X > к ЗНКВР: хх &НКВР: 3 ; ВНКВР: 1; X т * С-СШ; =
Развертывание альтернатив производится параллельно. Неудачные альтернативы отбрасываются. При наличии нескольких компонент связности анализ производится покомпонентно. Результаты анализа заносятся в «дерево разбора», из которого затем можно извлечь различные наборы дескрипторов, упоря-11 Зак. Ха 250 161
доченные но вхождению в текст запроса (для отдельных альтернатив) и его длине (для разных альтернатив).
Пример «дерева разбора» с одной альтернативой:02АТ : 5; ^ * > * 5 Н К В Р : ** 5НКВР : 5; -*-5НКВР : 1;
—у *"~]* ООО : =На этапе контекстного анализа обрабатываются наборы вы
деленных кодов дескрипторов: вычеркиваются коды одинаковых и малоинформативных дескрипторов; выделяется запрашиваемый признак — дескриптор; происходит объединение кодов указателей роли, кванторов и отношений с соответствующими дескрипторами. При проведении контекстного анализа используется процедурный подход обработки данных: элементы выделенной из словаря кодовой информации управляют ходом анализа. В результате анализа запроса на ЕЯ выделяется набор пар «признак : значение» (высказывание на БИЯЗ).
Пример обработанного запроса:02АТ : 5; 5НКВР : 1; ОСЮ : 1980;
Анализ запроса на ЕЯ реализуется в виде процедуры-функции. Время обработки запроса длиной 8—12 слов составляет 3—5 сек. Переход к новой предметной области и настройка системы анализа запросов связаны с наполнением словаря ТС соответствующей лексикой.
162