Eine intuitive Anleitung zur Textvektorisierung

In meinem letzten Put uphaben wir uns Basis Fashions und Massive Language Fashions (LLMs) genauer angesehen. Wir haben versucht zu verstehen, was sie sind, wie sie verwendet werden und was sie so besonders macht. Wir haben untersucht, wo sie intestine funktionieren und wo sie vielleicht nicht funktionieren. Wir haben ihre Anwendungsmöglichkeiten in verschiedenen Bereichen wie dem Verstehen von Texten und der Generierung von Inhalten besprochen. Diese LLMs haben den Bereich der Verarbeitung natürlicher Sprache (NLP) grundlegend verändert.

Wenn wir an eine NLP-Pipeline denken, ist Characteristic Engineering (auch bekannt als Merkmalsextraktion oder Textdarstellung oder Textvektorisierung) ist ein sehr wesentlicher und wichtiger Schritt. Dieser Schritt umfasst Techniken zur Darstellung von Textual content als Zahlen (Merkmalsvektoren). Wir müssen diesen Schritt ausführen, wenn wir an einem NLP-Drawback arbeiten, da Pc keinen Textual content verstehen können, sondern nur Zahlen. Und diese numerische Darstellung von Textual content muss in die Algorithmen des maschinellen Lernens eingespeist werden, um verschiedene textbasierte Anwendungsfälle wie Sprachübersetzung, Stimmungsanalyse, Zusammenfassung usw. zu lösen.

Diejenigen von uns, die sich mit der Pipeline des maschinellen Lernens im Allgemeinen auskennen, wissen, dass Characteristic Engineering ein sehr wichtiger Schritt ist, um gute Ergebnisse aus dem Modell zu erzielen. Dasselbe Konzept gilt auch für NLP. Wenn wir eine numerische Darstellung von Textdaten generieren, ist ein wichtiges Ziel, das wir erreichen wollen, dass die generierte numerische Darstellung sollte in der Lage sein, die Bedeutung des zugrunde liegenden Textes zu erfassen. Daher werden wir in unserem heutigen Beitrag nicht nur die verschiedenen zu diesem Zweck verfügbaren Techniken besprechen, sondern auch bewerten, wie nah sie bei jedem Schritt unserem Ziel kommen.

Einige der wichtigsten Ansätze zur Merkmalsextraktion sind:

– Eine Sizzling-Kodierung

– Beutel mit Wörtern (BOW)

– N-Gramme

– TF-IDF

– Worteinbettungen

Wir beginnen mit dem Verständnis einiger grundlegender Terminologien und ihrer Beziehung zueinander.

Korpus — Alle Wörter im Datensatz

Wortschatz — Eindeutige Wörter im Datensatz

Dokumentieren — Eindeutige Datensätze im Datensatz

Wort — Jedes Wort in einem Dokument

Nehmen wir beispielsweise der Einfachheit halber an, dass unser Datensatz nur drei Sätze enthält. Die folgende Tabelle zeigt den Unterschied zwischen Korpus und Vokabular.

Jetzt wird jeder der drei Datensätze im obigen Datensatz als Dokument (D) und jedes Wort im Dokument als Wort (W) bezeichnet.

Beginnen wir nun mit den Techniken.

Dies ist eine der grundlegendsten Techniken zum Umwandeln von Textual content in Zahlen.

Wir verwenden denselben Datensatz wie oben. Unser Datensatz enthält drei Dokumente – wir können sie D1, D2 und D3 nennen.

Wir wissen, dass das Vokabular (V) (Katze, spielt, Hund, Junge, Ball) ist und 5 Elemente enthält. Bei One Sizzling Encoding (OHE) stellen wir jedes Wort in jedem Dokument basierend auf dem Vokabular des Datensatzes dar. „1“ erscheint an Positionen, an denen eine Übereinstimmung vorliegt.

Aus den oben genannten Daten können wir daher für jedes Dokument eine Sizzling-Encoded-Darstellung ableiten.

Was wir hier im Wesentlichen tun, ist, dass wir jedes Wort unseres Dokuments in ein 2-dimensionaler Vektor, wobei die erste Dimension die Anzahl der Wörter im Dokument und der zweite Wert die Größe des Wortschatzes angibt (V=5 in unserem Fall).

Obwohl diese Methode sehr einfach zu verstehen und umzusetzen ist, weist sie auch einige Nachteile auf, weshalb die Verwendung dieser Technik nicht empfohlen wird.

– Spärliche Darstellung (d. h. es gibt viele Nullen und für jedes Wort steht an nur einer Stelle eine Eins). Je größer das Corpus, desto größer der V-Wert und desto spärlicher die Darstellung.

