Changes between Version 10 and Version 11 of normalization/1


Ignore:
Timestamp:
Jan 17, 2011, 10:03:18 AM (13 years ago)
Author:
Wolfgang Schmidle
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • normalization/1

    v10 v11  
    11[[PageOutline(1-4,,pullout)]]
    22
    3 == 1. Wie werden Wörter zurzeit normalisiert? ==
     3[wiki:normalization Regularisierung und Normalisierung],
     4I: [wiki:normalization/1 1] [wiki:normalization/2 2] [wiki:normalization/3 3], II: [wiki:normalization/4 4] [wiki:normalization/5 5] [wiki:normalization/6 6] [wiki:normalization/7 7]
     5
     6= 1. Wie werden Wörter zurzeit normalisiert? =
    47
    58In 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.
     
    912bedeutet, 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.
    1013
    11 === Ersetzungsregeln ===
     14== Ersetzungsregeln ==
    1215
    1316In Arboreal wird zuerst die Groß- und Kleinschreibung normalisiert: Alle Buchstaben eines Wortes außer dem ersten werden zu Kleinbuchstaben, und zwar bei Sprachen auf Basis des lateinischen Alphabets und bei Griechisch. In der Backend-Version wurde dies weggelassen.
     
    2023 * 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.
    2124
    22 === Latein ===
     25== Latein ==
    2326
    2427|| i || j ||
     
    6164Insbesondere wird jetzt auch ẽ (1EBD) normalisiert.
    6265
    63 === Italienisch ===
     66== Italienisch ==
    6467
    6568Regeln für u/v:
     
    116119 * Die zusätzlichen e-Varianten sind ebenfalls nicht übernommen, stattdessen eine neue Regel "ẍ (1E8D) wird zu e" (gemeint ist ẽ (1EBD), was auch in den zusätzlichen Regeln für Latein vorkommt).
    117120
    118 === Englisch ===
     121== Englisch ==
    119122
    120123Englisch fehlt in Arboreal.
     
    122125Backend: wie bei Latein; wieder ohne j, v, "q;", ";", aber mit combining characters, soft hyphen, 〈 〉. Wieder zusätzlich mit ẍ (1E8D).
    123126
    124 === Französisch ===
     127== Französisch ==
    125128
    126129Regeln für u und v genau wie bei Italienisch, mit dem gleichen Programmfehler.
     
    135138Backend: Regeln für u und v weggelassen. Ansonsten wie bei Arboreal.
    136139
    137 === Deutsch ===
     140== Deutsch ==
    138141
    139142In Arboreal eine andere Definition für Wortanfang ("beginWord") als zum Beispiel im Italienischen: nach Whitespace und . , : ; ? ! ( < [ ' " ‘ “ (wird nur dafür verwendet, das Wort ab dem zweiten Buchstaben in Kleinbuchstaben umzuwandeln)
     
    151154Backend: genauso
    152155
    153 === Niederländisch ===
     156== Niederländisch ==
    154157
    155158Für Niederländisch gibt es weder in Arboreal noch im Backend Normalisierungsregeln.
    156159
    157 === Chinesisch ===
     160== Chinesisch ==
    158161
    159162|| " " || " " (3000)  ||
     
    171174
    172175
    173 === Arabisch ===
     176== Arabisch ==
    174177
    175178Trage ich bei Interesse nach.
     
    177180(fehlt im Backend)
    178181
    179 === Keilschrift ===
     182== Keilschrift ==
    180183
    181184Das meint:
     
    196199(Backend: wie bei Arboreal)
    197200
    198 === Griechisch ===
     201== Griechisch ==
    199202
    200203|| σ (03C3) || ς (03C2)  ||
     
    267270Backend: genauso
    268271
    269 === Weiteres ===
     272== Weiteres ==
    270273
    271274In 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.