Phone icon Связаться с нами

ИИ и машинное обучение

Что такое эмбеддинг (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 на практических курсах с менторами и реальными проектами.

Выбрать курс