Журнал "Директор информациоонной службы" №2(14) март-апрель 2008г.

 

Украинизация лингвистических возможностей Oracle

Евгений Коржов, директор компании ТЕКОН

Одно из наиболее требовательных к ресурсам направлений в автоматизации человеческой деятельности — обработка текстовой информации. Необходимость такой обработки вызвала бурный рост рынка приложений, использующих полнотекстовый поиск в хранилищах электронных документов и документ-ориентированных базах данных. По оценкам экспертов, до 90 % объема корпоративной информации представлено в виде текста.

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

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

Задачи, решаемые в системах электронного документооборота, можно условно поделить на две категории:

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

· Аналитические запросы, которые работают с содержанием документа (поиск информации в документах, ее консолидация, обнаружение сходства между документами, закономерностей или связей в тексте).

Если первую группу задач системы ЭДО решают достаточно хорошо, то «аналитическая» составляющая оставляет желать лучшего. Для восполнения этих недостатков часто используются автономные корпоративные поисковые системы. С другой стороны, можно использовать те возможности, которые заложены в современных системах управления данными, например, продук-тах Oracle.

Текстовые возможности Oracle

Нужно отметить, что в ходе своего развития программные решения Oracle «текстового» направления несколько раз меняли название (Text Option, interMedia Text, Oracle Text).

Oracle Text позволяет хранить в СУБД Oracle наряду с «обычными» табличными данными документы (в различных форматах) и строить запросы как к этим документам, так и к информации, хранимой в файлах ОС или на Web-страницах. В частности, при написании приложений для обработки текста можно использовать языкSQL.

В Oracle Text используются три вида «текстовых» индексов: для полнотекстового поиска по текстовым документам; для упрощенного и ускоренного поиска по «каталогам» (коротким текстовым описаниям); для построения рубрикации документов.

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

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

·    расширение слов запроса всеми их словоформами, что реализуется привлечением знаний о морфологии языка (морфологического словаря);

·    расширение запроса близкими по смыслу словами за счет подключения тезауруса (семантического словаря);

·    расширение запроса словами, близкими по написанию и по звучанию (нечеткий поиск).

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

Анализ и обработка информации. Среди развитых лингвистических возможностей Oracle Text стоит выделить тематический анализ, реферирование, классификацию, кластерный анализ.

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

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

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

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

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

Автоматическая генерация правил использует имеющиеся в Oracle Text возможности проводить статистический анализ документов и генерировать правила, используя индекс CTXRULE. От пользователя требуется подготовить набор документов, которые уже отнесены к какой-то одной или нескольким категориям (в дальнейшем при расширении тематики для «тренировки» могут потребоваться новые группы документов).

Для автоматизации процесса построения классификаторов в Oracle Text могут быть использованы два метода.

Первый заключается в выборе между несколькими вариантами (обычно двумя) и известен как «дерево решений». Он генерирует правила, которые легко проверяемы и изменяемы человеком, и подходит, если вы хотите использовать компьютер для генерации чернового варианта правил классификации, а затем провести его «настройку», редактируя набор правил согласно своим знаниям и опыту. Второй метод — Support Vector Machine (SVM) — основан на статистической теории обучения. Положительное свойство SVM — обучаемость на небольшом количестве «тренировочных» документов.

Также Oracle Text позволяет проводить кластеризацию документов, которая не предполагает предварительного построения классификатора, а распределение документов выполняется «на лету».

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

Украинизация Oracle

Чтобы решить эту проблему для пользователей «русскоязычного» рынка Oracle, российской компанией «ЭР СИ О» был выпущен продукт Russian Context Optimizer (RCO).

Для украинского рынка аналогичный продукт — Ukrainian Context Optimizer (UCO) — был создан фирмой ТЕКОН совместно с ее партнерами «ЭР СИ О» (Россия) и «Трайдент Софтвер» (Украина). В UCO использованы технологии и алгоритмы, которые прошли проверку на практике и успешно работают в самых разных отраслях. В результате разработки была найдена и программно реализована эффективная система описания украинской морфологии, которая обеспечила:

·       максимальное быстродействие — на современных процессорах обеспечивается разбор 200 тысяч известных слов в секунду или около 40 тысяч неизвестных;

·       минимальный объем хранимых лингвистических данных — общий объем словаря в 115 тысяч слов (около 4 миллионов словоформ) и данных, необходимых для анализа неизвестных слов, не превышает 10 Мб.

Сегодня UCO for Oracle — единственный на рынке продукт, позволяющий обеспечить все возможности Oracle Text при работе с базами данных, содержащими документы на украинском языке. Продукт предназначается для отделов автоматизации производства среднего и крупного бизнеса, ИТ-подразделений государственных учреждений, системных интеграторов и разработчиков приложений, использующих возможности информационного поиска. Существуют версии продукта для ОС Windows и различных UNIX-платформ (SUN Solaris, SCO UnixWare, Compaq Tru64 Unix, HP UX, IBM AIX).

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

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

Компания ТЕКОН продолжает разработку решений для бизнес-анализа украинского информационного пространства. Прежде всего, это UOSES — готовый многоплатформенный комплекс, направленный на решение задач бизнес-анализа и бизнес-разведки. В отличие от существующих поисковых машин, UOSES обеспечивает быстрый защищенный поиск нужной информации, с учетом смысловых связей, во всех внутрикорпоративных и внешних источниках (файловые документы, электронная почта, базы данных, корпоративный портал, Интернет-контент). Учет особенностей украинского словоизменения и синонимов обеспечивает UCO. В основе комплекса UOSES лежит новейшая технология Oracle Secure Enterprise Search, благодаря которой доступ пользователей к корпоративной и внешней информации осуществляется строго в соответствии с правами, установленными администратором по безопасности. Все источники информации защищены, а результаты поиска фильтруются таким образом, что пользователю видны только ссылки на разрешенные ему ресурсы. Кроме того, в этом году будет выпущена FactExtractor Ukraine — интеллектуальная программа для высокоточного избирательного анализа информации.

ООО ТЕКОН

01010, Киев - 10

ул. Ивана Мазепы, 14, офис 43

тел. (044) 280-01-80

факс (044) 254-29-39

http://uco.ua

Полностью статью можно скачать Здесь