Открытая библиотека ExactusSemVectors

Описание

Библиотека создана при поддержке Фонда содействия инновациям (договор № 6ГУКодИИС12-D7/72695 о предоставлении гранта на выполнение проекта открытых библиотек от 26 декабря 2021 г.)

Название: Открытая библиотека ExactusSemVectors для формирования кросс-языковых векторных представлений текстов и их фрагментов на основе глубокого обучения для решения задач информационного поиска и классификации текстовой информации

Руководитель проекта: Шелманов Артём Олегович

Исполнитель: Зубарев Денис Владимирович

Организация финансирования: Федеральный исследовательский центр «Информатика и управление» Российской академии наук

Срок выполнения: 2021–2023

Ссылка на готовый проект: http://gitlab.com/semvectors/doc_enc

Аннотация

Открытая библиотека ExactusSemVectors может применяться в различных областях для решения задач семантического анализа естественно-языковых текстов, в которых требуется преобразование больших объёмов текстов в единое векторное представление (эмбеддинги). К числу таких задач относятся:

  • сравнение документов по смыслу (semantic matching);
  • задачи информационного поиска, в которых в качестве запроса выступает документ-образец, для которого необходимо найти похожие документы;
  • текстовая классификация и кластеризация.

Сферой применения библиотеки могут быть промышленные наукоёмкие решения:

  • поисково-аналитические машины,
  • DLP-системы,
  • системы текстовой аналитики,
  • интеллектуального подбора кадров,
  • динамической контентной фильтрации.

Характеристики

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

  • проводить обучения моделей;
  • настраивать обученные модели (на примере классификации текстов);
  • проводить оценку качества и производительности обученных моделей.

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

Новизна проекта. Отличительными особенностями библиотеки является:

  • поддержка нескольких языков (русский, английский, впоследствии другие языки);
  • обучение на большом объёме автоматически размеченных данных;
  • формирование векторов, оптимизированных для индексации в системах приближённого поиска ближайших соседей (важно для использования в промышленных системах условного поиска и обработки больших массивов текстов).

Описание технологии. Иерархическая модель состоит из нескольких уровней:

  1. верхний уровень — сам исходный текст;
  2. далее текст разбивается на фрагменты;
  3. фрагменты могут содержать несколько предложений.

На каждом уровне иерархии применяется свой энкодер. В рамках эксперимента были опробованы предобученные энкодеры из библиотек (Transformers, Sentence-transformers), обученные энкодеры (LSTM, GRU), а также обученные трансформеры и его варицаии (Fnet, трансформер с локальным вниманием). Было проведено мультизадачное обучение с помощью двойного энкодера в поиске переводных предложений (если уровень предложений присутствует в модели) и в поиске похожих текстов. Также были подготовлены новые датасеты для обучения на задаче поиска тематически похожих документов (SimEnWiki, SimRuWiki, ParalWiki, SimEnSci).