Главная Страница > Публикации

     Семантико-ориентированная система фактографического поиска с

         входом на русском и английском языках

      

   Кузнецов Игорь Петрович, Козеренко Елена Борисовна, Шарнин Михаил Михайлович

      (ИПИ РАН, г. Москва)

                        

                                              Аннотация

                             

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

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

     В рамках системы обеспечивается ответ на запросы фактографического характера, формулируемые в свободной форме на упомянутых языках.

               

         

                                                                 

     Введение

    

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

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

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

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

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

   

     1. Основные компоненты системы

    

     Система ИКС включает в себя базу знаний (БЗ), которая является единой: в ней в виде семантических сетей представлены как предметные, так и лингвистические знания. Костяком предметных знаний является родо-видовое дерево (SUB-дерево), в который участвуют коды слов-понятий. Поэтому оно в значительной степени независимо от языка.

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

   

     Предметные и лингвистические знания подкачиваются из БД в оперативную память по мере необходимости. При чтении текста такая подкачка сводится к последовательному отсечению букв каждого слова и поиску по оставшейся части лингвистической информации в БД. По ней находятся корни и коды слов, по которым идет обращение к соответствующим знаниям. Они подкачиваются в оперативную память, образуя активную часть БЗ.

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

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

     В системе имеется блок навигации по знаниям, который устроен по типу NORTON COMMANDER. На экране также появляются 2 окна. Только в них в качестве пунктов будут понятия и объекты. Путем выбора пунктов можно переходить от общих понятий к частным, и наконец, к конкретным объектам, входящим в объем понятия. Так же можно копировать, удалять пункты, изменяя структуру дерева и объем понятий. Эта часть независима от языка.

    

     Все программные блоки написаны на языке ДЕКЛ, ориентированном на обработку семантических сетей. Основой ДЕКЛ являются продукции, у которых левая и правая части - это сети с вершинами-переменными. Обработка сводится к применению продукций к структурам знаний (сетям), означиванию переменных. При этом сами продукции – это тоже семантические сети, где с помощью специальных фрагментов указано, что относится к левой части, а что - к правой. В результате одни продукции могут строить другие и вызывать их применение. Таким образом обеспечивается металогическая обработка [1].

                                         

     2. Представление знаний

    

     Для представления всех видов знаний используются семантические сети специального вида [2]. Их особенность заключается в следующем.

     Во-первых, вводится множество "внутренних" вершин (констант), которые порождает сама система по мере необходимости и которые сопоставляются неименованным объектам. Они обозначаются числом (N) со знаком плюс и минус: N+ (означает, что вводится константа) и N-(введенная константа используется в другом месте).

     Во-вторых, вся информация представляется в виде фрагментов. Это N-местные предикаты, в которые введена вершина, соответствующая всей представленной в предикате информации. Будем называть ее кодом фрагмента. Например, фрагмент ОТЕЦ(ИВАН1,ПЕТР1/S11) представляет, что объекты ИВАН1 и ПЕТР1 связаны отношением ОТЕЦ и что этой связанной паре ставится в соответствие код фрагмента - S11.

     С помощью кодов фрагментов представляются факультативная информация - время, место действия и др. Например, предложение ТРОШКИН НЕДАВНО ДАЛ ВЗЯТКУ СУДЬЕ представляется с помощью фрагментов:

    

     ФАМИЛИЯ(ТРОШКИН,17+) SUB(СУДЬЯ,19+) ДАВАТЬ(17-,19-,28+/29+)

     TIME(НЕДАВНО,29-)

 

Здесь людям сопоставляются свои вершины (17+ и 19+), потому что неизвестно, о каком ТРОШКИНЕ и СУДЬЕ идет речь. Время подсоединено к коду фрагмента (29+), так как характеризует всю ситуацию.

     

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

 

     ENG(HOME,ENG,IT,HOME) ENG(HOUSE,ENG,IT,HOME)

     RUS(ДОМ,%А%УОМЕАН,HOME)

 

Здесь HOME - код слов ДОМ (русск.), HOME и HOUSE (англ.). Константа%УОМЕА указывает на флективный класс русского слова ДОМ. Такая информация хранится в русской части БД в двух записях - с доступом по словам ДОМ и HOME, а в английской - с доступом по словам HOUSE и HOME.

     Отметим, что обычно в качестве кода берется корень первого слова. В случае омонимии и полисемии словам даются разные коды – к корню добавляется специальные знаки.

 

     3. Значения слов и словосочетаний

    

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

     - понятие, имя, название;

     - отношение;

     - действие;

     - свойство, признак;

     - время, место, хар-ка действия;

     - что-либо другое.

     Такое соотнесение осуществляется через систему меню-анкет. Далее нужно ответить на запрос "Что значит слово +>", где уточняется его место в SUB-дереве и дается контекст, см. ниже. После этого запрашиваются и вводятся окончания.

     Другой способ указания значения- вводом формальной записи.

Например:

     ДОМ/М - СТРОЕНИЕ, <указываются окончания>.

