Stopwords và hashing
Bước tiếp theo là loại bỏ stopwords rồi áp dụng hashing trick, sau đó chuyển kết quả thành TF-IDF.
Nhắc nhanh về các khái niệm này:
- Hashing trick cung cấp cách ánh xạ rất nhanh và tiết kiệm bộ nhớ từ một tập mục rất lớn (thậm chí vô hạn) — ở đây là tất cả các từ trong tin nhắn SMS — sang một số lượng giá trị hữu hạn nhỏ hơn.
- Ma trận TF-IDF phản ánh mức độ quan trọng của một từ đối với mỗi tài liệu. Nó xét đến cả tần suất xuất hiện của từ trong từng tài liệu lẫn tần suất của từ đó trên toàn bộ tập tài liệu.
Dữ liệu SMS đã được tách từ lưu trong sms tại cột words. Bạn đã xử lý khoảng trắng để văn bản sau khi tách gọn gàng hơn.
Bài tập này là một phần của khóa học
Machine Learning với PySpark
Hướng dẫn bài tập
- Import các lớp
StopWordsRemover,HashingTFvàIDF. - Tạo một đối tượng
StopWordsRemover(cột đầu vàowords, cột đầu raterms). Áp dụng chosms. - Tạo một đối tượng
HashingTF(đầu vào là kết quả từ bước trước, cột đầu rahash). Áp dụng chowrangled. - Tạo một đối tượng
IDF(đầu vào là kết quả từ bước trước, cột đầu rafeatures). Áp dụng chowrangled.
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.
from pyspark.ml.____ import ____, ____, ____
# Remove stopwords
wrangled = ____(inputCol=____, outputCol=____)\
.____(sms)
# Apply the hashing trick
wrangled = ____(____, ____, numFeatures=1024)\
.____(wrangled)
# Convert hashed symbols to TF-IDF
tf_idf = ____(____, ____)\
.____(wrangled).____(wrangled)
tf_idf.select('terms', 'features').show(4, truncate=False)