Semantic Folding & Word Embeddings Seminar: Suchmaschinen, Sose 2021
Total Page:16
File Type:pdf, Size:1020Kb
Semantic Folding & Word Embeddings Seminar: Suchmaschinen, SoSe 2021 ReferentInnen: Constantin Rebouskos, Dzmitry Kirylenka, Laura Lehmann Zoom, den 16.06.2021 Inhalt 1. Word Embeddings Grundkonzept 2. Beispiel Word2Vec 3. Anwendungsbereiche Word Embeddings 4. Semantic Folding 5. Semantic Fingerprints 6. Rechnen mit Fingerabdrücken 7. Anwendungsbereiche Semantic Folding 8. Word Embeddings und Semantic Folding im Vergleich 16.06.2021 Semantic Folding & Word Embeddings – Referat Folie 2 Word Embeddings ● Begriff der im Bereich des NLP benutzt wird um die Bedeutung eines Wortes innerhalb eines Vektors zu kodieren ● Das Grundprinzip hierbei ist, dass Wortvektoren, welche näher beieinander liegen zueinander ähnliche Bedeutungen haben ● Dies Bedeutungsähnlichkeiten werden durch Distributionseigenschaften der einzelnen Wörter in den Trainingsdaten gewonnen ● Eine Annotation der Trainingsdaten ist hierbei nicht nötig 16.06.2021 Semantic Folding & Word Embeddings – Referat Folie 3 Wortvektorrepräsentation Eine Möglichkeit Wörter als Vektoren darzustellen ist die One-Hot-Vector- Darstellung: • Der [1, 0, 0, 0, … ] • flinke [0, 1, 0, 0, … ] • Fuchs [0, 0, 1, 0, … ] • springt [0, 0, 0, 1, … ] • ... 16.06.2021 Semantic Folding & Word Embeddings – Referat Folie 4 Wortvektorrepräsentation Problematisch an der One-Hot-Vektor-Darstellung ist, dass Ähnlichkeiten zwischen Wörtern nicht dargestellt werden können • Flinke [0, 1, 0, 0, …] • Schnelle [0, 0, 0, 1, …] Besser (aber immer noch nicht gut) also: • Flinke [0, 1, 0, 0, …] • Schnelle [0, 1, 0, 0, …] 16.06.2021 Semantic Folding & Word Embeddings – Referat Folie 5 Wortvektorrepräsentation Noch besser ist es nicht nur 1 & 0 als Werte zu nehmen sondern alle reellen zahlen • Fuchs [0.234, -4.993, 0.45, … ] Fuchs flinke schnelle sprang 16.06.2021 Semantic Folding & Word Embeddings – Referat Folie 6 Wortvektorrepräsentation Die Ähnlichkeit zweier Worte kann dann über die Kosinus-Ähnlichkeit der beiden Vektoren berechnet werden • cos(x,y) =(x·y) / (‖x‖‖y‖) Fuchs flinke schnelle 16.06.2021 Semantic Folding & Word Embeddings – Referat Folie 7 Lernen von Word Embeddings • Grundkonzept: Distributionsähnlichkeit, d.h. die Bedeutung eines Wortes kann aus seinem Kontext geschlossen werden • “Der Fuchs trinkt Wasser” vs. “Der Fuchs trinkt Bier” • Bekanntester Ansatz: Word2Vec von Tomas Mikolov 16.06.2021 Semantic Folding & Word Embeddings – Referat Folie 8 Word2Vec ● Entwickelt von Tomas Mikolov Et al. 2013 ● Erster WE-Ansatz, welcher richtig gut performt hat ● Besteht aus zwei Ansätzen: – Skipgram – CBOW (Continious Bag of Words) 16.06.2021 Semantic Folding & Word Embeddings – Referat Folie 9 von Continous Bag of Words • Idee: der Kontext ist gegeben und wir wollen das Wort vorhersagen • Zu beginn sind die Wortvektoren der Kontextwörter noch zufällig initialisiert • Die Wortvektoren der Kontextwörter werden aufsummiert um das mittlere Wort zu repräsentieren • Dies wird in mehreren Durchläufen für den ganzen Text gemacht 16.06.2021 Semantic Folding & Word Embeddings – Referat Folie 10 Skipgram • Idee: das Wort ist gegeben und wir wollen den Kontext vorhersagen • Ansonsten gleich in der Funktionsweise wie CBOW • Nachdem das Netzwerk trainiert wurde kann man dem Netzwerk ein Input-Wort geben und bekommt seinen Kontext 16.06.2021 Semantic Folding & Word Embeddings – Referat Folie 11 Neuere Ansätze • GloVe • FastText • BERT von Jacob Devlin • ELMo von Matthew E. Peters 16.06.2021 Semantic Folding & Word Embeddings – Referat Folie 12 Anwendungsbereiche von Word Embeddings • Durch Word Embeddings kann die Bedeutung eines Wortes in eine arithmetisch verarbeitbare Form gebracht werden • z.B. Hauptstadt + Spanien = Madrid oder (Madrid – Spanien) + Deutschland = Berlin • Word Embeddings sind hilfreich bei: • Analyse von Kommentaren, Umfragen, Websiteinhalten • Vorschlagen ähnlicher Inhalte auf Basis von Suchanfragen • Maschineller Übersetzung • Sentiment Analyse & Question Answering 16.06.2021 Semantic Folding & Word Embeddings – Referat Folie 13 Semantic Folding • Ansatz zur (computergestützten) Repräsentation von Sprache in Anlehnung an menschliches Gehirn • Explizite Kodierung von Sprachsemantik einschließlich aller Bedeutungen und Kontexte von Wörtern • Basis: Theorie des Hierarchischen Temporalspeichers (engl. Hierarchical Temporal Memory, HTM) − Künstliche Nachbildung menschlichen Neokortex − Beschreibt Neokortex als (topographischen) 2D-Raum − Sparse Distributed Representation als Datenstruktur • Unüberwachter ML-Ansatz 16.06.2021 Semantic Folding & Word Embeddings – Referat Folie 14 Sparse Distributed Representation (SDR) • Kodierungsformat für Daten • Modelliert menschlichen Neokortex (2D-Raum) • Bildet sehr großen, spärlich gefüllten Bitvektor • Bits entsprechen Neuronen im Gehirn • Jedes Bit stellt eindeutige semantische Bedeutung dar • Bedeutung ist über die Bits verteilt • Gleiche Bits in SDRs deuten auf semantische Ähnlichkeit hin • Unterstützt Mengenoperationen 16.06.2021 Semantic Folding & Word Embeddings – Referat Folie 15 Sparse Distributed Representation (SDR) 16.06.2021 Semantic Folding & Word Embeddings – Referat Folie 16 Sparse Distributed Representation (SDR) • Bitvektor für “Cat”: 00100000000000000001000000 00010100000 … 000010001000 • Bitvektor für “Dog”: 00000000000000000001000100 00000110000 … 000000001010 • Bitvektor für “Fish”: 10000010000000000001001000 00010000000 … 000000100000 16.06.2021 Semantic Folding & Word Embeddings – Referat Folie 17 Semantic Folding Prozess Semantic Folding Pipeline Datenbank Trainingskorpus semantischer (Semantic Aufteilung des Fingerabdrücke Universe) Erzeugung (topografischen) Erzeugung semantischer Vorverarbeitung des Trainingskorpus (Retina DB) semantischen Raums Fingerabdrücke Trainingskorpus in Passagen (Semantic Map) (Semantic Fingerprints) (Snippets) 16.06.2021 Semantic Folding & Word Embeddings – Referat Folie 18 Semantic Map • Jedes Snippet stellt einzelnen Kontext dar • Snippets werden auf 2D-Matrix (128x128 Bit) verteilt • Erzeugte 2D-Matrix bildet den topografischen semantischen Raum (Semantic Map) des Trainingskorpus 16.06.2021 Semantic Folding & Word Embeddings – Referat Folie 19 Semantic Fingerprints (Wort) • Große, sehr spärlich gefüllte Bitvektoren für jedes Wort im Trainingskorpus • Verkapseln Wortbedeutung in topografischer Darstellung (SDR, 2D, 128x128 Bits) • Erlauben direkten semantischen Vergleich der Bedeutungen zwischen Wörtern • Ähnlichkeit wird durch Grad der Überlappung zwischen SDRs gemessen 16.06.2021 Semantic Folding & Word Embeddings – Referat Folie 20 Semantische Ähnlichkeit (Wort) 16.06.2021 Semantic Folding & Word Embeddings – Referat Folie 21 Semantic Fingerprints (Text) • Wort-Fingerabdrücke können gestapelt und zu Text-Fingerabdrücken aggregiert werden • Gestapelte Wort-Fingerabdrücke bilden den sog. Bit-Stapel • Zur Sparsamkeit des Text-Fingerabdrucks wird der Bit-Stapel an einem Schwellenwert abgeschnitten • Alle semantischen Fingerabdruck-Eigenschaften bleiben erhalten → ähnliche Fingerabdrücke bedeuten ähnliche Texte und vice versa 16.06.2021 Semantic Folding & Word Embeddings – Referat Folie 22 Semantic Fingerprints (Text) 16.06.2021 Semantic Folding & Word Embeddings – Referat Folie 23 Semantische Ähnlichkeit (Text) 16.06.2021 Semantic Folding & Word Embeddings – Referat Folie 24 Rechnen mit Fingerabdrücken • Alle semantischen Fingerabdrücke haben die gleiche Größe und den gleichen Feature-Raum • Direktes Rechnen mit booleschen Ausdrücken möglich • AND-, OR- und SUB-Operationen 16.06.2021 Semantic Folding & Word Embeddings – Referat Folie 25 Anwendungsbereich Semantic Folding ● Dokumentenklassifikation ● Text Stream Filter ● Dokumentensuche 16.06.2021 Semantic Folding & Word Embeddings – Referat Folie 26 Dokumentenklassifikation ● Normalerweise: Training eines Klassifikators auf Trainingsdaten (oft supervised) ● Hier: Jede Klasse wird durch Fingerprint repräsentiert ● Bsp.: 16.06.2021 Semantic Folding & Word Embeddings – Referat Folie 27 Text Stream Filter Konvertieren der Tweets in Fingerprints Vergleich Tweets mit Filter Fingerprints der Tweets Matching Not matching Fingerprints Filter Fingerprints 16.06.2021 Semantic Folding & Word Embeddings – Referat Folie 28 Dokumentensuche Wie wird Honig Text documents hergestellt? Suchanfrage (Wort, Frage, …) Semantic Folding Pipeline mit: - Vorverarbeitung - Aufteilung in Snippets Suchergebnis (Snippet, Dokument) Erstellen des Fingerprints Erstellen des Fingerprints pro Snippet der Suchanfrage Fingerprints der Snippets Vergleich mit Fingerprints aus Databank Snippets mit Snippet 1 Snippet 2 Snippet … dem besten Rank 16.06.2021 Semantic Folding & Word Embeddings – Referat Folie 29 Word Embeddings und Semantic Folding im Vergleich ● Word Embedding vs. Semantic Folding ● Vor- und Nachteile 16.06.2021 Semantic Folding & Word Embeddings – Referat Folie 30 Word Embedding vs. Semantic Folding Word Embeddings (wie Word2Vec) Semantic Folding Repräsentation: - Dense - Sparse - mehrere Hundert Features - Zehntausende Feautres (~ 16 000) - float - binär Vergleich: durch Distanzberechnung durch binäre Überlappung Disambiguierung: desambiguiert das Wort „Apple“ in desambiguiert das Wort „Apple“ mittels Form von einer Computer Firma oder seines Kontexts: bspw. Computer, einer Frucht Smartphone, Tablet, kochen, Frucht, Baum, usw. Training: - Training mit Gold-Standard - Training auf Text Snippets - Supervised - Unsupervised 16.06.2021 Semantic Folding & Word Embeddings – Referat Folie 31 Vor- und Nachteile Word Embeddings (wie Word2Vec) Semantic Folding Viele Open Source Packages