Методы извлечения признаков для ранжирования документов по релевантности
Павел Желнов
Текст сгенерирован 8 апреля 2025 г. с помощью Gemini 2.0 Flash по моим запросам, итеративно отредактирован по дополнительным запросам через Canvas, после чего вручную вычитан и доредактирован мной.
1. Введение в ранжирование текстов в синтезах доказательств
1.1. Почему это важно?
В основе классических подходов к автоматизации скрининга в синтезах доказательств лежит задача ранжирования текстов по релевантности. Синтезы доказательств — это процесс исчерпывающего выявления, критической оценки и обобщения результатов исследований по определенной теме. Традиционно этот процесс требует больших затрат времени и усилий, так как исследователям приходится вручную просматривать множество научных публикаций.
1.2. Применение машинного обучения
Для облегчения этой задачи применяются методы машинного обучения, которые позволяют автоматизировать процесс отбора наиболее релевантных исследований. Машинное обучение — это современный вариант статистики, где вычисления производятся не вручную, а с использованием вычислительных методов и с полным задействованием возможностей современных компьютеров. Машинное обучение лежит и в основе нейросетей и современного искусственного интеллекта, включая нейросети трансформер-архитектуры (например, большие языковые модели), а также диффузионки, GAN и нейросети других архитектур (применения: компьютерное зрение, генерация картинок, автономные роботы).
1.3. Современные подходы к автоматизированному скринингу
Re-ranking. В современных решениях, применимых к автоматизированному скринингу, часто используется многоэтапный подход. Сначала методы машинного обучения используются для ранжирования всех доступных документов (например, научных статей) в порядке убывания их вероятной релевантности теме обзора. Затем, на втором этапе (реранжирование, re-ranking), применяются более сложные методы для уточнения порядка релевантности среди небольшого подмножества документов, отобранных на первом этапе.
RAG. Также здесь могут применяться методы генерации, дополненной поиском (Retrieval Augmented Generation, RAG). RAG предполагает, что большая языковая модель не только генерирует текст, но и обращается к внешним источникам информации (например, базе данных) для получения дополнительных знаний, которые затем используются при генерации. Это позволяет повысить точность и полноту ответов модели.
Агенты. Кроме того, в последнее время все большее внимание привлекают агентные системы, выводящие идею RAG на новый уровень. В таких системах компьютерная программа, помимо использования методов машинного обучения, получает возможность выполнять и другие операции, такие как поиск в базах данных или в интернете, и использовать результаты этих операций для принятия решений. Это позволяет создавать более гибкие и мощные системы, способные самостоятельно находить и обрабатывать информацию из различных источников.
1.4. Состояние дел в синтезе доказательств
Практических решений для автоматизации скрининга в синтезах доказательств с использованием наиболее инновационных технологий, таких как RAG и агенты, в настоящее время в широком доступе не существует, но мы, исследователи в сфере методов синтезов доказательств, работаем в этом направлении)
1.5. Процесс ранжирования
До ранжирования. См. ниже («Предобработка текста»).
Само ранжирование (не разбирается в статье). После представления исходных текстов в виде «фич» (см. об этом ниже), производится их пересортировка по релевантности (в один или несколько этапов) — как уже отмечалось, это и есть ранжирование. Какие именно методы применяются для ранжирования, мы не будем разбирать в этой статье, чтобы сконцентрироваться на этапе представления текста.
После ранжирования может происходить классификация документов по интересующим категориям, например «включить» или «исключить» (либо кластеризация с определением категорий на основе данных, если это необходимо).
Human in the loop. Чтобы ускорить процесс отбора после ранжирования, может устанавливаться статический или динамический порог. Все документы, набранные выше этого порога, считаются релевантными и включаются в обзор, а остальные исключаются из дальнейшего рассмотрения. Такой подход позволяет значительно сократить объем ручной работы, необходимой для проведения синтеза доказательств, путем автоматического исключения большей части нерелевантных документов, при этом сохраняя «человека в цикле» (human in the loop), то есть позволяя сохранить полный контроль над происходящим (полуавтоматизированный скрининг).
2. Предобработка текста
Предобработка текста — это процесс подготовки текста к извлечению признаков и последующему ранжированию. Он может включать в себя различные шаги, такие как:
- Удаление HTML-разметки. Удаление тегов и других элементов, которые не являются частью фактического текста.
- Удаление специальных символов. Удаление символов, которые не являются буквами, цифрами или знаками препинания.
- Приведение к нижнему регистру. Преобразование всего текста в нижний регистр, чтобы слова «Привет» и «привет» считались одинаковыми.
- Удаление стоп-слов. Удаление часто встречающихся слов, которые обычно не несут большого смысла, таких как «и», «в» и «на».
- Токенизация. Разделение текста на отдельные единицы, называемые токенами. Это очень важно, поэтому выношу ее в отдельный раздел для подробного разбора.
3. Токенизация
Токенизация — это процесс разделения текста на более мелкие единицы, называемые токенами. Токены могут быть отдельными словами, частями слов или знаками препинания. Смысл токенизации заключается в том, что мы готовы отказаться от человекоугодных, общепринятых принципов разделения слов (по словам, буквам) в угоду машинной модели, чтобы ей удобнее было делать свое дело. Способ разделения текста на токены зависит от конкретного используемого токенизатора и правил, которые он применяет.
Вот некоторые основные сценарии токенизации:
- Простая токенизация на основе пробелов. Разделение текста на токены по пробелам и знакам препинания. Например, «Hello, world!» → [«Hello,», «world!»]. Это быстрый и простой метод, используемый по умолчанию во многих инструментах (включая TfidfVectorizer в scikit-learn с его стандартным token_pattern).
- Токенизация с учетом пунктуации. Разделение текста с сохранением знаков препинания в качестве отдельных токенов. Это может быть важно для задач, где пунктуация несет смысл (например, анализ тональности).
- Токенизация для языков без пробелов. В языках, таких как китайский, японский и корейский, слова не разделяются пробелами. Токенизация требует использования специальных алгоритмов и словарей для идентификации границ слов. Например, предложение «我爱北京天安门» (Я люблю площадь Тяньаньмэнь в Пекине) должно быть токенизировано как [«我», «爱», «北京», «天安门»].
- Лемматизация и стемминг. Приведение слов к их базовой форме. Лемматизация использует словарь и морфологический анализ для нахождения леммы слова (например, «пошел» → «пойти»), сохраняя при этом смысл. Стемминг — это более простой процесс, который отбрасывает окончания слов (например, «слова» → «слов»), иногда жертвуя точностью.
- Мультимодальные эмбеддинги. Хотя это не совсем метод токенизации, это продвинутый способ представления слов, который выходит за рамки простого текста. Мультимодальные эмбеддинги объединяют текстовую информацию с другими типами данных, таких как изображения или аудио, для создания более богатых и контекстуализированных представлений слов. Например, представление слова «кошка» может быть обогащено визуальными признаками кошки, что позволяет модели лучше понимать концепцию «кошки».
4. Введение в извлечение признаков из текста
Фича-экстракция. После того, как предобработка и токенизация завершены, производится собственно «извлечение признаков» (feature extraction). Этим термином называется процесс перевода исходных данных (в данном случае текста) в нечто, поддающееся или лучше поддающееся анализу или машинному обучению.
Магия механизма внимания в трансформерах. В сущности, с применением современных методов искусственного интеллекта, а именно передовых больших языковых моделей (таких как ChatGPT), перевод текста в какую-то специальную форму уже не требуется и даже может навредить, так как эти модели лучше всего натренированы именно на работу с текстом в его естественном виде. За счет так называемого механизма внимания, предусмотренного в архитектуре нейросетей-трансформеров (легендарная статья Attention Is All You Need 2017 года с 175 тыс. цитирований в Google Scholar), к которым и относятся большие языковые модели, они умеют очень чутко улавливать контекст. Таким образом, при использовании этих моделей для ранжирования или скрининга статей в синтезах доказательств им передается сразу предобработанный (или даже вовсе «сырой», как есть) текст.
Мультимодальные трансформеры. При этом за счет мультимодальности (то есть способности работать со входными данными разных модальностей, а не только текстом — например, еще и с изображениями), топовые большие языковые модели могут подчас отлично справляться даже с необработанными PDF-файлами, содержащими вперемешку изображения и тексты — даже сложной структуры и верстки. Это сейчас очень бурно эволюционирующая область, и готовых решений для синтезов доказательств опять же пока особо нет.
Классические методы. Таким образом, откатим немного назад и посмотрим на сравнение более классических методов извлечения признаков из текста с упором на их ключевые характеристики. Результатом всех этих методик является некий массив (вектор, матрица, тензор) чисел, сгенерированных на основании исходного текста.
Разреженность и плотность векторов. В литературе по машинному обучению можно часто встретить данные термины. Вектор, в котором большинство значений равны нулю, называется разреженным (sparse), а вектор, в котором большинство значений отличны от нуля, называется плотным (dense). Таким образом, это просто характеристика вектора в зависимости от нашпигованности его ненулевыми значениями: чем их больше, тем плотнее. Разреженные вектора за счет этого более компактны (как бы парадоксально это ни прозвучало), занимают меньше места в памяти.
Дополнительно можно столкнуться с термином уплощение (flattening): это когда массив с большим количеством измерений «сплющивают» до одного измерения, например как если бы все строки одной таблицы переписать одну за другой в один ряд. Уплощение может понадобиться, если модель принимает на вход только одномерный массив (то есть список или вектор), а входной признак — многомерный (например, матрица или тензор).
5. Сравнение методов извлечения признаков из текста
5.1. Мешок слов (Bag of Words, BoW)
- Представление: Подсчитывает частоту встречаемости токенов в документе, игнорируя порядок токенов.
- Порядок слов: Нет.
- Контекст: Нет.
- Разреженность: Высокая (в основном разреженные векторы).
- Преимущества: Простота, легкость реализации, вычислительная эффективность.
- Недостатки: Игнорирует семантику, не учитывает важность токенов, чувствителен к размеру словаря.
5.2. N-граммы
- Представление: Последовательности из N последовательных токенов (например, униграммы, биграммы, триграммы).
- Порядок слов: Учитывает локальный порядок токенов.
- Контекст: Ограниченный локальный контекст.
- Разреженность: Высокая, но меньше, чем у BoW (особенно для больших N).
- Преимущества: Учитывает некоторый контекст, лучше BoW для некоторых задач.
- Недостатки: По-прежнему не учитывает длинные зависимости, разреженность увеличивается с N.
5.3. TF-IDF (Term Frequency — Inverse Document Frequency)
- Представление: Взвешивает частоту встречаемости токенов в документе (term frequency — TF) по обратной частоте документа (inverse document frequency — IDF).
- Порядок слов: Нет.
- Контекст: Нет.
- Разреженность: Высокая (в основном разреженные векторы).
- Преимущества: Лучше BoW за счет снижения веса общих токенов, легко реализуется.
- Недостатки: Игнорирует семантику, не учитывает порядок токенов.
5.4. Инвертированный индекс
- Представление: Структура данных, которая сопоставляет токены с документами, в которых они встречаются. По сути, словарь, где ключи — термины, а значения — списки идентификаторов документов.
- Порядок слов: Нет или да (в зависимости от реализации).
- Контекст: Нет.
- Разреженность: Не применимо (это структура данных, а не векторное представление).
- Преимущества: Очень эффективен для поиска документов, фундаментален для поисковых систем.
- Недостатки: Не представляет содержание документа в виде, подходящем для машинного обучения. Приведен здесь для контраста.
5.5. Простые векторные представления слов (например, Word2Vec, GloVe)
- Представление: Слова сопоставляются с плотными векторами низкой размерности, которые отражают семантические отношения (бесконтекстные эмбеддинги).
- Порядок слов: Косвенно, в той мере, в какой контекст влияет на процесс векторного представления (эмбеддинга).
- Контекст: Отражает семантический контекст (смысл слова), но не грамматические или синтаксические связи.
- Разреженность: Низкая (плотные векторы).
- Преимущества: Отражает семантическое значение, обрабатывает синонимию, снижает размерность.
- Недостатки: Может быть вычислительно дорогим в обучении, может не отражать все нюансы языка.
5.6. Непрерывный мешок слов (Continuous Bag of Words, CBOW)
- Представление: Предсказывает целевое слово на основе окружающего контекста. Изучает векторное представление слов в процессе.
- Порядок слов: Использует контекст, но сами контекстные слова рассматриваются как мешок (без порядка).
- Контекст: Да, использует окружающие слова.
- Разреженность: Низкая (плотные векторы)
- Преимущества: Вычислительная эффективность, отражает семантические отношения.
- Недостатки: Порядок контекстных слов не учитывается.
5.7. Пропуск слова (Skip-gram)
- Представление: Предсказывает окружающие слова из целевого слова. Изучает внедрение слов.
- Порядок слов: Использует контекст, но сами контекстные слова предсказываются независимо.
- Контекст: Да, использует окружающие слова.
- Разреженность: Низкая (плотные векторы)
- Преимущества: Эффективен с небольшими наборами данных, отражает семантические отношения.
- Недостатки: Может быть более вычислительно дорогим, чем CBOW.
5.8. Трансформеры (например, BERT, GPT)
- Представление: Контекстуализированные векторные представления слов, где представление слова зависит от всего предложения (контекстные эмбеддинги), либо статического представления вообще нет по причине того, что представления генерируются «на лету» в зависимости от заданного запроса (относительное реранжирование).
- Порядок слов: Да, по своей сути.
- Контекст: Богатый, отражает длинные зависимости.
- Разреженность: Низкая (плотные векторы).
- Преимущества: Современная производительность во многих задачах обработки естественного языка, отражает сложные языковые закономерности.
- Недостатки: Дороже в вычислительном отношении, сложнее в обучении и использовании.
6. Заключение
В этой статье мы рассмотрели основные методы представления текста, используемые в задачах, связанных с обработкой естественного языка, и обсудили их применимость для автоматизации скрининга в синтезах доказательств. Мы увидели, что современные большие языковые модели обладают значительным потенциалом для упрощения и ускорения этого процесса, но требуют дальнейших исследований и разработок для широкого практического применения.