Примеры сравнения текста
Эндпоинт эмбеддингов OpenAI API можно использовать для измерения связности или схожести между текстами.
Используя понимание текста GPT-3, эти эмбеддинги достигли передовых результатов на бенчмарках в задачах обучения без учителя и переноса обучения.
Эмбеддинги можно использовать для семантического поиска, рекомендаций, кластерного анализа, обнаружения почти дубликатов и других задач.
Для дополнительной информации прочитайте объявления в блогах OpenAI:
- Введение текстовых и кодовых эмбеддингов (январь 2022)
- Новая и улучшенная модель эмбеддингов (декабрь 2022)
Для сравнения с другими моделями эмбеддингов смотрите Таблицу лидеров Massive Text Embedding Benchmark (MTEB)
Семантический поиск
Эмбеддинги можно использовать для поиска либо самостоятельно, либо как часть более сложной системы.
Самый простой способ использовать эмбеддинги для поиска следующий:
- До поиска (прекомпьют):
- Во время поиска (вычисление в реальном времени):
- Сгенерируйте эмбеддинг для поискового запроса
- Найдите ближайшие эмбеддинги в вашей базе данных
- Верните лучшие результаты
Пример использования эмбеддингов для поиска показан в Semantic_text_search_using_embeddings.ipynb.
В более продвинутых системах поиска косинусное сходство эмбеддингов может использоваться как одна из множества характеристик для ранжирования результатов поиска.
Ответы на вопросы
Лучший способ получить надежно точные ответы от GPT-3 — предоставить ему исходные документы, в которых можно найти правильные ответы. Используя описанную выше процедуру семантического поиска, вы можете эффективно просматривать корпус документов на предмет релевантной информации и затем передавать эту информацию GPT-3 через подсказку для ответа на вопрос. Мы демонстрируем этот подход в Question_answering_using_embeddings.ipynb.
Рекомендации
Рекомендации очень похожи на поиск, за исключением того, что вместо свободного текстового запроса на вход подаются элементы из набора.
Пример использования эмбеддингов для рекомендаций показан в Recommendation_using_embeddings.ipynb.
Аналогично поиску, эти оценки косинусного сходства могут использоваться самостоятельно для ранжирования элементов либо как признаки в более сложных алгоритмах ранжирования.
Кастомизация эмбеддингов
Хотя веса модели эмбеддингов OpenAI нельзя дообучить, вы тем не менее можете использовать тренировочные данные для настройки эмбеддингов под ваше приложение.
В Customizing_embeddings.ipynb мы приводим пример метода кастомизации эмбеддингов с помощью тренировочных данных. Идея метода состоит в обучении пользовательской матрицы, которая умножается на векторы эмбеддингов для получения новых, кастомизированных эмбеддингов. При наличии качественных тренировочных данных эта матрица поможет выделить признаки, релевантные вашим тренировочным меткам. Можно считать умножение матрицы как (а) модификацией эмбеддингов или (б) модификацией функции расстояния, используемой для измерения расстояний между эмбеддингами.