** Warum ist die verteilte Darstellung von Wörtern für die Verarbeitung natürlicher Sprache wichtig? ** ** **
Wenn Sie diesen Artikel lesen, sind Sie möglicherweise mit ** Word2vec ** vertraut (Mikolov et al., 2013). Mit Word2vec können Sie Vorgänge so ausführen, als würden Sie die Bedeutung eines Wortes erfassen. Zum Beispiel ist es ein berühmtes Beispiel, dass Königin erhalten wird, indem Mann von König subtrahiert und Frau hinzugefügt wird (König - Mann + Frau = Königin).
from https://www.tensorflow.org/get_started/embedding_vizTatsächlich werden Wörter darin durch einen Vektor von ungefähr 200 Dimensionen ausgedrückt, der als ** verteilter Ausdruck ** (oder eingebetteter Ausdruck) bezeichnet wird, und die Vektoren werden addiert und subtrahiert. Es wird angenommen, dass die Eigenschaften jedes Wortes in diesem 200-dimensionalen Vektor gespeichert sind. Daher kann das Addieren und Subtrahieren von Vektoren zu aussagekräftigen Ergebnissen führen.
** Die verteilte Darstellung von Wörtern ist eine wichtige Technik, die in der heutigen Verarbeitung natürlicher Sprache häufig verwendet wird. ** In jüngster Zeit wurde eine große Anzahl von NN-basierten Modellen (Neural Network) für die Untersuchung der Verarbeitung natürlicher Sprache vorgeschlagen. Diese NN-basierten Modelle verwenden häufig verteilte Darstellungen von Wörtern als Eingabe.
In diesem Artikel werde ich erklären "** Warum ist der verteilte Ausdruck von Wörtern für die Verarbeitung natürlicher Sprache wichtig? **". Der Erklärungsfluss besteht darin, zunächst kurz die verteilte Darstellung von Wörtern zu erklären und das Verständnis zu teilen. Als nächstes werde ich erklären, warum das Hauptthema, die verteilte Darstellung von Wörtern, für die Verarbeitung natürlicher Sprache wichtig ist. Abschließend werde ich die Probleme erläutern, mit denen verteilte Ausdrücke konfrontiert sind.
Hier geben wir eine kurze Erklärung zum Verständnis des ** verteilten Ausdrucks ** von Wörtern. Wir werden auch den ** One-Hot-Ausdruck ** von Wörtern zum Vergleich diskutieren, um ihre Vorteile zu veranschaulichen. Was den Ablauf der Geschichte angeht, werden wir nach der Erklärung des One-Hot-Ausdrucks und seiner Probleme mit der Erklärung des verteilten Ausdrucks fortfahren.
Der erste Weg, ein Wort als Vektor auszudrücken, ist der One-Hot-Ausdruck. Ein One-Hot-Ausdruck ist eine Methode, bei der nur ein Element 1 und die anderen Elemente 0 sind. Durch Einstellen von 1 oder 0 für jede Dimension wird angezeigt, ob es sich um das Wort handelt oder nicht.
Nehmen wir zum Beispiel an, der One-Hot-Ausdruck repräsentiert das Wort Python. Hier besteht das Vokabular aus einer Reihe von Wörtern aus 5 Wörtern (nlp, python, word, ruby, one-hot). Dann ist der Vektor, der Python darstellt, wie folgt.
Die One-Hot-Darstellung ist einfach, hat jedoch die Schwäche, dass Sie mit Operationen zwischen Vektoren keine aussagekräftigen Ergebnisse erzielen können. Nehmen wir zum Beispiel an, Sie nehmen das innere Produkt, um die Ähnlichkeit zwischen Wörtern zu berechnen. In dem One-Hot-Ausdruck haben verschiedene Wörter an verschiedenen Stellen Einsen und andere Elemente sind 0, sodass das Ergebnis der Aufnahme des inneren Produkts zwischen verschiedenen Wörtern 0 ist. Dies ist nicht das gewünschte Ergebnis. Da einem Wort eine Dimension zugewiesen ist, wird es mit zunehmender Anzahl von Vokabeln zu einer sehr hohen Dimension.
Verteilte Darstellungen repräsentieren dagegen Wörter als niedrigdimensionale reelle Vektoren. Es wird oft in etwa 50 bis 300 Dimensionen ausgedrückt. Zum Beispiel können die zuvor erwähnten Wörter in einem verteilten Ausdruck wie folgt ausgedrückt werden.
Sie können das Problem des One-Hot-Ausdrucks lösen, indem Sie den verteilten Ausdruck verwenden. Beispielsweise können Sie die Ähnlichkeit zwischen Wörtern berechnen, indem Sie Operationen zwischen Vektoren ausführen. Betrachtet man den obigen Vektor, so ist die Ähnlichkeit zwischen Python und Ruby wahrscheinlich höher als die Ähnlichkeit zwischen Python und Wort. Auch wenn die Anzahl der Vokabeln zunimmt, ist es nicht erforderlich, die Anzahl der Dimensionen jedes Wortes zu erhöhen.
In diesem Abschnitt wird die Bedeutung der verteilten Darstellung von Wörtern bei der Verarbeitung natürlicher Sprache beschrieben. Was den Ablauf der Geschichte betrifft, werden wir, nachdem wir über die Eingabe für die Aufgabe der Verarbeitung natürlicher Sprache gesprochen haben, über die Verwendung des verteilten Ausdrucks als Eingabe sprechen. Und ich werde darüber sprechen, wie sich diese verteilte Darstellung auf die Ausführung von Aufgaben auswirkt.
Es gibt verschiedene Aufgaben in der Verarbeitung natürlicher Sprache, aber viele Aufgaben geben eine Wortfolge als Eingabe an. Geben Sie für die Dokumentklassifizierung eine Reihe von Wörtern ein, die im Dokument enthalten sind. Partielles Markieren ergibt eine getrennte Wortfolge, und die Eigenausdruckerkennung ergibt auch eine geteilte Wortfolge. Das Bild ist wie folgt.
In der modernen Verarbeitung natürlicher Sprache werden häufig neuronale Netze verwendet, aber Wortketten werden häufig als Eingabe angegeben. Es ist auch ein Wort, das in das traditionell verwendete RNN eingegeben werden muss, und es ist häufig der Fall, dass die Eingabe in das Modell unter Verwendung des CNN, die in letzter Zeit Aufmerksamkeit erregt hat, auch auf Wortebene eingegeben wird. Das Bild ist wie folgt.
Tatsächlich verwenden wir häufig verteilte Ausdrücke als Ausdrücke für Wörter, die diesen neuronalen Netzen gegeben werden [^ 1]. Es basiert auf der Erwartung, dass die Verwendung von Ausdrücken, die die Bedeutung von Wörtern als Eingabe besser erfassen, auch die Aufgabenleistung verbessert. Es ist auch möglich, eine verteilte Darstellung, die mit einer großen Menge unbeschrifteter Daten gelernt wurde, als Anfangswert des Netzwerks zu verwenden und sie mit einer kleinen Menge beschrifteter Daten abzustimmen.
Diese verteilte Darstellung ist wichtig, da sie die Leistung der Aufgabe beeinflusst. Es wurde auch berichtet, dass sich die Leistung im Vergleich zur Nichtverwendung einer verteilten Darstellung verbessert [2]. Wie Sie sehen, ist die verteilte Darstellung von Wörtern wichtig, da sie häufig als Eingabe für viele Aufgaben verwendet wird und einen erheblichen Einfluss auf die Leistung hat.
Es ist nicht der Fall, dass die verteilte Darstellung von Wörtern eine Silberkugel in der Verarbeitung natürlicher Sprache ist. Aufgrund vieler Studien ist bekannt, dass es verschiedene Probleme gibt. Hier werde ich zwei davon vorstellen.
Das erste Problem, das behoben werden muss, ist, dass selbst gute Ergebnisse im Bewertungsdatensatz die Leistung nicht mehr verbessern, als Sie es für eine tatsächliche Aufgabe erwarten würden (z. B. die Klassifizierung von Dokumenten). Erstens wird die Bewertung verteilter Wortausdrücke häufig anhand des Korrelationsgrades mit einem vom Menschen erstellten Bewertungssatz der Wortähnlichkeit bewertet (Schnabel, Tobias, et al., 2015). Mit anderen Worten, die Verwendung der verteilten Darstellung, die aus einem Modell erhalten wurde, das Ergebnisse liefern kann, die mit der menschlichen Bewertung für tatsächliche Aufgaben korrelieren, verbessert die Leistung nicht.
Der Grund ist, dass die meisten Bewertungsdatensätze nicht zwischen Wortähnlichkeit und Relevanz unterscheiden. Wortähnlichkeit und Relevanz ist zum Beispiel, dass (männlich, Mann) ähnlich sind und (Computer, Tastatur) verwandt, aber nicht ähnlich sind. Es wurde berichtet, dass die unterscheidenden Datensätze eine positive Leistungskorrelation mit der tatsächlichen Aufgabe aufweisen (Chiu, Billy, Anna Korhonen und Sampo Pyysalo, 2016).
Infolgedessen wird derzeit versucht, Bewertungsdatensätze zu erstellen, die mit den tatsächlichen Aufgaben korrelieren (Oded Avraham, Yoav Goldberg, 2016). Hier versuchen wir, zwei Probleme zu lösen, die im vorhandenen Datensatz vorhanden sind (Wortähnlichkeit und Relevanz werden nicht unterschieden, und die Annotationsbewertung variiert zwischen den Bewertern).
Zusätzlich zur Erstellung von Bewertungsdatensätzen wurden Untersuchungen durchgeführt, um verteilte Darstellungen zu bewerten, damit tatsächliche Aufgaben leicht bewertet werden können (Nayak, Neha, Gabor Angeli und Christopher D. Manning, 2016). Es wird erwartet, dass dies die Überprüfung erleichtert, ob der erlernte verteilte Ausdruck für Aufgaben wirksam ist, die der Aufgabe nahe kommen, die Sie tatsächlich ausführen möchten.
Persönlich hoffe ich, dass durch die Auswertung mit neuen Datensätzen und Aufgaben das zuvor vergrabene Modell überprüft wird.
Das zweite Problem ist, dass derzeit verteilte Ausdrücke die Wortmehrdeutigkeit nicht berücksichtigen. Wörter haben viele Bedeutungen. Beispielsweise hat das Wort "Bank" zusätzlich zur Bedeutung von "Bank" die Bedeutung von "Bank". Auf diese Weise gibt es eine Grenze für das Ausdrücken mit einem Vektor, ohne die Mehrdeutigkeit von Wörtern zu berücksichtigen.
Um dieses Problem zu lösen, wurden verschiedene Methoden zum Lernen von Ausdrücken für jede Bedeutung vorgeschlagen [5] [6] [7] [8]. Bei SENSE EMBED lernen wir Ausdrücke für jede Bedeutung, indem wir die Mehrdeutigkeit der Wortbedeutung beseitigen. Infolge des Lernens von Ausdrücken für jede Wortbedeutung wird berichtet, dass sich die Leistung bei der Bewertung der Wortähnlichkeit verbessert hat.
Das folgende Repository enthält Informationen zu verteilten Darstellungen von Wörtern und Sätzen, gelernten Vektoren und Python-Implementierungen. awesome-embedding-models
Es ist ermutigend, wenn Sie einen Stern m (_ _) m hinzufügen können
Der verteilte Ausdruck von Wörtern ist ein interessantes Feld, das aktiv untersucht wird. Ich hoffe, dieser Artikel hilft Ihnen zu verstehen.
Der folgende Twitter-Account bietet leicht verständliche Informationen zu den neuesten Artikeln zu ** Maschinelles Lernen / Verarbeitung natürlicher Sprachen / Computer Vision **. Wir warten darauf, dass Sie uns folgen, da wir interessante Inhalte für diejenigen liefern, die diesen Artikel lesen. @arXivTimes
Ich twittere auch Informationen über maschinelles Lernen und die Verarbeitung natürlicher Sprachen in meinem Konto, daher würde ich gerne von allen hören, die sich für dieses Gebiet interessieren. @Hironsan
[^ 1]: Tatsächlich wird es nach Eingabe eines One-Hot-Ausdrucks in einen verteilten Ausdruck konvertiert.
Recommended Posts