Сборник 2001

 InBASE: ТЕХНОЛОГИЯ ПОСТРОЕНИЯ ЕЯ-ИНТЕРФЕЙСОВ К БАЗАМ ДАННЫХ

В.А.Жигалов, Е.Г.Соколова

Москва, РОСНИИ Искусственного интеллекта

 

 

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

                      

1      ВМЕСТО ВСТУПЛЕНИЯ

 

Было бы совершенно излишним посвящать положенные несколько абзацев в начале статьи важности задачи, название которой помещено в заголовок. Упомянем лишь ключевые слова, наиболее точно ориентирующие читателя с этой стороны: Интернет, электронная коммерция, каталог товаров, забота о потребителе;  корпоративные системы управления, прямой доступ к данным, управление знаниями и т.д.

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

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

Традиционная сила российских лингвистических научных школ, как и в случае с программистами, может в этой ситуации играть двоякую роль: с одной стороны, само наличие таких школ поднимает престиж России в активно развивающейся и все более востребуемой компьютерной лингвистике, а с другой - дешевая рабочая сила российских лингвистов часто используется не совсем по назначению, в черновой и даже бессмысленной работе в некоторых оффшорных проектах. Изменить ситуацию к лучшему может только развитие отечественных разработок до уровня продаваемых продуктов и технологий, которые, взяв старт в нашей стране, смогут двинуться осваивать глобальный рынок, а заодно и отечественные ресурсы. Примеры тому есть - достаточно вспомнить продукты таких фирм как Медиалингва и ABBYY. Будем надеяться, что технология InBASE, о которой пойдет речь в этой статье, сможет сформировать отечественный сектор рынка ЕЯ-интерфейсов и в дальнейшем занять достойное место в перспективном секторе активно растущего рынка в глобальном масштабе.

 

2      ТРАНСФОРМАЦИЯ ТЕРМИНА "ЕСТЕСТВЕННО-ЯЗЫКОВОЙ ЗАПРОС"

         Сам термин "естественный язык" довольно неоднозначен. Первоначальное его трактование (традиционное для ИИ) подразумевало очень большую свободу человека в общении с машиной; предполагалось, что со временем этот способ взаимодействия станет основным. Однако практика построения традиционных ЕЯ-систем (как правило, "от синтаксиса") скорректировала эту трактовку до почти противоположной: часто под ЕЯ понимается синтаксически правильный и весьма жестко ограниченный  жанр языка. Практика общения с ЕЯ-системами показывает, что человек, как неизбежно более гибко приспосабливающееся существо, нежели машина, в условиях сильного мотивирования приспосабливается к ситуации и начинает "говорить", "набирать" или "писать" так, чтобы система все-таки заработала, а не так, как он говорил бы с человеком. А в отсутствии мотивирования просто теряет интерес к этой системе. То есть о естественности можно говорить лишь с натяжкой.

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

По отношению к этим двум крайностям ярлык "естественно-языковой" в описываемом проекте InBASE занимает промежуточное положение. С одной стороны, 100%-я синтаксическая правильность запроса не обязательна, и в ряде случаев запрос может иметь тот же "телеграфный" стиль, что и при поиске в Интернет, а с другой, используется механизм понимания запроса, позволяющий максимально использовать прагматическую, семантическую и лексическую информацию в запросе и информацию о предметной области для уточнения смысла запроса. При этом естественность такого общения повышается за счет изначального учета особенностей жанра запросов к базам данных.

Так, прагматически один и тот же запрос может быть выражен на грамматическом уровне весьма многообразно:

Чьи работы выполнены меньше чем на 100%?

Кто еще не завершил своих работ?

У кого есть незавершенные работы?

Работающие над незавершенными задачами

Выдать работы (до 100% выполнения) вместе с их ресурсами

 

(предметная область - календарно-ресурсное планирование, база данных MS Project).

 

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

