Definition

BERT (Bidirectional Encoder Representations from Transformers)

Was ist BERT?

BERT ist ein Open-Source-Framework für maschinelles Lernen zur Verarbeitung natürlicher Sprache (Natural Language Processing, NLP). BERT wurde entwickelt, um Computer zu unterstützen, die Bedeutung mehrdeutiger Sprache in Texten zu verstehen, indem der umgebende Text verwendet wird, den Kontext herzustellen. Das BERT-Framework wurde mit Text aus Wikipedia trainiert und kann mit Frage- und Antwort-Datensätzen feinabgestimmt werden.

BERT steht für Bidirectional Encoder Representations from Transformers und basiert auf Transformer, einem Deep-Learning-Modell, bei dem jedes Ausgangselement mit jedem Eingangselement verbunden ist und die Gewichtung zwischen ihnen dynamisch auf der Grundlage ihrer Verbindung berechnet wird.

In der Vergangenheit konnten Sprachmodelle Texteingaben nur sequenziell lesen – entweder von links nach rechts oder von rechts nach links – aber nicht beides gleichzeitig. BERT ist hingegen darauf ausgelegt, in beide Richtungen gleichzeitig zu lesen. Diese Fähigkeit, die durch die Einführung von Transformatoren ermöglicht wurde, wird als Bidirektional bezeichnet.

Mit der bidirektionalen Fähigkeit wird BERT auf zwei verschiedene, aber verwandte NLP-Aufgaben trainiert: Maskierte Sprachmodellierung (Masked Language Modeling, MLM) und Vorhersage des nächsten Satzes (Next Sentence Prediction, NSP).

Das Ziel maskierter Sprachmodellierung ist, ein Wort in einem Satz zu verstecken und dann das Programm auf der Grundlage des Kontexts des versteckten Worts vorhersagen zu lassen, welches Wort versteckt (maskiert) wurde. Das Ziel des Trainings für die Vorhersage des nächsten Satzes ist, das Programm vorhersagen zu lassen, ob zwei gegebene Sätze eine logische, sequenzielle Verbindung haben oder ob ihre Beziehung zufällig ist.

Geschichte von BERT

Transformer wurden 2017 von Google eingeführt. Zuvor verwendeten Sprachmodelle hauptsächlich rekurrente neuronale Netze (Recurrent Neural Network, RNN) und faltende neuronale Netze (Convolutional Neural Network, CNN), um NLP-Aufgaben zu bewältigen.

Obwohl diese Modelle gut sind, wird Transformer als eine bedeutende Verbesserung angesehen, da es im Gegensatz zu RNN und CNN keine Sequenzen von Daten benötigt, die in einer bestimmten Reihenfolge verarbeitet werden müssen. Da Transformer Daten in beliebiger Reihenfolge verarbeiten können, ist es möglich, mit größeren Datenmengen zu trainieren, als dies vor ihrer Existenz möglich war. Dies wiederum erleichterte die Erstellung vortrainierter Modelle wie BERT, das vor seiner Veröffentlichung mit großen Mengen an Sprachdaten trainiert wurde.

Im Jahr 2018 veröffentlichte Google BERT und stellte es als Open Source zur Verfügung. In seiner Forschungsphase erzielte das Framework bahnbrechende Ergebnisse bei elf Aufgaben zum Verständnis natürlicher Sprache, darunter Stimmungsanalyse, semantische Rollenbeschriftung, Satzklassifizierung und Disambiguierung von polysemen Wörtern, also Wörtern mit mehreren Bedeutungen.

Die Bewältigung dieser Aufgaben unterscheidet BERT von früheren Sprachmodellen wie word2vec und GloVe, die bei der Interpretation von Kontext und polysemen Wörtern eingeschränkt sind. BERT geht effektiv auf Mehrdeutigkeit ein, die nach Ansicht von Forschern auf diesem Gebiet die größte Herausforderung beim Verstehen natürlicher Sprache darstellt. Es ist in der Lage, Sprache mit einem menschenähnlichen Verständnis zu parsen.

Im Oktober 2019 kündigte Google an, dass es BERT auf seine in den USA entwickelten Suchalgorithmen anwenden wird.

BERT wirkt sich auf einen gewissen Anteil der Google-Suchanfragen aus. Unternehmen wird empfohlen, nicht zu versuchen, Inhalte für BERT zu optimieren, da BERT darauf abzielt, ein natürliches Sucherlebnis zu bieten. Den Nutzern wird empfohlen, sich bei ihren Suchanfragen und Inhalten auf das natürliche Thema und das natürliche Nutzererlebnis zu konzentrieren.

