Как измерить сходство слов и предложений

Урок 103 из 114 курса «Cohere: LLM University»: официальный курс Cohere LLM University (Кохир) на русском языке. Урок входит в платный доступ; первые уроки курса бесплатно.

О чём урок

Векторные представления предложений (sentence embeddings) — это основа языковых моделей, поскольку они связывают каждое предложение с определённым списком чисел (вектором) таким образом, что похожие предложения дают похожие векторы. Мы можем рассматривать эмбеддинги как способ размещения каждого предложения в пространстве (многомерном пространстве, но всё же пространстве), так что похожие предложения располагаются близко друг к другу. Как только у нас есть каждое предложение где-то в пространстве, естественно думать о расстояниях между ними. И ещё более интуитивный способ думать о расстояниях — это думать о сходствах, то есть о показателе, присваиваемом каждой паре предложений, который высок, когда эти предложения похожи, и низок, когда они отличаются. Сходство — очень полезная концепция в больших языковых моделях, поскольку оно может использоваться для поиска, перевода, суммаризации и во многих других приложениях. В этом ноутбуке мы разберём интуицию, лежащую в основе сходства между предложениями, включая скалярное произведение и косинусное сходство. Прочитайте сопутствующую статью в блоге здесь. Мы выполним следующие шаги: Шаг 1: Превращение текста в эмбеддинги — Используем endpoint Embed от Cohere для получения эмбеддингов предложений. Шаг 2: Вычисление скалярных произведений — Вычислим скалярные произведения между каждой парой эмбеддингов предложений, чтобы понять сходство между ними. Шаг 3: Вычисление косинусных сходств — Используем scikit-learn для получения косинусного сходства для каждой пары эмбеддингов предложений. Мы начнём с установки необходимых инструментов, а затем импортируем их. Введите свой API-ключ Cohere в следующей ячейке. Для этого сначала зарегистрируйтесь в Cohere (бесплатно!), если вы ещё этого не сделали. Затем получите свой API-ключ здесь. В этом ноутбуке мы будем работать с тремя предложениями и сохраним их в списке Python texts. Чтобы получить соответствующие эмбеддинги предложений, мы вызываем Embed endpoint с помощью co.embed().

План урока

  1. Обзор
  2. Настройка
  3. Шаг 1: Превращение текста в эмбеддинги
  4. Шаг 2: Вычисление скалярных произведений
  5. Шаг 3: Вычисление косинусных сходств

Урок входит в полный доступ. Полный текст и видео открываются после оплаты. Первые уроки каждого курса бесплатны.

Полезные гиды