Вы находитесь на странице: 1из 7

RCO Fact Extractor

Программа для поиска фактов в тексте

Инструментарий Общая информация


аналитика
RCO Fact Extractor – это персональное приложение для Windows,
RCO КАОТ
которое предназначено для аналитической обработки текста на
русском языке и выявления фактов различного типа, связанных с
RCO Fact Extractor
заданными объектами – персонами и организациями. Основная
сфера применения программы – это задачи из области
Общая информация компьютерной разведки, требующие высокоточного поиска
Документация информации, например, автоматический подбор материала к
Форум досье на целевой объект или же мониторинг определенных
Скачать сторон его активности, освещаемых в СМИ. Программа позволяет
Цены не только найти фрагменты текста, в которых говорилось,
например, о поездках персоны, ее встречах, заключении
договоров, сделках купли-продажи, но и точно определить все
места поездок, визави и контрагентов, наименование товаров и
прочее.
Поиск для Microsoft
RCO for BackOffice
Программа работает в среде Windows 2000 и выше и позволяет
обрабатывать документы в популярных текстовых форматах из
различных источников - файловой системы, заданных web-
Поиск для Oracle
сайтов, базы данных.
RCO for Oracle
Результат работы программы – таблица, которая содержит
Поисковая машина информацию о найденных фактах, связанных с объектами
RC WEB мониторинга, и может экспортироваться в html-формат для
формирования отчета или для загрузки в стороннее приложение,
работающее с уже структурированными данными.
Инструментарий
разработчика RCO Fact Extractor – это интеллектуальная программа для
RCO Morphology высокоточного избирательного анализа информации, поэтому она
предполагает настройку шаблонов для поиска и классификации
RCO Thesaurus Search фактов самых различных типов. Такие специализированные
шаблоны либо приобретаются отдельно, либо создаются
RCO Syntactic Engine пользователем самостоятельно при помощи дополнительной
программы RCO Fact Tuner. Тем не менее, стандартные шаблоны,
RCO Semantic Network включенные в комплект поставки Fact Extractor, позволяют
распознавать огромное количество самых разнообразных фактов,
RCO Pattern Extractor но без детальной классификации, т.е., попросту находить
события, в которых участвует целевой объект, и извлекать из
RCO TopTree текста всех прочих фигурантов этих событий, без детализации их
ролей.

Помимо собственно программы с графическим интерфейсом для


Windows, компания “Гарант-Парк-Интернет” выпускает
динамическую библиотеку для разработчиков (SDK), на базе
которой построен Fact Extractor и которая позволяет включать
возможности анализа текста в собственные приложения.
Поиск фактов в тексте
А. Е. Ермаков
08.02.2005 Версия для печати
Мир ПК, #02/2005 Выскажите свое мнение

RCO Fact Extractor — наделенная интеллектуальными возможностями программа,


предназначенная для анализа текста на русском языке. Она позволяет отыскивать описания
фактов заданного типа, например относящиеся к «встречам», «договоренностям»,
«приобретению собственности», причем производятся их классификация и упорядочивание.
Основная область применения программы — аналитические задачи, возникающие при
проведении компьютерной разведки и требующие высокоточного поиска информации, в том
числе автоматического подбора материала к досье на целевой объект или мониторинга
определенных сторон его активности, освещаемых в СМИ. В программе Fact Extractor
воплощены наиболее продвинутые технологии искусственного интеллекта, разработанные
компанией «Гарант-Парк-Интернет», известной своими решениями в области компьютерной
лингвистики (www.rco.ru).

Помимо Fact Extractor с графическим интерфейсом для Windows компания выпустила


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

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


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

Как работать с программой?


Основные логические сущности, которыми оперирует Fact Extractor, следующие:

 факты, описания которых ищут в тексте;


 объекты мониторинга для сбора фактов;
 атрибуты объектов, к которым относятся факты;
 досье, где собирается информация обо всех найденных фактах.

Фактом называется некоторая ситуация (событие), представляющая интерес для


