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

     Автоматическое выявление из документов значимой    информации с                помощью шаблонных слов и контекста

             

       Кузнецов Владимир Петрович, Мацкевич Андрей Георгиевич (ИПИ РАН, г. Москва)

 

                АННОТАЦИЯ

                

                 

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

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

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

 

                      

       1. Введение

   

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

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

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

    - лица, или участников события;

    - организации;

    - адреса;

    - специальные объекты;

    - данные об лицах, например, год рождения, национальность;

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

    - составить краткую аннотацию о событиях, происшедших в документе.

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

 

    Для представления значимой информации используются расширенные семантические сети [1], [2], [3], работающие на фрагментах. Это предикаты с неограниченным числом аргументных мест и с индивидуальными метками - кодами фрагментов, которые могут сами стоять на аргументных местах других предикатов. Такие сети образуют базу знаний - удобное средство для поиска и логической обработки.

                                                  

     2. Объекты и атрибуты

   

    Значимая информация - это объекты и их атрибуты. Объекты - действующие "лица" с указанием ФИО или без указания, организации и др., а атрибуты - это их адреса, место работы, телефоны и т.д.. Такая информация выражается грамматически правильно записанной последовательностью слов и символов. Будем называть такую последовательность значимыми компонентами документа. Их особенность состоит в неразделимости на части.

    В значимые компоненты входят информационные слова и вспомогательные. Информационные определяют объекты и атрибуты. Здесь важную роль играют слова-классификаторы, наличие которых указывает на присутствие соответствующей информации. Например, слово РЫЖИЙ при наличии в непосредственной близости лица и типе текста, где важными являются приметы, говорит о том, что речь идет о внешнем виде, а слово МОСКВА - о географическом положении.

    Вспомогательные слова - те, без которых значимые компоненты не теряют своего существования. К ним относятся предлоги, знаки пунктуации и так называемые шаблонные слова (ФАМИЛИЯ, РАБОТАЕТ, ПРОЖИВАТЬ, УЛ и т.д.), указывающие положение соответствующей информации в тексте.

    Значимые компоненты с точки зрения их выявления условно делятся на жесткие и мягкие. Жесткие состоят из фиксированного числа позиций или слов. К таким относятся: ФИО, дата, телефон. У мягких компонент количество позиций переменное: приметы, работа. Адрес может рассматриваться и как жесткая, и как мягкая компоненты - в зависимости от используемого способа его выделения.

    Грамматически значимые компоненты состоят из обязательных (именные слова, прописные, части речи, числа), и вспомогательных. Например, атрибут АДРЕС выражается с помощью прописных слов, цифр и вспомогательных (ул..,в и т.д.).

                                            

    3. Первичная обработка, выделение объектов и их идентификация                                         

   

    Рассмотрим принципы работы и последовательность действий системы по извлечению значимой информации.

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

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

    Следующий шаг - выделение жестких компонент (ФИО, даты, телефоны) и шаблонных слов. Выделение ФИО осуществляется:

  1) по вспомогательным словам ФАМИЛИЯ, ИМЯ, ОТЧЕСТВОИО;

  2) по указующим словам типа ГРАЖДАНИН;

  3) по строковым последовательностям имен, прописных слово и сокращенных имен;

  4) по наличию года рождения в конце строковой последовательности имен.

    Чтобы уменьшить число ошибочно выявленных лиц, вводится список запрещенных имен и ФИО. Лица помечаются собственными метками, т.е. каждому из них присваивается свой код.

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

    Телефон выделяется по трем числам с накладываемыми на них ограничениями ( для московских номеров первое число больше 1000, остальные - меньше 100). Аналогично - дата.

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

 

    4. Вторичная обработка, выделение атрибутов

 

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

    пол - МУЖСКОЙЕНСКИЙ,

    национальность - РУССКИЙЕЛОРУС,УКРАИНЕЦ,ТАТАРИН,...,

    работа - ТОКАРЬВАРЩИК,МАЛЯР,СЛЕСАРЬ,...,

и на это место ставятся названия соответствующих атрибутов.

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

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

    Атрибуты делятся на три категории:

    1) характерные только для документа (это заголовок, дата документа, исполнитель);

    2) характерные исключительно для лиц (год рождения, национальность, атрибуты внешности);

    3) Свойственные и тем, и другим (адреса, машины, оружие и др.).

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

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

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

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

 

    5. Составление кратких аннотаций

   

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

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

             

    6. Структура модуля обработки

 

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

    Модуль LOC.EXE управляется полностью одним или набором внешних шаблонных файлов (с расширением *.LOC). Шаблонные файлы настраиваются на своих пользователей и типы выделяемых компонент. Они могут меняться в зависимости от характера текста, так чтобы сделать выделение объектов и их атрибутов более точным для разных текстов. Например, если в документе все поля форматированы (форма баз данных: имя поля - его содержание), то обработка в значительной степени упрощается и убыстряется.

    Шаблонными файлами обработки текстового материала управляет файл-классификатор текстов SH_RUB.LOC, в котором содержится инструкция, когда какой шаблон подключать.

    Модуль LOC.EXE используется в нескольких направлениях. Во-первых, для автоматического заполнения по реальным текстам пустых клеток в базах данных. Во-вторых, имеется опыт его настройки на задачи автоматической обработки сводок в рамках системы "Криминал", разработанной для криминально-следственных отделов милиции. В-третьих, модуль нашел применение для составления развернутых рефератов по темам, относящимся к коммерческой деятельности, по схеме: объекты - юридические лица (предприятия), атрибуты - числовые показатели, реферат – что случилось.

                                           

     Литература.

    

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

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

     3. Kuznecov I.P., Sarnin M.M. Expertni system pro vystavbu systemu diagnostiky. Sbornik prednasek Expertni systemy. CSSR, Praha - Kladno, 17.-19.10.1989. - 1.dil, p. 115-129.