Доклад на XII конференции АПО/ROUG, 1 сентября 2000 г.
Быстрый рост индустрии систем электронного документооборота еще недавно происходил в условиях отставания автоматизированных средств обработки неструктурированной информации, представленной, в частности, в форме текстов на естественном языке.
Эволюция линии программных продуктов Oracle (от Text Server в составе СУБД Oracle 7.3.3 до картриджа interMedia Text в Oracle8i) смогла наконец восполнить этот пробел, и теперь обработка текста сочетается с поисковыми и другими возможностями, которые предоставлены пользователю для работы с реляционными базами данных. В частности, при написании приложений для обработки текста стало возможным использовать SQL.
К сожалению, большинство возможностей interMedia оказывается доступно в полной мере лишь для английского языка и, в меньшей мере, еще для ряда европейских и восточно-азиатских языков.
Адаптацией технологий Oracle к русскоязычным полнотекстовым базам данных занимаются специалисты компании “Гарант-Парк-Интернет”, которая выпускает продукт под названием Russian Context Optimizer, предназначенный для совместного использования со средствами разработки СУБД Oracle. Новая версия этого продукта в полной мере задействовала оригинальные лингвистические и аналитические технологии компании, основанные на многолетнем опыте работы в области интеллектуальных информационно-поисковых систем.
Прежде, чем перейти непосредственно к описанию продукта Russian Context Optimizer, обратимся к экскурсу по возможностям interMedia Text.
InterMedia Text в задачах полнотекстового поиска
Основной задачей, на решение которой нацелены средства interMedia Text, является задача поиска документов по их содержанию.
Контекстный поиск позволяет искать документы по содержащимся в них словам или фразам, которые при необходимости комбинируются с использованием булевых операций. Результаты поиска ранжируются по релевантности, с учетом частоты встречаемости слов запроса в найденных документах и во всей коллекции в целом.
Для повышения полноты поиска interMedia Text предоставляет ряд средств расширения поискового запроса, среди которых можно выделить три группы.
Во-первых, это расширение слов запроса всеми морфологическими формами, что реализуется привлечением знаний о морфологии языка.
Во-вторых, interMedia Text допускает расширение слов запроса близкими по смыслу словами за счет подключения тезауруса – семантического словаря, речь о котором пойдет ниже.
И последнее – это расширение запроса словами, близкими по написанию и по звучанию – нечеткий поиск и поиск созвучных слов. Нечеткий поиск целесообразно применять при поиске слов с опечатками, а также в тех случаях, когда возникают сомнения в правильном написании – фамилии, названия организации и т.п.
Но наиболее примечательной является способность interMedia проводить тематический анализ текста на английском языке. В ходе обработки текст каждого документа подвергается процедурам лингвистического и статистического анализа, в результате чего определяются его ключевые темы и строятся тематические резюме, а также общее резюме – реферат.
Секрет этого в том, что для отнесения документа к темам interMedia Text пользуется тезаурусом – семантическим словарем, содержащим около полумиллиона слов, которые классифицированы по тематическим категориям (рубрикам) и синонимическим рядам: для каждого слова установлены его синонимы, более общие и более частные понятия, а также “родственные” слова, часто имеющие с ним смысловую связь в тексте. Например, слову “zoologically” соответствует синоним “zoology”, который, в свою очередь, относится к тематической категории, представленной более общим понятием “biology”. В то же время “zoology” выступает в качестве тематической категории для ряда более частных понятий – “animal life”, “animals”, “zoologists”, а также имеет родственные слова: “animal rights”, “cries”, “reproductive systems”, “veterinary medicine”.
В целом иерархия категорий, описанных в тезаурусе, насчитывает до 7 уровней вложенности в глубину и включает несколько тысяч тем по основным отраслям знаний.
Относя слова текста к соответствующим разделам тезауруса и учитывая их частоту встречаемости, interMedia Text может выделить несколько главных тем документа, вплоть до 16-ти. А если текст разделен на параграфы, то каждый из абзацев может быть отнесен к своей теме, и составлены резюме.
Классификация документов по темам может оказать большую помощь при поиске, например в случае, если пользователь затрудняется точно подобрать ключевые слова, или же, если он хочет сузить область поиска, уточнив тематику, по которой следует искать документы.
Поиск по теме обладает более высокой точностью и полнотой по сравнению с простым контекстным поиском. Так, если контекстный поиск находит все документы, содержащие заданные слова, то тематический поиск возвращает лишь те документы, в которых словам запроса соответствует одна из ключевых тем. Кроме того, он позволяет найти документы, вовсе не содержащие слов из названия заданной темы, однако имеющие к ней отношение. Например, по запросу “lower life forms” могут быть найдены документы, содержащие слова “bacteria” и “viruses”.
Визуализация списка ключевых тем и резюме при просмотре найденных документов пользователем ускоряет выбор требуемой информации. Так, взгляд на небольшое резюме может подсказать, следует ли читать документ целиком.
Все описанные поисковые средства могут использоваться совместно, что поддерживается языком запросов в сочетании с традиционным синтаксисом SQL и PL/SQL для поиска документов по реляционным атрибутам. Поэтому можно утверждать, что Oracle interMedia практически покрывает весь спектр услуг, необходимых пользователю для доступа к информации базы данных.
К сожалению, указанные возможности до сих пор оказывались недоступны при работе с русскоязычным текстом. Причина проста – соответствующее лингвистическое обеспечение для русского языка не было создано разработчиками interMedia.
Чтобы закрыть эту нишу для пользователей русского рынка Oracle, была выпущена новая версия модуля Russian Context Optimizer (RCO 3.0), предназначенная для совместного использования с interMedia Text и основанная на открытых стандартах Oracle.
Russian Context Optimizer – возможности
Помимо поддержки русскоязычной морфологии, RCO включает в себя средства нечеткого поиска, тематического анализа и реферирования документов.
При обработке текста документа и слов запроса RCO способен распознавать и приводить к нормальной форме все части речи русского языка, а также опознавать многие аббревиатуры, имена собственные, географические названия и т.п.
Средства администрирования, входящие в состав RCO, позволяют исключать из обработки целые категории слов (например: числительные, предлоги и наречия), рассматриваемые в качестве “стоп-слов”, которые не несут смысловой нагрузки.
Словарь, используемый морфологическим модулем, содержит более 100000 словооснов и может пополняться в зависимости от предметной ориентации конкретного приложения.
RCO позволяет анализировать содержание текста, ставя в соответствие документу список его ключевых тем.
Темы документа представляются как отдельными словами, так и устойчивыми словосочетаниями, встретившимися в тексте. Алгоритмы RCO позволяют включать в число тем любые слова и их связные сочетания, которые несут основную смысловую нагрузку в тексте, например: “указ о снижении подоходного налога”. Темы документа ранжируются по значимости.
Одновременно RCO выстраивает тематическое резюме по каждой из выделенных тем, а также общий реферат текста. Резюме формируются из связных по смыслу фрагментов, на которые RCO автоматически разбивает текст, даже при отсутствии в нем формальной разметки, наподобие html-тегов. При это в тематические резюме включаются лишь наиболее представительные, информативные фрагменты по соответствующим темам, в то время как общий реферат строится из фрагментов по всем главным темам документа.
Гибкие настройки позволяют регулировать подробность тематического анализа, определяя количество выделяемых тем и объем резюме.
Необходимо заметить, что настоящая версия RCO, в отличии от interMedia Text, пока не обладает мощным тезаурусом с иерархией категорий, который бы делал возможным глубинное обобщение информации в ходе тематического анализа. Так например, если в тексте встречались слова “компьютерный” или “компьютеризация”, то RCO не сможет отнести документ к теме “вычислительная техника”, но выявит тему “компьютер”.
Используемое в RCO лингвистическое обеспечение позволяет сводить во-едино различные части речи, а также отождествлять близкие по смыслу словосочетания. К примеру, выражения типа “подписание нескольких новых указов” и “подписал два указа” будут рассмотрены как одна и та же смысловая сущность. Дополнительно RCO исключает из числа тем общеупотребимые слова, не несущие самостоятельной смысловой нагрузки или обладающие слишком широким значением. Так, слова “концепция” и “развитие” сами по себе не могут характеризовать тему текста, но они могут входить в название темы, выраженное сочетанием с другим словом: “концепция развития сельского хозяйства”.
В целом, алгоритм тематического анализа работает следующим образом.
На первом этапе, после выполнения комплекса процедур лингвистической обработки, из текста извлекаются основные единицы смысла – понятия, выраженные словами и словосочетаниями, а также устанавливаются смысловые (ассоциативные) связи между ними. Критерий наличия связи между парой понятий учитывает их совместное вхождение в предложения текста. Применение статистических алгоритмов последующих уровней обработки позволяет ранжировать понятия по значимости в тексте и выделить основные, которые и выступают в качестве ключевых тем документа. Вместе с этим происходит членение текста на семантически связные фрагменты, которые относятся к своим темам, и составляются резюме.
К сожалению, отсутствие тезауруса в RCO не позволяет пока задействовать все возможности расширения запроса при контекстном поиске документов, которые доступны для английского языка при работе с interMedia Text – расширение слов запроса синонимичными, более общими или более частными, родственными по смыслу понятиями.
Однако, взамен этого новый RCO обладает одной уникальной способностью, отсутствующей в interMedia – он, как уже говорилось, устанавливает смысловые связи между темами, выявляя их в тексте. В отличии от предопределенных и очевидных связей, которые задаются в тезаурусе, связи RCO выявляются динамически и большинство из них оказывается уникальным для каждой коллекции документов.
Так RCO позволяет найти совокупность тем, связанных со словами запроса по смыслу в коллекции документов. Эта возможность оказывается полезна, прежде всего, аналитику, ведущему мониторинг событий, связанных с интересующей темой. Она позволяет определить “смысловое окружение” темы в коллекции документов и, уточнив зарос, выбрать требуемую информацию. Например, в ответ на запрос “нефть” можно получить следующий список тем: “добыча нефти”, “экспорт нефти”, “государственная нефтяная компания Азербайджана”, “Азербайджан”, “Ангарский НХК”, “топливные компании”, “ЮКОС” и т.д.
Как видно, практические возможности поиска, открываемые RCO, оказываются не менее мощными, чем у interMedia.
В завершение остановимся кратко на реализации нечеткого поиска.
RCO способен найти все лексикографически близкие слова из коллекции документов, по которым ведется поиск, отличающиеся заменами, пропусками и вставками символов. Например, запрос “инкомбанк” может быть расширен словами: “инкомбан”, “инкобанки” “винкомбанке”. А если пользователь забыл точное название медицинского препарата “ипрониазид”, то можно задать что-нибудь подобное, например “импронизид” – RCO найдет нужные документы. А допустимая близость найденных слов к запросу может задаваться при поиске.
В алгоритме нечеткого поиска используется система быстрого ассоциативного доступа к списку слов, содержащихся в документах, которая позволяет найти слова по любым цепочкам составляющих их букв.
Ближайшая перспектива развития RCO намечается в двух направлениях.
Во-первых, в следующих версиях ожидается модернизация алгоритмов морфоанализа, которая позволит правильно обрабатывать грамматические формы любых, даже несуществующих слова русского языка (типа “глокая куздра”), а также разрешать морфологическую омонимию, когда грамматические формы различных слов совпадают (например, форма “меча” совпадает для существительного “меч” и глагола “метать”).
Во-вторых, в RCO планируется внедрение полноценного тезауруса русского языка, включающего синонимические отношения и многоуровневый тематический классификатор по устоявшимся отраслям знаний, в дополнение к существующим алгоритмам.
Отметим, что при реализации функций тематического анализа и нечеткого поиска Russian Context Optimizer использованы оригинальные технологии компании “Гарант-Парк-Интернет”, разработанные с применением нейросетевых моделей восприятия речи человеком.