Word2Vec
Trong bài tập này, bạn sẽ tạo một mô hình Word2Vec bằng Keras.
Corpus dùng để huấn luyện trước mô hình là kịch bản của tất cả các tập trong chương trình The Big Bang Theory, được chia câu theo câu. Dữ liệu này có sẵn trong biến bigbang.
Văn bản trong corpus đã được chuyển về chữ thường và mọi từ đều được token hóa. Kết quả được lưu trong biến tokenized_corpus.
Một mô hình Word2Vec đã được huấn luyện trước với kích thước cửa sổ ngữ cảnh là 10 từ (5 từ trước và 5 từ sau từ trung tâm), các từ xuất hiện ít hơn 3 lần đã bị loại bỏ và phương pháp skip-gram với vector 50 chiều được sử dụng. Mô hình được lưu trong tệp bigbang_word2vec.model.
Lớp Word2Vec đã được nạp sẵn trong môi trường từ gensim.models.word2vec.
Bài tập này là một phần của khóa học
Mạng nơ-ron hồi quy (RNN) cho Mô hình ngôn ngữ với Keras
Hướng dẫn bài tập
- Tải mô hình Word2Vec đã được huấn luyện trước.
- Lưu một
listvới các từ"bazinga", "penny", "universe", "spock", "brain"vào biếnwords_of_interest, giữ nguyên thứ tự đó. - Lặp qua từng từ quan tâm, dùng phương thức
.most_similar()trên thuộc tínhwvvà thêm 5 từ tương đồng nhất vàotop5_similar_wordsdưới dạng một dictionary. - In ra 5 từ hàng đầu tìm được cho mỗi từ trong danh sách quan tâm.
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.
# Word2Vec model
w2v_model = Word2Vec.load(____)
# Selected words to check similarities
words_of_interest = ____
# Compute top 5 similar words for each of the words of interest
top5_similar_words = []
for word in words_of_interest:
top5_similar_words.append(
{word: [item[0] for item in w2v_model.wv.____([word], topn=5)]}
)
# Print the similar words
____