3      СЕМАНТИЧЕСКИ ОРИЕНТИРОВАННЫЙ АНАЛИЗ ЗАПРОСОВ К БАЗАМ ДАННЫХ

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

Альтернативный традиционному подходу семантически-ориентированный подход был предложен в (Нариньяни 1979) и реализован в системе InterBase (Trapeznikov et al. 1993), (Нариньяни 1995). Традиционный путь анализа заменялся одним эффективным процессом семантически-ориентированного анализа за счет опережающей контекстуализации значений слов ЕЯ. С точки зрения лингвистической теории можно провести аналогию с принципом "стимул-реакция" Л.Блумфилда - взгляда на ЕЯ высказывание как связующее звено между стимулом говорящего и практической реакцией адресата (Bloomfield 1964). В нашем случае стимулом говорящего является информационная потребность автора запроса, а реакцией адресата - выдача релевантной информации из БД системой.

При семантически-ориентированном подходе грамматические и лексические единицы ЕЯ интерпретируются непосредственно в понятиях предметной области, представленной в системе InterBase базой данных (БД) и жанром запросов к БД (Соколова и др. 1999). При этом ЕЯ форма выражения информации и формальное представление как бы непосредственно сопоставляются друг с другом, и грамматика моделирует преодоление свойств ЕЯ в процессе перехода к формальному представлению методами прямой интерпретации ЕЯ единиц в терминах предметной области.

Например, значения грамматической категории степень сравнения прилагательных, превосходная и сравнительная, интерпретируются как два различных типа единиц предметной области - Функтор и Отношение: самая большая зарплата соответствует выражению Select max (Salary) в терминах SQL; зарплата больше тысячи в терминахSQL - Where Salary > 1000.

Примером сборки понятия БД из рассыпанных элементов ЕЯ является обработка Даты.  Дата в БД представляет собой значение с определенной внутренней структурой - число, месяц, год. В ЕЯ запросе эти же элементы могут быть представлены в виде даты аналогично БД, например, 14.03.99, а могут быть рассыпаны, представлены одним, двумя или тремя из элементов в различном порядке, например, Кто родился в мае? Кто работал в фирме в 70-х годах? У кого день рождения приходится на 13 число?Соответственно правила анализа оперируют такими элементами как М - месяц, Г - год, Д - день. Эти элементы отображаются в значения атрибутов типа Дата=Д,М,Г.

В ЕЯ на конструкции с операторами типа Отрицание или Отношение оказывают влияние употребление сочинительных конструкций, в которых повторные операторы опускаются. Кроме того, правила использования слов с семантикой отношения и отрицания в ЕЯ отличаются большей свободой линейного расположения, чем  в формальном языке. Например (в скобках указана ориентация на конкретный атрибут БД):

 

Кто не имеет высшего и среднего образования? -

Атрибут(Name) + Отрицание + Значение:'высшее'(Educ.)+ Значение:'среднее'(Educ.) + Атрибут(Educ.).

 

Перед элементом представления "Значение: 'среднее'(Educ.)" восстанавливается Отрицание и связывается с этим значением. Благодаря наличию сочинения в ЕЯ Отношение может следовать за своим аргументом, например,

 

Who has three children and more? (Кто имеет трех детей или более?) -

Атрибут(Name) + Значение:3(Children) + Атрибут(Children) + Отношение: >.

 

Основной принцип действия семантически ориентированного анализа состоит в моделировании взаимодействия типов с одинаковыми значениями ориентаций. Этот принцип позволяет преодолевать такие неотъемлемые свойства ЕЯ как избыточность и неоднозначность[1]. Например: 

Кто живет в городе Москве? -

Атрибут(Name) + Атрибут (Address) + Атрибут (Address) + Значение:'Москва'(Address)

 

В данном запросе ориентация на атрибут Address повторяется трижды. Правилами удаляется повтор Атрибута (Address). Запрос приобретает вид:

 

Атрибут(Name) + Атрибут (Address) + Значение:'Москва'(Address)

 

