Бурное развитие поисковых систем (search engine) было вызвано взрывным ростом объемов публичных интернет-ресурсов и отсутствием эффективных способов навигации по ним. Сегодня массивы данных в корпоративных сетях тоже быстро растут, что делает актуальным использование поисковых систем, способных находить нужную информацию в разнообразных хранилищах компании и предоставлять к ним доступ через «единое окно».

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

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

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

Вопросам организации хранения данных для обеспечения эффективного доступа к документам в многопользовательских корпоративных системах уделяется достаточно много внимания [1, 2], однако об организации поиска этого сказать нельзя. В большинстве существующих корпоративных систем вопрос решается путем разграничения поиска по разным хранилищам. Однако для работы часто необходим поиск сразу по нескольким источникам корпоративных данных, что означает необходимость обеспечить учет прав доступа пользователей при формировании поисковой выдачи. Одно из решений — показывать только данные, доступные конкретному сотруднику компании. Другое — выводить все найденные документы, но не позволять пользователю видеть содержимое закрытых для него файлов. Однако во втором случае предполагается отсутствие конфиденциальной информации в названиях документов, что не всегда осуществимо. Первый вариант более универсален и гарантирует соблюдение корпоративной политики обеспечения безопасности.

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

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

Методика

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

Таблица. Обратный индекс 

Терм Документы
знание d1, d5, d6
сила d2
наказание d5, d7
наука d3

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

Любой поиск осуществляется в некоторой коллекции документов, но в случае поиска в Интернете коллекция — это набор всех собранных веб-страниц, а в корпоративном поиске такой коллекцией может быть тематическая подборка документов (например, «нормативно-правовые акты» или «договоры на закупки за 2020 год»). В зависимости от роли пользователя (наличия определенных прав доступа к документам) и от содержимого поискового запроса коллекция документов начинает меняться, что влечет два следствия:

  • Следствие 1. Словарь коллекции. Словарь формируется из уникальных термов всей коллекции документов D, уменьшение которой приводит и к сокращению словаря. Количество термов в словаре определяет размерность векторного пространства для матрицы «документ — терм». Это означает, что меняется размерность векторного пространства для представления коллекции. 
  • Следствие 2. Веса. Исключение из коллекции D документов, недоступных пользователю U, означает, что изменятся веса для ранжирования термов в оставшихся документах. Это приведет к деградации релевантности поисковой выдачи, которая, скорее всего, уже не будет отвечать запросам пользователя, или, что еще хуже, результат поиска введет его в заблуждение, что может непосредственно сказаться на эффективности принимаемых бизнес-решений.

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

  • |D| — число документов в коллекции,
  • |td| — количество уникальных термов в коллекции D,
  • tD — словарь коллекции,
  • |d| — количество уникальных термов в документе d,
  • td — список уникальных термов в документе d,
  • ntd — количество случаев, когда терм t встречается в документе d,
  • ntD — число документов из коллекции D, в которых t встречается один и более раз (ntd > 1). 

