Einführung

Das Verständnis der Bedeutung eines Wortes in einem Textual content ist entscheidend für die Analyse und Interpretation großer Datenmengen. Hier kommt die Time period Frequency-Inverse Doc Frequency (TF-IDF)-Technik in der natürlichen Sprachverarbeitung (Pure Language Processing, NLP) ins Spiel. Indem TF-IDF die Einschränkungen des traditionellen Bag-of-Phrases-Ansatzes überwindet, verbessert es die Textklassifizierung und stärkt die Fähigkeit von Modellen des maschinellen Lernens, Textinformationen effektiv zu verstehen und zu analysieren. Dieser Artikel zeigt Ihnen, wie Sie ein TF-IDF-Modell von Grund auf neu erstellen in Python und wie man es numerisch berechnet.

Überblick

  1. TF-IDF ist ein Schlüssel NLP-Technik das die Textklassifizierung verbessert, indem es Wörtern auf Grundlage ihrer Häufigkeit und Seltenheit eine Bedeutung zuweist.
  2. Wesentliche Begriffe, darunter Time period Frequency (TF), Doc Frequency (DF) und Inverse Doc Frequency (IDF), werden definiert.
  3. Der Artikel beschreibt detailliert die schrittweise numerische Berechnung der TF-IDF-Ergebnisse, beispielsweise anhand von Dokumenten.
  4. Eine praktische Anleitung zur Verwendung TfidfVectorizer von scikit-learn zum Konvertieren von Textdokumenten in eine TF-IDF-Matrix.
  5. Es wird in Suchmaschinen, bei der Textklassifizierung, beim Clustering und bei der Zusammenfassung verwendet, berücksichtigt jedoch weder die Wortreihenfolge noch den Kontext.
TF-IDF-Matrix-mit-tfidfvectorizer

Terminologie: Wichtige Begriffe, die in TF-IDF verwendet werden

Bevor Sie sich in die Berechnungen und den Code vertiefen, müssen Sie die Schlüsselbegriffe verstehen:

  • T: Begriff (Wort)
  • D: Dokument (Wortgruppe)
  • N: Anzahl der Corpus
  • Korpus: der gesamte Dokumentensatz

Was ist Time period Frequency (TF)?

Die Häufigkeit, mit der ein Begriff in einem Dokument vorkommt, wird anhand der Begriffshäufigkeit (TF) gemessen. Die Gewichtung eines Begriffs in einem Dokument steht in direktem Zusammenhang mit seiner Häufigkeit. Die TF-Formel lautet:

Termfrequenz (TF) in TF-IDF

Was ist die Dokumenthäufigkeit (DF)?

Die Bedeutung eines Dokuments innerhalb eines Korpus wird anhand seiner Dokumenthäufigkeit (DF) gemessen. DF zählt die Anzahl der Dokumente, die die Phrase mindestens einmal enthalten, im Gegensatz zu TF, das die Vorkommen eines Begriffs in einem Dokument zählt. Die DF-Formel lautet:

DF

Was ist die Inverse Doc Frequency (IDF)?

Der Informationsgehalt eines Wortes wird anhand seiner inversen Dokumenthäufigkeit (IDF) gemessen. Bei der Berechnung der TF wird allen Begriffen das gleiche Gewicht zugewiesen, obwohl IDF dabei hilft, ungewöhnliche Begriffe hervorzuheben und häufige Begriffe (wie Stoppwörter) abzuwerten. Die IDF-Formel lautet:

Was ist die Inverse Document Frequency (IDF)

wobei N die Gesamtzahl der Dokumente und DF

Was ist TF-IDF?

TF-IDF steht für Time period Frequency-Inverse Doc Frequency, ein statistisches Maß, mit dem die Wichtigkeit eines Wortes für ein Dokument in einer Sammlung oder einem Korpus bewertet wird. Es kombiniert die Wichtigkeit eines Begriffs in einem Dokument (TF) mit der Seltenheit des Begriffs im gesamten Korpus (IDF). Die Formel lautet:

TF-IDF

Numerische Berechnung von TF-IDF

Lassen Sie uns die numerische Berechnung von TF-IDF für die gegebenen Dokumente aufschlüsseln:

