Bắt đầu ngayBắt đầu miễn phí

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

Xem khóa học

Hướng dẫn bài tập

  • Import các lớp StopWordsRemover, HashingTFIDF.
  • Tạo một đối tượng StopWordsRemover (cột đầu vào words, cột đầu ra terms). Áp dụng cho sms.
  • Tạo một đối tượng HashingTF (đầu vào là kết quả từ bước trước, cột đầu ra hash). Áp dụng cho wrangled.
  • Tạo một đối tượng IDF (đầu vào là kết quả từ bước trước, cột đầu ra features). Áp dụng cho wrangled.

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)
Chỉnh sửa và Chạy Mã