Bag-of-Words für die Textklassifizierung: Warum nicht einfach Worthäufigkeiten anstelle von TFIDF verwenden?


24

Ein üblicher Ansatz zur Klassifizierung von Texten besteht darin, einen Klassifikator aus einem Wortsack zu schulen. Der Benutzer nimmt den zu klassifizierenden Text und zählt die Häufigkeit der Wörter in jedem Objekt, gefolgt von einer Art Beschnitt, um die resultierende Matrix in einer überschaubaren Größe zu halten.

Oft sehe ich Benutzer, die ihren Merkmalsvektor mit TFIDF konstruieren. Mit anderen Worten, die oben angegebenen Textfrequenzen werden durch die Häufigkeit der Wörter im Korpus herabgewichtet. Ich verstehe, warum TFIDF nützlich wäre, um die "unterscheidendsten" Wörter eines bestimmten Dokuments auszuwählen, um sie beispielsweise einem menschlichen Analytiker anzuzeigen. Aber im Fall einer Textkategorisierung mit standardmäßigen überwachten ML-Techniken, warum sollte man sich die Mühe machen, die Häufigkeit der Dokumente im Korpus nach unten zu gewichten? Wird nicht der Lernende selbst entscheiden, wie wichtig es ist, jedem Wort / jeder Wortkombination etwas zuzuweisen? Ich wäre Ihnen dankbar, wenn Sie darüber nachdenken würden, welchen Wert die IDF gegebenenfalls hinzufügt.

Antworten:


29

Die Antwort ist sehr einfach: TF-IDF kann in Kombination mit einigen überwachten Methoden bessere Ergebnisse erzielen als Frequenzen mit einfachen Begriffen.

Das kanonische Beispiel verwendet die Kosinusähnlichkeit als Maß für die Ähnlichkeit zwischen Dokumenten. Wenn der Cosinus des Winkels zwischen der TF-IDF-Vektordarstellung von Dokumenten genommen wird, können relevante ähnliche Dokumente mit höherer Genauigkeit als bei TF allein erfolgreich abgerufen werden.

Dies liegt daran, dass IDF die Gewichtung von allgemeinen Wörtern verringert und die ungewöhnlichen Wörter in einem Dokument hervorhebt. In den meisten Nachrichtenartikeln geht es nicht um Strauße, daher ist ein Nachrichtenartikel mit "Strauß" ungewöhnlich, und wir möchten dies wissen, wenn wir versuchen, Dokumente zu finden, die ähnlich sind.

Aber im Fall einer Textkategorisierung mit standardmäßigen überwachten ML-Techniken, warum sollte man sich die Mühe machen, die Häufigkeit der Dokumente im Korpus nach unten zu gewichten? Wird nicht der Lernende selbst entscheiden, wie wichtig es ist, jedem Wort / jeder Wortkombination etwas zuzuweisen?

xyxyy), dann haben wir uns und unseren armen, überarbeiteten Computern die Aufgabe sehr erleichtert! Ich denke, dies ist eine unterschätzte Komponente des Fachgebiets - die Leute verbringen viel Zeit damit, die Algorithmen zu studieren und zu betrachten, weil sie domänenunabhängig sind, aber mehr über Ihre Daten und das Problem zu wissen, das Sie zu lösen versuchen, kann Wege vorschlagen Verbesserte Datenerfassung oder Datenrepräsentation, die die Aufgabe so viel einfacher machen - und so einfach, dass ein Modell aufwändiger Raffinessen nicht erforderlich ist.

Eine Reihe von Ressourcen gefunden werden kann hier , die ich der Einfachheit halber reproduzieren.

  • K. Sparck Jones. "Eine statistische Interpretation der Termspezifität und ihrer Anwendung beim Abrufen". Journal of Documentation, 28 (1). 1972.

  • G. Salton und Edward Fox und Wu Harry Wu. Msgstr "Erweiterte Boolesche Informationsabfrage". Mitteilungen des ACM, 26 (11). 1983.

  • G. Salton und MJ McGill. "Einführung in die moderne Informationsrecherche". 1983

  • G. Salton und C. Buckley. Msgstr "Ansätze zur Termgewichtung bei der automatischen Texterfassung". Informationsverarbeitung und -verwaltung, 24 (5). 1988.

  • H. Wu und R. Luk und K. Wong und K. Kwok. "Interpretieren von TF-IDF-Termgewichtungen als Treffen von Relevanzentscheidungen". ACM-Transaktionen in Informationssystemen, 26 (3). 2008.


Danke für den Hinweis @ user777! Bin dankbar. Ich schaue mir diese Artikel an. Gibt es allgemeine Klassen von Algorithmen, von denen wir erwarten, dass sie bevorzugt von TFIDF gegenüber nur von TF profitieren?
shf8888

@ shf8888 Ich bin mir nicht sicher, ob es allgemeine Klassen gibt, in denen man besser ist. Es ist möglich! Soweit mir bekannt ist, besteht der erste Reflex einer Person, die an einer NLP-Aufgabe arbeitet, darin, zuerst TF und dann TF-IDF als Basismethoden zu testen, bevor ein komplizierteres Modell erstellt wird. Auf diese Weise können Sie quantifizieren, wie viel mehr Leistung Sie für den durch die Verwendung immer komplizierter werdender Modelle verursachten Mehraufwand erwerben.
Sycorax sagt Reinstate Monica

Vielen Dank! Nun, die Antwort, dass "empirisch gesehen TFIDF mit einigen Algorithmen eine höhere Leistung als TF bieten kann" (wenn Sie nicht gegen meine Zusammenfassung mit einem Satz protestieren), ist aus meiner Sicht definitiv gut. Vielen Dank für die Hinweise.
shf8888

2

Im typischen Fall könnten Sie viel mehr Dokumente in Ihrem Korpus haben als beschriftete Dokumente. Das heißt, der IDF kann unter Verwendung des gesamten Korpus viel genauer und vollständiger berechnet werden.

Betrachten Sie als nächstes den Fall, in dem der Korpus, den Sie bisher in die Hände bekommen können, alle beschriftet ist oder die beschriftete Teilmenge "groß genug" ist. In diesem Fall könnte die Anzahl der für das Training erforderlichen Iterationen möglicherweise geringer sein, wenn TfIDF verwendet wird, da der Lernalgorithmus nicht so viel lernen muss.

Schließlich könnten Sie in demselben Fall auch nur tf oder tf und idf separat bereitstellen (oder auch tfidf einschließen). Ich würde denken, dass dies möglicherweise zu besseren Ergebnissen führen könnte, wenn beispielsweise eine ausgefeilte Kernelfunktion verwendet wird.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.