Changes between Version 11 and Version 12 of donatus-unicode


Ignore:
Timestamp:
Aug 1, 2011, 7:59:40 AM (13 years ago)
Author:
Wolfgang Schmidle
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • donatus-unicode

    v11 v12  
    33= Donatus und Unicode
    44
    5 Das Problem mit Arboreal, Alvarus und Donatus kann durch einen Service gelöst werden, der bei einem XML-Text die Wörter im Text durch die normalisierten Formen ersetzt. Diese Textversion kann Arboreal dann zu Donatus schicken.
     5Es gibt ein Problem mit den Text-Kodierungen, wenn man einen Echo-Schema-konformen Text von Arboreal aus an Donatus schickt.
    66
    77Ein kurzfristiger Workaround ist, den
     
    1616[https://it-dev.mpiwg-berlin.mpg.de/tracs/mpdl-project-content/attachment/wiki/donatus-unicode/Alvarus_1509_YHKVZ7B4_neu.morph.xml Morphologie-Datei ohne den Kommentar]
    1717zu verwenden. Dabei verliert man alle Wortformen im Text, die regularisiert werden müssen, unabhängig davon, ob sie bereits regularisiert wurden oder nicht. In Texten wie dem Alvarus ist das ein beträchtlicher Anteil.
     18
     19Mittelfristig kann das Problem durch einen Service gelöst werden, der bei einem XML-Text die Wörter im Text durch die normalisierten Formen ersetzt. Diese Textversion kann Arboreal dann zu Donatus schicken. Dann sind auch die (normalisierten) Wortformen der regularisierungsbedürftigen Wortformen in der Morphologie-Datei enthalten. Damit Arboreal solche Wortformen dann auch tatsächlich richtig zuordnen kann, muss ein zweiter Service diese Wortformen in der Morphologie-Datei ergänzen.
     20
     21Die langfristig beste Lösung wäre, wenn man Arboreal beibringt, neben der <reg>-Struktur in Archimedes auch die neue <reg>-Struktur zu verstehen. Außerdem sollte man Arboreal beibringen, die neue Normalisierung zu verwenden. Dafür muss allerdings der Sourcecode von Arboreal geändert werden.
    1822
    1923
     
    7781DICT hat Regeln für ij und für die moderne Schreibung von u und v, die er vom State DISP für die Textanzeige übernimmt. Ich denke nicht, dass der Unterschied zur Normalisierung in Arboreal einen Unterschied für Donatus macht, siehe Abschnitt 2. Ansonsten liefert DICT reines ASCII zurück, das Arboreal nicht weiter normalisieren würde.
    7882
    79 DICT liefert einen leeren String zurück, falls er in einem Wort merkwürdige Zeichen wie ṫ oder õ findet, für die er keine Regel hat. Die Form alṫatiõis würde also, solange sie kein <reg> hat, gar nicht an Donatus weitergeleitet werden.
     83Das Lex erwartet als input immer die regularisierte Form. Auf nicht-regularisierte Formen reagieren die States unterschiedlich. DICT liefert einen leeren String zurück, falls er in einem Wort merkwürdige Zeichen wie ṫ oder õ findet, für die er keine Regel hat. Die Form alṫatiõis würde also, solange sie kein <reg> hat, gar nicht an Donatus weitergeleitet werden.
    8084
    8185Man will nämlich gar nicht irgendwelche Kodierungen konvertieren, weil das das eigentliche Problem nicht löst. Das, was man schicken möchte, ist (zumindest für Latein, nicht z.B. für Deutsch!) bereits ASCII. Deshalb ist eine Box zwischen Arboreal und Donatus, die ich am Donnerstag im Meeting vorgeschlagen habe, doch keine gute Lösung.
     
    8488== 4. Lösungsvorschlag
    8589
    86 Eigentlich müsste man Arboreal unter anderem beibringen, dass sich die Struktur von <reg> geändert hat. Aber zurzeit traut sich niemand, etwas im Arboreal-Quellcode zu ändern. Am besten wäre also eine Lösung, bei der das nicht nötig ist.
     90Eigentlich müsste man Arboreal unter anderem beibringen, dass sich die Struktur von <reg> geändert hat. Genauer gesagt muss man Arboreal zum Beispiel über die docspecs.xml mitteilen können, welche Form es verwenden soll, denn in Archimedes soll ja weiterhin die alte Struktur von <reg> verwendet werden. Aber zurzeit traut sich niemand, etwas im Arboreal-Quellcode zu ändern. Im folgenden beschreibe ich eine Lösung, bei der das nicht nötig ist.
    8791
    88 Vorschlag: Ein Service, der bei einem XML-Text den Text auf Knopfdruck durch die DICT-normalisierte Form ersetzt. Diesen Text kann Arboreal dann zu Donatus schicken, und danach kann man diese Textversion entsorgen.
     92Vorschlag, Teil 1: Ein Service, der bei einem XML-Text den Text auf Knopfdruck durch die DICT-normalisierte Form ersetzt. Diesen Text kann Arboreal dann zu Donatus schicken, und danach kann man diese Textversion entsorgen.
    8993
    9094Das ist zwar für die Arbeit mit Arboreal immer noch eher eine Symptombekämpfung als eine echte Lösung, aber dafür ist dieser Service auch unabhängig von Arboreal sinnvoll. Man kann diesen Service noch so erweitern, dass man auf Knopfdruck auch den regularisierten Text bekommen kann, sowie das Ergebnis jedes beliebigen Lex-States für diese Sprache. Die XML-Struktur und die IDs werden dabei beibehalten.
     
    9296Die Versatzstücke für diesen Service existieren bereits im Backend: Worterkennung, Regularisierung, Lex anwenden, zusammenfügen zu einer Textseite.
    9397
    94 Dann bleibt noch zu prüfen, ob Arboreal anschließend tatsächlich mit der Donatus-Liste umgehen kann, auch wenn es noch nichts von der neuen <reg>-Struktur weiß. (Gibt es überhaupt ein Problem? Wenn ja, kann es gelöst werden, indem man zum Beispiel bei <lemma form="alteratio" lang="la"> noch die Wortform <variant form="alṫatiõis"></variant> ergänzt?)
     98Vielleicht sollte DICT dann bei problematischen Wörtern nicht einen leeren String, sondern besser ein Sternchen * zurückliefern, oder das Originalwort in eckigen Klammern, also zum Beipsiel [alṫatiõis]. Das müsste dann aber vom Backend abgefangen werden, so dass es nicht an Donatus geschickt wird. Und zurzeit tilgt DICT Zeilenumbrüche, d.h. aus "di- uerſa" wird nicht "di- versa", sondern "diversa". Aber für eine so entstandene Textversion wäre eine Verschiebung des Zeilenumbruchs hinter das Wort wohl gut genug. Alternative wäre ein neuer State DONATUS, der recht einfach zu erstellen wäre.
    9599
    96 Vielleicht sollte DICT dann bei problematischen Wörtern nicht einen leeren String, sondern besser ein Sternchen * zurückliefern, oder das Originalwort in eckigen Klammern, also zum Beipsiel [alṫatiõis]. Das müsste dann aber vom Backend abgefangen werden, so dass es nicht an Donatus geschickt wird. Und zurzeit tilgt DICT Zeilenumbrüche, d.h. aus "di- uerſa" wird nicht "di- versa", sondern "diversa". Aber für eine so entstandene Textversion wäre eine Verschiebung des Zeilenumbruchs hinter das Wort wohl gut genug. Alternative wäre ein neuer State DONATUS, der recht einfach zu erstellen wäre.
     100Die so erhaltene Morphologie-Datei enthält auch die (normalisierten) Wortformen der regularisierungsbedürftigen Wortformen. Hypothetisches Beispiel: Falls es im Text zum Lemma "alteratio" nur die Wortform "alṫatiõis" gäbe, wäre das Lemma trotzdem enthalten. (In Wirklichkeit enthält Alvarus aber auch unverkürzte Formen wie alterationis oder alteratione.) Allerdings würde Arboreal von "alṫatiõis" nicht zum Lemma-Eintrag kommen, siehe diese Wortform in <s xml:id="N2CAEE">.
     101
     102Damit Arboreal solche Wortformen dann auch tatsächlich richtig zuordnen kann, muss ein zweiter Service diese Wortformen in der Morphologie-Datei ergänzen. Der erste Service hat bereits eine Liste aller originalen Wortformen mit ihren normalisierten Gegenstücken gemacht, also zum Beispiel
     103 alṫatiõis --> alterationis
     104
     105Vorschlag, Teil 2: Der zweite Service muss dann in der Morphologie-Datei das Lemma von alterationis finden (<lemma form="alteratio" lang="la">) und dort die Wortform alṫatiõis ergänzen (<variant form="alṫatiõis"></variant>), indem es den Eintrag der normalisierten Form alterationis kopiert.
    97106
    98107