Но он также избыточен, поскольку тот факт, что Москва обозначает место жительства, следует уже из того, что Москва является значением атрибута Address. Слово город с интерпретацией Атрибут (Address) является избыточным и удаляется из представления запроса. Представление запроса приобретает вид:

 

Атрибут(Name) + Значение:'Москва'(Address), соответствующий формуле SQL:

Select Name Where Address='Москва'

 

Одновременно с преодолением избыточности, преодолевается неоднозначность за счет того, что атрибут или значение атрибута, имеющие более одной ориентации, после пересечения этой ориентации с ориентацией соседнего типа, уточняются, т.е. остается одна ориентация, или, менее неоднозначная. В частности, так вычисляется ориентация числовых атрибутов, например, У кого зарплата 500?, где числовое значение атрибута 500 имеет ориентации всех числовых атрибутов, а после уточнения по контексту остается одна ориентация на зарплату.

 

4      ОТДЕЛЕНИЕ ЯЗЫКА РЕГИСТРА ОТ ПРЕДМЕТНОЙ ОБЛАСТИ И СТЕПЕНЬ ЯЗЫКОВОЙ НЕЗАВИСИМОСТИ

Семантически-ориентированный подход позволяет полностью отделить язык регистра и связанные с ним правил анализа от конкретной предметной области в регистре ЕЯ-запроса к базам данных. Это позволяет резко сокращать усилия по созданию ЕЯ-интерфейса - надо построить модель предметной области (МПО), отобразить ее на схему источника данных (модель базы данных, МБД), и разметить лексику, используя построенную МПО, т.е. наполнить словарь. Один и тот же лингвистический процессор работает при этом одинаково хорошо со многими предметными областями. Следствием семантически-ориентированного подхода в технологии InterBASE также является высокая степень независимости построенного Л-процессора от языка запроса. Для русского и английского языков мог использоваться один и тот же Л-процессор, благодаря тому, что ЕЯ семантические процессы в ЕЯ-запросах на различных языках близки. Так, при наполнении словаря лексикой двух языков один и тот же ЕЯ-интерфейс понимает запросы на двух языках, а также на их смеси.

Регистр запросов к базам данных характеризуется прагматической целью обращения пользователя к БД: найти объекты, удовлетворяющие некоторым критериям отбора, и выдать определенные характеристики этих объектов, возможно, выполняя операции агрегирования над множеством объектов. Требования этого  регистра определяют набор классов словарных статей в словаре, набор правил семантически-ориентированного анализа, а также строение модели предметной области.

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

5      МОДЕЛЬ ПРЕДМЕТНОЙ ОБЛАСТИ И ЕЕ СВЯЗЬ С МОДЕЛЬЮ БАЗЫ ДАННЫХ

Современные реляционные базы данных в целях повышения эффективности хранения и доступа и в силу особенностей реляционной парадигмы часто устроены таким образом, что отображение языковых единиц на единицы БД напрямую провести сложно. Примером может служить случай, когда БД имеет статическую схему, при которой в 4-5 таблицах содержится информация о множестве классов объектов, описания и значения атрибутов, а также сами объекты (например, в одной таблице содержится классификатор объектов по схеме "дерево в таблице", в другой - объекты, в третьей - описания атрибутов, в четвертой - их значения и т.д.). Выходом здесь является отображение схемы БД вместе с элементами содержания в схему классов и соотнесение языковых элементов элементам этой схемы. Система InBASE использует именно такой подход - в качестве модели предметной области используется диаграмма классов, в то время как в InterBASE использовалась реляционная схема БД.

