OLAP.ru   Rambler's Top100
Вы находитесь на страницах старой версии сайта. Перейдите на новую версию OLAP.ru
  
Поиск по сайту
Новости
Основы OLAP
Продукты
Business Objects/ Crystal Decisions
Каталог
OLAP в жизни
Тенденции
Download
Яndex
 
 
 
TopList
 

Полнотекстовый поиск: проблемы и их решение


А.Е. Ермаков, Мир ПК #5/2201

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

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

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

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

Однако наметившийся прогресс в области компьютерной лингвистики и обработки знаний меняет ситуацию на глазах, и к настоящему моменту уже существует немало средств, способных помочь в извлечении информации. Правда, пока основная их часть остается на уровне интересных "поделок", полезных скорее для демонстрации отдельных достижений, чем для практического использования. Тем не менее лидер мирового рынка СУБД Oracle уже снабдил разработчиков информационных систем рядом передовых технологий. Речь идет о картридже interMedia Text, входящем в состав СУБД ORACLE8i, при использовании которого обработка текста сочетается со всеми возможностями, предоставленными пользователю Oracle для работы с реляционными базами данных. В частности, при написании приложений стало возможно использовать SQL с развитым языком запросов к полнотекстовой информации.

Не останавливаясь подробно на всех уникальных возможностях interMedia Text, информацию о которых можно получить на сайтах www.oracle.com и www.oracle.ru, отметим, что, к сожалению, большинство из них оказывается доступно в полной мере лишь на английском языке. Впрочем, познакомиться или работать с ними могут и владеющие некоторыми европейскими и восточноазиатскими языками.

Адаптацией технологий Oracle к русскоязычным полнотекстовым базам данных занимаются специалисты компании "Гарант-Парк-Интернет". Продукт этой компании под названием Russian Context Optimizer (RCO) предназначен для совместного использования с картриджем interMedia Text.

Перенос технологий обработки текста с языка на язык не сводится к простой замене лингвистического наполнения. Поэтому реализация совместимости interMedia Text и RCO потребовала включения ряда оригинальных алгоритмов, отличных от используемых Oracle. Необходимо признать, что отсутствие на рынке некоторых важных компонентов лингвистической поддержки, в частности семантического словаря русского языка (который уже существует для английского), также заставило разработчиков искать новые решения.

Новая версия продукта RCO 3.0 в полной мере задействовала лингвистические и аналитические технологии компании, а также многолетний опыт работы в области интеллектуальных информационно-поисковых систем. Поэтому параллельное описание алгоритмов interMedia Text и RCO позволит читателю охватить значительную часть спектра современных языковых технологий и оценить возможности, открытые ныне разработчикам.

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

Например, слову "zoologically" соответствует синоним "zoology", который, в свою очередь, относится к тематической категории, представленной более общим понятием "biology". В то же время "zoology" выступает в качестве тематической категории для ряда более частных понятий — "animal life", "animals", "zoologists", а также имеет родственные по смыслу слова: "animal rights", "cries", "reproductive systems", "veterinary medicine".

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

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

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

Относя каждое слово текста к соответствующим разделам тезауруса и учитывая частоту встречаемости слов, interMedia Text может выделить до 16 главных тем документа.

Классификация документов по темам может оказать большую помощь при поиске, например, в случае, если пользователь затрудняется точно подобрать ключевые слова или же если он хочет сузить область поиска, уточнив тематику, по которой следует искать документы. Поиск по теме обладает более высокой точностью и полнотой по сравнению с простым контекстным поиском. Так, если последний находит все документы, содержащие заданные слова, то тематический поиск показывает лишь те документы, в которых словам запроса соответствует одна из ключевых тем. Кроме того, он позволяет найти документы, вовсе не содержащие слов из названия заданной темы, однако имеющие к ней отношение: по запросу "lower life forms" могут быть найдены документы, содержащие слова "bacteria" и "viruses".

