ИИ и машинное обучение
Что такое эмбеддинг (embedding)?
Эмбеддинг (embedding) — это запись текста, изображения или другого объекта в виде вектора чисел, где похожие по смыслу объекты расположены рядом. Именно эмбеддинги позволяют компьютеру сравнивать документы по смыслу, а не по совпадению слов.
Эмбеддинг создаёт отдельная модель: она получает текст и возвращает список из сотен или тысяч чисел. Сами числа человеку ничего не говорят, но расстояние между двумя векторами показывает, насколько похожи тексты.
Поэтому фразы «как вернуть товар» и «условия возврата покупки» оказываются рядом, хотя не имеют ни одного общего слова. На этом построены семантический поиск, рекомендации, группировка похожих текстов и RAG.
Где применяется
Эмбеддинги стоят за большинством «умных» функций продуктов: поиск по смыслу в базе знаний, подбор похожих товаров и статей, группировка обращений по темам, поиск дубликатов, защита от спама. Во всех случаях сравнивают векторы, а не тексты.
В AI-разработке это первый шаг любой системы, которая ищет в собственных данных. Документы делят на части, превращают в векторы моделью эмбеддингов и сохраняют в векторной базе. Потом поиск находит нужные фрагменты и передаёт их языковой модели.
Пример
Запросы «как вернуть товар» и «оформление возврата покупки» не имеют общих слов, но их векторы рядом. Обычный поиск по ключевым словам второй запрос не найдёт, а поиск по эмбеддингам вернёт нужную инструкцию.
from sentence_transformers import SentenceTransformer, util
model = SentenceTransformer('intfloat/multilingual-e5-base')
a = model.encode('как вернуть товар')
b = model.encode('оформление возврата покупки')
print(util.cos_sim(a, b)) # близко к 1 — тексты об одном
Эмбеддинг и векторная база: разница
Эмбеддинг — это сам вектор, результат работы модели. Векторная база данных — хранилище, куда эти векторы складывают, чтобы быстро находить ближайшие. Получать эмбеддинги можно и без векторной базы, но искать среди миллионов векторов без неё неудобно.
Частые вопросы
Чем эмбеддинги отличаются от поиска по ключевым словам?
Поиск по словам ищет точные совпадения и не находит синонимы или другие формулировки. Эмбеддинги сравнивают смысл, поэтому находят нужный документ, даже если в нём нет ни одного слова из запроса. На практике оба подхода часто сочетают.
Какую модель эмбеддингов выбрать?
Для украинского и русского языков берут многоязычные модели: англоязычные хуже работают с кириллицей. Выбор зависит и от способа запуска — через API провайдера или собственная модель на своём сервере, если данные нельзя передавать наружу.
Можно ли восстановить текст из эмбеддинга?
Точно — нет, это не обычное сжатие. Но вектор содержит информацию о смысле, и исследования показывают, что приблизительно восстановить текст можно. Поэтому хранилище векторов защищают так же, как и сами документы.
Бывают ли эмбеддинги не только для текста?
Да, так же кодируют изображения, аудио и видео. Мультимодальные модели размещают разные типы данных в одном пространстве, поэтому можно искать картинку по текстовому описанию: их векторы оказываются рядом.
Обучение программированию в OWU
Освойте профессию в IT на практических курсах с менторами и реальными проектами.
Выбрать курс