TfIdf: Fler sätt att transformera text

Sentimentanalys i Python

Violeta Misheva

Data Scientist

Vad består TfIdf av?

  • TF: termfrekvens: Hur ofta ett givet ord förekommer i ett dokument i korpusen

  • Invers dokumentfrekvens: Logratio mellan totalt antal dokument och antal dokument som innehåller ett specifikt ord

    • Används för att beräkna vikten av sällan förekommande ord
Sentimentanalys i Python

TfIdf-poäng för ett ord

  • TfIdf-poäng:
TfIdf = term frequency * inverse document frequency
  • BOW tar inte hänsyn till dokumentlängd, TfIdf gör det.
  • TfIdf fångar sannolikt ord som är vanliga i ett dokument men inte i hela korpusen.
Sentimentanalys i Python

Hur är TfIdf användbart?

Twitter airline sentiment
  • Låga TfIdf-poäng: United, Virgin America
  • Höga TfIdf-poäng: incheckningsprocess (om sällsynt i korpusen)
Mer om TfIdf
  • Eftersom frekventa ord straffas behöver stoppord inte hanteras separat.
  • Mycket användbart i sökfrågor och informationshämtning för att rangordna relevansen hos returnerade resultat.
Sentimentanalys i Python

TfIdf i Python

# Import the TfidfVectorizer
from sklearn.feature_extraction.text import TfidfVectorizer
  • Argument till 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)
Sentimentanalys i 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()

De 5 första raderna av data skapade med TfIdf

Sentimentanalys i Python

Nu kör vi en övning!

Sentimentanalys i Python

Preparing Video For Download...