Lebih rinci dengan n-gram

Analisis Sentimen dengan Python

Violeta Misheva

Data Scientist

Konteks itu penting

Saya bahagia, bukan sedih.

Saya sedih, bukan bahagia.

  • Menaruh 'tidak' di depan kata (negasi) menunjukkan pentingnya konteks.
Analisis Sentimen dengan Python

Menangkap konteks dengan BOW

  • Unigram: token tunggal

  • Bigram: pasangan token

  • Trigram: tiga token

  • n-gram: urutan n token

Analisis Sentimen dengan Python

Menangkap konteks dengan BOW

Cuaca hari ini indah.

  • 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}

Analisis Sentimen dengan Python

n-gram dengan CountVectorizer

from sklearn.feature_extraction.text import CountVectorizer
vect = CountVectorizer(ngram_range=(min_n, max_n))
# Hanya unigram
ngram_range=(1, 1)
# Uni- dan bigram
ngram_range=(1, 2)
Analisis Sentimen dengan Python

n terbaik itu berapa?

Urutan token lebih panjang
  • Menghasilkan lebih banyak fitur
  • Akurasi model machine learning lebih tinggi
  • Risiko overfitting
Analisis Sentimen dengan Python

Menentukan ukuran kosakata

CountVectorizer(max_features, max_df, min_df)
  • max_features: jika ditentukan, hanya menyertakan kata paling sering teratas dalam kosakata
    • Jika max_features = None, semua kata disertakan
  • max_df: abaikan istilah dengan frekuensi lebih tinggi dari nilai yang ditetapkan
    • Jika bilangan bulat, hitungan absolut; jika float, proporsi
    • Bawaan 1.0, artinya tidak mengabaikan istilah apa pun
  • min_df: abaikan istilah dengan frekuensi lebih rendah dari nilai yang ditetapkan
    • Jika bilangan bulat, hitungan absolut; jika float, proporsi
    • Bawaan 1.0, artinya tidak mengabaikan istilah apa pun
Analisis Sentimen dengan Python

Ayo berlatih!

Analisis Sentimen dengan Python

Preparing Video For Download...