0Pricing
Learn AI with Python · Lektion

Textklassifikation mit BERT

HuggingFace transformers, AutoTokenizer, AutoModelForSequenceClassification, Fine-Tuning.

Textklassifikation mit BERT ist eine kostenlose Learn AI with Python-Lektion auf CoddyKit. Dies ist Lektion 3 von 4. Du kannst die komplette Lektion unten kostenlos lesen – dann übst du sie direkt im Browser mit einem integrierten Code-Editor und einem KI-Tutor rund um die Uhr. Sie ist Teil des Learn AI with Python-Lernpfads, und dein Fortschritt wird über Web und CoddyKit-App synchronisiert. Der Learn AI with Python-Kurs umfasst insgesamt 4 Lektionen.

Die Grenzen statischer Einbettungen

Word2Vec und GloVe weisen jedem Wort einen einzigen festen Vektor zu. Aber "bank" bedeutet in "river bank" etwas anderes als in "savings bank". Kontextabhängige Modelle wie BERT lösen dieses Problem.

Was ist BERT

BERT ist ein Transformer-Modell, das einen ganzen Satz auf einmal liest und kontextabhängige Einbettungen erzeugt. Es wurde mit riesigen Textmengen vortrainiert und kann für Aufgaben wie Klassifikation feinabgestimmt werden.

Die transformers-Bibliothek von Hugging Face

Die Bibliothek transformers bietet einfachen Zugriff auf BERT und Tausende vortrainierter Modelle sowie einheitliche Klassen für Tokenizer und Modelle.

from transformers import AutoTokenizer, AutoModelForSequenceClassification

name = "distilbert-base-uncased-finetuned-sst-2-english"
tokenizer = AutoTokenizer.from_pretrained(name)
model = AutoModelForSequenceClassification.from_pretrained(name)

AutoTokenizer

AutoTokenizer lädt den passenden Tokenizer für ein Modell. Er teilt den Text in Subword-Token auf und ordnet sie den IDs zu, die das Modell erwartet.

from transformers import AutoTokenizer

tokenizer = AutoTokenizer.from_pretrained("bert-base-uncased")
print(tokenizer.tokenize("unbelievable"))
# subwords like ["un", "##bel", "##ievable"]

AutoModelForSequenceClassification

AutoModelForSequenceClassification lädt BERT mit einem darüberliegenden Klassifikationskopf und gibt für die gesamte Sequenz einen Wert pro Klasse aus.

from transformers import AutoModelForSequenceClassification

model = AutoModelForSequenceClassification.from_pretrained(
    "distilbert-base-uncased-finetuned-sst-2-english"
)

Eingaben tokenisieren

Rufen Sie den Tokenizer für Ihren Text mit truncation, padding und return_tensors auf, um für das Modell geeignete Tensoren zu erhalten. Beim Abschneiden wird die Länge langer Eingaben begrenzt; durch Padding werden die Längen innerhalb eines Batches angeglichen.

inputs = tokenizer(
    "This movie was fantastic!",
    truncation=True,
    padding=True,
    return_tensors="pt",
)
print(inputs["input_ids"].shape)

Die speziellen Token

BERT fügt automatisch spezielle Token hinzu: [CLS] am Anfang (sein verborgener Zustand fasst die Sequenz zusammen) und [SEP] zwischen bzw. nach Sätzen. Der Klassifikator verwendet die Repräsentation von [CLS].

Das Modell ausführen

Übergeben Sie die tokenisierten Eingaben an das Modell, um Logits zu erhalten, also die rohen, nicht normalisierten Klassenwerte.

import torch

with torch.no_grad():
    outputs = model(**inputs)
logits = outputs.logits
print(logits)

Von Logits zu Vorhersagen

Wenden Sie softmax auf die Logits an, um Wahrscheinlichkeiten zu erhalten, und anschließend argmax, um den Index der vorhergesagten Klasse zu bestimmen. Ordnen Sie diesen Index einem Label zu.

