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

    

        Особенности обработки текстов естественного языка на основе

                  технологии баз знаний

 

                              Кузнецов Игорь Петрович (ИПИ РАН)

                                 

                                             Аннотация

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

    

     Введение

    

     За последнее время одной из важнейших проблем является автоматическая обработка текстов, получаемых пользователями, в том числе через ИНТЕРНЕТ. Лавинообразный рост объемов документов

требует дифференцированного извлечения только такой информации, которая может заинтересовать пользователя. Речь идет о содержательной обработке. Трудности такой обработки определяются

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

     Для содержательной обработки в рамках соответствующих проектов ИПИ РАН разработана система АНАЛИТИК, основанная на технологии баз знаний (БЗ) и соответствующих методиках обработки

текстов для решения прикладных задач. Особенность методик – в переносе сложных этапов лингвистического анализа на уровень обработки знаний, а также в наличии ограничений на выделяемые объекты и глубину семантического анализа [1]. Система базируется на концептуально-лингвистической модели и методиках, развиваемых на протяжении последних десяти лет в ИПИРАН. Уровень полученных результатов сопоставим с передовыми научными исследованиями за рубежом [2].

     Система АНАЛИТИК ориентирована на обработку больших потоков текстов с выдачей пользователю (аналитику) необходимой информации в наиболее удобном для него виде. Эта система решает следующие задачи:

     - автоматический ввод документов с их делением на части и лексическим анализом;

     - автоматическую формализацию текстовой информации с созданием собственной базы знаний (БЗ), имеется в виду направленное извлечение знаний из текстов ЕЯ (русского, английского) с ее использованием на уровне БЗ;

     - поиск похожих документов и упоминавшихся в них (информационных) объектов на основе критерия их семантической близости;

     - ответ на запросы на естественном языке;

     - поиск объектов по связям с другими объектами;

     - использование статистических методов для поиска зависимостей и их выдачей в виде временных и других диаграмм;

     - автоматическое заполнение тематических полей баз данных.

  

     Логико-аналитическая система АНАЛИТИК - это программный комплекс, автоматизирующий процесс ввода, формализации и анализа текстовых документов, их использование в задачах поиска и последующего анализа. Формализация сводится к выделению значимой информации: интересующих пользователя объектов (например, ФИО лиц, названия организаций, городов и др.), а также их признаков, связей, атрибутов (это могут быть свойства, словесные портреты и др.). Они образуют структуры знаний [3].

     Система  содержит  собственные  базы данных и знаний, а также терминологический словарь.

     База данных (БД) системы АНАЛИТИК служит для хранения поступающих документов и структур знаний. Документы могут быть:

     - в виде текстов естественного (русского) языка;

     - в виде информационных карточек.

     База знаний (БЗ) системы АНАЛИТИК обеспечивает:

     - хранение значимой информации и связей;

     - эффективный поиск и анализ информации по связям.

    

    

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

 

     Знания (предметные и лингвистические) в БЗ системы АНАЛИТИК представляются в виде структур, которые записываются в нотации семантических сетей, дополненных средствами представления событийных компонент и комплексных связей. В результате образуются расширенные семантические сети (РСС). РСС состоит из элементарных фрагментов, имеющих произвольное количество аргументных мест (но не более 200) и представляющих свойства, отношения, события, действия. Множество фрагментов - это РСС [3,4].

     В простейшем случае фрагмент имеет вид N-местного предиката. Например,          ОВД_(МООРОШЕВО,МНЕВНИКИ) - это фрагмент, представляющий отделение милиции. В тоже время фрагмент – это более сложная конструкция, которая далеко выходит за рамки типовых предикатов логики 1-го и 2-го порядков.

     Во-первых, в фрагментах широко используются внутрисистемные коды - это числа, к которым добавляется знак плюс (+), когда вводится новый код, или знак минус (-), когда используется уже введенный код. Например, "1+" и "1-" - есть обозначение одного и того же объекта (или отношения), а "2+" и "2-" - уже другого, и т.д. Такие числа служат для обозначения неименованных объектов, например, порождаемых самой системой. Например, в фрагментах

        

         SUB(ЧЕЛОВЕК,1+) ИМЯ(ИВАН,1-)

 