В отличие от interMedia Text, RCO 3.0 пока не обладает мощным тезаурусом с иерархией категорий, который бы делал возможным глубинное обобщение информации в ходе тематического анализа. И если в тексте встречаются слова "компьютерный" или "компьютеризация", то RCO не сможет отнести документ к теме "вычислительная техника". И тем не менее RCO позволяет анализировать содержание текста, ставя в соответствие документу список его ключевых тем. Только RCO не выбирает названия тем из тезауруса, а выявляет их в тексте.

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

В целом алгоритм тематического анализа работает следующим образом. После выполнения комплекса процедур лингвистической обработки из текста извлекаются основные единицы смысла — понятия, выраженные словами и устойчивыми словосочетаниями, а также устанавливаются смысловые (ассоциативные) связи между ними. Критерий наличия связи между парой понятий учитывает их совместное употребление в предложениях текста. Применение статистических алгоритмов на последующих уровнях обработки позволяет ранжировать понятия по значимости в тексте и выделить основные, которые и выступят в качестве ключевых тем документа. Таким образом, алгоритмы RCO позволяют включать в число тем любые слова и их связные сочетания, несущие основную смысловую нагрузку в тексте, например: "указ о снижении подоходного налога", и даже имена собственные, если им посвящено содержание документа.

Другой замечательной способностью, которой обладает как RCO, так и interMedia Text, является автоматическое реферирование текста, которое происходит в ходе тематического анализа. При этом по каждой из выделенных тем выстраивается тематическое резюме, а также общее — реферат текста. Резюме формируются из фрагментов текста, причем если interMedia Text опирается на формальную разметку (наподобие html-тегов), то алгоритмы RCO способны самостоятельно членить текст на группы предложений, связанных общностью содержания, — сверхфразовые единства. В тематические резюме включаются лишь наиболее представительные, информативные фрагменты по соответствующим темам, в то время как общий реферат строится из фрагментов по всем главным темам документа. Визуализация списка ключевых тем и резюме при просмотре найденных документов ускоряют выбор требуемой информации. Так, взгляд на небольшой реферат может подсказать, следует ли читать документ полностью.

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

Так, RCO позволяет найти совокупность тем, связанных со словами запроса по смыслу в базе данных. Эта возможность оказывается полезна прежде всего аналитику, ведущему мониторинг событий, связанных с интересующей темой. Она позволяет определить "смысловое окружение" темы в коллекции документов и, уточнив зарос, выбрать требуемую информацию. В ответ на запрос "нефть" можно получить следующий список тем: "добыча нефти", "экспорт нефти", "государственная нефтяная компания Азербайджана", "Азербайджан", "Ангарский НХК", "топливные компании", "ЮКОС" и т.д. Как видно, возможности поиска RCO 3.0 практически оказываются не менее мощными, чем у interMedia Text.

Заметим, что в следующую версию RCO войдут полноценный тезаурус русского языка, включающий синонимические отношения, и многоуровневый тематический классификатор по устоявшимся отраслям знаний.

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

Понятно, что нечеткий поиск в interMedia Text не работает с русскоязычным текстом. Поэтому в RCO 3.0 реализован оригинальный алгоритм, использующий систему быстрого ассоциативного доступа к списку слов, содержащихся в документах, — в итоге можно найти слова по любым цепочкам составляющих их букв. Кроме того, RCO позволяет обнаружить нужное выражение по лексикографически близким словам (из группы документов, по которым ведется поиск), отличающимся заменами, пропусками и вставками символов. Например, по запросу "инкомбан", "инкобанки", "винкомбанки" обнаружится искомый "инкомбанк". А если пользователь забыл точное название медицинского препарата "ипрониазид", то можно задать что-нибудь похожее, ну скажем, "импронизид", — и RCO найдет нужные документы. При этом допустимая близость найденных слов к запросу может задаваться при поиске.

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

Демонстрация языковых технологий компании "Гарант-Парк-Интернет", построенных на нейросетевых моделях восприятия речи человеком, представлена на http://research.metric.ru/.

Об авторе

А.Е. Ермаков — канд. техн. наук, ведущий разработчик компании "Гарант-Парк-Интернет"; ermakov@metric.ru

 Обсудить на форуме   Написать автору   Написать вебмастеру 

© 2001 Interface Ltd