Word2vec

Word2Vec ist eine Technik für Verarbeitung natürlicher Sprache Veröffentlicht im Jahr 2013. Der Word2VEC -Algorithmus verwendet a neurales Netzwerk Modell, um Wortverbände von einem großen zu lernen Korpus des Textes. Einmal trainiert, kann ein solches Modell erkennen gleichbedeutend Wörter oder schlagen Sie zusätzliche Wörter für einen teilweisen Satz vor. Wie der Name schon sagt, repräsentiert Word2VEC jedes bestimmte Wort mit einer bestimmten Liste von Zahlen, die als a genannt werden Vektor. Die Vektoren werden sorgfältig ausgewählt, so dass eine einfache mathematische Funktion (die Kosinusähnlichkeit zwischen den Vektoren) zeigt den Niveau von an Semantische Ähnlichkeit zwischen den von diesen Vektoren dargestellten Wörtern.

Sich nähern

Word2VEC ist eine Gruppe verwandter Modelle, die zur Herstellung verwendet werden Worteinbettungen. Diese Modelle sind flach, zweischichtig Neuronale Netze das werden geschult, um sprachliche Wörterkontexte zu rekonstruieren. Word2Vec nimmt als Eingabe eine große Korpus des Textes und produziert a Vektorraumtypisch von mehreren hundert Maße, mit jedem einzigartigen Wort in der Korpus Ein entsprechender Vektor im Raum zugewiesen. Wortvektoren werden im Vektorraum so positioniert, dass Wörter, die gemeinsame Kontexte im Korpus teilen, nahe beieinander im Raum liegen.[1]

Geschichte

Word2Vec wurde erstellt, patentiert,[2] und 2013 von einem Forscherteam unter der Leitung von Forschern veröffentlicht von Tomas Mikolov bei Google über zwei Papiere.[3][4] Andere Forscher halfen bei der Analyse und Erklärung des Algorithmus.[5] Die mit dem Word2VEC -Algorithmus erstellten Einbettungsvektoren haben im Vergleich zu früheren Algorithmen einige Vorteile[1][Weitere Erklärung erforderlich] wie zum Beispiel Latente semantische Analyse.

CBOW und Gramm überspringen

Word2VEC kann eines von zwei Modellarchitekturen verwenden, um a zu produzieren verteilte Darstellung von Wörtern: kontinuierliche Wörterbeutel (CBOW) oder kontinuierlich Gramm überspringen. In der Architektur der kontinuierlichen Wörter prognostiziert das Modell das aktuelle Wort aus einem Fenster der umgebenden Kontextwörter. Die Reihenfolge der Kontextwörter beeinflusst die Vorhersage nicht (Wörterbeutel Annahme). In der kontinuierlichen Skip-Gram-Architektur verwendet das Modell das aktuelle Wort, um das umgebende Fenster von Kontextwörtern vorherzusagen. Die Skip-Gram-Architektur wiegt den Kontextwörtern in der Nähe stärker als entfernte Kontextwörter.[1][6] Nach der Anmerkung der Autoren,,[7] CBOW ist schneller, während Skip-Gram einen besseren Job für seltene Wörter macht.

Parametrisierung

Ergebnisse des Word2VEC -Trainings können empfindlich sein für Parametrisierung. Das Folgende sind einige wichtige Parameter im Word2VEC -Training.

Trainingsalgorithmus

Ein Word2VEC -Modell kann mit hierarchisch trainiert werden Softmax und/oder negative Abtastung. Um die bedingte logarithmische Likelihood zu approximieren, die ein Modell maximieren möchte, verwendet die hierarchische Softmax-Methode a Huffman -Baum Berechnung reduzieren. Die negative Abtastmethode dagegen nähert sich dem Maximierungsproblem, indem sie die minimieren Log-Likelihood von abgetasteten negativen Instanzen. Nach Angaben der Autoren funktioniert hierarchische Softmax besser für seltene Wörter, während eine negative Abtastung für häufige Wörter besser und mit niedrigen dimensionalen Vektoren besser funktioniert.[7] Mit zunehmender Training -Epochen steigen hierarchische Softmax nicht mehr nützlich.[8]

Unterabtastung

Hochfrequenzwörter liefern oft wenig Informationen. Wörter mit einer Frequenz über einem bestimmten Schwellenwert können untergetastet werden, um das Training zu beschleunigen.[9]

Dimensionalität

Die Qualität der Worteinbettung nimmt mit höherer Dimensionalität zu. Aber nachdem er einen Punkt erreicht hatte, nimmt der Grenzgewinn ab.[1] Typischerweise wird die Dimensionalität der Vektoren zwischen 100 und 1.000 liegen.

Kontextfenster

