FastText ist eine Open-Source-Bibliothek, die von Facebook AI Research (FAIR) für das Erlernen von Wortdarstellungen und die Durchführung von Textklassifikation entwickelt wurde. Sie wurde 2016 öffentlich veröffentlicht. Die Bibliothek kombiniert Techniken des maschinellen Lernens mit einem Fokus auf Recheneffizienz, was sie für groß angelegte Verarbeitung natürlicher Sprache geeignet macht. Ihr GitHub-Repository wurde am 19. März 2024 archiviert, was das Ende der aktiven Entwicklung markiert, obwohl der Quellcode und die vortrainierten Modelle weiterhin verfügbar bleiben.
Wortdarstellungen
FastText baut auf dem Skip-Gram-Modell auf, das in word2vec verwendet wird, berücksichtigt aber zusätzlich die interne Struktur von Wörtern. Anstatt ein Wort nur als Ganzes zu repräsentieren, stellt es Wörter mithilfe von Zeichen-n-Grammen dar. Wörter, die Zeichenfolgen gemeinsam haben, können daher einige der gleichen gelernten Informationen teilen.
Diese Nutzung von Subwort-Informationen ist besonders nützlich für seltene Wörter und Sprachen mit komplexer Wortbildung und ermöglicht es FastText außerdem, Darstellungen für Wörter zu konstruieren, die während des Trainings nicht gesehen wurden. Facebook AI Research veröffentlichte später vortrainierte FastText-Vektoren für viele Sprachen, darunter eine Sammlung für 157 Sprachen, die auf Common Crawl und Wikipedia trainiert wurde. Diese Vektoren wurden in nachgelagerten Anwendungen wie Machine learning-Klassifikatoren und Aufgaben zur semantischen Ähnlichkeit weit verbreitet übernommen.
Textklassifikation
FastText kann auch für überwachte Textklassifikation verwendet werden. Es kombiniert Informationen aus den Wörtern und Wort-n-Grammen eines Textes, um eine Klassenbezeichnung vorherzusagen. Die Methode wurde entwickelt, um recheneffizient zu sein, und erreichte in ihrer ursprünglichen Evaluierung eine Genauigkeit, die mit mehreren zeitgenössischen Deep-Learning-Modellen vergleichbar ist, während Training und Vorhersagen deutlich schneller erfolgen. Der überwachte Modus verwendet eine hierarchische Softmax-Funktion, um große Klassenmengen effizient zu verarbeiten, was ihn für Aufgaben wie Sentimentanalyse und Dokument-Tagging praktisch macht.
Architektur und Training
Das Kernmodell ist ein flaches Neural network mit einer einzigen verborgenen Schicht, was im Gegensatz zu den tieferen Architekturen steht, die im modernen Deep learning üblich sind. Im unüberwachten Modus wird jedes Wort als Summe seiner Zeichen-n-Gramm-Vektoren plus einem optionalen Ganzwort-Vektor dargestellt. Im überwachten Modus wird der Eingabetext als Durchschnitt seiner Wortvektoren eingebettet, der dann durch einen linearen Klassifikator geführt wird. Das Training erfolgt mit stochastischem Gradientenabstieg und negativem Sampling, was die Rechenkosten reduziert. Diese Einfachheit ermöglicht es FastText, innerhalb weniger Minuten auf einem einzelnen Rechner mit Milliarden von Wörtern zu skalieren.
Vermächtnis und Einfluss
FastText beeinflusste spätere Entwicklungen in der Textdarstellung und -klassifikation, insbesondere in Szenarien mit begrenzten Rechenressourcen. Sein Subwort-Ansatz informierte die Forschung zu morphologisch reichen Sprachen und zur Behandlung von Wörtern außerhalb des Vokabulars, und es bleibt eine gängige Baseline für die Bewertung komplexerer Modelle wie Large language models. Das archivierte Repository und die veröffentlichten vortrainierten Vektoren werden weiterhin von Forschern und Praktikern in Wissenschaft und Industrie genutzt, auch innerhalb von Cloud-Plattformen wie Amazon Web Services und Google Cloud für benutzerdefinierte Artificial intelligence-Pipelines.
Siehe auch
- Word2vec (verwandtes Konzept, nicht in der bereitgestellten Liste, aber im Text erwähnt)
- Word2vec
- GloVe
- Neuronale Netze (maschinelles Lernen)
- Verarbeitung natürlicher Sprache