import torch

probs = torch.softmax(logits, dim=-1)
pred = torch.argmax(probs, dim=-1).item()
print(model.config.id2label[pred])

Feinabstimmung für Ihre Aufgabe

Bei einem eigenen Datensatz stimmen Sie BERT ab, indem Sie den Klassifikationskopf (und optional das gesamte Modell) mit Ihren gelabelten Beispielen trainieren. Die Trainer-API übernimmt die Trainingsschleife.

from transformers import Trainer, TrainingArguments

args = TrainingArguments(output_dir="out", num_train_epochs=3)
trainer = Trainer(model=model, args=args, train_dataset=train_ds)
trainer.train()

Die Abkürzung pipeline

Für schnelle Inferenz bündelt die Hilfsfunktion pipeline Tokenisierung, Ausführung und Dekodierung in einem einzigen Aufruf – ideal für Prototypen.

from transformers import pipeline

clf = pipeline("sentiment-analysis")
print(clf("I love this product!"))
# [{"label": "POSITIVE", "score": 0.99...}]

Schnelltest

Testen Sie Ihr Wissen über BERT.

Zusammenfassung

Zusammenfassung: BERT erzeugt mithilfe von Transformern kontextabhängige Einbettungen. Verwenden Sie AutoTokenizer, um mit truncation/padding/return_tensors zu tokenisieren, und AutoModelForSequenceClassification, um Logits zu erhalten. Wandeln Sie die Logits zuerst mit softmax und anschließend mit argmax um. Stimmen Sie das Modell mit Trainer ab oder erstellen Sie mit pipeline schnell einen Prototyp.

Häufig gestellte Fragen

Ist die Lektion „Textklassifikation mit BERT“ kostenlos?

Ja — der vollständige Text von „Textklassifikation mit BERT“ ist hier im Web kostenlos zu lesen. Um sie interaktiv zu üben (integrierter Code-Editor und 24/7 KI-Tutor) und den Rest des Learn AI with Python-Kurses freizuschalten, upgrade auf CoddyKit PRO. Der Learn AI with Python-Kurs umfasst insgesamt 4 Lektionen.

Was lerne ich in „Textklassifikation mit BERT“?

HuggingFace transformers, AutoTokenizer, AutoModelForSequenceClassification, Fine-Tuning. Du übst Learn AI with Python mit praktischem Code, den du direkt im Browser ausführst, und ein 24/7 KI-Tutor beantwortet deine Fragen während du die Lektion bearbeitest.

Brauche ich Erfahrung, um Learn AI with Python zu starten?

Keine Vorkenntnisse erforderlich. Learn AI with Python auf CoddyKit ist für Anfänger bis fortgeschrittene Lernende strukturiert, sodass du hier starten oder von Anfang an beginnen und in deinem eigenen Tempo voranschreiten kannst. Dies ist Lektion 3 von 4.

Wie lange dauert die Lektion „Textklassifikation mit BERT“?

Die meisten CoddyKit-Lektionen dauern etwa 5–10 Minuten. Jede ist kompakt und interaktiv, sodass du stetig Fortschritte machst und genau dort weitermachst, wo du aufgehört hast – im Web und in der App.

Kann ich in dieser Learn AI with Python-Lektion Code schreiben und ausführen?

Ja. Jede Learn AI with Python-Lektion enthält einen integrierten Code-Editor, sodass du echten Code direkt in deinem Browser schreibst und ausführst und sofort KI-Feedback erhältst — ohne lokale Einrichtung erforderlich.

Alle Lektionen in diesem Kurs

  1. Word2Vec: Skip-gram und CBOW
  2. GloVe- und FastText-Embeddings
  3. Textklassifikation mit BERT
  4. Semantische Ähnlichkeit und Satz-Embeddings
← Zurück zu Learn AI with Python