– Leidet an Aus dem Vokabular Probleme – das heißt, wenn zum Zeitpunkt der Inferenz ein neues Wort eingeführt wird (ein Wort, das während des Trainings nicht in V vorhanden ist), funktioniert der Algorithmus nicht.

– Letzter und wichtigster Punkt: Dadurch wird die semantische Beziehung zwischen Wörtern nicht erfasst (was unser Hauptziel ist, wenn Sie sich an unsere Diskussion oben erinnern).

Das führt uns zur Untersuchung der nächsten Technik

Es ist eine sehr beliebte und ziemlich alte Technik.

Der erste Schritt besteht darin, erneut das Vokabular (V) aus dem Datensatz zu erstellen. Dann vergleichen wir die Anzahl der Vorkommen jedes Wortes aus dem Dokument mit dem erstellten Vokabular. Die folgende Demonstration anhand früherer Daten hilft, dies besser zu verstehen

Im ersten Dokument kommt „Katze“ einmal vor, „spielt“ einmal und auch „Ball“. Die Anzahl für jedes dieser Wörter ist additionally 1 und die anderen Positionen sind mit 0 gekennzeichnet. Auf ähnliche Weise können wir die jeweiligen Anzahlen für jedes der beiden anderen Dokumente ermitteln.

Die BOW-Technik wandelt jedes Dokument in einen Vektor der Größe des Vokabulars V um. Hier erhalten wir drei 5-dimensionale Vektoren — (1,1,0,0,1), (0,1,1,0,1) und (0,1,0,1,1)

Bag of Phrases wird bei Klassifizierungsaufgaben verwendet und hat sich als recht leistungsfähig erwiesen. Und wenn Sie sich die Tabelle ansehen, können Sie erkennen, dass es auch hilft, die Ähnlichkeit zwischen den Sätzen zu erfassen – zumindest ein wenig. Zum Beispiel: „spielt“ und „Ball“ kommen in allen drei Dokumenten vor, und daher können wir an diesen Positionen für alle drei Dokumente 1 sehen.

Professional:

– Sehr einfach zu verstehen und umzusetzen

– Das zuvor festgestellte Drawback der festen Länge tritt hier nicht auf, da die Zählungen auf der Grundlage des vorhandenen Wortschatzes berechnet werden, was wiederum dazu beiträgt, das in der früheren Technik festgestellte Drawback des fehlenden Wortschatzes zu lösen. Wenn additionally zum Zeitpunkt der Inferenz ein neues Wort in den Daten erscheint, werden die Berechnungen auf der Grundlage der vorhandenen Wörter und nicht der neuen Wörter durchgeführt.

Nachteile:

– Dies ist immer noch eine spärliche Darstellung, die für die Berechnung schwierig ist

– Obwohl wir bei einem neuen Wort keinen Fehler mehr erhalten, da nur die vorhandenen Wörter berücksichtigt werden, gehen durch das Ignorieren der neuen Wörter tatsächlich Informationen verloren.

– Die Reihenfolge der Wörter wird nicht berücksichtigt, da diese für das Verständnis des betreffenden Textes sehr wichtig sein kann.

– Wenn Dokumente meistens aus gemeinsamen Wörtern bestehen, aber eine kleine Änderung eine gegenteilige Bedeutung vermitteln kann, funktioniert BOW nicht. Beispiel:

Beispiel: Angenommen, es gibt zwei Sätze –

1. Ich magazine es, wenn es regnet.

2. Ich magazine es nicht, wenn es regnet.

Mit der Artwork und Weise, wie BOW berechnet wird, können wir sehen, dass beide Sätze als ähnlich betrachtet werden, da alle Wörter außer „don‘t“ in beiden Sätzen vorhanden sind, aber dieses einzelne Wort die Bedeutung des zweiten Satzes im Vergleich zum ersten völlig verändert.

Diese Technik ähnelt BOW, das wir gerade gelernt haben, aber dieses Mal wird unser Vokabular nicht aus einzelnen Wörtern, sondern aus N-Grammen bestehen (2 Wörter zusammen, bekannt als Bigrams, 3 Wörter zusammen, bekannt als Trigramms … oder allgemeiner ausgedrückt – n Wörter zusammen, bekannt als „N-Gramme“).

Die Ngrams-Technik ist eine Verbesserung gegenüber Bag of Phrases, da sie hilft, die semantische Bedeutung der Sätze zumindest bis zu einem gewissen Grad zu erfassen. Betrachten wir das oben verwendete Beispiel.

1. Ich magazine es, wenn es regnet.

2. Ich magazine es nicht, wenn es regnet.

Diese beiden Sätze haben eine völlig gegensätzliche Bedeutung und ihre Vektordarstellungen sollten daher weit auseinander liegen.

Wenn wir nur die einzelnen Wörter, additionally BOW mit n=1 oder Unigramme verwenden, sieht ihre Vektordarstellung wie folgt aus