Die Größe des Kontextfensters bestimmt, wie viele Wörter vor und nach einem bestimmten Wort als Kontextwörter des angegebenen Wortes enthalten sind. Nach Ansicht der Autoren beträgt der empfohlene Wert 10 für Skip-Gramm und 5 für CBOW.[7]

Erweiterungen

Eine Erweiterung von Word2VEC zum Konstrukt von Einbettungen aus ganzen Dokumenten (und nicht der einzelnen Wörter) wurde vorgeschlagen.[10] Diese Erweiterung wird als Absatz 2VEC oder Doc2VEC bezeichnet und wurde in der C, Python implementiert[11][12] und Java/Scala[13] Tools (siehe unten) mit den Java- und Python -Versionen, die auch die Inferenz von Dokumenteinbettungen zu neuen, unsichtbaren Dokumenten unterstützen.

Wortvektoren für Bioinformatik: Biovektoren

Eine Erweiterung von Wortvektoren für N-Gramm in biologisch Sequenzen (z. DNA, RNA, und Proteine) zum Bioinformatik Anträge wurden von Asgari und Mofrad vorgeschlagen.[14] Bezeichnete Biovektoren (BioVEC), um sich auf biologische Sequenzen im Allgemeinen mit Proteinvektoren (protvec) für Proteine ​​(Aminosäuresequenzen) und Genvektoren (Genevec) für Gensequenzen zu beziehen. Diese Darstellung kann häufig in Anwendungen von Maschinen verwendet werden Lernen in Proteomik und Genomik. Die Ergebnisse legen nahe, dass Biovektoren biologische Sequenzen in Bezug auf biochemische und biophysikalische Interpretationen der zugrunde liegenden Muster charakterisieren können.[14] Eine ähnliche Variante, DNA2VEC, hat gezeigt, dass es eine Korrelation zwischen besteht Needleman-Wunsch Ähnlichkeitsbewertung und Kosinusähnlichkeit von DNA2VEC -Wortvektoren.[15]

Wortvektoren für die Radiologie: Intelligentes Worteinbettung (IWE)

Eine Erweiterung von Wortvektoren zur Erstellung einer dichten Vektordarstellung unstrukturierter Radiologieberichte wurde von Banerjee et al.[16] Eine der größten Herausforderungen bei Word2VEC besteht darin, mit unbekannten oder aus dem Vokabular (OOV) und morphologisch ähnlichen Wörtern umzugehen. Wenn das Word2VEC -Modell zuvor kein bestimmtes Wort gestoßen ist, ist es gezwungen, einen zufälligen Vektor zu verwenden, der im Allgemeinen weit von seiner idealen Darstellung entfernt ist. Dies kann insbesondere in Domänen wie Medizin sein, in denen Synonyme und verwandte Wörter je nach bevorzugter Radiologenstil verwendet werden können, und Wörter wurden möglicherweise selten in einem großen Korpus verwendet.

Iwe kombiniert Word2VEC mit einer semantischen Wörterbuch -Mapping -Technik, um die größten Herausforderungen von zu bewältigen Informationsextraktion Aus klinischen Texten, die die Unklarheit des freien Text -Erzählstils, lexikalische Variationen, die Verwendung von ungrammatischen und telegraphischen Phasen, die willkürliche Reihenfolge von Wörtern und häufiges Erscheinen von Abkürzungen und Akronymen enthalten. Von besonderem Interesse ist das IWE -Modell (ausgebildet auf dem einen institutionellen Datensatz) erfolgreich in einen anderen institutionellen Datensatz übersetzt, der eine gute Generalisierbarkeit des Ansatzes zwischen den Institutionen zeigt.

Analyse

Die Gründe für erfolgreich Worteinbettung Das Lernen im Word2VEC -Framework ist schlecht bekannt. Goldberg und Levy weisen darauf hin, dass die Word2VEC -objektive Funktion Wörter verursacht, die in ähnlichen Kontexten auftreten, um ähnliche Einbettungen zu haben (gemessen von gemessen Kosinusähnlichkeit) und beachten Sie, dass dies im Einklang mit J. R. Firth's steht Verteilungshypothese. Sie stellen jedoch fest, dass diese Erklärung "sehr handwellen" ist und argumentieren, dass eine formalere Erklärung vorzuziehen wäre.[5]

Levy et al. (2015)[17] Zeigen Sie, dass ein Großteil der überlegenen Leistung von Word2VEC oder ähnlichen Einbettungen in nachgeschalteten Aufgaben nicht auf die Modelle an sich zurückzuführen ist, sondern der Wahl spezifischer Hyperparameter. Die Übertragung dieser Hyperparameter auf "traditionellere" Ansätze liefert ähnliche Leistungen in nachgeschalteten Aufgaben. Arora et al. (2016)[18] Erklären Sie Word2VEC und verwandte Algorithmen als Inferenz für eine einfache Durchführung Generatives Modell Für Text, bei dem ein Prozess der zufälligen Walk -Erzeugung basiert, basierend auf dem loglinearen Themenmodell. Sie verwenden dies, um einige Eigenschaften von Worteinbettungen zu erklären, einschließlich ihrer Verwendung zur Lösung von Analogien.

