iX 5/2024
S. 142
Praxis
Dokumentensuche

Dokumente mit Python indizieren und finden

Das Maß für Worthäufigkeiten TF-IDF schlägt Transformer-basierte Textsuche, wenn die Dokumentensammlung für ein Modelltraining zu klein ist. Vektorarithmetik mit Matrixmultiplikation beschleunigt die Suche und liefert als Nebenprodukt ein Ranking der Ergebnisse.

Von Dr. Roland Pleger

Transformer-basierte Sprachmodelle können viel, solange sie mit riesigen Datenmengen trainieren dürfen. Ist das nicht der Fall oder bezieht sich eine Dokumentensuche nur auf wenige Tausend Dateien, helfen klassische Verfahren weiter: Ein Text-Crawler sammelt das Material für eine Textsuche, das statistische Verfahren TF-IDF liefert die Basis für eine Suchmaschine, die auch Wildcards und Freitexteingaben interpretiert. Darüber hinaus identifiziert es die Sprache von Texten oder bildet die Grundlage für ein Schlagwortregister.

Der vollständige Code ist als Jupyter-Notebook unter ix.de/zrhb zu finden, Steuervariablen im Skript legen die Herkunft der Datenquellen fest. Obwohl das System einfach gehalten ist, bietet es eine Reihe von Hyperparametern. Sie laden zu weiteren Experimenten ein, um der Suchmaschine bei der Arbeit über die Schulter zu schauen.

Kommentieren