Wie funktioniert BERT?

Das Ziel jeder NLP-Technik ist es, die menschliche Sprache so zu verstehen, wie sie natürlich gesprochen wird. Im Fall von BERT bedeutet dies in der Regel, ein Wort in einer Leerstelle vorherzusagen. Um dies zu erreichen, müssen die Modelle in der Regel mit einem großen Bestand an speziellen, markierten Trainingsdaten trainiert werden. Dies erfordert eine mühsame manuelle Datenbeschriftung durch Teams von Linguisten.

BERT wurde jedoch nur mit einem unbeschrifteten, reinen Textkorpus trainiert (nämlich mit der gesamten englischen Wikipedia und dem Brown Corpus). Es lernt weiterhin unüberwacht aus dem unmarkierten Text und verbessert sich selbst dann, wenn es in praktischen Anwendungen eingesetzt wird (zum Beispiel bei der Google-Suche). Sein Vortraining dient als Basisschicht für das Wissen, auf dem es aufbauen kann. Von dort aus kann sich BERT an die ständig wachsende Menge an durchsuchbaren Inhalten und Abfragen anpassen und auf die Spezifikationen des Benutzers abgestimmt werden. Dieser Prozess wird als Transferlernen bezeichnet.

Wie bereits erwähnt, wird BERT durch Googles Forschung zu Transformer ermöglicht. Der Transformator ist der Teil des Modells, der BERT die erhöhte Fähigkeit verleiht, Kontext und Mehrdeutigkeit in der Sprache zu verstehen. Der Transformator erreicht dies, indem er ein bestimmtes Wort im Zusammenhang mit allen anderen Wörtern in einem Satz verarbeitet, anstatt sie einzeln zu verarbeiten. Durch die Betrachtung aller umgebenden Wörter ermöglicht der Transformer dem BERT-Modell, den gesamten Kontext des Wortes zu verstehen und somit die Absicht des Suchenden besser zu erfassen.

Dies steht im Gegensatz zu der traditionellen Methode der Sprachverarbeitung, der so genannten Worteinbettung, bei der frühere Modelle wie GloVe und word2vec jedes einzelne Wort auf einen Vektor abbilden, der nur eine Dimension, einen Splitter, der Bedeutung dieses Wortes darstellt.

Diese Modelle zur Worteinbettung erfordern große Datensätze mit markierten Daten. Sie eignen sich zwar für viele allgemeine NLP-Aufgaben, versagen jedoch bei der kontextlastigen, prädiktiven Beantwortung von Fragen, da alle Wörter in gewisser Weise auf einen Vektor oder eine Bedeutung festgelegt sind. BERT verwendet eine Methode der maskierten Sprachmodellierung, um zu verhindern, dass das Wort im Fokus sich selbst sieht, das heißt unabhängig von seinem Kontext eine feste Bedeutung hat. BERT ist dann gezwungen, das maskierte Wort allein anhand des Kontexts zu identifizieren. In BERT werden Wörter durch ihre Umgebung definiert, nicht durch eine vorher festgelegte Identität. Um es mit den Worten des englischen Linguisten John Rupert Firth zu sagen: „Man erkennt ein Wort an der Gesellschaft, die es hat.“

BERT ist auch die erste NLP-Technik, die sich ausschließlich auf den Mechanismus der Selbstaufmerksamkeit stützt, was durch die bidirektionalen Transformatoren im Zentrum des BERT-Designs ermöglicht wird. Dies ist von Bedeutung, da sich die Bedeutung eines Wortes im Laufe eines Satzes oft ändert. Jedes hinzugefügte Wort erweitert die Gesamtbedeutung des Wortes, auf das sich der NLP-Algorithmus konzentriert. Je mehr Wörter insgesamt in einem Satz oder einer Phrase vorhanden sind, desto mehrdeutiger wird das fokussierte Wort. BERT berücksichtigt die erweiterte Bedeutung, indem es bidirektional liest, die Auswirkungen aller anderen Wörter in einem Satz auf das Fokuswort berücksichtigt und den Impuls von links nach rechts eliminiert, der Wörter im Verlauf eines Satzes in Richtung einer bestimmten Bedeutung verzerrt.

BERT-Diagramm
Abbildung 1: Ein Diagramm zur Funktionsweise von BERT.

