Информатизация и информационная безопасность правоохранительных органов: XI Международная научная конференция. Сборник трудов – Москва, 2002.
В основу разрабатываемых подходов легли оригинальные модели обработки информации человеческим мозгом, которые реализованы с применением нейросетевых и лингвистических алгоритмов. Часть результатов исследований уже получила внедрение в системе поддержки русскоязычного поиска и анализа документов Russian Context Optimizer для СУБД Oracle, а также в ряде других проектов.
Как показал наш опыт, в настоящий момент наибольший интерес для заказчика представляет технология анализа и визуализации содержания текста на основе семантических сетей, которая предназначена, прежде всего, для решения экспертных задач, связанных с поиском скрытой информации в больших массивах документов. Иллюстрации основных возможностей данной технологии посвящен настоящий доклад.
В основе процедур, используемых нами для анализа документов, лежит представление смысла текста в форме ассоциативной семантической сети.
Семантическая сеть – это множество понятий (слов и словосочетаний), связанных между собой. В семантическую сеть включаются наиболее часто встречающиеся слова текста, которые несут основную смысловую нагрузку. Для каждого понятия формируется набор ассоциативных (смысловых) связей, т.е. список других понятий, в сочетании с которыми оно встречалось в предложениях текста. При этом считается, что чем чаще встречаются вместе два понятия в предложениях текста, тем выше вероятность того, что они связаны по смыслу.
Оригинальные лингвистические алгоритмы используют морфологический и синтаксический анализ, а также тезаурус русского языка для отождествления близких по смыслу слов и словосочетаний. Например, такие выражения, как “утеря нескольких библиотечных книжек” и “потеря двух библиотечных книжонок”, приводятся к одному понятию “потеря библиотечной книги”. Кроме того, из числа понятий исключаются общеупотребимые слова, которые не несут самостоятельной смысловой нагрузки или имеют широкое значение. Так, слова “концепция” и “развитие” сами по себе не являются понятиями, характеризующими содержание документа, но могут образовать понятие, выраженное сочетанием: “концепция развития сельского хозяйства”.
Каждое понятие предлагается рассматривать в качестве имени соответствующей темы документа. Статистические данные о связях понятий в тексте и синтаксических ролях понятий во фразах позволяют оценить их вклад в общее содержание документа и, таким образом, ранжировать темы по информативности. В итоге каждой теме семантической сети присваивается так называемый тематический вес.
Максимальное значение тематического веса (равное 100) соответствует ключевой (важнейшей) теме документа. Близкое к нулю значение веса темы показывает, что она лишь вскользь упомянута в тексте, и в нем мало сведений, относящихся к данной теме.
Связи между парами тем, в свою очередь, также имеют характеристики – веса связей (от 0 до 100). Большое значение веса связи от одной темы к другой, близкое к 100, указывает на то, что подавляющая часть информации в тексте, касающаяся первой, касается в тоже время и второй темы – первая тема почти всегда излагается в контексте второй. Малое значение веса отражает тот факт, что первая тема слабо связана со второй (излагается независимо от нее). Связь между парой тем сети всегда двусторонняя, однако, связь от первой темы ко второй не всегда имеет тот же самый вес, что и обратная – от второй к первой. Такое различие в весах может указывать на то, что одна тема является подтемой другой.
Семантическая сеть представляет собой тематический индекс анализируемых текстов, который используется для поиска документов по темам и их связям, а также для расширения запроса ассоциативно связанными темами. По каждой из тем сети формируется набор предложений текста – цитат, относящихся к соответствующей теме, которые представляют тематическое резюме (реферат) текста. Кроме того, выполняется ранжирование этих предложений по весам (от 0 до 100), которые отражают их информативность для соответствующей темы и позволяют выбрать в резюме лишь наиболее информативные предложения. Общее резюме текста формируется из наиболее информативных фрагментов по ключевым темам документа.
Знание ассоциативных связей позволяет выявить скрытые зависимости между объектами-темами, интересующими аналитика – событиями, персоналиями, организациями и т.п.
При анализе текста можно воспользоваться семантической сетью, построенной на базе других текстов (эталонных), либо заданной вручную экспертом. Например, если имеется семантическая сеть, представляющая известную модель предметной области, то ее можно использовать для фильтрации информации в новостном потоке, вылавливая в тексте упоминания об известных объектах и находя подкрепления известных взаимосвязей, а также искать новые связи между заданными объектами.
Работа с семантической сетью может помочь аналитику в решении следующих задач:
-
Исследование тематического состава целевой коллекции документов – например, новостного потока за выбранный интервал времени. Выявление ключевых тем и их связных скоплений (семантических полей), находящихся в фокусе внимания и влияющих на развитие ситуации. Мониторинг динамики информационного потока во времени в терминах мощности ключевых тем и их связей.
-
Поиск новой, неожиданной информации, связанной с исследуемым объектом-темой. Интерес для эксперта могут представлять скрытые в документах связи с другими объектами (персонами, организациями, событиями), выявленные в семантической сети, а также ассоциативные цепочки, связывающие заданные объекты.
-
Выявление в документах подкреплений известных и неизвестных связей между объектами-темами. Поиск конкретных документов, раскрывающих интересующие связи, позволяет эксперту получить детальное представление о характере отношений между объектами.
Интерфейсные средства визуализации семантических сетей позволяют:
-
Строить графическое отображение различных фрагментов сети на плоскости, вычисляя оптимальное для зрительного восприятия расположение тем и связей. Параметры отображения настраиваемы – количество отображаемых тем, масштаб, цвета.
-
Находить и отображать интересующие фрагменты сети, как то: темы, связанные с запросом на естественном языке; темы, связанные с выбранной в сети темой; цепочки тем, связывающие пару заданных тем кратчайшими ассоциативными путями; темы и связи из заданных весовых интервалов (более/менее значимые темы и связи).
-
Динамически менять модель предметной области, выделяя на сформированной сети интересующие понятия и связи.
-
Искать документы по темам и связям, выдавать их общие и тематические рефераты.
Разработанные программные приложения ориентированы на технологию “клиент-сервер” и обеспечивают построение семантических сетей на сервере с возможностью многопользовательской работы экспертов через интернет-броузер на клиентских рабочих местах.
Проиллюстрируем работу с семантической сетью на базе небольшой выборки из тысячи русскоязычных документов информационной системы “ИС Парк” по материалам периодической печати (http://is.park.ru).
Исследование начнем с анализа содержания выборки документов в целом.
На рисунке 1 приведено изображение основных тем и связей, выявленных в тексте выборки. На изображении сети радиус шара-темы пропорционален количеству документов по теме, яркость связи отражает силу ассоциации, а яркость шара-темы – релевантность запросу (см. следующие примеры).
Как видно, в коллекции документов особо выделяются три тематических скопления: “президент-правительство-закон-суд-госдума-министерство”, “милиция-преступление”, “убийство-угон автотранспорта”. Именно этой тематике посвящено содержание большинства документов.
Рисунок 1. Главные темы семантической сети
Исследуем заинтересовавшую семантическую область, связанную, например, с убийствами. Соответствующий фрагмент сети, окружающий тему “убийство”, приведен на рисунке 2.
Рисунок 2. Ближайшее семантическое окружение темы “убийство”
Исследуем интересную связь, связанную с военными убийствами, для чего получим документы по связи “убийство-война”. Найденные системой документы носят названия “Прапорщик, укравший тонну риса, убил сторожа”, “Сегодня задержан солдат, расстрелявший двоих человек”.
По связи “убийство-генеральный деректор” выдается единственный документ “В Москве возобновился отстрел коммерсантов”.
Более очевидные связи с темами “разбой”, “грабеж”, “банда”, “угон” приводят к множеству документов, представляющих суточные криминальные сводки типа “Вчера в Подмосковье все убийства удалось раскрыть”, “Сто пятьдесят четыре уголовных дела возбуждено вчера в Подмосковье” и т.п.
Далее для примера выберем некоторую персону, например “Жириновский”. Результат поиска по соответствующему запросу изображен на рисунке 3. Как видно, в исследуемых документах заданная персона ассоциируется с рядом объектов и субъектов политической сферы.
Рисунок 3. Ассоциативные связи темы “Жириновский”
По связи “Жириновский-Ирак” находится пара документов “Владимир Жириновский считает желательной военную помощь России Ираку” и “Госдума готовит обращение к президенту о назначении Владимира Жириновского министром иностранных дел”. Суть связи Жириновского с Ираком во втором документе с очевидностью раскрывает его реферат, построенный системой: “Как заявил Константин Боровой, Жириновский более последовательно, чем нынешний министр Евгений Примаков проводит внешнеполитическую концепцию российского руководства, в частности, в связи с событиями вокруг Ирака.”
Информацию об участии Жириновского в пресс-коференциях можно получить, запросив документы по соответствующей связи. Для найденного документа “Владимир Жириновский будет голосовать за импичмент президента” строится рефрат “На сегодняшней пресс-конференции в Госдуме лидер ЛДПР Владимир Жириновский заявил, что выступает за смену правительственного курса, а также самого правительства и президента. На своей пресс-конференции Жириновский заявил также, что в случае прихода ЛДПР к власти, ‘все демократы будут привлечены к уголовной ответственности'”.
Приведем пример поиска скрытых взаимосвязей, например, между темами “наркотики” и “Украина”.
Рисунок 4. Поиск ассоциативных цепочек, связывающих темы “наркотики” и “Украина”
На рисунке 4 представлена пара наиболее сильных ассоциативных цепочек между заданными темами, найденная системой.
Одна из цепочек, проходящая через “таможню”, оказывается адекватной и подкрепляется в найденном документе “В столицу на реализацию пытались провезти около четырех килограммов эфедры” предложением “На Брянской таможне у гражданина Украины, въезжавшего в Россию, обнаружили 46,8 грамм опия.”
Вторая, чересчур длинная цепочка ассоциаций, оказывается случайной и не представляет интереса. Прочих, более адекватных путей, связывающих Украину с наркотиками в исследуемых документах, системе обнаружить не удалось.
В заключение продемонстрируем включение модели предметной области в семантическую сеть.
Представим модель в виде объектов с известными взаимосвязями, например:
дума -> { депутат, Явлинский, Жириновский, Селезнев, Шохин, КПРФ, ЛДПР }
депутат -> { Явлинский, Жириновский, Селезнев, Шохин, КПРФ, ЛДПР}
Белоруссия -> { Лукашенко }
Наложение такой модели на семантическую сеть дает результат, представленный на рисунке 5.
Связи между объектами предметной области, изображенные сплошной линией, соответствуют заданным в модели. Пунктирные линии соответствует новым связям, выявленным в семантической сети. Яркость связей по-прежнему отражает силу ассоциаций между объектами в тексте.
Данный пример позволяет, в частности, выявить ранее не известные, но присутствующие в документах цепочки связей между Лукашенко, как президентом Белоруссии, и депутатами госдумы в лице Селезнева и Жириновского.
Рисунок 5. Связи между объектами предметной области, найденные в документах
Новые перспективы развития технологии семантических сетей открывает применение полного синтаксического анализатора русского языка, разработка которого нами сейчас ведется (см. http://research.metric.ru/linguistic2.asp).
Как известно, смысловая связь между понятиями предложения в общем случае описывается глаголом-предикатом, аргументами которого выступают данные понятия. Установление таких синтактико-семантических связей позволяет сформировать логическую схему ситуации, описываемой во фразе.
В результате анализа предложение текста может быть преобразовано, например, в строку таблицы реляционной базы данных. При этом имя таблицы соответствует предикату-глаголу, а столбцы соответствуют семантическим ролям участников ситуации, описываемой глаголом. Так, в результате анализа пары предложений в таблице с именем “арендовать” могут появиться следующие записи:
Агенс: Кто? | Пациенс:Что? | Бенефактив:У кого? | Время:На сколько? | Стоимость:За сколько? | Обстоятельство |
Иванов | Квартира | Петров | - | сто долларов | Москва |
предприятие | складские помещения | - | три года | - | хранение цемента |
Такое представление позволяет решать задачи фактографического поиска, например: “найти всех персон, контактировавших с организацией X определенным образом” – т.е. найти все одушевленные именные группы, связанные с X заданной группой глаголов в заданной синтаксической роли.
Связи, возникающие между строками таблиц за счет совпадения значений полей, порождают семантическую сеть на множестве целевой коллекции анализируемых документов, причем связи такой сети дифференцированы по типам отношений. Это позволяет искать ответ на сложные вопросы типа: “Найти всех арендодателей в Москве, у которых арендаторы торгуют маслом”. Соответствующий запрос к базе данных на языке SQL будет выглядеть следующим образом:
SELECT Агенс FROM Арендовать WHERE Обстоятельство = “Москва” AND Бенефактив IN (SELECT Агенс FROM Торговать WHERE Пациенс = “масло”).