Übung Korpuslinguistik: VisualisierungDas GraphViz-Softwarepaket
Um Graphen automatisch zu zeichnen, gibt es ein Opensource-Softwarepaket namens "
GraphViz", das von Programmierern um AT&T entwickelt wurde. Das Softwarepaket läuft unter den Betriebssystemen Unix, Mac OS X und Windows. Für Mac OS X gibt es ein sog. GUI, ein Graphical User Interface
gleichen Namens: Ein Programm, das die angenehme Bedienung über Menüs etc. erlaubt. Unter den anderen Betriebssystemen müssen die GraphViz-Programme über die Kommandozeile bedient werden.
Das Softwarepaket besteht aus mehreren Programmen, die die Graphen nach unterschiedlichen Algorithmen zeichnen. So zeichnen sie die Knoten und Kanten z.B. in hiearchischer oder kreisförmiger Struktur, oder nach dem Prinzip "energy minimized": So dass ein Netz ensteht, bei dem die Vektorkräfte zwischen den Knoten möglichst ausgeglichen sind.
Als Eingabe akzeptieren die GraphViz-Programme sog. DOT-Dateien. Das sind reine Textdateien, die in einer einfach nachvollziehbaren Sprache geschrieben sind.
Hier ein Beispiel für eine DOT-Datei und der Grafik, die daraus entsteht:
digraph meinGraph { nicht -> nur -> sondern -> auch; nicht -> mehr; nur -> noch; nur -> noch -> heute; nicht -> so -> sondern; auch -> nicht -> mehr; mehr -> geht -> nicht; } |
 |
Abb. 1: Als hierarchische Struktur visualisiert
|
Die gleiche DOT-Datei kann aber auch so dargestellt werden:
 |
Abb. 2: In energetisch ausgeglichener Struktur visualisiert
|
Die Kanten können auch ungerichtet, d.h. ohne Pfeile dargestellt werden. Dann beginnt der Code statt mit "digraph" mit "graph" und die Verbindungen zwischen den Wörtern bestehen aus "--" statt aus "->".
Installation und Bedienung von GraphViz
Die Installation und Bedienung von GraphViz ist abhängig von der verwendeten Version.
Kommandozeile
Die Kommandozeilen-Version, die auf allen Betriebssystemen läuft, funktioniert durch folgende Eingabe (
hier ist die komplette Beschreibung der Möglichkeiten):
[Programmname] [Attribute] [DOT-Datei] > [Ausgabe-Datei]
Als Programmname wird jenes Teilprogramm von GraphViz eingegeben, das man nutzen möchte. Die wichtigsten sind die Folgenden:
dot hierarchische Darstellung
neato energetisch ausgeglichene Darstellung
twopi radiale Darstellung
circo zirkuläre Darstellung
Je nach Programmversion können auch weitere Teilprogramme zur Verfügung stehen. Wichtigstes Attribut ist das Format der Ausgabe:
-T das ist das Ausgabe-Attribut, das (u.a.) durch
folgende Werte ergänzt werden kann:
-Tpng PNG-Grafik-Format
-Tjpg JPG-Grafik-Format
-Tpdf PDF-Datei
-Tsvg SVG-Datei
-Tps Postscript-Datei
GraphViz-GUI unter Mac OS X

GraphViz für Mac OS X bietet ein angenehmes Benutzerinterface, das primär selbsterklärend ist. Man kann über "File" -> "Open..." einfach eine DOT-Datei öffnen, wobei sie anschliessend "gerendert" wird, also berechnet und gezeichnet. Über die "Settings" kann die Darstellung beeinflusst werden, wie z.B. im Menü "Layout" das GraphViz-Teilprogramm ausgewählt werden kann.

GraphViz-Benutzung im Kurs
Da wir GraphViz nicht auf den Rechnern installieren können, musst du auf GraphViz auf dem temporären Server zugreifen. Dazu gehst du so vor:
- Im Finder Menü "Gehe zu" -> "Mit Server verbinden..." wählen.
- Als Server-Adresse die temporäre Adresse eingeben, die an der Wandtafel steht.
- Als Name und Kennwort die Daten eintragen, wie sie an der Wandtafel stehen.
- Bei der Volumes-Auswahl "korpus" wählen.
- Im Finder erscheint ein Fenster: Das Volume "korpus" öffnen. Dort befindet sich das Programm "GraphViz". Per Doppelklick starten.
Über den Befehl "File" -> "
Open" kann eine DOT-Datei geöffnet werden. Sie wird dann sofort gerendert und als Grafik dargestellt.
Um diverse Einstellungen zu machen, müssen die "
Settings" geöffnet werden. Es erscheint dann eine Schublade an Einstellungsmöglichkeiten am linken oder rechten Rand des Fensters. Dort kann im Menü "
Layout" der Algorithmus gewählt werden, mit dem die DOT-Datei interpretiert werden soll.
Weiter sind dort eine Reihe an Parametern einstellbar, die entweder den ganzen
Graphen ("Graph"), die
Knoten ("Node") oder die
Kanten ("Edge") betreffen. In der Kategorie "Graph" findet sich z.B. der Parameter "
Overlap". Den kann man auf "false" oder "scale" setzen, um zu verhindern, dass es zu Überlappungen kommt.
Das Copyright dieses Kurses liegt bei Noah Bubenhofer. Bei Zitaten oder Verweisen darauf, freut der Autor sich über
eine
Mitteilung.
Ebenso bei Fehlern und anderen Hinweisen!
Diese elektronische Ressource soll wie folgt zitiert werden:
Bubenhofer, Noah (2006-2010): Einführung in die Korpuslinguistik: Praktische Grundlagen und Werkzeuge. Elektronische Ressource: http://www.bubenhofer.com/korpuslinguistik/.