Существенной для описываемой технологии является выделение модели предметной области (МПО) как основы и ее увязка с моделью базы данных (МБД). Уровень МПО соответствует концептуальному уровню описания базы данных. Мы использовали в качестве базовой нотации диаграмму классов, схожую с одноименным формализмом вUML. Предметная область представляется набором классов, для каждого задаются типизированные атрибуты. Связывание классов осуществляется т.н. объектными атрибутами, т.е. имеющими тип описанного в данной схеме класса. Атрибуты могут иметь флаги, набор флагов определяется потребностью Л-процессора. Также числовым атрибутам можно задавать ограничения их значений, например, для процентов - от 0 до 100. Можно создавать вычисляемые атрибуты, которые представляют ЕЯ понятия, обычно не находящиеся в БД, например, возраст, стаж, маршрут и др., но могут быть построены на основе той информации, которая в базе находится - дата рождения, дата приема на работу, связь между географическими объектами.

Модель базы данных описывает существенную для данного ЕЯ-интерфейса часть схемы БД (используемые таблицы и поля, выражения связей между таблицами), а также соответствие элементов МПО и МБД (классы - таблицам, атрибуты - полям, связям и выражениям).

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

 

В текущей реализации InBASE модель предметной области и модель базы данных задаются в виде XML-файлов. Фрагмент МПО для предметной области каталога товаров и его прорисовка в виде диаграммы классов приведена на рис.1.

 

 

<class id="2" name="Продукт">

   <attr id="1201" name="Название" type="string">

     <flags>

       <flag name="out" val="1"/>

       <flag name="name" val="2"/>

     </flags>

   </attr>

   <attr id="1202" name="Нетто" type="string"/>

   <attr id="1203" name="Описание" type="string"/>

   <attr id="1204" name="Макс Возраст" type="long">

     <constraint val="[0, 12]"/>

   </attr>

   <attr id="1205" name="Мин Возраст" type="long">

     <constraint val="[0, 12]"/>

   </attr>

   <attr id="1206" name="Цена" type="decimal">

     <flags>

       <flag name="out" val="1"/>

     </flags>

   </attr>

   <attr id="1207" name="Категория" type="Категория"/>

   <attr id="1208" name="Производитель" type="Производитель">

     <flags>

       <flag name="out" val="1"/>

     </flags>

   </attr>

   <attr id="1209" name="Возрастной Интервал" type="interval" kind="hyper">

     <attrref refid="1204"/>

     <attrref refid="1205"/>

   </attr>

</class>

Рис. 1. Диаграмма классов предметной области каталога товаров и фрагмент его XML-представления.

6      Q-ПРЕДСТАВЛЕНИЕ ЗАПРОСА

Уровню предметной области соответствует промежуточное формальное представление запроса - Q-язык. В соответствии с жанром обращения к БД на естественном языкеQ-запрос имеет структуру, соответствующую шаблону select-from-where в SQL-запросе, но основан не на реляционной парадигме, а объектно-ориентированной. С этой точки зрения он близок к языку объектных запросов OQL [ODMG 1993]. Первая часть (select) содержит элементы для выдачи, вторая (from)  - класс выдаваемых объектов (называемый главным классом запроса). Необязательная часть where содержит условия, накладываемые на множество объектов. Важной составной частью запроса являются аксессоры - пути по связанным атрибутами классам, например, Проект.Задачи.Название - название задач данного проекта, Сотрудник.Подчиненные.Возраст - возраст подчиненных данного сотрудника.

Выделение промежуточного языка запросов позволяет говорить о слое системы, абстрагирующемся от уровня хранения данных (реляционных БД и других структурированных источников данных). Объектная ориентированность Q-языка, а также наличие его древесного XML-представления позволяет строить ЕЯ-интерфейсы не только к реляционным базам данных, но и ко многим другим типам хранилищ данных - к файловой системе, почтовому архиву, архиву телеконференций и т.д.

7      СЛОВАРНАЯ ПОДСИСТЕМА

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

