TfIdf:更多文字轉換方法

Python 情感分析

Violeta Misheva

Data Scientist

TfIdf 的組成是什麼?

  • TF:term frequency(詞頻):某個詞在語料庫中一份文件內出現的次數

  • 逆文件頻率(IDF):所有文件數與含有該詞之文件數的對數比值

    • 用來計算不常見詞的權重
Python 情感分析

詞的 TfIdf 分數

  • TfIdf 分數
TfIdf = term frequency * inverse document frequency
  • BOW 不考量文件長度,但 TfIdf 會考量。
  • TfIdf 易捕捉在單一文件常見、跨文件不常見的詞。
Python 情感分析

TfIdf 有什麼用?

Twitter 航空公司情緒
  • 低 TfIdf 分數:United、Virgin America
  • 高 TfIdf 分數:check-in process(若跨文件少見)
更多關於 TfIdf
  • 因為會懲罰高頻詞,較少需要額外處理停用詞。
  • 常用於搜尋與資訊檢索,用來排序回傳結果的相關性。
Python 情感分析

Python 中的 TfIdf

# Import the TfidfVectorizer
from sklearn.feature_extraction.text import TfidfVectorizer
  • TfidfVectorizer 的參數:max_features、ngram_range、stop_words、token_pattern、max_df、min_df
vect = TfidfVectorizer(max_features=100).fit(tweets.text)
X = vect.transform(tweets.text)
Python 情感分析

TfidfVectorizer

X
<14640x100 sparse matrix of type '<class 'numpy.float64'>'
    with 119182 stored elements in Compressed Sparse Row format>
X_df = pd.DataFrame(X_txt.toarray(), columns=vect.get_feature_names())
X_df.head()

以 TfIdf 產生的前 5 列資料

Python 情感分析

一起來練習吧!

Python 情感分析

Preparing Video For Download...