пользователя программы. Ее описание следует искать в тексте. Каждый факт имеет
свой тип — название ситуации (например, «покупка акций») — и список ролей
возможных участников-фигурантов («покупатель», «продавец», «эмитент акций»).
Лингвистические описания фактов требуемого типа — шаблоны для поиска в тексте —
либо создаются пользователем с помощью дополнительной программы-настройщика,
либо приобретаются у производителя. В стандартный пакет поставки Fact Extractor
входят готовые описания для нескольких типов фактов общего характера,
позволяющие выделить без детальной классификации все события, в которых
участвует объект, и всех участников этих событий.
Рис. 1. Настройка атрибута объекта «владеет предприятиями» —
объединение фактов различных типов (список в окне слева)

К объектам мониторинга, по которым ведется сбор фактов, относятся персоны и


организации. Описание объекта включает в себя целый ряд полей, значения которых
задаются пользователем, например для персоны обязательные поля «Фамилия» и «Имя»,
желательное — «Отчество». А если есть возможность, то полезно задавать такие поля, как
«Синонимы», «Контекстные синонимы», «Референтный контекст», «Эквивалентные по
смыслу». Не вдаваясь в содержание этих полей, заметим, что более полное описание
объекта позволяет правильно выделять большее количество упоминаний в тексте, включая
полные и краткие наименования, косвенные обозначения, а также различать объекты с
одинаковыми фамилиями, именами, должностями и пр.

Атрибут — комплексная характеристика определенной стороны объекта или его


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

Для каждого типа фактов указывается роль, в которой должен стоять целевой объект
мониторинга, для того чтобы факт относился к данному атрибуту объекта (выбирается в
группе «участники факта» в столбце «целевой»). Как видно, в атрибут дважды включен
факт типа «купля-продажа акций», причем в первом случае целевой участник выступает в
роли «продавца», а во втором — в роли «покупателя». Это имеет смысл при
ретроспективном анализе информации, так как покупатель и продавец являлись
владельцами предприятия. При анализе новостей, когда интерес представляет появление
новых владельцев, целесообразно включать целевого участника только в роли
«покупателя». Дополнительно в группе «участники факта» в столбце «значение»
помечаются роли других участников, интересующих аналитика, которые формируют
значение атрибута и отображаются на экране. В данном случае это роль «эмитента» —
выпускающего акции предприятия, которым владеет покупающий или продающий их объект
мониторинга. Факты с одинаковым значением группируются вместе и образуют одну запись
в досье (рис. 2).
Рис. 2. Общий вид интерфейса пользователя Fact Extractor

В итоге все найденные факты объединяются по атрибутам объектов и собираются в таблицу,


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

В окне слева — объекты и атрибуты, для удобства объединенные в логические группы. С


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

Как работает программа?


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

Представление текста в форме семантической сети позволяет абстрагироваться от многих


его особенностей, не существенных для описания фактов. Такая сеть инвариантна к форме
предложения и порядку слов с точностью до логической структуры, выбранной автором для
описания ситуации, — пропозиции. Например, конструкциям «Иванов купил акции» и «об
акциях, которые были куплены Ивановым», как разным способам выражения одной
пропозиции, будут соответствовать одинаковые сети. В то же время пропозициям вида
«Иванов становится покупателем акций» и «покупка акций — дело рук Иванова» будут
соответствовать иные сети.

Шаблон факта задается множеством лингвистических описаний (ЛО), и каждое из них


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

Поиск факта есть поиск в семантической сети текста подсети, изоморфной одному из ЛО.
Если подсеть найдена, то факт считается установленным, после чего производятся
извлечение фигурантов факта и их отнесение к заданным ролям.

Три узла, обозначенные метками BUYER, ISSUER и SELLER, представляют возможных


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

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


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

ОБ АВТОРЕ
А. Е. Ермаков — канд. техн. наук, руководитель отдела компьютерной лингвистики ООО
«Гарант-Парк-Интернет», ermakov@metric.ru

Рис. 3.

Пример семантической сети, соответствующей предложению «В ноябре 2003


года Ивановым была совершена сделка по покупке акций Лукойла у Петрова»
Прямоугольники со скругленными углами представляют узлы сети, имеющие
такие атрибуты, как слова-словосочетания (Name) и их семантические
разряды (SemanticType). Эллипсы представляют связи между узлами со
следующими атрибутами: тип связи (RelationName), семантический падеж
(RelationCase) и предлог (RelationConnector)
Рис. 4.

Пример ЛО, распознающего факты, выраженные пропозицией вида


«Покупатель совершает действие по приобретению у продавца акций
предприятия»
Инструментарий разработчика

Вам также может понравиться