Erhaltung semantischer und syntaktischer Beziehungen

Der Wortbettungsansatz kann mehrere unterschiedliche Ähnlichkeitsgrade zwischen Wörtern erfassen. Mikolov et al. (2013)[19] fanden heraus, dass semantische und syntaktische Muster unter Verwendung der Vektorarithmetik reproduziert werden können. Muster wie "Mann ist für Frau als Bruder für Schwester" können durch algebraische Operationen auf den Vektordarstellungen dieser Wörter erzeugt werden, so dass die Vektorrepräsentation von "Bruder" - "Mann" + "Frau" ein Ergebnis erzielt, das am nächsten ist zur Vektordarstellung von "Schwester" im Modell. Solche Beziehungen können für eine Reihe von semantischen Beziehungen (z. B. Land -Kapital) sowie syntaktische Beziehungen (z. B. gegenwärtige Zeitform) generiert werden.

Bewertung der Qualität eines Modells

Mikolov et al. (2013)[1] Entwickeln Sie einen Ansatz zur Bewertung der Qualität eines Word2VEC -Modells, das sich auf die oben diskutierten semantischen und syntaktischen Muster stützt. Sie entwickelten einen Satz von 8.869 semantischen Beziehungen und 10.675 syntaktischen Beziehungen, die sie als Benchmark verwenden, um die Genauigkeit eines Modells zu testen. Bei der Bewertung der Qualität eines Vektormodells kann ein Benutzer auf diesen Genauigkeitstest zurückgreifen, der in Word2VEC implementiert wird.[20] Oder entwickeln Sie einen eigenen Testsatz, der für die Korpora, die das Modell ausmachen, von Bedeutung ist. Dieser Ansatz bietet einen herausfordernden Test als nur zu argumentieren, dass die Wörter, die einem bestimmten Testwort am ähnlichsten sind, intuitiv plausibel sind.[1]

Parameter und Modellqualität

Die Verwendung verschiedener Modellparameter und unterschiedlicher Korpusgrößen kann die Qualität eines Word2VEC -Modells stark beeinflussen. Die Genauigkeit kann in vielerlei Hinsicht verbessert werden, einschließlich der Auswahl der Modellarchitektur (CBOW oder Skip-Gramm), der Erhöhung des Trainingsdatensatzes, der Erhöhung der Anzahl der Vektordimensionen und der Erhöhung der Fenstergröße der vom Algorithmus berücksichtigten Wörter. Jede dieser Verbesserungen enthält die Kosten für eine erhöhte Rechenkomplexität und damit die erhöhte Zeit für die Modellgenerierung.[1]

In Modellen, die große Korpora und eine hohe Anzahl von Dimensionen verwenden, liefert das Skip-Gramm-Modell die höchste Gesamtgenauigkeit und erzeugt konsequent die höchste Genauigkeit für semantische Beziehungen sowie in den meisten Fällen die höchste syntaktische Genauigkeit. Der CBOW ist jedoch weniger rechnerisch teuer und liefert ähnliche Genauigkeitsergebnisse.[1]

Insgesamt steigt die Genauigkeit mit der Anzahl der verwendeten Wörter und der Anzahl der Dimensionen. Mikolov et al.[1] Berichten Sie, dass die Verdoppelung der Anzahl der Trainingsdaten zu einer Erhöhung der Berechnungskomplexität führt, die der Verdoppelung der Anzahl der Vektordimensionen entspricht.

Altszyler und Coauthors (2017) untersuchten Word2VEC -Leistung in zwei semantischen Tests auf unterschiedliche Korpusgröße.[21] Sie fanden heraus, dass Word2Vec einen steilen hat LernkurveOutperformance einer anderen Wort-Embedding-Technik (LSA) wenn es mit mittlerer bis großer Korpusgröße trainiert wird (mehr als 10 Millionen Wörter). Mit einem kleinen Trainingskorpus jedoch LSA zeigte eine bessere Leistung. Zusätzlich zeigen sie, dass die beste Parametereinstellung von der Aufgabe und dem Trainingskorpus abhängt. Für Skip-Gramm-Modelle, die in mittelgroßer Korpora trainiert wurden, scheint eine Fenstergröße von 15 und 10 negativen Proben eine gute Parametereinstellung zu sein.

Siehe auch

