Gensim: Textanalyse & Word2Vec Modelle in Python

Online Python-Trainer für Anfänger

Lernen Sie Python einfach ohne theoretische Überlastung. Lösen Sie praktische Aufgaben mit automatischer Überprüfung und schreiben Sie Code direkt im Browser.

Kurs starten

Was ist Gensim und wofür wird es benötigt?

Gensim (Generate Similar) ist eine leistungsstarke Python-Bibliothek zur Textvektorisierung, Themenmodellierung und zum Training von verteilten Wortrepräsentationen. Sie wurde entwickelt, um effizient mit großen Textdatenmengen zu arbeiten, ohne diese vollständig in den Arbeitsspeicher laden zu müssen. Die Bibliothek ist vor allem für ihre Unterstützung der Modelle Word2Vec, FastText und LDA (Latent Dirichlet Allocation) bekannt.

Gensim unterscheidet sich von anderen Bibliotheken durch seinen Fokus auf unstrukturierte Textdaten und die Fähigkeit, Dokumentenkorpora zu verarbeiten, die nicht in den Arbeitsspeicher passen. Dies macht es zum idealen Werkzeug für die Analyse großer Textsammlungen wie Nachrichtenarchive, wissenschaftliche Artikel oder soziale Netzwerke.

Die wichtigsten Funktionen der Gensim-Bibliothek

Vektorrepräsentationen von Wörtern

Gensim bietet volle Unterstützung für die Erstellung und Arbeit mit Vektorrepräsentationen von Wörtern, einschließlich Word2Vec, FastText und Doc2Vec. Diese Modelle wandeln Text in numerische Vektoren um und bewahren dabei die semantischen Beziehungen zwischen Wörtern.

Themenmodellierung

Die Bibliothek enthält mehrere Algorithmen für die Themenmodellierung:

  • LDA (Latent Dirichlet Allocation) — zur Identifizierung versteckter Themen in einer Dokumentensammlung
  • LSI (Latent Semantic Indexing) — zur Dimensionsreduktion und Identifizierung latenter Konzepte
  • HDP (Hierarchical Dirichlet Process) — zur automatischen Bestimmung der Anzahl von Themen

Arbeit mit Korpora

Gensim ermöglicht eine effiziente Arbeit mit großen Textkorpora durch Streaming-Verarbeitung, sodass auch Daten analysiert werden können, die den Arbeitsspeicher übersteigen.

Ähnlichkeitsberechnung

Die Bibliothek bietet verschiedene Metriken zur Berechnung der Ähnlichkeit zwischen Dokumenten, Wörtern und Themen, darunter die Kosinus-Ähnlichkeit und andere semantische Metriken.

Installation und grundlegende Einrichtung

Installation der Bibliothek

Die Installation von Gensim erfolgt auf dem Standardweg über pip:

pip install gensim

Für die Arbeit mit einigen Modellen kann die Installation zusätzlicher Abhängigkeiten erforderlich sein:

pip install gensim[complete]

Import der wichtigsten Module

import gensim
from gensim.models import Word2Vec, FastText, LdaModel, Doc2Vec
from gensim.corpora.dictionary import Dictionary
from gensim.corpora import MmCorpus
from gensim.similarities import Similarity
from gensim.utils import simple_preprocess

Aufbereitung von Textdaten

Tokenisierung und Vorverarbeitung

Gensim benötigt tokenisierte Dokumente als Liste von Listen. Eine korrekte Datenvorverarbeitung ist entscheidend für die Qualität der Ergebnisse:

import re
from gensim.utils import simple_preprocess

def preprocess_text(text):
    """Textvorverarbeitung für Gensim"""
    # Entfernen von Sonderzeichen
    text = re.sub(r'[^a-zA-ZäöüßÄÖÜ\s]', '', text)
    # Tokenisierung und Umwandlung in Kleinbuchstaben
    tokens = simple_preprocess(text, deacc=True)
    return tokens

documents = [
    "Gensim ist eine nützliche Bibliothek für NLP-Aufgaben.",
    "Sie unterstützt Themenmodellierung und Wortvektoren.",
    "Modelle wie Word2Vec und FastText sind implementiert."
]

# Vorverarbeitung der Dokumente
texts = [preprocess_text(doc) for doc in documents]

Erstellung eines Wörterbuchs und Korpus

# Erstellung eines Wörterbuchs
dictionary = Dictionary(texts)

# Filtern extremer Werte
dictionary.filter_extremes(no_below=2, no_above=0.5, keep_n=100000)

# Erstellung des Korpus (Bag-of-Words-Darstellung)
corpus = [dictionary.doc2bow(text) for text in texts]

Arbeit mit Modellen

Empfehlungen