Bài viết nào giống với 'Cristiano Ronaldo'?
Trong video, bạn đã học cách dùng đặc trưng NMF và cosine similarity để tìm các bài viết tương tự.
Hãy áp dụng điều đó cho mô hình NMF của bạn với các bài viết Wikipedia phổ biến, bằng cách tìm các bài viết giống nhất với bài viết về cầu thủ bóng đá Cristiano Ronaldo. Các đặc trưng NMF bạn đã tính trước đó có trong nmf_features, còn titles là danh sách tiêu đề bài viết.
Bài tập này là một phần của khóa học
Unsupervised Learning bằng Python
Hướng dẫn bài tập
- Import
normalizetừsklearn.preprocessing. - Áp dụng hàm
normalize()lênnmf_features. Lưu kết quả vàonorm_features. - Tạo DataFrame
dftừnorm_features, dùngtitleslàm index. - Dùng bộ truy cập
.loc[]củadfđể chọn hàng'Cristiano Ronaldo'. Gán kết quả choarticle. - Dùng phương thức
.dot()củadfvớiarticleđể tính cosine similarity của mỗi hàng vớiarticle. - In kết quả phương thức
.nlargest()củasimilaritiesđể hiển thị các bài viết giống nhất. Phần này đã được làm sẵn, nên hãy bấm 'Gửi câu trả lời' để xem kết quả!
Bài tập tương tác thực hành trực tiếp
Hãy thử làm bài tập này bằng cách hoàn thành đoạn mã mẫu này.
# Perform the necessary imports
import pandas as pd
from ____ import ____
# Normalize the NMF features: norm_features
norm_features = ____
# Create a DataFrame: df
df = ____
# Select the row corresponding to 'Cristiano Ronaldo': article
article = df.loc[____]
# Compute the dot products: similarities
similarities = ____
# Display those with the largest cosine similarity
print(similarities.nlargest())