Wie verarbeiten Computer eigentlich Texte? #
Genau genommen: Gar nicht!
Computer sind pure Rechenmaschinen – sie verarbeiten intern ausschließlich Zahlen.
Mit natürlicher Sprache, wie wir sie sprechen oder schreiben, können sie absolut nichts anfangen.
Deshalb muss jeder Text zunächst in eine für den Computer verständliche Form übersetzt werden.
Ein Zeichen – eine Zahl: ASCII und ANSI #
Jedes Zeichen (z. B. ein Buchstabe oder Satzzeichen) wird einer Zahl zugeordnet – typischerweise im Bereich von 0 bis 127 (für ASCII) oder bis 255 (für ANSI).
Diese Zahlen passen genau in ein Byte – die kleinste adressierbare Speichereinheit eines Computers.
Mit diesem Ansatz lassen sich alle englischen Buchstaben, Ziffern und einige Sonderzeichen abbilden.
flowchart TD classDef bigText font-size:1.0em; A(["⌨️ Text-Eingabe"]):::bigText B(["🔢 In Zahlen umwandeln"]):::bigText C(["🧮 Computer verarbeitet Zahlen"]):::bigText D(["🔡 Rückkonvertierung zu Zeichen"]):::bigText E(["🖥️ Ausgabe am Bildschirm"]):::bigText A --> B --> C --> D --> E
Auszug der ASCII-Tabelle (American Standard Code for Information Interchange):
ID Char ID Char ID Char ID Char 32 ␣ 33 ! 34 " 35 # 36 $ 37 % 38 & 39 ' 40 ( 41 ) 42 * 43 + 48 0 49 1 50 2 51 3 65 A 66 B 67 C 68 D 97 a 98 b 99 c 100 d
Das funktioniert für amerikanisches Englisch perfekt. Doch diese einfache Codierung war auf den US-Markt beschränkt – für viele andere Sprachen reichte sie nicht aus.
Regionale Codepages #
Außerhalb der USA gibt es viele Sprachen mit zusätzlichen Zeichen:
z. B. ä, ö, ü, ñ, ç, é – oder völlig andere Schriften wie Kyrillisch, Arabisch, Chinesisch.
Um dieses Problem zu lösen, wurden sogenannte Codepages eingeführt:
- Jedes Land oder Region hatte ihre eigene Zeichentabelle
- Die Zeichen ab Byte 128–255 wurden je nach Codepage unterschiedlich belegt
Beispiele für regionale Zeichencodierungen (Codepages):
Codepage Region / Sprache Beispiel-Zeichen ASCII USA / Englisch A
,B
,!
,@
ISO-8859-1 Westeuropa é
,ä
,ö
,ü
Windows-1252 Westeuropa (Microsoft) €
,‚
,“
,”
ISO-8859-6 Arabisch ا
,ب
,ت
ISO-8859-8 Hebräisch א
,ב
,ג
Das funktionierte lokal – aber beim Datenaustausch über Sprach- oder Landesgrenzen hinweg führte es zu Chaos:
- Texte wurden falsch dargestellt
- Ein Text konnte in einem Land lesbar sein, im anderen absolut unverständlich
Unicode – ein Zeichensatz für die ganze Welt #
Um dieses Problem dauerhaft zu lösen, gründeten mehrere Tech-Unternehmen das Unicode Consortium.
Ziel:
Ein gemeinsamer Standard, der alle Zeichen aller Sprachen der Welt eindeutig codieren kann.
Der Unicode-Standard wurde geboren – und mit ihm konnten nun auch:
- Chinesische Schriftzeichen
- Kyrillisch, Arabisch
- Mathematische Symbole
- Emojis 😄
- … und viele weitere Zeichenarten verarbeitet werden
Unicode verwendet 1 bis 4 Bytes pro Zeichen, je nach Codierung (z. B. UTF-8, UTF-16, UTF-32). UTF-8 ist heute der häufigste verwendete Zeichensatz, da er alle Unicode-Zeichen variabel mit 1 bis 4 Bytes kodiert, platzsparend ist und vollständig mit ASCII kompatibel bleibt.
Damit war endlich möglich:
- Sprachübergreifender Textaustausch
- Einheitliche Darstellung auf allen Geräten
- Kein Chaos mit Codepages
Aber Achtung: Nicht alle Texte werden im Unicode-Format gespeichert – der Ärger ist also noch nicht ganz ausgestanden …
Maschinelles Textverständnis: Weit mehr als nur Worte #
Das sinnvolle Erfassen von Texten ist für Computer eine enorme Herausforderung. Was für uns Menschen selbstverständlich ist, stellt Computer vor riesige Probleme.
Mit traditionellen Programmiertechniken ließ sich dieses Problem nicht lösen.
Frühere Ansätze versuchten, Texte mithilfe einfacher Algorithmen zu analysieren – etwa um E-Mails als Spam zu erkennen.
- Mustererkennung: Programme suchten im Text nach typischen Wortmustern oder Phrasen, die auf Spam hindeuten.
- Bag-of-Words-Modell (BoW): Der Text wurde in einzelne Wörter zerlegt und diese gezählt.
Begriffe wie „kostenlos“ oder „gewinnen“ waren statistisch häufiger in Spamnachrichten zu finden.
Diese Algorithmen lieferten teilweise erstaunlich gute Ergebnisse – aber mit wirklichem Textverständnis hatten sie nichts zu tun.
Transformer: Der Durchbruch #
Erst durch neuronale Netzwerke – und insbesondere durch die Einführung von Transformer-Modellen – wurde es möglich, Sprache mit Kontext und Bedeutung zu erfassen. Damit begann eine neue Ära im maschinellen Sprachverständnis.
LLMs (Large Language Models) schaffen es mithilfe genialer Techniken, die Bedeutung einzelner Wörter – genauer gesagt: Tokens – zueinander in Beziehung zu setzen.
Dadurch können sie Texte nicht nur lesen, sondern auch semantisch verstehen.
Doch auch bei LLMs beginnt alles mit einem essentiellen Schritt:
Der Text muss zunächst in eine für den Computer verständliche Form umgewandelt werden – sprich: in Zahlen.
Dazu wird die Eingabe in kleine Einheiten zerlegt – sogenannte Tokens.
Textbruchstücke – Tokens #
Tokens sind die grundlegenden Bausteine eines Texts.
Sie können ganze Wörter sein, Wortbestandteile oder auch einzelne Zeichen.
Jedem Token wird eine eindeutige numerische ID zugewiesen – über das sogenannte Vokabular, eine Tabelle aller bekannten Tokens.
Diese IDs sind die Grundlage für die Rechenoperationen im Sprachmodell.
Ausschnitt aus dem Vokabular #
Token | ID | Beschreibung |
---|---|---|
the | 464 | häufigstes englisches Wort |
hello | 7592 | ganzes Wort |
Grüß | 29213 | Subwort (z. B. in „Grüße“) |
e | 68 | einzelner Buchstabe |
! | 0 | Satzzeichen |
GPT-Modelle verwenden ca. 50.000 Tokens in ihrem Vokabular (z. B. GPT-3: 50.257 Tokens).
Wie wurde dieses Vokabular erstellt? #
Bevor ein Sprachmodell wie GPT trainiert wird, analysieren spezielle Algorithmen Milliarden von Texten, um die häufigsten Zeichenfolgen zu identifizieren.
Diese Zeichenfolgen – ganze Wörter, Wortbestandteile oder einzelne Zeichen – bilden die Grundlage für das sogenannte Vokabular, also die Token-Tabelle.
Das Verfahren dahinter nennt sich Byte Pair Encoding (BPE).
Ziel ist es, wiederkehrende Textmuster zu finden, die sich effizient als Token darstellen lassen.
Erst auf Basis dieser Tokens kann das Sprachmodell lernen, mit Text zu rechnen und Bedeutung abzuleiten.
LLMs wie ChatGpt sind wahre Sprachgenies – sie verstehen über 90 Sprachen #
Dabei werden nicht nur Wörter aus einer Sprache berücksichtigt.
Modelle wie ChatGpt sind multilingual – sie wurden mit Texten in über 90 Sprachen trainiert.
Dementsprechend enthält das Vokabular Tokens aus vielen verschiedenen Sprachräumen, zum Beispiel:
- Englisch
- Deutsch
- Chinesisch
- Arabisch … und viele mehr.
So kann das Modell nicht nur Text in verschiedenen Sprachen erkennen – es kann ihn auch verstehen, analysieren und weiterverarbeiten.
Der Tokenizer #
Der Tokenizer ist die Komponente, die einen Text in kleinere Einheiten – sogenannte Tokens – zerlegt.
GPT-Tokenizer Live-Demo!
Probier’s einfach aus – gib deinen Text ein und sieh live, wie GPT ihn in Tokens zerlegt!
Dieser Prozess läuft in 4 Schritten ab:
flowchart TD classDef step fill:#eef,stroke:#888,stroke-width:1px,rx:10,ry:10,font-size:1em; A[🧮 UTF-8-Encoding]:::step B[🔤 Byte-to-Unicode-Mapping]:::step C[🔗 Byte Pair Encoding]:::step subgraph LEXP [Token-ID-Zuordnung] direction LR D[📘Vokabular]:::step --> E[🧾„hello“ → 7592]:::step end A --> B --> C --> LEXP
-
UTF-8-Encoding
Der Text wird zunächst in Bytes umgewandelt – also Zahlen zwischen 0 und 255. -
Byte-to-Unicode-Mapping
Nicht alle Bytewerte entsprechen direkt sichtbaren Zeichen (z. B. Steuerzeichen). GPT-3 verwendet deshalb den sogenannten “Byte-to-Unicode-Trick”, um jeden Bytewert eindeutig in ein darstellbares Unicode-Zeichen zu konvertieren. So können alle Zeichen sicher verarbeitet werden. -
Byte Pair Encoding (BPE)
Anschließend wird die Zeichenfolge mithilfe von Byte Pair Encoding in Tokens zerlegt.
Häufig vorkommende Zeichen- oder Wortteile werden gemäß einer Merge-Tabelle zu größeren Einheiten zusammengeführt.
Beispiel:t
+h
→th
-
Token-ID-Zuordnung
Die gefundenen Tokens werden nun im Vokabular nachgeschlagen.
Jeder Token hat dort eine eindeutige numerische ID, mit der das Modell arbeiten kann.
Am Ende dieses Prozesses entsteht eine Liste von Token-IDs – also eine Zahlenfolge, die das Sprachmodell als Eingabe verarbeitet.
Hallo | , | mein | Name | ist | Chat | GPT | . |
---|---|---|---|---|---|---|---|
15496 | 11 | 616 | 1438 | 318 | 707 | 1001 | 13 |
Ein interessanter Aspekt ist das sogenannte „greedy Verhalten“:
Der Tokenizer wählt stets das längst mögliche passende Token aus dem Vokabular.
Trotzdem wird ein vorhandenes Token wie „grüße“ nicht immer als solches verwendet.
Warum?
- Es kommt auf exakte Übereinstimmung an (Groß-/Kleinschreibung, Kodierung).
- Wird kein exakter Treffer gefunden, wird das Wort in Subtokens aufgeteilt – z. B.
Grüß
+e
odergr
+ü
+ße
.
Tiktoken – die etwas modernere Variante #
Neuere Modelle wie GPT-4 verwenden nicht mehr den ursprünglichen GPT-2/3-Tokenizer, sondern eine leicht optimierte Variante namens Tiktoken. Tiktoken basiert weiterhin auf Byte Pair Encoding (BPE), wurde aber intern so optimiert, dass er schneller, Unicode-sicherer und robuster bei mehrsprachiger Eingabe ist.
© 2025 Oskar Kohler. Alle Rechte vorbehalten. Hinweis: Der Text wurde manuell vom Autor verfasst. Stilistische Optimierungen, Übersetzungen sowie einzelne Tabellen, Diagramme und Abbildungen wurden mit Unterstützung von KI-Tools vorgenommen.