Здесь косая линия отделяет корень слова от рода М - мужской.

    Для английского языка: HOME/ - BILDING.

                                  

     После ввода окончаний со словом будут связаны следующие

лингвистические знания (в формальной записи):

         ДОМ/М - СТРОЕНИЕ, -,-А,-,-У,-ОМ,-Е.

 

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

    

     Если вводится новое понятие, то нужно указать более общее понятие (класс, вершину) SUB-дерева, к которому оно относится, например, РЕБЕН/СР - ЧЕЛОВЕК. Универсальное понятие - КОНЦЕПТ.

    

     Отметим, что при задании классов (и контекста слов, см. ниже) английского языка можно пользоваться словами русского языка со специальными пометками $. Например, $ЧЕЛОВЕК - означает, что в качестве класса берется код русского слова ЧЕЛОВЕК. Это нужно, если не было введено соответствующее английское слово.

    

     Если вводится новое имя или название, то в его значении также указывается класс, к примеру, ИМЯ ЧЕЛОВЕКА, ФАМИЛИЯ МУЖЧИНЫ, НАЗВАНИЕ ОРГАНИЗАЦИИ. В дальнейшем система будет расшифровывать введенное слово как нечто, относящееся (в первом случае) к классу ЧЕЛОВЕК и имеющее данное имя. Например, БОРИС/М - ИМЯ МУЖЧИНЫ.

     Другая возможность: НОГ/Ж - ЧАСТЬ ТЕЛА. Тогда система будет считать, что НОГА относится к вершине SUB-дерева, связанной отношением ЧАСТЬ с понятием ТЕЛО.

                  

     При вводе слов-действий классы и падежи слов, входящих в контекст, указываются в явном виде. Например,

     РЕША/ - ДЕЙСТВИЕ, КТО-ЧЕЛОВЕКИСТЕМА ЧТО-ЗАДАЧУ.

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

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

     В системе допускается ввод полисемичных форм глаголов. Например, можно ввести запись:

     ВЗЯЛ/ - ДЕЙСТВИЕ, КТО-ЧЕЛОВЕК КОГОТО-ВЕЩЬ;

     ВЗЯЛ/ - ДЕЙСТВИЕ, КОГО-ЧЕЛОВЕКА ЗА ЧТО-ПРЕСТУПЛЕНИЕ.

Тогда система будет по-разному понимать предложения типа ИВАН ВЗЯЛ ТОПОР и ИВАНА ВЗЯЛИ ЗА КРАЖУ. И соответственно, система будет на уровне СС строить фрагменты, представляющие различные действия.

       

     При вводе слов-отношений системе необходимо задать контекст: падежи и классы стоящих рядом слов. Возможно простое указание: ОТЕЦ/М - ОТНОШЕНИЕ МЕЖДУ МУЖЧИНОЙ И ЧЕЛОВЕКОМ. Тогда берется стандартный контекст:

     КТО - МУЖЧИНА ОТЕЦ КОГО - ЧЕЛОВЕКА.

Другой вариант, когда падежи указываются в явном виде (как для слов-действий).

    

     При вводе слов, выражающих признаки или свойства, указывается класс предметов, которые могут обладать данным свойством. Например, для слова УМНЫЙ можно указать: УМН/ - СВОЙСТВО ЧЕЛОВЕКА.

    

     Отметим несколько важных моментов. Во-первых, указание на классы в процессе синтактико-семантического анализа позволяет устранять многие неоднозначности. И в тоже время, системе приходится постоянно расширять такие классы, чтоб учесть многие случаи типа УМНОЕ РЕШЕНИЕ или МАШИНА БЕЖИТ.

     Во-вторых, для всех слов допускается указание значений по аналогии. Например, для слова ОТЕЦ можно указать +> КАК ДЕД. Тогда новое слово берет класс (и контекст) уже известного.

     В-третьих, для всех слов при указании их значений допускается ссылка на синоним. В качестве значения нового слова ввести +> СИНОНИМ <известное слово>, то первому слову будет присвоен код второго.

     Возможность ввода синонимов позволяет словам двух языков присваивать одинаковые коды. Например, для слова TABLE в качестве значения можно указать +> SYNONYM $СТОЛ. Тогда у слов СТОЛ и TABLE будут одинаковые коды. В результате можно добиться того, что система будет одинаково понимать предложения двух языком с таким образом введенными словами, т.е. будет строить одинаковые фрагменты на уровне семантических структур (СС).

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

 

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

     Для ввода словосочетаний служит оператор типа ЗНАЧИТ, например:

     ДОМ ИЗ ДЕРЕВА ЗНАЧИТ ДОМ, КОТОРЫЙ СДЕЛАН ИЗ ДЕРЕВА;

     ДОМ КНИГИ ЗНАЧИТ ДОМ, В КОТОРОМ ПРОДАЮТ КНИГУ,

     Система при анализе таких словосочетаний будет восстанавливать недостающие отношения (СДЕЛАТЬ, ПРОДАВАТЬ), которых в явном виде не было в тексте. При этом система будет понимать словосочетания:

     КНИЖНЫЙ ДОМ ИЗ ДЕРЕВА

     ДЕРЕВЯННЫЙ ДОМ КНИГИ

     КНИЖНЫЙ ДЕРЕВЯННЫЙ ДОМ,