Редактор словаря воплощает ставшую классической визуальную метафору Проводника - дерево папок плюс список объектов (словарных статей) в текущей открытой папке (рис. 2). Набор выводимых в списке атрибутов настраивается, также настраиваются иконки, применяемые для отображения словарных статей различных классов. Все это делает словарь InBASE весьма удобной в работе оболочкой и способствует сокращению необходимых усилий по настройке ЕЯ-интерфейса - ведь значительную часть усилий по построению ЕЯ-интерфейса составляет именно работа со словарем.

Рис. 2. Редактор словаря.

8      НАПОЛНЕНИЕ СЛОВАРЯ

Семантически-ориентированный подход характерен отказом от фронтального синтаксического анализа, и одним из следствий этого является ортогональная грамматике языка типология словарных статей. Для понимания запросов, содержащих неизвестную лексику, часто бывает достаточно использования остальной части запроса. То же верно и для незначимой лексики, т.е. известной системе, но не участвующей в правилах анализа. Это позволяет обходиться небольшим словарем, содержащим только релевантную для данного жанра, предметной области и БД лексику.

Для словаря InBASE характерен небольшой набор классов словарных статей (сейчас их 17), из которых настройщику типового ЕЯ-интерфейса нужно около семи. Классы можно разделить по степени зависимости от предметной области:

 

Сильнозависимые от ПО:

С обязательной ориентацией на элементы МПО:

  • Объект
  • Атрибут
  • Значение
  • Единица

Настраиваемые лексикой:

  • Синоним
  • Толкование
  • Реакция

 

Слабозависимые от ПО:

С необязательной ориентацией:

  • Адъектив
  • Отношение
  • Функтор

 

Независимые от ПО:

  • Союз
  • Отрицание
  • Незначимое
  • Степень
  • Команда
  • Интервал
  • Числительное

 

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

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

9      ЛИНГВИСТИЧЕСКИЙ ПРОЦЕССОР - НЕКОТОРЫЕ ВОЗМОЖНОСТИ АНАЛИЗА

В основе Л-процессора InBASE лежит виртуальная машина SNOOP [Шаров 95], работающая с объектно-ориентированной семантической сетью в продукционных правилах. Внешней информацией, используемой Л-процессором при построении формального Q-представления запроса, является МПО и словарь. Словарная информация используется на этапе лексического анализа, когда на основе входной строки строится начальная семантическая цепочка, представляющая ЕЯ-запрос в семантической сети. Здесь же происходит поиск и сборка словокомплексов внешними функциями по отношению к продукционной программе. МПО используется в основном для учета связей по предметной области между семантически ориентированными с помощью словаря лексемами, а также построенными над ними компонентами более высокого уровня.

 

Единицы измерения

Работа с единицами измерения является важной частью анализа ЕЯ-запросов к базам данных. Особенность заключается в том, что в БД данные могут храниться в одних единицах, а пользователь может спрашивать в любых, наиболее ему привычных. В InBASE это решается словарными статьями класса Единица, в которых, помимо семантической ориентации, хранятся данные по приведению указанных единиц в базовые (хранящиеся в базе). Единицы объединяются в группы, единицы одной группы могут комбинироваться и складываться, как в случае запросов "2 р. 20 коп", "год и два месяца".

Выражения с числами

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

 

от 10 до 20

10 - 20

свыше 10

между 10 и 20

не выше 20

 

Основное количество усилий в системе анализа посвящено не столько выявлению этих конструкций, сколько уточнению семантической ориентации числовых значений.

Дата и время, шаблоны

Как уже указывалось выше, сборка дат является примером прямого преобразования элементов ЕЯ в структуры уровня предметной области. Основная часть усилий здесь опять-таки посвящена не собственно сборке структур из элементов, а разрешению неоднозначности. Синтаксис задания дат и времени более чем произволен:

 

1.5.99

2000-02-01

05/10/2001,

22:32

22.05

 

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

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

Словокомплексы

Еще одним гибким механизмом, перекидывающим мостик от поиска в структурированных источниках данных к полнотекстовому поиску, является задание и сборка словокомплексов. В настоящем сборнике в (Ажичаков 2001) приведены его основные особенности.

