KI‑Kompass
Kompass

Sprachverarbeitung, klassisch

Tokenisieren, Stammformen, TF-IDF, BM25 und Entitätenerkennung: Verfahren, die vor den Sprachmodellen da waren und in vielen Fällen weiterhin die bessere Wahl sind.

·2 Min. Lesezeit·Von Fachredaktion Technik
DETAILGRAD
3 Abschnitte

Die Idee

Lange bevor Sprachmodelle existierten, wurde Text maschinell verarbeitet: in Wörter zerlegt, auf Grundformen zurückgeführt, gezählt und gewichtet. Diese Verfahren sind nicht überholt, sondern erledigen einen Teil der Arbeit besser.

Was sie gut können

AufgabeKlassischSprachmodell
Aktenzeichen findensehr gut, exaktunzuverlässig
IBAN prüfenperfekt, mit Prüfsummeunnötig
Häufigkeiten zählenperfektungeeignet
Nach Stichwort suchensehr gutüberflüssig
Sinn erfassenschwachsehr gut
Umformulierenungeeignetsehr gut

Die Verarbeitungskette

  1. 01

    Normalisieren

    Kleinschreibung, Unicode vereinheitlichen, Umlaute behandeln. Bei deutschen Texten gehört hierhin auch die Entscheidung über Komposita.

  2. 02

    Zerlegen

    In Wörter und Sätze. Für Deutsch gehören Abkürzungen mit Punkt in eine Ausnahmeliste, sonst zerfallen Sätze an „z. B." und „Abs.".

  3. 03

    Grundformen bilden

    Lemmatisierung ist bei Deutsch der Stammformbildung deutlich überlegen, weil die Flexion reicher ist.

  4. 04

    Gewichten

    TF-IDF oder BM25, je nachdem ob nur verglichen oder gesucht wird.

import re

# Muster, die ein Sprachmodell nicht zuverlaesser erkennt als eine Regel:
MUSTER = {
    "IBAN":       r"\b[A-Z]{2}\d{2}(?:[ ]?[A-Za-z0-9]{4}){2,7}\b",
    "USt-IdNr":   r"\b(?:ATU\d{8}|DE\d{9})\b",
    "Datum":      r"\b\d{1,2}\.\s?\d{1,2}\.\s?\d{2,4}\b",
    "Aktenzeichen": r"\b\d+\s?[A-Za-z]{1,3}\s?\d+/\d{2}\b",
}

def extrahieren(text):
    return {name: re.findall(p, text) for name, p in MUSTER.items()}

TF-IDF und BM25

TF-IDF

tfidf(t,d) = tf(t,d) · log( N / df(t) )

Ein Begriff wiegt schwerer, je häufiger er im Dokument und je seltener er im Gesamtbestand ist.

tf(t,d)
Häufigkeit des Begriffs t im Dokument d
N
Anzahl aller Dokumente
df(t)
Anzahl der Dokumente, die t enthalten

BM25

BM25(t,d) = IDF(t) · ( tf·(k₁+1) ) / ( tf + k₁·(1 − b + b·|d|/avgdl) )

Wie TF-IDF, aber mit Sättigung der Worthäufigkeit und einer Korrektur für die Dokumentlänge.

|d|
Länge des Dokuments in Wörtern
avgdl
mittlere Dokumentlänge im Bestand
k₁
Sättigungsparameter, üblich 1,2 bis 2,0
b
Längennormierung, üblich 0,75

Die Sättigung ist der entscheidende Unterschied: Bei TF-IDF ist ein Dokument mit zwanzig Vorkommen doppelt so relevant wie eines mit zehn. Bei BM25 nähert sich der Beitrag einer Obergrenze, was der Wirklichkeit entspricht, weil das zwanzigste Vorkommen kaum neue Information trägt.

Deutsche Besonderheiten

  • Komposita. „Rechnungsprüfungsverfahren" wird von einer Volltextsuche nicht gefunden, wenn nach „Prüfung" gesucht wird. Ein Zerlegungsverfahren für Komposita hebt den Recall deutlich.
  • Flexion. „Vertrages", „Verträge", „Vertrag" gehören zusammengeführt. Ohne Lemmatisierung sinkt der Recall spürbar.
  • Umlaute. Sowohl „Prüfung" als auch „Pruefung" müssen gefunden werden. Eine Normalisierung in beide Richtungen ist nötig.
  • Fugen-s. Regelbasierte Zerlegung scheitert daran regelmäßig; ein Wörterbuchansatz ist verlässlicher.

Die Kombination

In der Praxis gewinnt fast immer eine hybride Suche: BM25 für genaue Begriffe, Vektorsuche für Bedeutung, und eine Zusammenführung über die Ränge. Der gemessene Recall@10 liegt dabei regelmäßig 5 bis 15 Punkte über jedem der beiden Verfahren allein. Siehe Vektordatenbanken.

Passende Kurse und Quellen

KursKostenlos1500 Min.EN

Hugging Face NLP-Kurs

Tokenisierung, Transformer, Feinabstimmung und Bereitstellung, durchgehend mit Code. Setzt Python voraus, dafür arbeitet man am Ende mit echten Modellen.

Für Entwicklung mit Sprachmodellen, wenn es über das Aufrufen einer Schnittstelle hinausgehen soll.

Hugging FaceZum Angebot
WerkzeugKostenlosEN

spaCy

Bibliothek für klassische Sprachverarbeitung. Für Erkennung von Namen, Wortarten und Struktur oft schneller, billiger und prüfbarer als ein Sprachmodell.

Wenn Namen, Wortarten oder Struktur gebraucht werden: oft schneller, billiger und prüfbarer als ein Sprachmodell.

BuchKostenlosEN

Speech and Language Processing

Jurafsky und Martin, das Standardwerk der Sprachverarbeitung, kapitelweise frei. Deckt klassische Verfahren und Sprachmodelle in einem Bogen ab.

Für alle, die Sprachverarbeitung systematisch lernen wollen, klassisch und modern in einem Bogen.

War diese Seite hilfreich?
Sprachverarbeitung, klassisch