Changes between Version 20 and Version 21 of normalization/6


Ignore:
Timestamp:
Dec 11, 2010, 7:41:51 PM (13 years ago)
Author:
Wolfgang Schmidle
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • normalization/6

    v20 v21  
    2525 * Fehler im Text korrigiert
    2626 * keine Abkürzungszeichen mehr im Text
    27  * keine PUA-Zeichen mehr im Text
    28  * Der Text ist in NFC-Normalform, d.h. wo immer möglich werden precomposed characters verwendet, zum Beispiel ä statt a mit combining diaeresis.
     27 * keine ''PUA''-Zeichen mehr im Text
     28 * der Text ist in ''NFC''-Normalform
    2929
    3030Natürlich muss die Normalisierung mit der Textversion arbeiten, die sie vorfindet. Formal gesagt: Für Wörter mit <reg> und einem norm-Attribut in diesem <reg> arbeitet die Normalisierung nicht mit dem originalen Wort, sondern mit der Version im norm-Attribut. Bei Wörtern ohne <reg>, oder mit einem <reg> ohne norm-Attribut, wird das originale Wort verwendet.
     
    3838Die Normalisierung für das Wörterbuch ist unabhängig vom gerade aktiven Textanzeigemodus: Jede Anfrage an das Wörterbuch wird auf Basis des regularisierten Wortes normalisiert.
    3939
    40 Ich gehe vorläufig davon aus, dass die Normalisierung (Groß- zu Kleinbuchstaben, Entfernen unnötiger Diakritika, chinesische Standardzeichen, Gravis wird Akut) auf unserer Seite stattfindet, und dass die Wörterbücher mit Unicode umgehen können und kein Betacode etc. erwarten.
    41 
     40Ich gehe der Einfachheit halber davon aus, dass die Normalisierung (Groß- zu Kleinbuchstaben, Entfernen unnötiger Diakritika, chinesische Standardzeichen, Gravis wird Akut) auf unserer Seite stattfindet, und dass die Wörterbücher mit Unicode umgehen können und kein Betacode etc. erwarten.
    4241
    4342=== Diakritika ===
    4443
    45 Für Diakritika bedeutet Normalisierung, dass sie einfach entfernt werden.
     44Für Diakritika bedeutet Normalisierung, dass sie entfernt werden.
    4645 1. Diakritika, die in einer Sprache verwendet werden, werden nicht normalisiert: Beispiel ist ä ö ü im Deutschen.
    4746 1. Heutzutage als überflüssig erachtete Diakritika wie in aër und verò im Lateinischen werden normalisiert. Wenn sie nicht reine Lesehilfen sind, können aber noch zur Lemma-Disambiguierung oder zumindest zur Wortform-Disambiguierung beitragen.
     
    5251 1. Diakritika, die in der entsprechenden Sprache gar nicht vorkommen sollten, werden nicht normalisiert. Zeichen mit Kombinationen von mehreren Diakritika werden ebenfalls nicht normalisiert. Es ist nicht die Aufgabe der Normalisierung, die Textqualität stillschweigend zu verbessern.
    5352
    54 Diakritika können auch auf Konsonanten sein. Es ist grundsätzlich möglich, dass in einer Sprache dasselbe Diakritikum auf verschiedenen Buchstaben, also beispielsweise ä und ö, zu verschiedenen Gruppen gehört.
     53Auch Konsonanten können Diakritika haben. Es ist grundsätzlich möglich, dass in einer Sprache dasselbe Diakritikum bei verschiedenen Buchstaben, also beispielsweise ä und ö, zu verschiedenen Gruppen gehört.
    5554
    56 Unicode-Fehler durch identisch aussehende Zeichen werden nicht normalisiert. Zum Beispiel ά (03AC) wird nicht zu ά (1F71) normalisiert. Es ist Aufgabe eines Workflow-Skriptes, solche Zeichen zu finden bzw. zu ersetzen.
     55Unicode-Fehler durch identisch aussehende Zeichen werden bei uns im Gegensatz zu Arboreal nicht normalisiert. Zum Beispiel ά (03AC) wird nicht zu ά (1F71) normalisiert. Es ist Aufgabe eines Workflow-Skriptes, solche Zeichen zu finden bzw. zu ersetzen.
    5756
    5857=== Standard-Normalisierungen in allen Sprachen ===
     
    6059 * ſ wird zu s
    6160 * Es gibt (zumindest für die Textanzeige) keine Normalisierungsregeln für Satzzeichen.
    62  * Bindestriche werden in der Textanzeige nicht normalisiert. Für das Wörterbuch werden Bindestrich am Ende der Zeile entfernt und das Wort zusammengesetzt.
    63  * Als normalisierenswerte Diakritika kommen nur ó ò ô ö õ ō ŏ in Frage, alle anderen Diakritika werden nicht normalisiert.
     61 * Bindestriche werden in der Textanzeige nicht normalisiert. Für das Wörterbuch und für die Suche im normalisierten Text wird ein Bindestrich am Ende der Zeile entfernt und das Wort zusammengesetzt.
     62 * Als normalisierenswerte Diakritika kommen in der Regel nur ó ò ô ö õ ō ŏ in Frage, alle anderen Diakritika werden nicht normalisiert.
    6463 * Umgang mit hyphen und soft hyphen, <lb/> etc.
    6564 * Umgang mit combining characters versus precomposed characters
    66  * Falls nicht explizit anders angegeben, gelten alle für Kleinbuchstaben aufgestellten Regeln in der Textanzeige entsprechend auch für eventuelle Großbuchstaben. (In der Normalisierung für das Wörterbuch entfällt die Version für Großbuchstaben, weil vermutlich nur Kleinbuchstaben weitergeleitet werden.) Beispiele:
     65 * Falls nicht anders angegeben, gelten für Kleinbuchstaben aufgestellten Regeln in der Textanzeige entsprechend auch für eventuelle Großbuchstaben. (In der Normalisierung für das Wörterbuch entfällt die Version für Großbuchstaben, weil vermutlich nur Kleinbuchstaben weitergeleitet werden.) Beispiele:
    6766  * Aus "ò wird zu o" folgt die Regel "Ò wird zu O".
    6867  * Aus "æ wird zu ae" folgt die Regel "Æ wird zu AE" (und nicht Ae)
    6968  * Die Regel "ſ wird zu s" hat kein Gegenstück, weil es kein großes ſ gibt.
    7069 
    71 Lohnt es sich, dafür ein sprachunabhängiges Modul zu haben, und die Normalisierung besteht dann aus dem sprachunabhängigen Modul und einem sprachabhängigen Modul, oder wird die Regel "ſ wird zu s" einfach in jedem sprachabhängigen Modul wiederholt?
    72 
    73 Wäre es sinnvoll, im sprachunabhängigen Modul eine Regel wie "ß wird zu ss" zu haben, und das Modul für Deutsch überschreibt diese Regel? Wahrscheinlich würde das Ändern der Regeln dadurch schwieriger.
    74 
    75 Sind die Normalisierungen für die Anzeige und das Wörterbuch in einer Sprache unabhängig voneinander, oder besteht die Normalisierung für das Wörterbuch aus der Normaliserung für die Textanzeige und weiteren Normalisierungen? Bei den überflüssigen Diakritika wäre das nicht möglich, ansonsten ginge es wohl.
     70Fragen:
     71 * Ist es sinnvoll, dafür ein sprachunabhängiges Modul zu haben, und die Normalisierung besteht dann aus dem sprachunabhängigen Modul und einem sprachabhängigen Modul, oder wird die Regel "ſ wird zu s" einfach in jedem sprachabhängigen Modul wiederholt?
     72 * Ist es sinnvoll, im sprachunabhängigen Modul eine Regel wie "ß wird zu ss" zu haben, und das Modul für Deutsch überschreibt diese Regel? Wahrscheinlich würde das Ändern der Regeln dadurch schwieriger.
     73 * Sind die Normalisierungen für die Anzeige und das Wörterbuch in einer Sprache unabhängig voneinander, oder besteht die Normalisierung für das Wörterbuch aus der Normalisierung für die Textanzeige und weiteren Normalisierungen? Bei den überflüssigen Diakritika wäre das nicht möglich, ansonsten ginge es wohl.
    7674
    7775=== Latein ===
     
    8987   * Abkürzungs-Diakritika sind õ ō wie in reſiduũ, ſcīa (und entsprechend für alle Vokale)
    9088   * Was ist mit ó ŏ ?
    91    * andere Diakritika werden nicht normalisiert. Insbesondere die Zeichen 1E14-1E1D und 1EB8-1EC7 und die Äquivalente für die anderen Vokale werden nicht normalisiert.
     89   * Andere Diakritika werden nicht normalisiert. Insbesondere die Zeichen 1E14-1E1D und 1EB8-1EC7 und die Äquivalente für die anderen Vokale werden nicht normalisiert.
    9290 * Medievalist characters wie ꝙ (A759) sollten regularisiert sein. Wenn sie doch noch enthalten sind, werden sie nicht normalisiert.
    9391 * u/v: Malcolms Algorithmus für das Italienische kann (mit korrigiertem und angepasstem Umgang mit getrennten Wörtern) für das Lateinische übernommen werden. Sinnvoll ist allerdings wohl eine Neu-Implementierung in Lex.
     
    9896 * ö ist wohl eine reine Lesehilfe
    9997
    100 Beachte: Eine Jahreszahl wie MDLXXXV (Benedetti p.5: <emph class="sc">mdlxxxv</emph>) darf nicht normalisiert werden. Mit den neuen Regeln für u/v würde das nicht mehr passieren. Da V immer rechts von X, L, C, D, M ist und rechts neben V nur I sein kann, gibt es wohl auch keine andere römische Zahl, die normalisiert werden würde. (Eigentlich sollte die Zahl auch wie der Inhalt von <var> vor der morphologischen Analyse versteckt werden. Deshalb vielleicht: <num value="1585" style="sc">mdlxxxv</num>, und <num> wird wie <var> ausgenommen.)
     98Beachte: Eine Jahreszahl wie MDLXXXV (Benedetti p.5: <emph class="sc">mdlxxxv</emph>) darf nicht normalisiert werden. Mit den neuen Regeln für u/v würde das nicht mehr passieren. Da V immer rechts von X, L, C, D, M ist und rechts neben V nur I sein kann, gibt es wohl keine römische Zahl, die normalisiert werden würde. (Eigentlich sollte die Zahl auch wie der Inhalt von <var> vor der morphologischen Analyse versteckt werden. Deshalb besser: <num value="1585" style="sc">mdlxxxv</num>, und <num> wird wie <var> ausgenommen.)
    10199
    102 Beachte: Alvarus hat ein anderes Set von bedeutungstragenden Diakritika als Benedetti (zum Beispiel enthält Benedetti kein ſcīa). Es könnte also durchaus passieren, dass zum Beispiel ë im Alvarus bedeutungstragend ist. (Ob die beiden Sets tatsächlich inkompatibel oder lediglich nicht gleich sind, weiß ich nicht. Das Beispiel ist frei ausgedacht, und im regularisierten Text sollten bedeutungstragende Diakritika wie gesagt gar nicht mehr vorkommen.)
     100Beachte: Alvarus hat ein anderes Set von bedeutungstragenden Diakritika als Benedetti (zum Beispiel enthält Benedetti kein ſcīa). Es könnte also durchaus passieren, dass zum Beispiel ë im Alvarus bedeutungstragend ist. (Ob die beiden Sets tatsächlich inkompatibel oder lediglich nicht identisch sind, weiß ich nicht. Das Beispiel ist frei ausgedacht, und im regularisierten Text sollten bedeutungstragende Diakritika wie gesagt gar nicht mehr vorkommen.)
    103101
    104102Beachte das Kodierungsproblem bei der Kommunikation mit Donatus: Wahrscheinlich wird ISO 8859-1 verwendet.
    105103
    106104Arboreal:
    107  * Solange nicht klar ist, warum Malcolm  〈 (2329) und  〉 (232A) normalisiert hat, werden sie bei uns nicht normalisiert.
    108105 * ç wird vorläufig nicht normalisiert
    109106
    110 Was machen wir mit unterschiedlichen Schreibweisen? Im Benedetti gibt es zum Beispiel sowohl cęlum/cælum (wird zur korrekten Schreibweise caelum normalisiert) als auch cœlum (mittellateinische Schreibweise; die normalisierte Schreibweise coelum wird in einem modernen Wörterbuch vermutlich nicht gefunden). Eine Wortliste? Wird die Schreibweise in der Textanzeige normalisiert, oder nur für das Wörterbuch? (Ist das eine Aufgabe der Normalisierung oder doch der Regularisierung? Es ist jedenfalls kein Textfehler und auch nicht buchspezifisch.) Möglicherweise brauchen wir eine Sprachschicht "Mittellatein". Als Alternative zum Standard-Latein oder als nachgeschaltetes Modul? Oder als buchspezifisches Normalisierung, eventuell als overlay? Wäre auch bei Alvarus eine buchspezifische Normalisierung sinnvoll, um sich einen großen Teil der Regularisierungen im Text zu sparen? Oder wird unser System damit zu zersplittert? Unsere Texte könnten dann praktisch nur noch bei uns korrekt angezeigt werden.
     107Das Problem der unterschiedlichen Schreibweisen: Im Benedetti gibt es zum Beispiel sowohl cęlum/cælum (wird zur korrekten Schreibweise caelum normalisiert) als auch cœlum (mittellateinische Schreibweise; die normalisierte Schreibweise coelum wird in einem modernen Wörterbuch vermutlich nicht gefunden). Eine Wortliste? Wird die Schreibweise in der Textanzeige normalisiert, oder nur für das Wörterbuch? (Wäre das eine Aufgabe der Normalisierung? Gegen Regularisierung spricht: es ist kein Textfehler und auch nicht buchspezifisch.) Möglicherweise brauchen wir eine Sprachschicht "Mittellatein". Als Alternative zum Standard-Latein oder als nachgeschaltetes Modul? Oder als buchspezifisches Normalisierung, eventuell als overlay? Wäre auch bei Alvarus eine buchspezifische Normalisierung sinnvoll, um sich einen großen Teil der Regularisierungen im Text zu sparen? Oder wird unser System damit zu zersplittert? Unsere Texte könnten dann praktisch nur noch bei uns korrekt angezeigt werden.
    111108
    112109=== Italienisch ===
     
    122119=== Französisch ===
    123120
    124 Es gibt wohl keine überflüssigen Diakritika. Übliche Diakritika, die nicht normalisiert werden, sind  ó ò ô.
    125 
    126 œ wird im Gegensatz zum Lateinischen nicht normalisiert.
    127 
    128 Über Französisch weiß ich ansonsten wenig.
     121Über Französisch weiß ich wenig.
     122 * Es gibt wohl keine überflüssigen Diakritika.
     123 * Übliche Diakritika, die nicht normalisiert werden, sind  ó ò ô.
     124 * œ wird im Gegensatz zum Lateinischen nicht normalisiert.
     125 * Wie ist es mit ß und u/v?
    129126
    130127=== Deutsch ===
     
    132129Umlaute und ß werden nicht normalisiert, im Gegensatz zum Lateinischen.
    133130
    134 Bindestriche werden für die Anzeige nicht normalisiert. Für das Wörterbuch: Bindestriche innerhalb eines Wortes werden nicht normalisiert. Probleme wie "Vor- und Rücksicht" (mit space nach dem Bindestrich) können wir wohl nicht lösen. Am Ende der Zeile wird das Wort ohne Bindestrich zusammengesetzt, außer der zweite Teil beginnt mit einem Großbuchstaben. Alles, was trotzdem nicht korrekt erkannt wird, können wir nicht ändern. (Eventuell ist das Wörterbuch clever genug, das Bindestrich-Problem selber zu lösen.)
     131Bindestriche werden für die Anzeige nicht normalisiert. Für das Wörterbuch: Bindestriche innerhalb eines Wortes werden nicht normalisiert. Probleme wie "Vor- und Rücksicht" (mit space nach dem Bindestrich) können wir wohl nicht lösen. Am Ende der Zeile wird das Wort ohne Bindestrich zusammengesetzt, außer der zweite Teil beginnt mit einem Großbuchstaben. Alles, was dann immer nicht korrekt erkannt wird, können wir nicht ändern. (Eventuell ist das Wörterbuch clever genug, das Bindestrich-Problem selber zu lösen.)
    135132
    136133Darüber hinaus ist eine orthographische Normalisierung deutscher Texte schwierig. Eventuell wird es mehrere verschiedene Normalierungsregeln in Abhängigkeit vom Alter des Textes geben. Mögliche Sprachschichten sind:
     
    140137 * etc.
    141138
    142 Die Regel "é wird zu e" in Arboreal ist mir unklar, deshalb wird sie nicht übernommen.
     139Der Sinn der Regel "é wird zu e" in Arboreal ist mir unklar, deshalb wird sie vorläufig nicht übernommen.
    143140
    144141=== Fraktur ===
     
    154151Die Normalisierung im Chinesischen funktioniert über eine Zeichenliste, in der jeweils ein oder mehr Zeichenvarianten auf ein Standardzeichen zurückgeführt werden. Beispielsweise wird das Zeichen 歴 (6B74) zu 歷 (6B77) normalisiert. (Beachte: der Unicode-Codepoint des Standardzeichens kann höher sein als der Codepoint der Zeichenvariante.)
    155152
    156 Im Chinesischen gibt es eine Schwelle, unter der eine Zeichenvariante nicht mehr sinnvoll vom Standardzeichen unterschieden werden kann. Diese Entscheidung ist aber im Text bereits getroffen worden. Die Normalisierung ist nur noch rein technischer Akt: Ersetze das Unicode-Zeichen 歴 durch das-Unicode-Zeichen 歷, etc.
     153Im Chinesischen gibt es eine Schwelle, unter der eine Zeichenvariante nicht mehr sinnvoll vom Standardzeichen unterschieden werden kann. (Die Variante 歴 von 歷 gehört nicht dazu, auch wenn die beiden Zeichen für das ungeübte Auge gleich aussehen. Tatsächlich hat 歴 zwei Striche weniger als 歷.) Diese Entscheidung ist aber im Text bereits getroffen worden. Die Normalisierung ist nur noch rein technischer Akt: Ersetze das Unicode-Zeichen 歴 durch das-Unicode-Zeichen 歷, etc.
    157154
    158155Es liegt in der Natur der Sache, dass die Zeichenliste eine offene Klasse ist. Die Liste wird regelmäßig ergänzt werden. Wir brauchen eine Architektur, die damit umgehen kann. Im Idealfall sollte dies möglich sein, ohne dass Programmcode angepasst werden muss. Insbesondere sollten der Mechanismus und die Liste selbst in getrennten Dateien stehen.
     
    160157Auch im Original-Modus soll das Standardzeichen an das Wörterbuch geschickt werden.
    161158
    162 ZWS werden zumindest in der Normalisierung für das Wörterbuch entfernt.
     159Die ''ZWS'' werden zumindest in der Normalisierung für das Wörterbuch entfernt.
    163160
    164 Die Arboreal-Regeln für fullwidth space, einige Satzzeichen und hochgestellte 1 bis 5 werden nicht übernommen.
    165 
    166 Einen Service zur Umwandlung von Lang- in Kurzzeichen könnte man zwar auch anbieten, aber wirklich sinnvoll wäre das für klassisches Chinesisch wohl nicht.
     161Einen Service zur Umwandlung von Lang- in Kurzzeichen könnten wir zwar auch anbieten, aber wirklich sinnvoll wäre das für klassisches Chinesisch wohl nicht.
    167162
    168163=== Arabisch ===
     
    177172
    178173Ziel der Normalisierung im Griechischen ist die akzeptierte moderne Schreibweise des Altgriechischen.
     174 * Im griechischen Text sollten alle Ligaturen regularisiert sein, d.h. in das faithful-Attribut verschoben. Noch im Text vorhandene Ligaturen werden nicht normalisiert.
     175 * Im Text können middle dots enthalten sein, die ebenfalls nicht normalisiert werden.
     176 *Beachte bei der Kommunikation mit Pollux das Problem mit dem Sigma (Ticket [https://it-dev.mpiwg-berlin.mpg.de/tracs/mpdl-project-software/ticket/64 #64]):
     177  * Anzeige im Text sollte richtig sein
     178  * link sollte richtig sein
     179  * Wörterbuch-Eintrag sollte richtig sein
     180 Sind für Ticket 64 Änderungen an Donatus / Pollux nötig? Oder brauchen wir ein kleines Konvertierungsmodul?
    179181
    180 Im griechischen Text sollten alle Ligaturen regularisiert sein. Noch im Text vorhandene Ligaturen werden nicht normalisiert.
    181 
    182 Im Text können middle dots enthalten sein, die ebenfalls nicht normalisiert werden.
    183 
    184 Beachte bei der Kommunikation mit Pollux das Problem mit dem Sigma (Ticket [https://it-dev.mpiwg-berlin.mpg.de/tracs/mpdl-project-software/ticket/64 #64]):
    185  * Anzeige im Text sollte richtig sein
    186  * link sollte richtig sein
    187  * Wörterbuch-Eintrag sollte richtig sein
    188 Sind dafür Änderungen an Donatus / Pollux nötig? Oder brauchen wir ein kleines Konvertierungsmodul?
    189