Рекомендаційний рушій за сюжетом
У цій вправі ми побудуємо рекомендаційний рушій, який пропонує фільми на основі схожості сюжетних ліній. Вам надано функцію get_recommendations(), що приймає назву фільму, матрицю схожості та indices (Series) як аргументи й повертає список найподібніших фільмів. Серію indices уже підготовлено для вас.
Також вам надано Series movie_plots, що містить описи сюжетів кількох фільмів. Ваше завдання — згенерувати матрицю косинусної схожості для tf-idf-векторів цих описів.
Потім перевіримо ефективність нашого рушія, згенерувавши рекомендації для одного з моїх улюблених фільмів — The Dark Knight Rises.
Ця вправа є частиною курсу
Інженерія ознак для NLP у Python
Інструкції до вправи
- Ініціалізуйте
TfidfVectorizerз англійськимиstop_words. Назвіть йогоtfidf. - Побудуйте
tfidf_matrix, навчивши та перетворивши дані про сюжети фільмів за допомогоюfit_transform(). - Згенеруйте матрицю косинусної схожості
cosine_sim, використовуючиtfidf_matrix. Не використовуйтеcosine_similarity()! - Скористайтеся
get_recommendations(), щоб отримати рекомендації для'The Dark Knight Rises'.
Інтерактивна практична вправа
Спробуйте виконати цю вправу, доповнивши цей зразок коду.
# Initialize the TfidfVectorizer
tfidf = ____(____='english')
# Construct the TF-IDF matrix
tfidf_matrix = tfidf.____(movie_plots)
# Generate the cosine similarity matrix
cosine_sim = ____(tfidf_matrix, tfidf_matrix)
# Generate recommendations
print(get_recommendations(____, cosine_sim, indices))