код 1+ и 1- представляют одного и того же человека по имени ИВАН.

     Во-вторых, вводится специальный код фрагмента, соответствующий всей представленной в фрагменте информации. Например, в фрагменте АДР_(УЛ.ЛАГОЛЕВА,25,1,273/6+) код 6+ представляет весь адрес. Эти коды могут стоять на аргументных местах других фрагментов. Например, фрагменты

        

         FIO(ФИРСОВЛАДИМИР,НИКОЛАЕВИЧ,1953/5+)

         АДР_(УЛ.ЛАГОЛЕВА,25,1,273/6+) ПРОЖ.(5-,6-)

 

представляют, что фигурант Фирсов Владимир Николаевич (ему сопоставлен код 5+, 5-) проживает (ПРОЖ.) по указанному адресу, которому сопоставлен код 6+, 6-.

     Коды фрагментов необходимы для представления комплексной информации и различных видов связей. Их наличие делает возможным представление типовых парадоксов ЛЖЕЦА, КРОКОДИЛА и др., что выходит за рамки возможностей типовых логик, но присуще человеческим рассуждениям [3].

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

    

    

     2. Содержательные портреты документов

    

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

 

    1.05.98г. в 7.10 Фирсова Владимира Николаевича 1953г.р прож.уллаголева 25-1-273, работает АОЗТ "ХДУ", зам. директора, о том, что 1-05-98г. неизвестные от д.22 кор.3 по ул.Тухачевского, похитили а/м ГАЗ 31029, черная, 1995 г/в, дв.402-0019476, кузов 0285927...

   

    Его содержательный портрет имеет вид:

                                                                                                                                                                                                                                                               

    ДОК_(221,'TEXT_98.TXT','S_CRI.NL')

    ДАТА_(#1.5.1998,1998,МАЙ,~1,7.1/4+)  4-(221,ДАТА_)

    FIO(ФИРСОВЛАДИМИР,НИКОЛАЕВИЧ,1953/5+)  5-(221,FIO)

    АДР_(УЛ.ЛАГОЛЕВА,25,1,273/6+)  6-(221,АДР_)

    ПРОЖ.(5-,6-/7+)

    ОРГ_(АОЗТ,ХДУ/8+)  8-(221,ОРГ_)

    РАБ_(5-,8-,ЗАМ.ИРЕКТОР/9+)

    FIO(" "," "," ",НЕСКОЛЬКО/10+)  10-(221,FIO)

    НЕИЗВЕСТНЫЙ(10-)

    АВТО_(АВТОМАШИНААЗ,31029,ЧЕРНЫЙ,1995,Г\В,ДВ.,402,19476,

    КУЗОВ,285927,УЧЕТ/11+)  11-(221,АВТО_)

    УГНАТЬ(10-,11-/12+)

    ДАТА_(#1.5.1998,1998,МАЙ,~1/14+)  4-(221,ДАТА_)

    КОГДА(12-,14-)

    АДР_(УЛ.УХАЧЕВСКИЙ,ДОМ,22,КОРП.,3/15+)  15-(221,АДР_)

    ГДЕ(12-,15-)

    ПРЕДЛ_(221,4-,5-,6-,8-,9-,ООМ,12-,14-,15-)

    

     Первый фрагмент ДОК_(221,'TEXT_98.TXT','S_CRI.NL') указывает, что содержательный портрет построен на основе документа 221 из файла 'TEXT_98.TXT'. При этом были использованы лингвистические знания 'S_CRI.NL'. Второй фрагмент представляет дату. Добавка 4-(221,ДАТА_) указывает на принадлежность даты к документу 221. Такие фрагменты необходимы для быстрого поиска нужных фрагментов, когда в оперативной памяти (БЗ) находится множество содержательных портретов. Последний фрагмент ПРЕДЛ_(221,...) содержит коды других фрагментов и представляет порядок расположения соответствующей информации в тексте документа.

     Такие сети представляют достаточно высокий уровень формализации текстов и удобны для обработки - с помощью инструментальных средств ДЕКЛ [5].

    

    

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

 

     Лингвистический процессор системы АНАЛИТИК обеспечивает автоматическое построение содержательных портретов. Он включает в себя лексикографический, морфологический, терминологический и синтактико-семантический анализ.

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

   

     Блок лексикографического анализа обеспечивает:

     - автоматическое деление текста на самостоятельные части (например, выделение документов из сводок);

     - определения начала и конца предложения, а также начала и конца абзаца.

     Морфологический анализ имеет целью - приведение слов в каноническую форму. Каждому слову присваиваются признаки, которые делятся на три группы:

     - лексические (слово с большой буквы, большими буквами, с точкой на конце или это отдельная буква и др.);

     - морфологические (грамматическая категория слова, род, число, падеж для существительных и т.д.);

     - семантические (фамилия, имя, отчество и др.).

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

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

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

    

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

    

     TERMIN(<результлово>,<слово1>,<слово2>) или

     TERMIN(<результлово>,<слово1>,<слово2>,<слово3>),

 

где <слово1>,... это может быть - отдельное слово, признак, а также И-ИЛИ графы. Фрагменты типа "ИЛИ" представляется STR_OR(...), где перечисляются факультативные слова или их признаки. Фрагменты типа "И" представляется STR_AND(...), где предполагается обязательность слов с указанными признаками.

     Например,

    

  TERMIN(БЕЗРАБОТНЫЙЕ,РАБОТАЮЩИЙ)

 

указывает на преобразование: НЕ РАБОТАЮЩИЙ -> БЕЗРАБОТНЫЙ.

    Другой пример:

   

  TERMIN(МООСКОВСКИЙ,3+) STR_OR(ОБЛ.,ОБЛ,ОБЛАСТЬ/3-)

 

задает множество преобразований: МОСКОВСКИЙ ОБЛ. -> МО, МОСКОВСКИЙ

ОБЛ -> МО, МОСКОВСКИЙ ОБЛАСТЬ -> МО.

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

    

     Для синонимов используются многоместные фрагменты:

  

   SYNON(<результлово>,<исх.слово> ... <исх.слово>).

 

Например, SYNONIM(УКРАИНЕЦОХОЛ) - слово ХОХОЛ должно быть заменено на УКРАИНЕЦ.

     Многие синонимы носят условный характер. Для них указывается допустимый или недопустимый контекст. Например, в приведенном выше случае недопустимы замены для слов - фамилий, кличек, названий улиц и др.

   

    Блок синтактико-семантического анализа выполняет следующие функции:

    - по признакам и контексту выделяет значимые объекты (ФИО людей, организации и др.);

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

     Для этого используются "контекстные" правила.

    

     

     4. Контекстные правила

                                                  

     Синтактико-семантический анализ необходим для выделения адресов, номеров машин, организаций и др. Как правило, это наборы слов, которые грамматически никак не согласованы. Их выделение может осуществляться по чисто формальным принципам. Например, адрес может рассматриваться как набор буквосочетаний Г., УЛ., Д.,.., слов с большой буквы и чисел. Каждый такой набор может иметь свои границы и недопустимые компоненты. Например, в адресах не может быть ФИО, глаголов и т.д. Выделение таких наборов слов (описаний объектов) основано на использовании контекстных правил следующего вида:

   

   CONTEXT(<слово1>,<слово2>,...,<словоN>) -> <результ. фрагмент>

 

где <слово1>,... это может быть - отдельное слово, признак, а также И-ИЛИ графы. Для этих правил указывается, с какой позиции начинать применение, а также допустимый или недопустимый контекст. Далее, может быть указано, слово с какими признаками не должно стоять на той или другой позиции. Это обеспечивает дифференцированное применение правил.

    Такие правила выделяют из текста группы слов (по их признакам), описывающих какой-либо объект, и заменяют их на одно слово, с которым связывается соответствующий фрагмент

семантической сети, например, представляющий адрес.

                    

     Cинтактико-семантический анализ предложений с выделением словосочетаний и анализом форм осуществляется на основе контекстных правил, которые применяются в определенной последовательности. Вначале выделяются объекты, затем их признаки, словосочетания, и наконец, глагольные формы. По мере применения таких правил строится семантическая сеть - содержательный портрет документа. Например, рассмотрим правило GG~1:

 

   MUSTBE(GG~1,1) STR_OR(ADJ,PRON/2+) CONTEXT(2-,NOUN/GG~1)

   P_P(GG~1,3+) WORD_C(1,2/3-) 3-(2,MORF) NOTBE(GG~1,2,LETT)

    

Это правило осуществляет преобразования:

    

     ПРИЛАГАТЕЛЬНОЕ СУЩЕСТВИТЕЛЬНОЕ -> <комбинация слов> и

     МЕСТОИМЕНИЕ СУЩЕСТВИТЕЛЬНОЕ  -> <комбинация слов>.

    

     Фрагмент MUSTBE указывает, что применять правило GG~1 нужно с 1-ой позиции, т.е. искать слова с признаками ПРИЛАГАТЕЛЬНОЕ (ADJ) и МЕСТОИМЕНИЕ (PRON), так как их меньше, чем СУЩЕСТВИТЕЛЬНЫХ (NOUN). Фрагмент P_P отделяет левую часть от правой ( -> ), а WORD_C - указывает, что слова на 1-й и 2-ой позициях должны быть склеены в комбинацию слов, которое в дальнейшем будет рассматриваться как одно слово с морфологическими признаками 2-го слова. Фрагмент NOTBE указывает, что на 2-ой позиции не могут быть отдельные буквы (признак LETT).

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

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

    

    

     5. Применение правил

 

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

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

   

  {== Уровни ==}

   LEVEL(LEVEL1,LEVEL2,LEVEL3,LEVEL4,...)

   LEVEL1(CATALOG)    {= Объединение словосочет. из каталогов =}

   LEVEL2(MIL~1,ST~1) {= Выявление отдилиции, ст. УК =}

   LEVEL3(FF~1,FF~2)  {= Выявление фигурантов =}

   ...................................

  {== Грамматический разбор, выделение словосочетаний =}

  {== AA~.. - однородные члены, GG~.. - словосочетания ==}

   LEVEL4(AA~1,AA~3,AA~4,GG~1,GG~2,...)

  {== GG~1: Словосочетание ПРИЛАГАТЕЛЬНОЕ - СУЩЕСТВИТЕЛЬНОЕ ==}

   MUSTBE(GG~1,1)

   STR_OR(ADJ,PRON/2+) CONTEXT(2-,OBJ/GG~1) P_P(GG~1,3-)

   WORD_C(1,2/3+) 3-(2,MORF) NOTBE(GG~1,2,LETT)

  {== GG~2: Словосочетание  СУЩЕСТВИТ.- СУЩЕСТВИТ.+ КОГО =}

   MUSTBE(GG~2,2)

   STR_AND(КОГО,OBJ/4+) CONTEXT(OBJ,4-/GG~2) P_P(GG~2,5+)

   WORD_C(1,2/5-) 5-(1,ALL)

   ........................

    

     В фигурных скобках даны комментарии. В конце приведен пример правила, выявляющего словосочетания типа СУЩЕСТВИТЕЛЬНОЕ - СУЩЕСТВИТЕЛЬНОЕ в родит. падеже (КОГО). В системе имеются контекстные правила, которые обеспечивают полный разбор предложений. Но в отличие от типовых грамматик параллельно обеспечивается выделение значимых (информационных) объектов, в том числе таких, в которых слова никак не согласованы между собой, например, адресов, машин с указанием их номеров и т.д.

 

     На базе системы АНАЛИТИК разработана система КРИМИНАЛ, которая нашла применение в аналитических отделах ГУВД г. Москвы и МВД. В тоже время, система АНАЛИТИК может быть настроена на различные приложения в других областях - где требуется дифференцированная обработка больших потоков текстовых документов. Еще одно приложение - анализ документов, их автоматическая формализация с заполнением полей какой-либо базы данных. В настоящее время на базе лингвистической оболочки разработан англоязычный лингвистический процессор с приложениями в области выделения из текстов английского языка информации в соответствии с шаблонами, заданными пользователем. Например, это может быть:

ШТАТ, ГОРОД - ПРЕДМЕТ ПРОДАЖИ - ВЛАДЕЛЕЦ - ЦЕНА - ДАТА ТОРГОВ и т.д.

                    

    

     Литература

                 

     1. Кузнецов И.П. Методы обработки сводок с выделением особенностей фигурантов и происшествий. Труды международного семинара Диалог-1999 по компьютерной лингвистике и ее приложениям. Том 2. Тарусса 1999.

     2. FASTUS:a Cascaded Finite-State Trasducerfor Extracting Information from Natural-Language Text. AIC, SRI International. Menlo Park. California, 1996.

     3. Кузнецов И.П. Семантические представления. М. Наука. 1986г. 290 с.

     4. Kuznetsov Igor, Matskevich Andrey. System for Extracting Semantic Information from Natural Language Text. Труды международного семинара Диалог-2002 по компьютерной лингвистике и ее приложениям. Том 2. Протвино, Наука, 2002.

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