Đi sâu với n-gram

Phân tích cảm xúc với Python

Violeta Misheva

Data Scientist

Ngữ cảnh quan trọng

Tôi vui, không buồn.

Tôi buồn, không vui.

  • Thêm "không" trước một từ (phủ định) cho thấy tầm quan trọng của ngữ cảnh.
Phân tích cảm xúc với Python

Bắt ngữ cảnh với BOW

  • Unigram: token đơn lẻ

  • Bigram: cặp token

  • Trigram: bộ ba token

  • n-gram: chuỗi gồm n token

Phân tích cảm xúc với Python

Bắt ngữ cảnh với BOW

Thời tiết hôm nay thật tuyệt.

  • Unigram: { The, weather, today, is, wonderful }

  • Bigram: {The weather, weather today, today is, is wonderful}

  • Trigram: {The weather today, weather today is, today is wonderful}

Phân tích cảm xúc với Python

n-gram với CountVectorizer

from sklearn.feature_extraction.text import CountVectorizer
vect = CountVectorizer(ngram_range=(min_n, max_n))
# Chỉ unigram
ngram_range=(1, 1)
# Uni- và bigram
ngram_range=(1, 2)
Phân tích cảm xúc với Python

n tốt nhất là bao nhiêu?

Chuỗi token dài hơn
  • Nhiều đặc trưng hơn
  • Mô hình máy học chính xác hơn
  • Rủi ro quá khớp cao hơn
Phân tích cảm xúc với Python

Chỉ định kích thước từ vựng

CountVectorizer(max_features, max_df, min_df)
  • max_features: nếu chỉ định, chỉ lấy các từ xuất hiện nhiều nhất trong từ vựng
    • Nếu max_features = None, sẽ lấy tất cả từ
  • max_df: bỏ qua các từ có tần suất cao hơn mức chỉ định
    • Nếu là số nguyên: đếm tuyệt đối; nếu là số thực: tỷ lệ
    • Mặc định 1.0, tức không bỏ qua từ nào
  • min_df: bỏ qua các từ có tần suất thấp hơn mức chỉ định
    • Nếu là số nguyên: đếm tuyệt đối; nếu là số thực: tỷ lệ
    • Mặc định 1.0, tức không bỏ qua từ nào
Phân tích cảm xúc với Python

Passons à la pratique !

Phân tích cảm xúc với Python

Preparing Video For Download...