Unterlagen:

  1. „Der Himmel ist blau.“
  2. „Heute scheint die Sonne hell.“
  3. „Die Sonne am Himmel ist hell.“
  4. „Wir können die scheinende Sonne sehen, die helle Sonne.“

Schritt 1: Termfrequenz (TF) berechnen

Dokument 1: „Der Himmel ist blau.“

Begriff Zählen TF
Die 1 1/4
Himmel 1 1/4
Ist 1 1/4
Blau 1 1/4

Dokument 2: „Heute scheint die Sonne hell.“

Begriff Zählen TF
Die 1 1/5
Sonne 1 1/5
Ist 1 1/5
hell 1 1/5
Heute 1 1/5

Dokument 3: „Die Sonne am Himmel ist hell.“

Begriff Zählen TF
Die 2 2/7
Sonne 1 1/7
In 1 1/7
Himmel 1 1/7
Ist 1 1/7
hell 1 1/7

Dokument 4: „Wir können die scheinende Sonne sehen, die helle Sonne.“

Begriff Zählen TF
Wir 1 1/9
dürfen 1 1/9
sehen 1 1/9
Die 2 2/9
leuchtenden 1 1/9
Sonne 2 2/9
hell 1 1/9

Schritt 2: Inverse Dokumenthäufigkeit (IDF) berechnen

Mit N=4N = 4N=4:

Begriff Verteidigung Israelische Verteidigungsstreitkräfte
Die 4 log⁡(4/4+1)=log⁡(0,8)≈−0,223
Himmel 2 log⁡(4/2+1)=log⁡(1,333)≈0,287
Ist 3 log⁡(4/3+1)=log⁡(1)=0
Blau 1 log⁡(4/1+1)=log⁡(2)≈0,693
Sonne 3 log⁡(4/3+1)=log⁡(1)=0
hell 3 log⁡(4/3+1)=log⁡(1)=0
Heute 1 log⁡(4/1+1)=log⁡(2)≈0,693
In 1 log⁡(4/1+1)=log⁡(2)≈0,693
Wir 1 log⁡(4/1+1)=log⁡(2)≈0,693
dürfen 1 log⁡(4/1+1)=log⁡(2)≈0,693
sehen 1 log⁡(4/1+1)=log⁡(2)≈0,693
leuchtenden 1 log⁡(4/1+1)=log⁡(2)≈0,693

Schritt 3: TF-IDF berechnen

Berechnen wir nun die TF-IDF-Werte für jeden Begriff in jedem Dokument.

Dokument 1: „Der Himmel ist blau.“

Begriff TF Israelische Verteidigungsstreitkräfte TF-IDF
Die 0,25 -0,223 0,25 * -0,223 ≈-0,056
Himmel 0,25 0,287 0,25 * 0,287 ≈ 0,072
Ist 0,25 0 0,25 * 0 = 0
Blau 0,25 0,693 0,25 * 0,693 ≈ 0,173

Dokument 2: „Heute scheint die Sonne hell.“

Begriff TF Israelische Verteidigungsstreitkräfte TF-IDF
Die 0,2 -0,223 0,2 * -0,223 ≈ -0,045
Sonne 0,2 0 0,2 * 0 = 0
Ist 0,2 0 0,2 * 0 = 0
hell 0,2 0 0,2 * 0 = 0
Heute 0,2 0,693 0,2 * 0,693 ≈0,139

Dokument 3: „Die Sonne am Himmel ist hell.“

Begriff TF Israelische Verteidigungsstreitkräfte TF-IDF
Die 0,285 -0,223 0,285 * -0,223 ≈ -0,064
Sonne 0,142 0 0,142 * 0 = 0
In 0,142 0,693 0,142 * 0,693 ≈0,098
Himmel 0,142 0,287 0,142 * 0,287≈0,041
Ist 0,142 0 0,142 * 0 = 0
hell 0,142 0 0,142 * 0 = 0

Dokument 4: „Wir können die scheinende Sonne sehen, die helle Sonne.“

