Changes between Version 10 and Version 11 of normalization/1
- Timestamp:
- Jan 17, 2011, 10:03:18 AM (14 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
normalization/1
v10 v11 1 1 [[PageOutline(1-4,,pullout)]] 2 2 3 == 1. Wie werden Wörter zurzeit normalisiert? == 3 [wiki:normalization Regularisierung und Normalisierung], 4 I: [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? = 4 7 5 8 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] 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. … … 9 12 bedeutet, 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 13 11 == = Ersetzungsregeln ===14 == Ersetzungsregeln == 12 15 13 16 In 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. … … 20 23 * 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. 21 24 22 == = Latein ===25 == Latein == 23 26 24 27 || i || j || … … 61 64 Insbesondere wird jetzt auch ẽ (1EBD) normalisiert. 62 65 63 == = Italienisch ===66 == Italienisch == 64 67 65 68 Regeln für u/v: … … 116 119 * 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). 117 120 118 == = Englisch ===121 == Englisch == 119 122 120 123 Englisch fehlt in Arboreal. … … 122 125 Backend: wie bei Latein; wieder ohne j, v, "q;", ";", aber mit combining characters, soft hyphen, 〈 〉. Wieder zusätzlich mit ẍ (1E8D). 123 126 124 == = Französisch ===127 == Französisch == 125 128 126 129 Regeln für u und v genau wie bei Italienisch, mit dem gleichen Programmfehler. … … 135 138 Backend: Regeln für u und v weggelassen. Ansonsten wie bei Arboreal. 136 139 137 == = Deutsch ===140 == Deutsch == 138 141 139 142 In 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) … … 151 154 Backend: genauso 152 155 153 == = Niederländisch ===156 == Niederländisch == 154 157 155 158 Für Niederländisch gibt es weder in Arboreal noch im Backend Normalisierungsregeln. 156 159 157 == = Chinesisch ===160 == Chinesisch == 158 161 159 162 || " " || " " (3000) || … … 171 174 172 175 173 == = Arabisch ===176 == Arabisch == 174 177 175 178 Trage ich bei Interesse nach. … … 177 180 (fehlt im Backend) 178 181 179 == = Keilschrift ===182 == Keilschrift == 180 183 181 184 Das meint: … … 196 199 (Backend: wie bei Arboreal) 197 200 198 == = Griechisch ===201 == Griechisch == 199 202 200 203 || σ (03C3) || ς (03C2) || … … 267 270 Backend: genauso 268 271 269 == = Weiteres ===272 == Weiteres == 270 273 271 274 In 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.