Verweise

  1. ^ a b c d e f g h i Mikolov, Tomas; et al. (2013). "Effiziente Schätzung von Wortdarstellungen im Vektorraum". Arxiv:1301.3781 [cs.cl].
  2. ^ US 9037464Mikolov, Tomas; Chen, Kai & Corrado, Gregory S. et al. Google Inc. 
  3. ^ Mikolov, Tomas; et al. (2013). "Effiziente Schätzung von Wortdarstellungen im Vektorraum". Arxiv:1301.3781 [cs.cl].
  4. ^ Mikolov, Tomas (2013). "Verteilte Darstellungen von Wörtern und Phrasen und ihrer Kompositionalität". Fortschritte in den neuronalen Informationsverarbeitungssystemen. Arxiv:1310.4546.
  5. ^ a b Goldberg, Yoav; Levy, Omer (2014). "Word2VEC erklärt: Abgeleitet von Mikolov et al. Arxiv:1402.3722 [cs.cl].
  6. ^ Mikolov, Tomas; Sutskever, Ilya; Chen, Kai; Corrado, Greg S.; Dean, Jeff (2013). Verteilte Darstellungen von Wörtern und Phrasen und ihrer Kompositionalität. Fortschritte in den neuronalen Informationsverarbeitungssystemen. Arxiv:1310.4546. Bibcode:2013ArXIV1310.4546m.
  7. ^ a b c "Google Code Archiv - Langzeitspeicher für Google Code -Projekthosting". code.google.com. Abgerufen 13. Juni 2016.
  8. ^ "Parameter (HS & negativ)". Google -Gruppen. Abgerufen 13. Juni 2016.
  9. ^ "Visualisierung von Daten mit T-Sne" (PDF). Journal of Machine Learning Research, 2008. Vol. 9, pg. 2595. Abgerufen 18. März 2017.
  10. ^ Le, Quoc; et al. (2014). "Verteilte Darstellungen von Sätzen und Dokumenten". Arxiv:1405.4053 [cs.cl].
  11. ^ "DOC2VEC -Tutorial mit Gensim". Abgerufen 2. August 2015.
  12. ^ "Doc2Vec für die IMDB -Sentimentanalyse". GitHub. Abgerufen 18. Februar 2016.
  13. ^ "DOC2VEC- und Absatzvektoren zur Klassifizierung". Abgerufen 13. Januar 2016.
  14. ^ a b Asgari, Ehsaneddin; Mofrad, Mohammad R.K. (2015). "Kontinuierliche verteilte Darstellung biologischer Sequenzen für tiefe Proteomik und Genomik". PLUS EINS. 10 (11): E0141287. Arxiv:1503.05140. Bibcode:2015PLOSO..1041287a. doi:10.1371/journal.pone.0141287. PMC 4640716. PMID 26555596.
  15. ^ NG, Patrick (2017). "DNA2VEC: Konsistente Vektordarstellungen von K-MERS mit variabler Länge". Arxiv:1701.06279 [q-bio.qm].
  16. ^ Banerjee, Imon; Chen, Matthew C.; Lungren, Matthew P.; Rubin, Daniel L. (2018). "Radiologiebericht Annotation unter Verwendung intelligenter Worteinbettungen: angewendet auf multi-institutionelle Brust-CT-Kohorte". Journal of Biomedical Informatics. 77: 11–20. doi:10.1016/j.jbi.2017.11.012. PMC 5771955. PMID 29175548.
  17. ^ Levy, Omer; Goldberg, Yoav; Dagan, Ido (2015). "Verbesserung der Verteilungsähnlichkeit mit den Lehren, die aus Worteinbettungen gelernt wurden". Transaktionen des Assoziation für Computer -Linguistik. Transaktionen des Assoziation für Computer -Linguistik. 3: 211–225. doi:10.1162/tacl_a_00134.
  18. ^ Arora, S; et al. (Sommer 2016). "Ein latenter Variablenmodellansatz für PMI-basierte Worteinbettungen". Transaktionen des Assoziation für Computer -Linguistik. 4: 385–399. doi:10.1162/tacl_a_00106 - über ACLWeb.
  19. ^ Mikolov, Tomas; Yih, Wen-tau; Zweig, Geoffrey (2013). "Sprachliche Regelmäßigkeiten in kontinuierlichen Weltraumwortrepräsentationen". HLT-Naacl: 746–751.
  20. ^ "Gensim - tiefes Lernen mit Word2Vec". Abgerufen 10. Juni 2016.
  21. ^ Altszyler, e.; Ribeiro, S.; Sigman, M.; Fernández Slezak, D. (2017). "Die Interpretation der Traumbedeutung: Lösung von Mehrdeutigkeiten unter Verwendung einer latenten semantischen Analyse in einem kleinen Textkorpus". Bewusstsein und Erkenntnis. 56: 178–187. Arxiv:1610.01520. doi:10.1016/j.concog.2017.09.004. PMID 28943127. S2CID 195347873.

Externe Links

Implementierungen