ELMo


ELMo (englisch embeddings from language model) ist eine Methode zur Worteinbettung (englisch word embedding), um eine Folge von Wörtern als eine entsprechende Folge von Vektoren darzustellen[1], die von Forschern des Allen Institute for Artificial Intelligence[2] und der University of Washington entwickelt und im Februar 2018 veröffentlicht wurde. ELMo findet in der Computerlinguistik Anwendung und zielt auf das Problem ab, natürliche Sprache in einer maschinell lesbaren Form zu repräsentieren.
Die Architektur von ELMo ermöglicht ein kontextuelles Verständnis von Token. Eine tiefgehende kontextualisierte Wortrepräsentation ist in vielen Bereichen der Computerlinguistik nützlich.
ELMo gilt als historischer Pionier für die Kombination aus selbstüberwachtem generativen Vortraining mit anschließender Feinabstimmung (englisch Fine-Tuning), bei der ein Sprachmodell trainiert wird, um einen großen Korpus zu reproduzieren. Nach dem Vortraining kann das Modell durch Feinabstimmung für spezifische Aufgaben angepasst werden. ELMo war ein entscheidender Schritt in der Entwicklung hin zu einer transformerbasierten Sprachmodellierung.[3]
Architektur
[Bearbeiten | Quelltext bearbeiten]ELMo ist ein mehrschichtiges, bidirektionales LSTM, das Eingaben auf Zeichenebene entgegennimmt und Einbettungen auf Wortebene erzeugt.[1]
Die eingegebene Textsequenz wird zunächst von einer Embedding-Schicht in eine Sequenz von Vektoren umgewandelt. Anschließend werden zwei verschiedene Prozesse parallel angewandt: Der vorwärtsgerichtete Prozess ist ein zweischichtiges LSTM mit 4096 Einheiten und 512 Dimensionsprojektionen sowie einer Restverbindung von der ersten zur zweiten Schicht. Der rückwärtsgerichtete Prozess hat die gleiche Architektur, verarbeitet die Sequenz aber von hinten nach vorne. Die Ausgaben aller fünf Komponenten (Embedding-Schicht, zwei vorwärtsgerichtete LSTM-Schichten und zwei rückwärtsgerichtete LSTM-Schichten) werden konkateniert und mit einer linearen Matrix („Projektionsmatrix“) multipliziert, um eine 512-dimensionale Darstellung pro Eingabe-Token zu erhalten.
ELMo wurde auf einem Textkorpus von 1 Mrd. Wörtern mit ca. 30 Mio. Sätzen vortrainiert.[1][4] Der vorwärtsgerichtete Prozess wird durch wiederholte Vorhersage des nächsten Tokens trainiert, der rückwärtsgerichtete Prozess durch wiederholte Vorhersage des vorherigen Tokens.
Nach dem Vortraining des ELMo-Modells werden seine Parameter eingefroren, mit Ausnahme der Projektionsmatrix, die feinabgestimmt werden kann, um den Verlust bei bestimmten Sprachaufgaben zu minimieren. Dies ist ein frühes Beispiel des Vortraining-Feinabstimmungs-Paradigmas (englisch pretrain-finetune paradigm). In der Originalarbeit wurde dies durch die Verbesserung des Stands der Technik bei sechs Benchmark-Aufgaben aus der Computerlinguistik aufgezeigt.[1] Als Alternative zum Finetuning können die von ELMo erzeugten Vektoren auch direkt, z. B. mittels einer Support Vector Machine, klassifiziert werden.[5]
Kontextuale Repräsentation von Wörtern
[Bearbeiten | Quelltext bearbeiten]Die Architektur von ELMo ermöglicht es, den Kontext (umliegende Wörter) eines Tokens bei der Vektordarstellung zu berücksichtigen. Das erste vorwärtsgerichtete LSTM verarbeitet jeden Eingabetoken im Kontext von allen vorherigen Token, während das erste rückwärtsgerichtete LSTM jeden Token im Kontext von allen folgenden Token verarbeitet. Das zweite vorwärtsgerichtete LSTM nutzt diese Verarbeitung, um die Token weiter zu kontextualisieren.
Tiefe kontextualisierte Wortrepräsentationen sind in vielen Bereichen der natürlichen Sprachverarbeitung (englisch Natural Language Processing (NLP)) nützlich, wie z. B. der Ermittlung von Koreferenzen und Polysemen.[6] Dies wird anhand des folgenden Beispiels deutlich:
„Sie ging zur ‚Bank‘, um Geld abzuheben.“
Um das Token „Bank“ zu repräsentieren, muss das Modell dieses Polysem im Kontext ermitteln.
- Das erste vorwärtsgerichtete LSTM verarbeitet „Bank“ im Kontext von „Sie ging zur“, was ermöglicht, das Wort als Ort, wohin das Subjekt geht, zu repräsentieren.
- Das erste rückwärtsgerichtete LSTM verarbeitet „Bank“ in dem Kontext von „um Geld abzuheben“, was eine Deutung des Wortes als Finanzinstitution ermöglicht.
- Das zweite vorwärtsgerichtete LSTM kann daraufhin „Bank“ unter Berücksichtigung des ersten rückwärtsgerichteten LSTM verarbeiten. Dies ermöglicht die Repräsentation des Wortes als Finanzinstitution, wohin das Subjekt geht.
Historischer Kontext
[Bearbeiten | Quelltext bearbeiten]ELMo ist ein Element in der historischen Entwicklung der Sprachmodellierung. Ein Beispiel für eine häufig anzutreffende Aufgabe, für die vortrainierte Modelle feinabgestimmt werden, ist die Dokumentenklassifizierung, bei der ein Dokument (z. B. eine E-Mail) ein Label zugewiesen wird (z. B. „Spam“, „kein Spam“, „Politik“, „Sport“). Die Zuordnung erfolgt i. d. R. durch einen Klassifizierer, der diese anhand der Vektoren vornimmt, die die Wörter repräsentieren.[7]
Der einfachste Ansatz ist Bag-of-Words, bei dem jedes Wort im Dokument durch einen unabhängigen, zufälligen Vektor repräsentiert wird. Dies war rechengünstig, ließ aber die Reihenfolge der Wörter und ihren Kontext innerhalb des Satzes außer Acht. GloVe und Word2Vec bauten darauf auf, indem sie feste kontextunabhängige Repräsentationen von Wörtern auf der Grundlage ihres gemeinsamen Vorkommens in großen Textkorpora lernten. Im Gegensatz dazu sind ELMo-Worteinbettungen kontextabhängig und erzeugen unterschiedliche Repräsentationen für Wörter, die die gleiche Schreibweise haben.[3] Zuvor wurden bereits bidirektionale LSTM für kontextabhängige Repräsentationen verwendet[8]. ELMo wendete diese Idee in einem großen Maßstab an und verbesserte dabei den Stand der Technik.
Nach der 2017 veröffentlichen Transformer-Architektur wurde die Architektur von ELMo von einem mehrschichtigen bidirektionalen LSTM zu einem Transformer Encoder weiterentwickelt. Dies markiert die Grundlage für Sprachmodelle wie BERT und später auch Large Language Models wie GPT. Diese Modelle arbeiten ebenfalls mit kontextabhängigen Worteinbettunfolgen und folgen dem Vortraining-Feinabstimmungs-Paradigma.
Einzelnachweise
[Bearbeiten | Quelltext bearbeiten]- ↑ a b c d Matthew E. Peters, Mark Neumann, Mohit Iyyer, Matt Gardner, Christopher Clark, Kenton Lee, Luke Zettlemoyer: Deep Contextualized Word Representations. In: Marilyn Walker, Heng Ji, Amanda Stent (Hrsg.): Proceedings of the 2018 Conference of the North American Chapter of the Association for Computational Linguistics: Human Language Technologies, Volume 1 (Long Papers). Association for Computational Linguistics, New Orleans, Louisiana Juni 2018, S. 2227–2237, doi:10.18653/v1/N18-1202.
- ↑ ELMo: Deep contextualized word representations. In: allennlp.org. Archiviert vom am 12. Januar 2022; abgerufen am 6. April 2025 (englisch).
- ↑ a b Ce Zhou, Qian Li, Chen Li, Jun Yu, Yixin Liu, Guangjing Wang, Kai Zhang, Cheng Ji, Qiben Yan, Lifang He, Hao Peng, Jianxin Li, Jia Wu, Ziwei Liu, Pengtao Xie, Caiming Xiong, Jian Pei, Philip S. Yu, Lichao Sun: A comprehensive survey on pretrained foundation models: a history from BERT to ChatGPT. In: International Journal of Machine Learning and Cybernetics. 24. November 2024, ISSN 1868-8071, doi:10.1007/s13042-024-02443-6.
- ↑ Ciprian Chelba, Tomas Mikolov, Mike Schuster, Qi Ge, Thorsten Brants, Phillipp Koehn, Tony Robinson: One Billion Word Benchmark for Measuring Progress in Statistical Language Modeling. 4. März 2014, arxiv:1312.3005.
- ↑ Aparna Sunil Kale, Vinay Pandya, Fabio Di Troia, Mark Stamp: Malware classification with Word2Vec, HMM2Vec, BERT, and ELMo. In: Journal of Computer Virology and Hacking Techniques. Band 19, Nr. 1, 22. April 2022, ISSN 2263-8733, S. 1–16, doi:10.1007/s11416-022-00424-3.
- ↑ Younghoon Lee: Systematic Homonym Detection and Replacement Based on Contextual Word Embedding. In: Neural Processing Letters. Band 53, Nr. 1, 2021, ISSN 1573-773X, S. 17–36, doi:10.1007/s11063-020-10376-8.
- ↑ Shervin Minaee, Nal Kalchbrenner, Erik Cambria, Narjes Nikzad, Meysam Chenaghlu, Jianfeng Gao: Deep Learning-based Text Classification: A Comprehensive Review. In: ACM Computing Surveys. Band 54, Nr. 3, 2021, ISSN 0360-0300, S. 1–40, doi:10.1145/3439726.
- ↑ Oren Melamud, Jacob Goldberger, Ido Dagan: context2vec: Learning Generic Context Embedding with Bidirectional LSTM. In: Proceedings of the 20th SIGNLL Conference on Computational Natural Language Learning. Association for Computational Linguistics, Berlin, Germany August 2016, S. 51–61, doi:10.18653/v1/K16-1006.