D1 kann als (1,1,1,1,1,0) dargestellt werden, während D2 als (1,1,1,1,1,1) dargestellt werden kann.

D1 und D2 scheinen sehr ähnlich zu sein und der Unterschied scheint nur in einer Dimension aufzutreten. Daher können sie beim Plotten in einem Vektorraum recht nahe beieinander dargestellt werden.

Sehen wir uns nun an, warum die Verwendung von Bigrammen in einer solchen Scenario nützlicher sein kann.

Mit diesem Ansatz können wir sehen, dass die Werte in drei Dimensionen nicht übereinstimmen, was im Vergleich zur früheren Technik definitiv dazu beiträgt, die Unähnlichkeit der Sätze im Vektorraum besser darzustellen.

Professional

· Es handelt sich um einen sehr einfachen und intuitiven Ansatz, der leicht zu verstehen und umzusetzen ist

· Hilft, die semantische Bedeutung des Textes zumindest teilweise zu erfassen

Nachteile:

· Rechentechnisch aufwändiger, da wir jetzt anstelle einzelner Token eine Kombination von Token verwenden. Die Verwendung von N-Grammen vergrößert den Merkmalsraum erheblich. In praktischen Fällen werden wir es beispielsweise nicht mit wenigen Wörtern zu tun haben, sondern unser Vokabular kann Tausende von Wörtern umfassen, die Anzahl der möglichen Bigramme wird sehr hoch sein.

· Diese Artwork der Datendarstellung ist immer noch spärlich. Da N-Gramme bestimmte Wortfolgen erfassen, tauchen viele N-Gramme im Korpus möglicherweise nicht häufig auf, was zu einer spärlichen Matrix führt.

· Das OOV-Drawback besteht weiterhin. Wenn ein neuer Satz hinzukommt, wird er ignoriert, da ähnlich wie bei der BOW-Technik nur die im Vokabular vorhandenen Wörter/Bigramme berücksichtigt werden.

Es ist möglich, N-Gramme (Bigramme, Trigramme usw.) zusammen mit Unigrammen zu verwenden und kann in bestimmten Anwendungsfällen zum Erreichen guter Ergebnisse beitragen.

Für die Techniken, die wir bisher oben besprochen haben, haben wir den Wert an jeder Place basierend auf dem Vorhandensein oder Fehlen eines bestimmten Wortes/N-Gramms oder der Häufigkeit des Wortes/N-Gramms verwendet.

Diese Technik verwendet eine einzigartige Logik (Formel), um die Gewichte für jedes Wort basierend auf zwei Aspekten zu berechnen –

Termfrequenz (TF)– Indikator dafür, wie häufig ein Wort in einem Dokument vorkommt. Es handelt sich um das Verhältnis der Häufigkeit, mit der ein Wort in einem Dokument vorkommt, zur Gesamtzahl der Wörter im Dokument.

Die Inverse Doc Frequency (IDF) hingegen gibt an, Wichtigkeit eines Begriffs im Hinblick auf das gesamte Korpus.

Formel von TF-IDF:

Gehen wir die Berechnung nun anhand unseres Korpus mit drei Dokumenten durch.

1. Katze spielt Ball (D1)

2. Hund spielt Ball (D2)

3. Junge spielt Ball (D3)

Aus der obigen Tabelle können wir ersehen, dass der Effekt der in allen Dokumenten vorkommenden Wörter (Spiele und Ball) auf 0 reduziert wurde.

Berechnung des TF-IDF mit der Formel TF-IDF(t,d) = TF(t,d) × IDF(t,D)

Wir können sehen, wie die gebräuchlichen Wörter „spielt“ und „Ball“ weggelassen werden und wichtigere Wörter wie „Katze“, „Hund“ und „Junge“ identifiziert werden.

Der Ansatz hilft additionally dabei, weist Wörtern, die in einem bestimmten Dokument häufig vorkommen, im gesamten Korpus jedoch seltener auftauchen, höhere Gewichte zu.TF-IDF ist sehr nützlich für Aufgaben des maschinellen Lernens, wie etwa Textklassifizierung, Informationsabruf usw.

Wir werden jetzt fortgeschrittenere Vektorisierungstechniken erlernen.

Ich werde dieses Thema mit einem Zitat aus der Definition von Worteinbettungen beginnen, die wunderbar erklärt wird unter Verknüpfung

„Worteinbettungen sind eine Möglichkeit, Wörter als Vektoren in einem mehrdimensionalen Raum darzustellen, wobei die Entfernung und Richtung zwischen den Vektoren die Ähnlichkeit und die Beziehungen zwischen den entsprechenden Wörtern widerspiegeln.“

Von admin

Schreibe einen Kommentar

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