Word embeddings: Unterschied zwischen den Versionen
Aus exmediawiki
C.heck (Diskussion | Beiträge) |
C.heck (Diskussion | Beiträge) |
||
Zeile 25: | Zeile 25: | ||
==Word2Vec-Algorithmus== | ==Word2Vec-Algorithmus== | ||
+ | |||
+ | Der beliebteste Algorithmus für die Berechnung von Einbettungen. Er besteht im Wesentlichen aus einem mini neuronalen Netzwerk, das versucht, ein Sprachmodell zu lernen. | ||
+ | ===CBOW & Skip-Gram=== | ||
+ | [[Datei:cbow-skip.png]] | ||
+ | ====Continuous Bag-Of-Words (CBOW)==== | ||
+ | [[Datei:cbow.png]] | ||
+ | Hier geht es darum, ein Netzwerk zu schaffen, das versucht, das Wort in der Mitte bei einigen umgebenden Wörtern vorherzusagen: | ||
+ | [W[-3], W[-2], W[-1], W[1], W[2], W[3]] => W[0] | ||
+ | |||
+ | ====Skip-Gram==== | ||
+ | Skip-Gram ist das Gegenteil von CBOW, es versucht, die umgebenden Wörter vorherzusagen, die das Wort in der Mitte enthält: | ||
+ | W[0] =>[W[-3], W[-2], W[-1], W[1], W[2], W[3]]] | ||
+ | |||
+ | '''Die berechneten Netzwerkgewichte sind eigentlich die ''Wort Embeddings''''' | ||
+ | |||
+ | ===Word2Vec mit Gensim=== | ||
+ | Wir benutzen in unserem Seminar '''Gensim'''. Diese Bibliothek beinhaltet u.a. eine Implementation des Word2Vec Models | ||
==GloVe== | ==GloVe== |
Version vom 13. November 2019, 11:18 Uhr
Der Sammelbegriff für eine Reihe von Sprachmodellierungs- und Feature-Learning-Techniken in der natürlichen Sprachverarbeitung (NLP), bei denen Wörter oder Phrasen aus dem Vokabular auf Vektoren mit reellen Zahlen abgebildet werden:
- ein Vektor, der die Struktur des Wortes in Bezug auf Morphologie widerspiegelt ( Anreichern von Wortvektoren mit Unterwortinformationen ) * eine Wortkontextdarstellung ( word2vec Parameter Learning Explained )
- eine globale Korpusstatistik ( GloVe: Globale Vektoren für Wortdarstellung )
- eine Worthierarchie in Bezug auf die WordNet-Terminologie ( Poincaré-Einbettungen für das Lernen hierarchischer Darstellungen )
- eine Beziehung zwischen einer Reihe von Dokumenten und den Begriffen, die sie enthalten ( latente semantische Indizierung )
- usw. ...
Warum brauchen wir embeddings?
für "meaningful" (Bedutungs-) Repräesentationen eines Wortes in einem Vectorenraum << word vectors
generell gilt, je mehr Dimensionen ein Vektor besitzt, desto mehr Bedeutung können wir in diesen hineinlegen < problem computational grenze
Inhaltsverzeichnis
Traditionelle Worteinbettungen
Bag of Words (BOW)
term frequency–inverse document frequency (TFIDF)
Neuronale Einbettungen / pretrained word embeddings
Word2Vec-Algorithmus
Der beliebteste Algorithmus für die Berechnung von Einbettungen. Er besteht im Wesentlichen aus einem mini neuronalen Netzwerk, das versucht, ein Sprachmodell zu lernen.
CBOW & Skip-Gram
Continuous Bag-Of-Words (CBOW)
Hier geht es darum, ein Netzwerk zu schaffen, das versucht, das Wort in der Mitte bei einigen umgebenden Wörtern vorherzusagen:
[W[-3], W[-2], W[-1], W[1], W[2], W[3]] => W[0]
Skip-Gram
Skip-Gram ist das Gegenteil von CBOW, es versucht, die umgebenden Wörter vorherzusagen, die das Wort in der Mitte enthält:
W[0] =>[W[-3], W[-2], W[-1], W[1], W[2], W[3]]]
Die berechneten Netzwerkgewichte sind eigentlich die Wort Embeddings
Word2Vec mit Gensim
Wir benutzen in unserem Seminar Gensim. Diese Bibliothek beinhaltet u.a. eine Implementation des Word2Vec Models