Как создать рекомендатель на основе тегов?

#machine-learning #scikit-learn #recommendation-engine #recommender-systems

#машинное обучение #scikit-learn #механизм рекомендаций

Вопрос:

Я работаю над платформой электронного обучения с использованием PHP. Он рекомендует видео, если вы не ответили на конкретный вопрос. Как мне создать систему рекомендаций, которая принимает теги и рекомендует соответствующие видео?

 import pandas as pd

videos = pd.read_csv("/file_path/vid_com_dup.csv",
                 sep = ',', names = 
 ['vid_id','ques_id','vid_name','vid_tags'])
videos.head()
  

Файл CSV содержит следующие столбцы:

  1. vid_id — первичный ключ и идентификатор для видео.
  2. ques_id — внешний ключ.
  3. vid_name — название видео.
  4. vid_tags — некоторые теги в виде (1 1, однозначный знак, сложение, оценка 1).

приведенные выше теги также находятся в таблице вопросов, которые похожи.

если в вопросе есть теги (1 1, однозначное число, сложение, оценка 1), я хочу создать рекомендатель, который использует вышеуказанные теги, сравнивает с другими видео, которые имеют похожие теги, и дает рекомендации.

Ответ №1:

Я наконец-то справился с этим, надеюсь, это поможет кому-то еще.

  1. Загрузить набор данных: изображение образца набора данных: введите описание изображения здесь

  2. Разделить теги: изображение разделенных тегов: введите описание изображения здесь В основном, на приведенном выше рисунке показано, что если присутствует тег, то 1 еще 0.

  3. Масштабируйте и преобразуйте приведенную выше матрицу функций: введите описание изображения здесь

  4. Примените Scikit для изучения ближайших соседей без присмотра. Вы должны получить индексы и матрицу расстояний. Что такое ближайшие соседи без присмотра? Для этой проблемы нас интересует только получение ближайших соседей на основе расстояний и рекомендаций, а не для классификации. Изображение индексов и расстояний ниже: введите описание изображения здесь

  5. Все готово. Все, что вам нужно сейчас, это функция для получения ближайших видеороликов. Это показано на изображении ниже, на котором есть код и результат. введите описание изображения здесь