Шесть способов разобрать посты Hacker News

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

О чём урок

Большие языковые модели значительно улучшают представление и понимание языка машинами. Эти возможности дают разработчикам больше опций для рекомендации, анализа и фильтрации контента. В этом блокноте мы берем тысячи самых популярных постов с Hacker News и демонстрируем некоторые из этих функций: По заданному заголовку существующего поста найти наиболее похожие посты (поиск ближайших соседей с использованием embeddings) По заданному нами запросу найти наиболее похожие посты Построить график архива статей по схожести (где похожие посты находятся близко друг к другу, а разные — далеко) Кластеризовать посты для выявления основных общих тем Извлечь основные ключевые слова из каждого кластера, чтобы мы могли определить, о чем этот кластер (Экспериментально) Назвать кластеры с помощью генеративной языковой модели Начнем с установки необходимых инструментов, а затем импортируем их. Вставьте ваш API key Cohere в следующую ячейку. Для этого сначала зарегистрируйтесь в Cohere (бесплатно!), если вы еще этого не сделали. Затем получите ваш API key здесь. Мы будем использовать топ-3000 постов из раздела Ask HN на Hacker News. Мы предоставляем CSV-файл, содержащий эти посты. Мы вычисляем embeddings, используя модель Cohere embed-v4.0. Полученная матрица embeddings имеет 3000 строк (по одной для каждого поста) и 1024 столбца (что означает, что каждый заголовок поста представлен 1024-мерным embedding). Для поиска ближайших соседей мы можем использовать библиотеку Annoy с открытым исходным кодом. Давайте создадим индекс семантического поиска и передадим ему все embeddings. Мы можем запрашивать соседей конкретного поста, используя get_nns_by_item. Мы не ограничены поиском по существующим элементам. Если у нас есть запрос, мы можем создать его embedding и найти его ближайших соседей в наборе данных. Что, если мы хотим просматривать архив вместо того, чтобы только искать в нем? Давайте построим все вопросы на 2D-графике, чтобы вы могли визуализировать посты в архиве и их схожесть. Перейдем к кластеризации embeddings с использованием KMeans из scikit-learn.

План урока

  1. Настройка
  2. Набор данных: Топ-3000 постов Ask HN
  3. Создание индекса семантического поиска
  4. 2- По заданному нами запросу найти наиболее похожие посты
  5. 3- Построить график архива статей по схожести
  6. 4- Кластеризовать посты для выявления основных общих тем
  7. 5- Извлечь основные ключевые слова из каждого кластера, чтобы мы могли определить, о чем этот кластер
  8. График с информацией о кластерах и ключевых словах

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

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