Рассмотрим ранжирующую функцию F (t,d,D), где t — это терм, d — документ, D — коллекция документов. Для ее вычисления возьмем за основу алгоритм TF-IDF [3] (формула (1) https://preprints.ru/article/471 или https://preprints.ru/files/494). Эта функция позволяет сортировать результаты поиска по убыванию вычисленного с ее помощью веса документа в зависимости от искомого терма и коллекции документов D, состоящей из документов d1, …, d|DU|.

Пусть для пользователя U доступна только часть коллекции — например, первые |DU| документов. Тогда вес терма t в документе d изменится согласно следствиям 1 и 2: TFIDF (t, d, DU) будет иметь нулевое значение для всех документов, недоступных пользователю, а для документов, на просмотр которых права есть, в формуле (1) изменится значение выражения под логарифмом [3].

Для дальнейшего понимания изменений функции TFIDF (t, d, D) в зависимости от подокументного доступа, рассмотрим векторное представление коллекции — матрицу «документ — терм». Размерность матрицы будет составлять |tD| х |D|, где |tD| — количество уникальных термов в коллекции, а |D| — количество документов в ней. Для пользователя U эта матрица будет обладать меньшей размерностью |tDU| х |DU|, а значения ее ячеек изменятся по-разному в зависимости от терма. Изменение числа доступных пользователю документов влечет за собой еще два следствия:

  • Следствие 3. Неравномерное изменение весов. Для любого терма, не входящего в недоступные пользователю документы, веса не изменятся, поскольку не поменяется число содержащих его документов. Это означает, что актуальная сложность вычислений ODU для TFIDF(t, d, DU) оказывается меньше, чем при полном пересчете всех значений весов, поэтому можно быстро пересчитывать веса и «на лету» формировать выдачу с сортировкой по релевантности индивидуально для каждого пользователя (или роли). При таком подходе практически не пострадает скорость корпоративного поиска, даже несмотря на ограничения доступа к информации в многопользовательских системах. 
  • Следствие 4. Число вхождений термов в документы. При подокументном доступе число вхождений термов в документы ntd не меняется в зависимости от прав доступа пользователя. Иными словами, если права пользователей ограничены, это никак не влияет на содержание самих этих документов, а значит, не меняется и распределение слов по ним.

Исходя из этих следствий, можно предложить оптимизированный алгоритм для пересчета матрицы TFIDF (t, d, DU).

При введении подокументного доступа нет необходимости каждый раз заново вычислять компонент ранжирующей функции ntd. Если из коллекции D исключаются документы D?U, недоступные пользователю, то значение  ntDU — новое значение числа документов, содержащих терм, присутствующий в исключенных документах, — может быть посчитано как разность ntD — ntD?U (формула (2) в статье https://preprints.ru/article/471 или https://preprints.ru/files/494).

Далее, если в доступных документах нет искомого терма, то, благодаря следствию 3, пересчет весов сводится к уменьшению числа документов |D?U|. Когда термы из исключенных документов встречаются в оставшихся, знаменатель выражения под логарифмом в формуле (2) изменится. Но это изменение, по сути, означает вычисление разницы двух векторов, а не полный пересчет всей матрицы. Таким образом, появляется методическая возможность для реализации более быстрого алгоритма ускоренного пересчета релевантности.

Для тестирования преимуществ этого подхода была проведена серия экспериментов.

Эксперименты 

Для проведения экспериментов в качестве набора данных использовали коллекцию D из 1000 текстовых документов общей тематики и разной длины, случайным образом выбранных из большей коллекции. Словарь коллекции tD включает 10 тыс. термов.

Для первых двух экспериментов в документы коллекции D добавлялся суррогатный терм ts (искусственный терм для гарантии его отсутствия в исходных документах) в разном количестве, определяемом долей μ, μ∈(0,001, 0,002, …, 0,099, 0,1) так, чтобы тексты содержали этот терм в различных пропорциях — от 1 до 100 суррогатных термов в одном документе. Таким образом, при поиске по суррогатному терму ts должно отображаться μ∗|D| текстов, отсортированных по убыванию ранжирующей функции F (t, d, D).

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

На рис. 1 показан результат первого эксперимента. Видно, что ранжирующая функция TFIDF демонстрирует линейную зависимость весов, определяющих порядок выдачи, от параметра μ: чем чаще суррогатный терм встречается в документе, тем больше вес (релевантность) этого документа и тем выше он должен отображаться в списке результатов поиска по данному терму. В корпоративном поиске такое поведение ранжирующей функции обеспечивает корректность порядка выдачи: пользователь получит найденные документы ровно в том порядке, в каком ожидает: самые подходящие окажутся на верхней строчке списка.

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

 

Рис. 2. Зависимость весов от количества суррогатных документов в коллекции при разном количестве доступных документов μ

 

Однако в случае использования других ранжирующих функций — TFIDF L1, TFIDF L2, BM25L, где используется нормализация [4], — указанная связь между числом искомых термов в документе и его позицией среди результатов пропадает. Так как документы имеют различную длину, нормирование ранжирующей функции приводит к искажению порядка выдачи: вместо линейной зависимости веса от количества суррогатных термов возникает разброс значений, вес документов с большим количеством термов оказывается низким (ниже линии TFIDF), а высокие значения веса получают только некоторые документы с малым количеством искомых термов. Для пользователя это означает непредсказуемую сортировку результатов поиска.

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

Во втором эксперименте была создана модель подокументного доступа: из коллекции D случайным образом удалялось различное количество документов, как содержащих суррогатный терм, так и без него. Так имитировалось ограничение прав пользователя, имеющего доступ только к некоторой доле μ от общего числа документов коллекции, например к 10%, 50% или 90%. Далее для одного и того же поискового запроса изменялся уровень этого ограничения и производился полный перерасчет весов ранжирующей функции TFIDF.

На рис. 2 изображены зависимости весов документов от числа суррогатных термов при разной доле доступных документов в коллекции. Видно, что при доступности μ=90% веса документов почти не отличаются от базовых, когда пользователь имеет право видеть всю коллекцию. Но с уменьшением количества доступных документов до 10% от всей коллекции порядок назначения весов нарушается, а значит, падает и общая релевантность поисковой выдачи.

В качестве меры нарушения релевантности можно взять метрику Weighted Mean Absolute Error (WMAE), равную сумме взвешенных отклонений весов документов от базовых значений весов. Значение этой метрики для конкретной ранжирующей функции показывает, насколько сильно изменился порядок выдачи при изменении прав доступа: чем больше значение WMAE, тем менее релевантна выдача по сравнению с базовой. Метрика WMAE, в свою очередь, зависит от количества искомых термов в коллекции.

На рис. 3 изображена зависимость значения WMAE от доли доступных документов μ при разном количестве суррогатных термов в коллекции.

Рис. 3. Зависимость WMAE от доли доступных документов коллекции при разном распределении суррогатных термов по документам коллекции (числе документов с суррогатным термом ntsD)

 

Рис. 4. Зависимость nWMAE от доли доступных документов коллекции

 

Видно, что метрика WMAE, характеризующая ошибку вычисления релевантности, возникающую при ограничении прав доступа к части документов, растет, когда доля доступных документов становится менее 40%. Кроме того, ошибка WMAE увеличивается при поиске термов, чаще встречающихся в коллекции. Это означает, что релевантность нарушается тем сильнее, чем больше документов соответствует поисковому запросу пользователя и чем сильнее ограничены его права. На практике это приводит к следующему: если стажеру компании разрешено видеть лишь незначительную часть корпоративных документов, связанную с его узкой задачей, а он ищет информацию по достаточно общей теме (например, вводит слово «система», работая в сфере ИТ), сортировка полученных результатов будет некорректной.

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

В рамках третьего эксперимента проводился поиск по термам, содержащимся в документах исходной коллекции D (без добавления суррогатных термов). Распределение Ципфа [5] «ранг — частота» для коллекции D было поделено на два промежутка: высокочастотные и низкочастотные термы (граница проходила по значению ранга терма, равному 5000, при общем словаре коллекции около 10 000). Из каждого промежутка выбиралось одинаковое количество случайных термов, и по ним проводилась серия поисковых запросов: одинаковое число для высокочастотных и низкочастотных термов. После этого для различных значений μ (доли доступных документов) была вычислена нормированная версия метрики nWMAE, а затем результат был усреднен. Полученная зависимость средней ошибки релевантности от строгости ограничений показана на рис. 4: видно, что нарушения при сортировке результатов поиска начинаются уже при сокращении доли доступных документов до 80%. Это подтверждает высказанную гипотезу о пороговом характере влияния подокументного доступа на релевантность результатов корпоративного поиска.

***

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

Эффект нарушения порядка выдачи зависит от доли документов, доступных для пользователя: чем меньше доступно документов из коллекции, тем хуже релевантность поисковой выдачи. Учет частоты термов позволяет повысить качество поиска: для редких термов эффект нарушения релевантности выдачи ниже и не требуется целиком пересчитывать матрицу весов; полный же пересчет релевантности коллекции необходим при снижении доли доступных документов до 80% и при поисковых запросах с термами, число документов с которыми превышает 10% от общего числа документов коллекции.

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

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

ЛИТЕРАТУРА

1. Сергей Лизин. Управление данными в корпоративных системах / /Открытые системы. СУБД. — 2010. — № 8. — С. 31–31.URL: https://www.osp.ru/os/2010/08/13005226 (дата обращения: 21.03.2021).

2. Вадим Галлямшин, Артур Скок. Когда защита не работает // Открытые системы. СУБД. — 2014. — № 9. — С. 36–37. URL: https://www.osp.ru/os/2014/09/13043848 (дата обращения: 21.03.2021).

3. Jones K. S. A statistical interpretation of term specificity and its application in retrieval // Journal of documentation. — 1972. — Vol. 28., N. 1. — P. 11–21. URL: ru.wikipedia.org/wiki/TF-IDF (дата обращения: 21.03.2021). 

4. Singhal A., Buckley C., Mitra M. Pivoted document length normalization // Acm sigir forum. New York, NY, USA: ACM. — 2017. — Vol. 51, N. 2. — P. 176–184. 

5. Zipf G.K. Human Behavior and the Principle of Least Effort. Addison-Wesley Press., 1949. — 573 p. (P. 484–490). 

Федор Краснов (fkrasnov@naumen.ru) — директор департамента информационных систем управления, Ирина Смазневич (ismaznevich@naumen.ru) — бизнес-аналитик департамента информационных систем управления, компания Naumen (Москва).

DOI: 10.51793/OS.2021.76.10.001