=Paper= {{Paper |id=Vol-1752/paper13 |storemode=property |title= Навигация по тезаурусам и поиск в распределенных гетерогенных информационных системах (Navigation Based on Thesauruses and Search in the Distributed Heterogeneous Information Systems) |pdfUrl=https://ceur-ws.org/Vol-1752/paper13.pdf |volume=Vol-1752 |authors=Oleg Zhizhimov,Saya Santeeva |dblpUrl=https://dblp.org/rec/conf/rcdl/ZhizhimovS16 }} == Навигация по тезаурусам и поиск в распределенных гетерогенных информационных системах (Navigation Based on Thesauruses and Search in the Distributed Heterogeneous Information Systems) == https://ceur-ws.org/Vol-1752/paper13.pdf
    Навигация по тезаурусам и поиск в распределенных
        гетерогенных информационных системах

                  © О. Л. Жижимов                                  © С. А. Сантеева

              Институт вычислительных технологий СО РАН (ИВТ СО РАН),
                    Новосибирский государственный университет (НГУ)
                                      Новосибирск
               zhizhim@mail.ru                     saya_santeeva@mail.ru

                 Аннотация                              предъявляют очень жесткие требования к
                                                        организации информационных систем и баз данных
Обсуждаются вопросы, связанные с построением            вплоть до полной перегрузки информации в
пользовательских интерфейсов для навигации по           промежуточные      хранилища,     функциональные
статьям тезаурусов и рубрикаторов в гетерогенных        свойства которых позволяют обеспечить выявление
информационных системах. Приводятся некоторые           всех       семантических       связей       между
алгоритмы формирования этих интерфейсов с               информационными объектами на основе заданных
учетом привязки внешних информационных                  онтологических моделей. Такой подход имеет право
ресурсов к выбранным статьям тезаурусов и               на существование, однако остается открытым вопрос
рубрикаторов. Основной акцент сделан на                 о том, как включить поиск семантически связанной
динамическую привязку внешних ресурсов на основе        информации в существующих распределенных
текстового поиска по наборам характеристических         гетерогенных информационных ресурсах, причем в
терминов. Описываются стенд для проведения              случае, когда они не могут быть перегружены в
исследований и результаты исследований на               специализированные хранилища.
тестовых экспертных наборах данных.                         Настоящая работа посвящена описанию способов
                                                        поиска семантически связанной информации в
Работа выполнена при поддержке гранта ведущих           распределенных гетерогенных информационных
научных школ НШ-7214.2016.9.                            системах (базах данных) без использования
                                                        специализированных технологий семантического
1 Навигация по рубрикаторам и поиск                     поиска, основанных на моделях Semantic WEB [3-6].
в гетерогенных информационных                           Описание способов будет иллюстрироваться их
системах                                                реализацией в существующих программных
                                                        продуктах, в частности, на примере программной
   С     развитием     технологий     построения        платформы ZooSPACE [7], предназначенной для
гетерогенных распределенных информационных              интеграции       разнородных       распределенных
систем, включающих в себя множество различных           информационных            систем,         успешно
баз данных с различной структурой и содержанием,        функционирующей в ИВТ СО РАН на базе
актуальным становится вопрос поиска информации в        распределенных узлов в городах Новосибирск,
базах данных с использованием онтологий,                Томск, Красноярск и Иркутск и объединяющей
тезаурусов     и    классификационных      схем,        сегодня более 70 различных баз данных с общим
представленных в виде отдельных баз данных              количеством записей более 60 миллионов.
(БДОТК - базы данных онтологий, тезаурусов и                Несмотря на привлекательность перспектив
классификаторов).                                       использования технологий Semantic Web для поиска
   Существует множество различных способов              информации [8], реальность сталкивается с фактом,
построения БДОТК, организации доступа к их              что подавляющее большинство информационных
содержимому и реализации явных и неявных связей         ресурсов, организованных в виде различных баз
между БДОТК и другими гетерогенными                     данных (реляционных, иерархических, сетевых и
информационными ресурсами. Многие из этих               пр.), поддерживают прежде всего ту или иную
способов основаны на строгих онтологических             булеву      модель      атрибутивного       поиска
моделях [1,2] и для практической реализации             информации [9], т.е. поиска, основанного на
                                                        использовании метаданных и предопределенных
Труды   XVIII Международной конференции                 индексов (точек доступа).
DAMDID/RCDL’2016 «Аналитика и управление                    Нашу задачу можно сформулировать и так:
данными     в   областях   с    интенсивным             требуется найти все записи в некотором множестве
использованием данных», Ершово, 11-14 октября           гетерогенных     баз    данных,     которые    бы
2016                                                    соответствовали определенной онтологической




                                                   78
   Рисунок 1 Формирование структуры записи статьи тезауруса с динамическими связями с внешними
   базами данных

сущности (статье тезауруса, рубрике, коду                 запросов отличается от стандартного для SRU языка
рубрикатора и пр.). Для определенности ниже эту           запросов CQL, но на наш взгляд он более удобен для
онтологическую сущность мы будем ниже называть            формирования запросов и, что немаловажно, более
статьей тезауруса, понимая, что на ее месте может         нагляден.
быть и другое. В качестве решения можно                      На Рисунке 1 схематично представлен алгоритм
рассматривать алгоритм получения результата,              работы клиента и сервера при просмотре статьи
реализованный      в   виде    функционирующего           тезауруса.
серверного программного модуля для некоторой                 Выбор клиентом статьи тезауруса порождает
информационной системы. Эта задача практически            обращение к WEB-серверу, который в свою очередь
полностью эквивалентна задачи навигации по                формирует запрос к серверу баз данных, хранящему
статьям тезауруса, когда для текущей статьи               информацию о текущем тезаурусе (БД тезауруса).
тезауруса отображается информация о связанных с           Этот запрос соответствует запросу на поиск записи
этой статьей записях из выбранного множества в            (статьи) по ее однозначному идентификатору, в
общем случае гетерогенных баз данных. При этом            результате его выполнения должна быть получена
«привязка» связанных записей баз данных к статье          запись БД, соответствующая требуемой статье
тезауруса должна быть динамической, т.е.                  тезауруса и содержащей полную информацию о ней.
формироваться      в    процессе    формирования             Если клиентом был сформулирован список баз
представления собственно статьи тезауруса.                данных, записи которых следует соотнести с
   Итак, клиент, используя WEB-браузер может              текущей статьей тезауруса, должен быть включен
просматривать тезаурус, перемещаясь по связанным          механизм формирования запросов к каждой базе
статьям. Каждая выбранная статья тезауруса должна         данных из выбранного списка, выполнения этих
быть представлена клиенту в виде некоторой                запросов на соответствующих серверах БД,
универсальной структуры, которая может быть               получение ответов и формирование специальных
однозначно интерпретирована, т.е. эта структура           элементов (postings) в записи статьи тезауруса,
должна соответствовать какой-нибудь стандартной           содержащих информацию об именах баз данных и
схеме данных, используемой для описания статей            количестве найденных записей [10]. Заметим, что
тезауруса. Ниже везде мы будем использовать схему         выполнение запросов к внешним базам данных
данных ZThes [10] в формате XML [11]. Также мы            может происходить параллельно с асинхронным
будем подразумевать, что все необходимые                  завершением.
обращения к серверам баз данных будут                        
                                                              . . .
соответствовать спецификациям SRU [12] с языком                
запросов RPN [13] в синтаксисе PQF [14]. Этот язык               31.27.20




                                                     79
                             Запрос к серверу внешней БД



                                                                       SRU
                 Точки доступа к    Нет       Запрос Explain к
                                                                               Сервер БД (SRW/SRU)
                  БД известны?                  серверу БД


                   Да                                                  SRU
                                              Получение ответа



                                            Анализ точек доступа
                                                  для БД


                                           Формирование запроса
                                               на количество
                                            релевантных записей
                                                                       SRU
                                              Запрос на поиск к
                                                                               Сервер БД (SRW/SRU)
                                                 серверу БД

                                                                       SRU
                                              Получение ответа




   Рисунок 2 Формирование и исполнение запроса к внешней базе данных
       RT                         Например, из записи Explain можно сделать
       31.27.20
       Биохимия вирусов
                                                           вывод, что внешняя база данных поддерживает
       rus                    поисковые атрибуты USE (type 1) 14 (УДК) и 21
                                                (ключевые слова), операция сравнения - «равно»
                                                 (type 2 = 3), поисковые термы интерпретируются как
       AB
       1022                           строки или слова (type 4=1,2,108), поиск возможен
                                                как по точному совпадению (type 5=100), так и по
                                                    усечению справа (type 5=1). Поэтому к этой БД мы
   Несомненно, самым критичным блоком этого                можем обращаться с поиском «по ключевым словам»
алгоритма является блок формирования запросов к            и кодам рубрикатора УДК, т.е. если текущая статья
серверам внешних БД (на Рисунке 1 это блок обведен         нашего тезауруса (рубрикатора) является описанием
пунктиром). Именно от работы этого блока зависит           рубрики УДК, то запрос к внешней БД должен
качество динамической привязки записей внешних             выглядеть следующим образом (RPN в синтаксисе
БД к текущей статье тезауруса. Работа этого блока          PQF):
представлена на Рисунке 2.                                         @attr 1=14 @attr 5=1 {term}
   Прежде, чем сформировать запрос к серверу               где вместо «term» должен фигурировать код текущей
внешней БД, необходимо выяснить возможности                рубрики. Следует заметить, что здесь запрос
этой БД в смысле поиска информации, т.е. в                 сформулирован с усечением справа, т.е. будут
терминах      SRU      (или    Z39.50) определить          найдены все записи, коды УДК которых начинаются
поддерживаемые поисковые атрибуты и варианты их            с символов «term». Для иерархических рубрикаторов
комбинаций. Если отбросить тривиальные и                   это означает, что к текущей рубрике будут
маловероятные конфигурации с фиксированными                привязаны записи БД, содержащие коды УДК не
точками доступа, существует только один                    только текущей, но и всех дочерних рубрик.
регулярный способ – предварительно выполнить                   В     случае     тезауруса    каждая    статья
запрос    explain   (SRU,   SRW,      Z39.50)    и         идентифицируется ее заголовком, поэтому поиск во
проанализировать полученную структуру на предмет           внешних БД следует выполнять по ключевым
выявления поддержки требуемых поисковых                    словам, причем по полному их совпадению:
атрибутов.                                                                  @attr 1=21 {term}




                                                      80
где вместо «term» должен фигурировать заголовок               025.4.03
текущей статьи тезауруса.                                   
                                                          
    Строго говоря, такие запросы к внешним БД             
возможны только тогда, когда                                 Технически динамическая привязка записей из
   1. Для рубрикаторов:                                   внешней БД осуществляется также, как описано
                                                          выше.
        a. для всех внешних БД возможен поиск по
            кодам текущего рубрикатора                    1.2 Поиск по текстовым характеристикам статьи
   2. Для тезаурусов:                                     рубрикатора
        a. для всех внешних БД возможен поиск по             Если внешняя БД не проиндексирована по кодам
            ключевым словам                               текущего и связанных рубрикаторов, динамическая
        b. ключевые слова для всех внешних БД             привязка ее записей к статьям текущего рубрикатора
            сгенерированы из заголовков статей            становится задачей нетривиальной.
            текущего тезауруса.                              Действительно, для того чтобы записи из
     Последнее условие (2b) практически никогда не        внешних БД могли быть динамически привязаны к
выполняется, поскольку разработчики той или иной          текущей рубрике, необходимо иметь поисковый
внешней БД могут использовать тезаурусы,                  образ документов, соответствующих этой рубрике.
отличающиеся от нашего текущего, или не                   При этом почти очевидно, что для такого поискового
использовать вообще никакие, выбирая ключевые             образа     практически        бесполезна    текстовая
слова для записей БД в соответствии со своими             информация, которая обычно присутствует в
правилами.                                                описании статьи рубрикатора (название, описание,
    Возникает вопрос - как можно соотносить записи        названия связанных рубрик и т.п.). Тем не менее,
внешних БД с текущей статьей тезауруса при                можно придумать схему динамической привязки,
нарушении приведенных выше условий.                       основываясь, например, на векторной модели поиска
                                                          и дополнительной информации, которой должна
    Для рубрикаторов при нарушении условия 1a             быть дополнена каждая статья рубрикатора.
возможны два варианта:
                                                             В векторной модели поиска в качестве
    1. поиск по связанным кодам других                    поискового образа выступает некоторый уникальный
        рубрикаторов                                      для    каждой      статьи       рубрикатора   вектор,
    2. поиск по текстовым характеристикам статьи          определенный в многомерном пространстве в
        рубрикатора                                       декартовой системе координат, каждая ось которой
                                                          соответствуют своему уникальному термину из
1.1 Поиск по связанным кодам других                       фиксированного списка терминов, характеризующих
рубрикаторов                                              данную рубрику (Q1, Q2, ..., Qn) [15]. Если
   Поиск по связанным кодам других рубрикаторов           рассматривать каждую запись внешней БД как
может быть полезен, когда внешняя база                    аналогичный вектор в пространстве встречающихся
проиндексирована по этим кодам. Действительно,            в ней терминов (X1, X2, ..., Xm), то можно говорить о
если внешняя БД не проиндексирована по кодам              скалярном произведении векторов Q и X. Чем
текущего рубрикатора, например, ГРНТИ, но                 больше это скалярное произведение, тем выше
проиндексирована по кодам УДК, наличие связи              релевантность записи X запросу Q. Критерием
между статьей рубрикатора ГРНТИ и статьями УДК            отбора записей может быть выполнение условия
позволяет выполнить динамическую привязку                                1
записей из внешней БД не по кодам ГРНТИ, а по                                (𝑸𝑸 ∙ 𝑿𝑿) ≥ 𝑠𝑠, 𝑠𝑠 ≤ 1
                                                                          𝑛𝑛
кодам УДК.                                                   Таким образом, для реализации динамической
                                                   связи записей из внешних БД со статьей текущего
. . .

                                                          рубрикатора, необходимо:
  20.23.19                                  Наличие для каждой статьи рубрикатора
  20.23.19                 уникального характеристического вектора. Этот
  
     Процессы информационного поиска                      вектор может быть построен только в результате
                                               обработки большого количества документов, уже
  NT                                 имеющих в результате экспертной оценки коды
  rus
                                                          рубрик текущего рубрикатора. При этом для каждой
                                                рубрики количество обработанных документов
    20.23                                должно быть достаточно большим. Вопрос о
    BT                       достаточной размерности вектора, т.е. о количестве
    20.23
    Информационный поиск             необходимых характеристических терминов зависит
    rus                      от структуры рубрикатора и может быть решен в
                                               результате тестов.
  
    ruudc                               Определение параметра s, характеризующего
    RT                       минимально допустимое значение скалярного



                                                     81
произведения векторов при поиске может быть                    где частные запросы qN и qNM соответствуют
произведено в результате тестов.                               характеристическим векторам qN и qNM для рубрик N
    Наличие        возможности         серверами     БД        и N.M соответственно.
обрабатывать поисковые запросы, соответствующие                   Таким    образом,     поиск    по     текстовым
векторной модели поиска. Это требование как                    характеристикам статьи рубрикатора возможен и
правило выполняется для поисковых систем,                      может быть реализован в соответствии с упрощенной
ориентированных на неструктурированную и                       векторной моделью поиска конвертированием
слабоструктурированную информацию. Серверы БД                  векторных запросов в булеву форму.
ориентированы на булеву модель [9] поиска, что
затрудняет использование обсуждаемой технологии                2 Экспериментальный стенд и
привязки записей. Тем не менее в простейшем
варианте без использования частот встречаемости
                                                               результаты тестирования
терминов в документе и в наборе документов,                       Для проверки качества работы описанного выше
поисковый запрос, соответствующий векторной                    механизма поиска во внешних ресурсах по
модели, может быть представлен в булевом виде.                 текстовым характеристикам статей рубрикаторов
    В        качестве          примера       рассмотрим        были использованы:
характеристический вектор длиной n=4 с терминами                  1. База данных «Рубрикатор ГРНТИ», доступ к
a, b, c, d: Q = (a, b, c, d)/4.                                       которой предоставлялся по протоколам
 Таблица 1                                                            Z39.50 и SRU в соответствии со
                                                                      спецификациями Zthes на платформе
              Булевый запрос                                          ZooSPACE.
                                              s     K
              (& - AND, | - OR)                                   2. Специализированная база данных (СБД),
 1   a&b&c&d                                  1     0                 содержащая      записи     РЖ      ВИНИТИ
                                                                      (Информатика,                  Автоматика,
 2   (a&b&c) | (a&b&d) | (a&c&d) |           0,75   1                 Вычислительные науки) с проставленными
     (b&c&d)                                                          экспертами ВИНИТИ кодами ГРНТИ для
                                                                      групп кодов:
 3   (a&b) | (a&c) | (a&d) | (b&c) | (b&d)   0,5    2
     | (d&c)                                                            a. 20.*.* - Информатика
                                                                        b. 28.*.* - Кибернетика
  4 a|b|c| d                                 0,25 3
                                                                        c. 50.*.* - Автоматика и телемеханика.
при этом количество групп, объединенных
                                                                            Вычислительная техника.
операторами OR, равно количеству сочетаний из n
элементов по k: 𝑘𝑘!/(𝑛𝑛 − 𝑘𝑘)!, причем s = (n − k)/n.                 по 200 записей для каждого кода. Для
                                                                      упрощения обработки эта БД была загружена
   Из приведенного примера видно, что
                                                                      в СУБД PostgreSQL с активизацией функций
   1. При заданной длине n вектора запроса Q                          полнотекстового поиска в полях Title, Subject,
       параметр критерия отбора a принимает                           Abstract.
       дискретные значения в интервале (0