Changes between Version 7 and Version 8 of normalization/1


Ignore:
Timestamp:
Dec 18, 2010, 10:16:08 AM (13 years ago)
Author:
Wolfgang Schmidle
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • normalization/1

    v7 v8  
    33== 1. Wie werden Wörter zurzeit normalisiert? ==
    44
    5 In Arboreal wird jede Sprache getrennt normalisiert. Im folgenden gehe ich die Sprachen einzeln durch. Zuerst werden jeweils die Normalisierungen in der Arboreal-Klasse [attachment:OrthographicRules.java OrthographicRules] aufgelistet, danach werden die Änderungen in der Backend-Klasse [attachment:MpdlNormalizer.java MpdlNormalizer] (siehe auch [source:hg/software/eXist/mpdl-modules/src/de/mpg/mpiwg/berlin/mpdl/lt/analyzer/MpdlNormalizer.java hier]) aufgelistet.
     5In Arboreal wird jede Sprache getrennt normalisiert. Im folgenden gehe ich die Sprachen einzeln durch. Zuerst werden jeweils die Normalisierungen in der Arboreal-Klasse [attachment:OrthographicRules.java] aufgelistet, danach werden die Änderungen in der Backend-Klasse [attachment:MpdlNormalizer.java] (siehe auch [source:hg/software/eXist/mpdl-modules/src/de/mpg/mpiwg/berlin/mpdl/lt/analyzer/MpdlNormalizer.java hier]) aufgelistet.
    66
    77In den Tabellen wird immer zuerst die normalisierte Form genannt, und dann alle Formen, die in dieselbe Form normalisiert werden. Beispiel:
    88|| ae || æ (00E6) ę (0119)  ||
    99bedeutet, dass æ und ę zu ae normalisiert werden. "--" bedeutet, dass die Form ganz getilgt wird. Bei ''combining characters'' habe ich jeweils ein o dazugemacht, damit man den combining character besser erkennen kann.
     10
     11=== Ersetzungsregeln ===
     12
     13In Arboreal werden zuerst alle Buchstaben eines Wortes außer dem ersten zu Kleinbuchstaben normalisiert (Ausnahme natürlich u.a. Chinesisch). In der Backend-Version wurde dies weggelassen.
     14
     15Die Regeln gehen dann so vor: Ein Wort wird Buchstabe für Buchstabe durchgegangen. Es wird entschieden, wodurch jeder Buchstabe ersetzt werden soll, und daraus ein neues Wort zusammengesetzt.
     16 * Die meisten Buchstaben werden durch sich selbst ersetzt, d.h. es gibt keine Änderung. Beispiel: a bleibt a.
     17 * Es gibt Regeln für Buchstaben-Sequenzen. Beispiel: ij wird im Italienischen zu ii.
     18 * Die meisten Ersetzungsregeln sind kontextlos. Beispiel: ſ wird im Lateinischen immer durch s ersetzt.
     19 * Einige Regeln sind kontextabhängig. Es wird entweder geprüft, ob ein Buchstabe am Anfang oder Ende eines Wortes steht, oder was für ein Buchstabe davor oder danach kommt. Beispiel: Im Italienischen wird u zu v, wenn vor und nach dem u ein Vokal ist.
     20 * Die Regeln beziehen sich immer das Originalwort, d.h. wenn in einem Wort bereits Änderungen gemacht wurden, wissen die Regeln für die nächsten Buchstaben des Wortes noch nichts davon. Beispiel: PARVVS wird erst zu Parvvs, dann wird es buchstabenweise zu Paruus. Nachdem das erste v in u umgewandelt wurde, ist zweite v trotzdem noch zwischen v und s und wird deshalb ebenfalls umgewandelt.
    1021
    1122=== Latein ===
     
    5566 * u wird zu v, wenn direkt davor und danach ein Vokal (d.h. A E I O U Æ Œ in groß/klein) steht (hyphen/soft hyphen davor wird übersprungen)
    5667 * v wird zu u, wenn direkt davor und danach ein Konsonant (d.h. B C D F G H K L M N P Q R S T V W X Z in groß/klein sowie ſ ß) steht (hyphen/soft hyphen danach wird übersprungen). Am Anfang eines Wortes oder wenn direkt davor kein Buchstabe ist, reicht ein Konsonant danach.
    57 Die Regeln für u/v stehen im Gegensatz zur einfachen Regel "v wird zu u" im Lateinischen. Lateinische Beispiele für Malcolms Algorithmus:
     68Die Regeln für u/v stehen im Gegensatz zur einfachen Regel "v wird zu u" im Lateinischen. Lateinische Beispiele für Malcolms Algorithmus (zusammen mit den Regeln für ſ und für Großbuchstaben):
    5869 
    5970|| vnum || unum ||
    6071|| diuerſarum || diversarum ||
    61 || DIVERSARVM || DIVERSARUM ||
    62 || PARVVS || PARUUS ||
     72|| DIVERSARVM || Diversarum ||
     73|| PARVVS || Paruus ||
    6374|| octauum || octavum ||
    6475|| loquuti || loquuti ||
     
    253264=== Weiteres ===
    254265
    255 In Arboreal werden alle Buchstaben eines Wortes außer dem ersten zu Kleinbuchstaben normalisiert (Ausnahme natürlich u.a. Chinesisch). In der Backend-Version wurde dies weggelassen.
    256 
    257266In der Backend-Version gibt es zusätzlich eine Methode "deNormalizeToRegExpr". Diese Methode erstellt Teile von regexes, die für Latein, Deutsch und Englisch wohl aus einer normalisierten Form alle Wortformen finden soll, die zu dieser Wortform normalisiert werden. Die Implementation scheint allerdings fehlerhaft zu sein. Ein Beispiel: Wasserstraße wird normalisiert zu Wasserstrasse, daraus wird in "deNormalizeToRegExpr" wiederum "Waßerstraße|Wass[eé]rstrass[eé]". Es werden also die Wortformen Waßerstraße, Wasserstrasse, Wassérstrasse, Wasserstrassé und Wassérstrassé gefunden, aber nicht die originale Form Wasserstraße.