Khám phá vector văn bản, phần 2
Sử dụng hàm return_weights() bạn đã viết ở bài trước, giờ bạn sẽ trích xuất các từ có trọng số cao nhất từ mỗi tài liệu trong vector văn bản, trả về một danh sách các chỉ số từ, và dùng danh sách đó để lọc vector văn bản chỉ còn những từ hàng đầu này.
Bài tập này là một phần của khóa học
Tiền xử lý cho Machine Learning bằng Python
Hướng dẫn bài tập
- Gọi
return_weights()để trả về các từ có trọng số cao nhất cho tài liệu đó. - Gọi
set()trênfilter_listđược trả về để loại bỏ các số trùng lặp. - Gọi
words_to_filter, truyền các tham số sau:vocabcho tham sốvocab,tfidf_vec.vocabulary_cho tham sốoriginal_vocab,text_tfidfcho tham sốvector, và3để lấytop_n3 từ có trọng số cao từ mỗi tài liệu. - Cuối cùng, truyền tập
filtered_wordsvàolistđể dùng làm bộ lọc cho vector văn bản.
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.
def words_to_filter(vocab, original_vocab, vector, top_n):
filter_list = []
for i in range(0, vector.shape[0]):
# Call the return_weights function and extend filter_list
filtered = ____(vocab, original_vocab, vector, i, top_n)
filter_list.extend(filtered)
# Return the list in a set, so we don't get duplicate word indices
return ____(filter_list)
# Call the function to get the list of word indices
filtered_words = ____(____, ____, ____, ____)
# Filter the columns in text_tfidf to only those in filtered_words
filtered_text = text_tfidf[:, list(____)]