которые на уровне СС будут расшифровываться и представляться как "дом, который сделан из дерева и в котором продают книги".

    

     Ввод словосочетаний английского языка осуществляется аналогичным образом. Но при анализе учитывается особенность английских словосочетаний: определяющие слова стоят или впереди, или сразу за главным словом через OF.

                       

     4. Возможности системы

                             

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

     - простые распространенные предложения, в том числе, с однородными членами, которые разделяются союзами И, ИЛИ, а также запятыми:

     - сложноподчиненные предложения с придаточными условными, изъявительными, определительными:

     - предложения с отглагольными существительными, а также формы с глаголами в инфинитиве:

     - предложения с анафорическими ссылками, задаваемыми в явном виде.

    

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

    

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

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

 

     Существенные трудности в практическом использовании системы связаны с тем, что она должна знать значения слов, т.е. их нужно вводить. В настоящее время система имеет режим работы, при котором новым словам такие значения присваиваются автоматически. Блоком морфологического анализа выявляется часть речи, по которой даются наиболее общие значения. Например, если слово - существительное, то считается, что это КОНЦЕПТ, если слово - прилагательное, то считается, что это свойство, если переходной глагол, то ему дается контекст КТО-КОНЦЕПТ КОГО-КОНЦЕПТА и т.д. Это позволяет системе лучше связывать слова, так как неизвестные слова разрывают фразы, затрудняя синтактико-семантический анализ.

    

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

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

                     

     5. Пример анализа для русского языка.

 

     Входной текст:

     "Зыков Л.П. поддерживает дружеские отношения с прокурором

       гивны Пересадченко С.Н. и неоднократно помогал избежать

       уголовной ответственности."

      

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

      

       ФАМИЛИЯ(ЗЫКОВ,5+) SUB(MAN,5-) NAME(Л_,5-) ОТЧ(П_,5-)

       SUB(ПРОКУРОР,6+) ФАМИЛИЯ(ПЕРЕСАДЧЕНКО,6-) SUB(WOMAN,6-)

       NAME(С_,6-) ОТЧ(Н_,6-) УГОЛОВНЫЙ(8+) SUB(TOWN,7+)

       NAME(ЛИВНЫ,7-) ПРОЖИВА(6-,7-/9+) SUB(ОТВЕТСТВЕННОСТ,8-)

       ИЗБЕ(5-,8-/10+) SUB(SYTU,10-) ДРУГ(5-,6-/13+)

       NUMB(MANY,13-) ПОМОГ(5-,10-/14+) SUB(UNIV,15+)

       SUB(SYTU,14-) NOT(14-) ОДНОКРАТН(14-)

                                     

     В качестве кодов слов используются их корни слов (ПОМОГ, ИЗБЕ - избежать, ОДНОКРАТН - однократно и т.д.) или константы из SUB-дерева: NAME - имя, NUMB - число, TIME - время, NOT - не, SYTU - ситуация и др.. Цифры со знаками + и - являются внутренними

кодами, которые присваиваются выявленным объектам.

     Система из анализируемых предложений выделяет (по  возможности)  все  объекты,  относя их к соответствующим классам. Фрагменты SUB(TOWN,7+) NAME(ЛИВНЫ,7-) означают, что объект  7+  относится  к классу  городов  с именем ЛИВНЫ. Фрагмент ПРОЖИВА(6-,7-) означает, что человек ПЕРЕСАДЧЕНКО С.Н. (ему присвоен код 6-),  проживает  в этом городе и т.д.

                                     

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

      

 Зыков Л_ П_ ЯВЛЯЕТСЯ ДРУЖНЫМ с Пересадченко С_ Н_

 Зыков Л_ П_ НЕ НЕОДНОКРАТНЫМ ПОМОГ Пересадченко С_ Н_ ИЗБЕГАТЬ

   УГОЛОВНЫЙ ОТВЕТСТВЕННОСТЬ.

 Пересадченко С_ Н_ ЯВЛЯЕТСЯ ПРОКУРОРОМ г. Ливны.

 

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

 

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

     На конференции предполагается демонстрация работы системы ИКС в различных режимах: русском, английском и двуязычном варианте.

                                                           

     Заключение

     

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

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

                                  

     Литература:

    

     1. Кузнецов И.П. Пузанов В.В., Шарнин М.М. Система обработки декларативных структур знаний ДЕКЛАР-2. Москва, ИПИАН, 1988 г.

     2. Кузнецов И.П. Механизмы обработки семантической информации. М. Наука, 1978. 175 с.

     3. Кузнецов И.П. Шарнин М.М. Интеллектуальный редактор знаний на основе расширенных семантических сетей. В сб. Системы и средства информатики. М. "Наука", 1993.