Effizienz und Chaos passen für viele Menschen nicht zusammen, für Computer manchmal schon. Der Grund, Ordnung enthält immer Redundanzen (z. B. Dopplungen). Man kann sich diese Dopplungen zunutze machen und meistens helfen Sie auch – z. B. wenn ich meinen Haustürschlüssel immer an die gleiche „redundante“ Stelle auf der Kommode im Flur lege, dann finde ich ihn schnell wieder. Heute möchte ich einen Fall präsentieren, in dem man Redundanzen möglichst vermeiden möchte. Es geht um Textmining – sprich der Analyse und Aufbereitung großer Textmengen.
Folgendes Bild zeigt einen Vergleich zwischen zwei Formaten (XML & CorpusExplorer) wie Sie im Arbeitsspeicher liegen. Die Visualisierung wurde aus einem Memory-Dump des Arbeitsspeichers erstellt.
Das zugrundegelegte Datenmaterial ist bei beiden identisch, es handelt sich um 1’000 zufällig ausgewählte Texte (weitere Metriken: 29’311 Sätze – 747’916 Tokens).
Links: XML-Dokumente
Rechts: Das neue CorpusExplorer-Dateiformat
Was man auf dem Bild sehr gut erkennt, die XML-Daten sind größtenteils sehr gut strukturiert, man erkennt bestimmte wiederkehrende Muster. Auch sieht man sowohl oben als auch in der Mitte Sequenzen, die chaotisch organisiert sind, also kein Muster aufweisen. Rechts ist das neue CorpusExplorer-Dateiformat zu sehen, hier erkennt man keine Regelmäßigkeiten oder Muster – was ein wenig an die Zeiten der guten alten TV-Zimmerantenne erinnert.
Sicherlich ist es von Vorteil Daten zu strukturieren und sicherlich ist XML eine sehr gute Möglichkeit, um dies zu bewerkstelligen. Der CorpusExplorer strukturiert die Daten ebenfalls, aber ohne dabei einen immensen Berg an Redundanzen zu produzieren. Das Credo lautet also: kleiner Datenberg – höhere Geschwindigkeit der Analyse. Das oben gezeigt Bild ist nicht ganz fair, es benachteiligt den CorpusExplorer, da es so aussieht als wären die Daten des CorpusExplorers gleich groß und nur chaotisch. Das folgende Bild zeigt die Speichervisualisierung ohne Skalierung:
Der Vorteil gegenüber XML ist deutlich messbar, um ca. Faktor 300 kleiner Dateien – sowie eine zehnfach besser Analyseperformance. Es zeigt sich also, man kann mit Optimierungen einiges erreichen. Mehr über das neue CorpusExplorer-Format sowie Optimierungsideen für eigene Projekte in Kürze hier im Blog … comming soon