10  ТЕХНОЛОГИЯ ОТЛАДКИ И ТЕСТИРОВАНИЯ

Без контроля качества создаваемых ЕЯ-интерфейсов InBASE нельзя было бы назвать технологией в полном смысле. Контроль качества обеспечивается ведением банка тестовых ЕЯ-запросов.

Банк тестов - это, по сути, база данных, содержащая ЕЯ-запросы к данному ЕЯ-интерфейсу, с возможностью присваивания запросам некоторого набора атрибутов и контроля за их значениями. Наиболее существенными атрибутами являются:

  • статус
  • выходное представление запроса
  • неизвестная лексика

 

Механизм регрессионного тестирования, встроенный в оболочку построения ЕЯ-интерфейсов, позволяет работать с ЕЯ-запросами в соответствии с общепринятой в ИТ-отрасли технологии тестирования.

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

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

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

Рис. 3. Подсистема регрессионного тестирования.

11  ТЕХНОЛОГИЯ vs. ПРОДУКТ (ВМЕСТО ЗАКЛЮЧЕНИЯ)

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

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

 

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

Отдельной задачей сейчас, как и пять и десять лет назад, стоит интеграция с голосовыми технологиями. По-видимому, только интеграция с голосом позволит преодолеть барьер, отделяющий ЕЯ-технологии доступа к данным от действительно массового рынка. Удобство голосовой ЕЯ-оболочки, покрывающей 90% потребностей среднего пользователя (работа с документами, почтой, WWW, и источниками данных на основе БД, доступных по WWW), трудно было бы переоценить.

 

Литература

Ажичаков Д., Егорушкин А. 2001. Словокомплексы и шаблоны в технологии InBASE. (Диалог' 2001).

Богуславский И.М., Цинман Л.Л. 1990. Семантический компонент лингвистического процессора // Семиотика и информатика, 32:5-30.

Нариньяни А.С. 1979. Лингвистические процессоры ЗАПСИБ. Препринт N 199. Вычислительный центр СО АН СССР. Новосибирск.

Нариньяни. А.С. 1995. Проблема понимания запросов к базам данных решена // Труды Международного семинара по компьютерной лингвистике. Казань. С. 206-215.

Соколова Е.Г., Сосенская Т.Б., Шаров С.А., Толдова С.Ю., Федорова О.В. 1999. К моделированию языковой деятельности в справочно-информационных системах //Типология и теория языка. От описания к объяснению. М.: "Языки русской культуры".

Шаров С.А. 1995. Использование объектно-ориентированного программирования для лингвистического моделирования // Труды Международного семинара по компьютерной лингвистике и ее приложениям. Казань. С. 332-339.

Bloomfield L.1964. Language. N.Y.,Toronto: Holt, Runehart and Winston. - Русский перевод: Блумфилд Л. Язык. М.: Прогресс, 1968.

ODMG 1993. The Object Database Standard: ODMG-93. Ed. by R. G.G. Cattell, Morgan Kaufmann Publ., 1994, p. 169.

Trapeznikov S., Dinenberg F., Kuchin S. InterBASE - Natural interface system for popular commercial DBMSs // Proc. Of EWAIC'93. Moscow, September 1993. P. 189-193.

 

 

 

[1] Интересно, что формальные языки тоже оцениваются как избыточные, но не за счет слов-понятий, а за счет повторения операторных слов, т.е. с прямо противоположными аргументами. В частности, в работе (А.В.Заболеева-Зотова, А.В.Пастухов "Применение естественно-языковых конструкций в программировании: преобразования текста программы в более удобный вид" // Диалог '2000, том 2, Протвино 2000), предлагается использовать в языках программирования сочинительные конструкции и местоимения для уменьшения избыточности выражений языка программирования, например, Palette.Add(Red); Palette.Add(Blue); Palette.Add(Green); => Palette add red, blue and green.