TfIdf: Další způsoby transformace textu

Sentiment Analysis v Pythonu

Violeta Misheva

Data Scientist

Z čeho se skládá TfIdf?

  • TF: frekvence termínu: Jak často se dané slovo vyskytuje v dokumentu korpusu

  • Inverzní frekvence dokumentu: Logaritmický poměr celkového počtu dokumentů a počtu dokumentů obsahujících dané slovo

    • Slouží k výpočtu váhy méně častých slov
Sentiment Analysis v Pythonu

Skóre TfIdf pro slovo

  • Skóre TfIdf:
TfIdf = term frequency * inverse document frequency
  • BOW nezohledňuje délku dokumentu, TfIdf ano.
  • TfIdf zachycuje slova běžná v dokumentu, ale méně v celém korpusu.
Sentiment Analysis v Pythonu

K čemu je TfIdf užitečný?

  • Nízké skóre TfIdf: United, Virgin America
  • Vysoké skóre TfIdf: proces odbavení (pokud vzácné napříč dokumenty)
Více o TfIdf
  • Penalizuje časté výrazy, takže méně potřeba explicitně řešit stopová slova.
  • Užitečné při vyhledávání a zjišťování relevance výsledků.
Sentiment Analysis v Pythonu

TfIdf v Pythonu

# Import the TfidfVectorizer
from sklearn.feature_extraction.text import TfidfVectorizer
  • Argumenty 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)
Sentiment Analysis v Pythonu

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()

Prvních 5 řádků dat vytvořených pomocí TfIdf

Sentiment Analysis v Pythonu

Pojďme si procvičit!

Sentiment Analysis v Pythonu

Preparing Video For Download...