Begriff TF Israelische Verteidigungsstreitkräfte TF-IDF
Wir 0,111 0,693 0,111 * 0,693 ≈0,077
dürfen 0,111 0,693 0,111 * 0,693 ≈0,077
sehen 0,111 0,693 0,111 * 0,693≈0,077
Die 0,222 -0,223 0,222 * -0,223≈-0,049
leuchtenden 0,111 0,693 0,111 * 0,693 ≈0,077
Sonne 0,222 0 0,222 * 0 = 0
hell 0,111 0 0,111 * 0 = 0

TF-IDF-Implementierung in Python unter Verwendung eines integrierten Datensatzes

Nun wenden wir die TF-IDF-Berechnung an mit dem TfidfVektorisierer von scikit-learn mit einem integrierten Datensatz.

Schritt 1: Installieren Sie die erforderlichen Bibliotheken

Stellen Sie sicher, dass Sie scikit-learn installiert haben:

pip set up scikit-learn

Schritt 2: Bibliotheken importieren

import pandas as pd
from sklearn.datasets import fetch_20newsgroups
from sklearn.feature_extraction.textual content import TfidfVectorizer

Schritt 3: Laden Sie den Datensatz

Holen Sie sich den Datensatz der 20 Newsgroups:

newsgroups = fetch_20newsgroups(subset="practice")

Schritt 4: Initialisieren TfidfVektorisierer

vectorizer = TfidfVectorizer(stop_words="english", max_features=1000)

Schritt 5: Anpassen und Transformieren der Dokumente

Konvertieren Sie die Textdokumente in eine TF-IDF-Matrix:

tfidf_matrix = vectorizer.fit_transform(newsgroups.knowledge)

Schritt 6: Die TF-IDF-Matrix anzeigen

Konvertieren Sie die Matrix zur besseren Lesbarkeit in einen DataFrame:

df_tfidf = pd.DataFrame(tfidf_matrix.toarray(), columns=vectorizer.get_feature_names_out())
df_tfidf.head()
TF-IDF-Matrix

Abschluss

Mithilfe des 20 Newsgroups-Datensatzes und TfidfVectorizer können Sie eine große Sammlung von Textdokumenten in eine TF-IDF-Matrix konvertieren. Diese Matrix stellt die Wichtigkeit jedes Begriffs in jedem Dokument numerisch dar und erleichtert so verschiedene NLP Aufgaben wie Textklassifizierung, Clustering und erweiterte Textanalyse. Der TfidfVectorizer von scikit-learn bietet eine effiziente und unkomplizierte Möglichkeit, diese Transformation durchzuführen.

Häufig gestellte Fragen

F1. Warum verwenden wir das Logbuch der IDF?

Antwort: A: Die Verwendung des IDF-Logs hilft dabei, die Auswirkungen extrem häufiger Wörter zu verringern und zu verhindern, dass die IDF-Werte explodieren, insbesondere in großen Korpora. Dadurch wird sichergestellt, dass die IDF-Werte überschaubar bleiben und die Auswirkungen von Wörtern, die in Dokumenten sehr häufig vorkommen, werden reduziert.

F2. Kann TF-IDF für große Datensätze verwendet werden?

Antwort: Ja, TF-IDF kann für große Datensätze verwendet werden. Allerdings sind eine effiziente Implementierung und ausreichende Rechenressourcen erforderlich, um die damit verbundenen großen Matrixberechnungen zu bewältigen.

F3. Was sind die Einschränkungen von TF-IDF?

Antwort: Die Beschränkung von TF-IDF besteht darin, dass es die Wortreihenfolge oder den Kontext nicht berücksichtigt, jeden Begriff unabhängig behandelt und daher möglicherweise die nuancierten Bedeutungen von Ausdrücken oder die Beziehung zwischen Wörtern übersieht.

F4. Was sind einige Anwendungen von TF-IDF?

Antwort: TF-IDF wird in verschiedenen Anwendungen verwendet, darunter:
1. Suchmaschinen bewerten Dokumente nach Relevanz für eine Abfrage
2. Textklassifizierung zur Identifizierung der wichtigsten Wörter für die Kategorisierung von Dokumenten
3. Clustering zur Gruppierung ähnlicher Dokumente anhand von Schlüsselbegriffen
4. Textzusammenfassung, um wichtige Sätze aus einem Dokument zu extrahieren

Von admin

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert