XXVIII Открытая конференция студентов-филологов в СПбГУ

Анализ ошибок RAG-систем при поиске и извлечении релевантной информации

Елизавета Сергеевна Кадочникова
Докладчик
магистрант 1 курса
Санкт-Петербургский государственный университет

Ключевые слова, аннотация

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

Тезисы

Ключевые слова: RAG; большие языковые модели; векторные базы данных; эмбеддинг текста

Целью настоящего исследования является изучение слабых сторон RAG-систем в отношении их устойчивости к ошибкам, связанным с похожими, новыми и неизвестными словами при больших языковых моделей. Современные большие языковые модели (LLM) достигли значительных успехов в задачах генерации текста, но все еще сталкиваются с такими проблемами, как низкая точность и неспособность понимать контекст. RAG (Retrieval-Augmented Generation) системы [Wu et al., 2024] предлагают решение этих проблем, сочетая в себе методы извлечения и генерации текста для создания более точных ответов. Алгоритм работы RAG-системы состоит из следующих этапов:
Разделение документов на фрагменты (чанкинг, от англ. chunk — «кусок»), которое происходит за счет деления базы знаний на фрагменты, обеспечивая наиболее эффективную работу векторных поисковых систем.
Эмбеддинг текста чанков — процесс преобразования текста на естественном языке в векторы с помощью специальных программ — эмбеддеров.
Помещение и хранение результатов в специально созданной векторной базе данных.
Реализация поиска с помощью большой языковой модели: поиск в векторной базе наиболее косинусно близких векторов запроса и каждого чанка, которые отправляются вместе с запросом в языковую модель для уточнения контекста и повышения качества ответа. 
В нашем эксперименте использовались тексты по нутрициологии. Для векторного представления были рассмотрены несколько векторных баз: FAISS (Facebook AI Similarity Search), Chroma, Weaviate. Для каждой из них были рассмотрены различные варианты разбиения на чанки: фиксированные по размеру (по 512 или 1024 токена), разбиение по структурным элементам (заголовки, подзаголовки), создание семантических фрагментов. Для каждого варианта проводилось тестирование на искусственно измененных данных. В текст интегрировались в различных сочетаниях следующие элементы: новые для системы слова, похожие друг на друга слова, слова с ошибками разного типа. Интегрированная лексика помещалась в похожий или в различный контекст. Напр., термин поджелудочная был заменен на поджелейная, в слове пищевод в некоторых контекстах была допущена ошибка — пещевод, жевание было заменено на желание. Эксперимент показал, что разбиение текста по структурным элементам позволяет находить более релевантные фрагменты, а наименее благоприятным для работы RAG-системы сочетанием является использование похожих слов в одинаковых контекстах.
Актуальность исследования определяется растущей популярностью RAG-систем при создании разговорных голосовых помощников на основе искусственного интеллекта.

Исследование подготовлено при поддержке СПбГУ, шифр проекта 124032900006-1.

Литература: 
Wu S., Y. Xiong, Y. Cui, H. Wu, C. Chen, Y. Yuan, L. Huang, X. Liu, T. Kuo, N. Guan, C. J. Xue. Retrieval-Augmented Generation for Natural Language Processing: A Survey. URL: https://arxiv.org/abs/2407.13193v3 (дата обращения: 16.03.2025).