AI-United » Allgemein » Bag of Words und TF-IDF

Bag of Words und TF-IDF

Bag of Words und TF-IDF

Bag of Words (BoW) stellt einen Algorithmus dar, der errechnet, wie oft ein Wort im Dokument auftritt. Diese Zählung von Wörtern ermöglicht es, Dokumente zu vergleichen und deren Ähnlichkeit für die Suche, die Dokumentenklassifizierung und die Themen Modellierung einzuschätzen. BoW ist eine Methode, die den Text für die Einführung ins Deep-Learning Netzwerk vorbereitet.

BoW zählt die Wörter mit ihren Wortzahlen im Dokument auf. In der Tabelle, wo die Wörter und Dokumente gespeichert werden, ist jede Zeile ein Wort, jede Spalte ein Dokument und jede Zelle eine Wortzahl. Jedes der Dokumente im Korpus wird durch die Spalten dargestellt, die gleich lang sind. Das sind die Vektoren der Wortzahl, die Ausgangsdaten ohne Kontext.

Bevor sie ins Neuronennetz eingeführt werden, wird jeder Vektor von Wortzahl so normalisiert, dass alle Elemente des Vektors eins betragen. Um die Wahrscheinlichkeit des Auftretens von Wörtern im Dokument darzustellen, wird die Häufigkeit jedes Wortes umwandelt. Wahrscheinlichkeiten, die ein bestimmtes Niveau übersteigen, aktivieren die Knoten im Netzwerk und üben Einfluss auf die Einordnung des Dokuments aus.

Term Frequency-Inverse Document Frequency (TF-IDF)

Term-frequency-inverse document frequency (TF-IDF) (die inverse Dokumenthäufigkeit) ist eine andere Methode, die das Thema eines Artikels erkennen lässt, wobei die enthaltenen Wörter berücksichtigt werden. TF-IDF miss die Relevanz, nicht die Häufigkeit. Die Wortzahlen in der Datenbasis werden durch TF-IDF Einschätzungen ersetzt.

TF-IDF misst, wie oft die Wörter im Dokument (die Auftrittshäufigkeit des Ausdrucks) erscheinen. Wörter wie “und” oder die Artikel erscheinen in allen Dokumenten sehr oft, deshalb werden sie ignoriert. Das ist die inverse Dokumentenhäufigkeit. Je mehr Dokumente es mit dem Wort gibt, desto weniger wertvoll ist das Wort als ein Signal. Dabei sollen nur die häufigen UND markanten Wörter als Marker bleiben. Die TF-IDF Relevanz jedes Wortes ist das normalisierte Datenformat, das auch eins ausmacht.

Diese Markierungswörter werden als Eigenschaften ins Neuronennetz eingeführt, um das Thema des Dokuments zu verstehen.

Das Generieren von BoW sieht folgenderweise aus:

    public class BagOfWordsVectorizer extends BaseTextVectorizer {
      public BagOfWordsVectorizer(){}
      protected BagOfWordsVectorizer(VocabCache cache,
             TokenizerFactory tokenizerFactory,
             List<String> stopWords,
             int minWordFrequency,
             DocumentIterator docIter,
             SentenceIterator sentenceIterator,
             List<String> labels,
             InvertedIndex index,
             int batchSize,
             double sample,
             boolean stem,
             boolean cleanup) {
          super(cache, tokenizerFactory, stopWords, minWordFrequency, docIter, sentenceIterator,
              labels,index,batchSize,sample,stem,cleanup);
    }

TF-IDF ist einfach, aber sehr leistungsfähig. Das trägt zu solchen verbreiteten und nützlichen Instrumenten wie der Google-Suche bei.

BoW unterscheidet sich von Word2vec. Der Hauptunterschied liegt darin, dass Word2vec einen Vektor pro Wort, während BoW eine Zahl (die Wortzahl) produziert. Word2vec eignet sich hervorragend zum Erforschen von Dokumenten und zum Erkennen von Inhalt und Teilmengen von Inhalt. Die Vektoren repräsentieren den Kontext von jedem Wort, die N-Gramme. BoW ist gut geeignet für die Klassifizierung von Dokumenten.

Quelle

AI-United-Redaktion

Kommentar hinzufügen

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