In der obigen Abbildung bestimmt BERT zum Beispiel, auf welches vorherige Wort im Satz sich das Wort ist bezieht, und wägt dann mit Unterstützung seines Aufmerksamkeitsmechanismus die Optionen ab. Das Wort mit der höchsten berechneten Punktzahl wird als die richtige Assoziation angesehen (das heißt ist bezieht sich auf Tier, nicht auf er - siehe Abbildung 1). Wäre dieser Satz eine Suchanfrage, würden die Ergebnisse dieses subtilere, präzisere Verständnis widerspiegeln, das BERT erreicht hat.

Wofür wird BERT verwendet?

BERT wird derzeit bei Google eingesetzt, um die Interpretation von Suchanfragen der Nutzer zu optimieren. BERT zeichnet sich durch mehrere Funktionen aus, die dies möglich machen, darunter:

  • Sequenz-zu-Sequenz-Spracherzeugungsaufgaben wie zum Beispiel:
    • Beantwortung von Fragen
    • Zusammenfassungen
    • Vorhersage von Sätzen
    • Generierung von Konversationsantworten
  • Aufgaben zum Verstehen natürlicher Sprache wie zum Beispiel:
    • Auflösung von Polysemie und Koreferenz (Wörter, die gleich klingen oder gleich aussehen, aber unterschiedliche Bedeutungen haben)
    • Disambiguierung der Wortbedeutung
    • Inferenz natürlicher Sprache
    • Sentiment-Klassifizierung

Es wird erwartet, dass BERT einen großen Einfluss auf die Sprachsuche und die textbasierte Suche haben wird, die mit den bisherigen NLP-Techniken von Google fehleranfällig war. Man geht davon aus, dass BERT auch die internationale Suchmaschinenoptimierung verbessert, da seine Fähigkeit, Kontext zu verstehen, ihm hilft, Muster zu interpretieren, die verschiedene Sprachen gemeinsam haben, ohne die Sprache vollständig verstehen zu müssen. Ganz allgemein hat BERT das Potenzial, Systeme der künstlichen Intelligenz in allen Bereichen zu verbessern.

BERT ist quelloffen, das heißt, jeder kann es nutzen. Google wirbt damit, dass Benutzer ein hochmodernes Frage- und Antwortsystem in nur 30 Minuten auf einer Cloud Tensor Processing Unit (TPU) und in wenigen Stunden mit einer Graphic Processing Unit (GPU) trainieren können. Viele andere Organisationen, Forschungsgruppen und separate Abteilungen von Google arbeiten an der Feinabstimmung der BERT-Modellarchitektur mit überwachtem Training, um sie entweder im Hinblick auf ihre Effizienz zu optimieren (zum Beispiel durch Änderung der Lernrate) oder sie für bestimmte Aufgaben zu spezialisieren, indem sie sie mit bestimmten kontextuellen Darstellungen vortrainieren. Einige Beispiele hierfür sind:

  • patentBERT: Ein BERT-Modell, das auf die Klassifizierung von Patenten abgestimmt ist.
  • docBERT: Ein BERT-Modell, das auf die Klassifizierung von Dokumenten abgestimmt ist.
  • bioBERT: Ein vortrainiertes biomedizinisches Sprachrepräsentationsmodell für biomedizinisches Text Mining.
  • VideoBERT: Ein gemeinsames visuell-linguistisches Modell für unüberwachtes Lernen aus einer Fülle von unbeschrifteten Daten auf Youtube.
  • SciBERT: Ein vortrainiertes BERT-Modell für wissenschaftliche Texte.
  • G-BERT: Ein BERT-Modell, das anhand von medizinischen Codes mit hierarchischen Darstellungen unter Verwendung von graphischen neuronalen Netzen (GNN) trainiert und dann für die Erstellung medizinischer Empfehlungen feinabgestimmt wurde.
  • TinyBERT von Huawei: Ein kleineres "Schüler"-BERT, das vom ursprünglichen "Lehrer"-BERT lernt und eine Transformator-Destillation zur Verbesserung der Effizienz durchführt. TinyBERT lieferte vielversprechende Ergebnisse im Vergleich zu BERT-Basis und ist dabei 7,5-mal kleiner und 9,4-mal schneller bei der Inferenz.
  • DistilBERT von HuggingFace: Eine kleinere, schnellere und billigere Version von BERT, die auf der Grundlage von BERT trainiert wird, wobei bestimmte architektonische Aspekte aus Gründen der Effizienz entfernt werden.
Diese Definition wurde zuletzt im Juni 2023 aktualisiert

Erfahren Sie mehr über Softwareentwicklung

ComputerWeekly.de
Close