Ich habe einen Wandler in Form einer DOT-Datei gespeichert. Ich kann eine grafische Darstellung der Graphen mit gvedit sehen, aber was ist, wenn ich die DOT-Datei in einen ausführbaren Transducer konvertieren möchte, damit ich den Transducer testen kann und sehe, welche Strings er akzeptiert und was nicht.Wie analysiere ich eine DOT-Datei in Python
In den meisten Tools, die ich in Openfst, Graphviz und ihren Python-Erweiterungen gesehen habe, werden DOT-Dateien nur zum Erstellen einer grafischen Darstellung verwendet. Was aber, wenn ich die Datei analysieren möchte, um ein interaktives Programm zu erhalten Testen Sie die Saiten gegen den Wandler?
Gibt es irgendwelche Bibliotheken, die die Aufgabe erledigen würden oder sollte ich sie einfach von Grund auf neu schreiben?
Wie gesagt, die DOT-Datei ist mit einem Wandler verwandt, den ich entworfen habe, der die Morphologie des Englischen simuliert. Es ist eine riesige Datei, aber um Ihnen eine Vorstellung davon zu geben, wie es ist, biete ich ein Beispiel an. Angenommen, ich möchte einen Transducer erstellen, der das Verhalten von Englisch in Bezug auf Substantive und in Bezug auf Pluralität modellieren würde. Mein Lexikon besteht aus nur drei Wörtern (Buch, Junge, Mädchen). Mein Wandler würde in diesem Fall wie folgt aussehen:
, die direkt aus dieser DOT-Datei aufgebaut ist:
digraph A {
rankdir = LR;
node [shape=circle,style=filled] 0
node [shape=circle,style=filled] 1
node [shape=circle,style=filled] 2
node [shape=circle,style=filled] 3
node [shape=circle,style=filled] 4
node [shape=circle,style=filled] 5
node [shape=circle,style=filled] 6
node [shape=circle,style=filled] 7
node [shape=circle,style=filled] 8
node [shape=circle,style=filled] 9
node [shape=doublecircle,style=filled] 10
0 -> 4 [label="g "];
0 -> 1 [label="b "];
1 -> 2 [label="o "];
2 -> 7 [label="y "];
2 -> 3 [label="o "];
3 -> 7 [label="k "];
4 -> 5 [label="i "];
5 -> 6 [label="r "];
6 -> 7 [label="l "];
7 -> 9 [label="<+N:s> "];
7 -> 8 [label="<+N:0> "];
8 -> 10 [label="<+Sg:0> "];
9 -> 10 [label="<+Pl:0> "];
}
nun diese Wandler gegen die Worte Prüfung bedeutet, dass, wenn Sie füttern es mit book+Pl
sollte es zurück books
spucken und umgekehrt. Ich würde gerne sehen, wie es möglich ist, die Punktdatei in ein Format zu verwandeln, das solche Analysen und Tests erlaubt.
Jede Chance, die wir die .dot-Datei sehen könnten? –
Eine DOT-Datei stellt ein Diagramm dar, das aus Knoten und Kanten besteht. Ich nehme an, dass die Knoten ein Eingabe- oder Ausgabepunkt sind und die Kante zwischen zwei Knoten den Transport darstellt. Wenn Sie die .dot-Datei anzeigen, können Sie möglicherweise nützlichere Kommentare und/oder Antworten erhalten. –
Ich habe gerade aktualisiert und ein Beispiel hinzugefügt. –