Gợi ý theo hồ sơ người dùng

Xây dựng Recommendation Engine bằng Python

Rob O'Callaghan

Director of Data

Gợi ý mục‑đến‑mục

Hình minh họa gợi ý dựa trên tìm mục tương tự.

Xây dựng Recommendation Engine bằng Python

Hồ sơ người dùng

tfidf_summary_df:

Sách Phiêu lưu Kỳ ảo Bi kịch Bình luận xã hội
The Hobbit 1 1 0 0
Macbeth 0 0 1 0
... ... ... ... ...

Hồ sơ người dùng:

Hồ sơ Phiêu lưu Kỳ ảo Bi kịch Bình luận xã hội
User_001 ??? ??? ??? ???
Xây dựng Recommendation Engine bằng Python

Trích xuất dữ liệu người dùng

list_of_books_read = ['The Hobbit', 'Foundation', 'Nudge']

user_books = tfidf_summary_df.reindex(list_of_books_read)
print(user_books)
               age   ancient   angry   brave   battle   fellow    ...
 The Hobbit   0.21      0.53    0.41    0.64     0.01     0.02    ...
 Foundation   0.31      0.90    0.42    0.33     0.64     0.04    ...
      Nudge   0.61      0.01    0.45    0.31     0.12     0.74    ...
Xây dựng Recommendation Engine bằng Python

Xây dựng hồ sơ người dùng

user_prof = user_movies.mean()

print(user_prof)
age      0.376667
ancient  0.480000
angry    0.426667
brave    0.256667
             ...
print(user_prof.values.reshape(1,-1))
[0.376667, .480000, 0.426667, 0.256667, ...]
Xây dựng Recommendation Engine bằng Python

Tìm gợi ý cho một người dùng

# Create a subset of only the non read books
non_user_movies = tfidf_summary_df.drop(list_of_movies_seen, axis=0)

# Calculate the cosine similarity between all rows user_prof_similarities = cosine_similarity(user_prof.values.reshape(1, -1), non_user_movies)
# Wrap in a DataFrame for ease of use user_prof_similarities_df = pd.DataFrame(user_prof_similarities.T, index=tfidf_summary_df.index, columns=["similarity_score"])
Xây dựng Recommendation Engine bằng Python

Lấy các gợi ý hàng đầu

sorted_similarity_df = user_prof_similarities.sort_values(by="similarity_score",
                                                         ascending=False)

print(sorted_similarity_df)
                                similarity_score
Title                                           
The Two Towers                          0.422488
Dune                                    0.363540
The Magicians Nephew                    0.316075
...                                     ...
Xây dựng Recommendation Engine bằng Python

Ayo berlatih!

Xây dựng Recommendation Engine bằng Python

Preparing Video For Download...