Merge branch 'spell'
[wortliste.git] / skripte / python / MANIFEST
blob77cdb54ca240bdf3ad1e1392f68f5fa1f47187d6
1 skripte/python
2 ==============
4 Vorwort
5 =======
7 Selbstdokumentierende Python-Module, Hilfsdateien und experimentelle Skripte
8 zur Arbeit mit der Wortliste.
10 Siehe Abschnitt `Arbeitsfluss`_ für einen Vorschlag zur Anwendung.
12 Das Program PyLit_ kann die ausführbaren Dateien ``*.py`` reversibel in
13 Textdokumente ``*.py.txt`` konvertieren. Mit Docutils_ lassen sich aus den
14 in reStructuredText_ geschriebenen Texten Dokumentationen im HTML- oder
15 PDF-Format erstellen.
17 .. _PyLit: http://pylit.berlios.de
18 .. _reStructuredText: http://docutils.sourceforge.net/rst.html
19 .. _Docutils: http://docutils.sourceforge.net/rst.html
22 Unterverzeichnisse
23 ==================
25 wortteile/
26   Verzeichnis für Hilfsdateien (Daten/Text)
29 Module
30 ======
32 werkzeug.py
33   Python-Module für die Arbeit mit der `Wortliste`
34   Wird von den anderen Python-Skripten importiert.
36   Aufruf mit ``python werkzeug.py`` startet einen
37   Test der Werkzeuge und der inneren Konsistenz der Wortliste
38   (Doppeleinträge, Übereinstimmung Schlüssel-Trennmuster).
40 Skripte zur Trennstellenkategorisierung
41 =======================================
43 Siehe auch den Abschnitt `Arbeitsfluss`_ am Ende dieses Dokumentes.
45 Achtung experimentell:
47 * Die Skripte wurden für die eigene Arbeit mit der Wortliste entwickelt und
48   erfordern zum Teil Anpassungen im Quelltext, eine gewisse Einarbeitung,
49   Lesen der enthaltenen Dokumentation und gegebenenfalls Rücksprachen mit
50   dem Autor.
52 * Die Skripte können ohne Schaden anzurichten probiert werden, denn sie
53   ändern nicht direkt die Wortliste sondern erstellen eine Datei
54   ``wortliste.patch``.
56 * Die Änderungen in dieser Datei können nach Korrekturlesen mittels ::
58     patch ../../wortliste < wortliste.patch
60   auf die Wortliste angewendet werden.
62 prepare_patch.py
63   Helfer für kleine Editieraufgaben, u.a. entfernen von Doppeleinträgen,
64   Einsortieren neuer Einträge, Überschreiben mit korrigierten Einträgen, ...
65   Erstellt eine Patch-Datei.
67   Aufruf: siehe ``./prepare_patch.py -h``
70 analyse.py
71   Sammeln und Sortieren von Teilwörtern
73   Aufruf: ``python analyse.py``
75           Vorher in Zeile 355 ff. die gewünschte Sprachvariante
76           durch ein/auskommentieren wählen.
78   Schreibt eine Liste der Teilwörter von in der Wortliste markierten
79   zusammengesetzten Wörtern mit den Häufigkeiten des Auftretens
80   in eine Datei ``teilwoerter-<Sprachtag>.txt``
81   (z.B. ``teilwoerter-de-1901.txt``).
83   Auf der Standardausgabe erscheint eine Zusammenfassung zum Stand der
84   Präfixauszeichnung.
87 abgleich_endungen.py
88   Abgleich der Trennstellen für Ableitungen/Varianten mit unterschiedlicher
89   Endung.
91   Die zu vergleichenden Endungen sind im Skript in der Liste ``endungen``
92   definiert.
95 abgleich_sprachvarianten.py
96   Abgleich der Trennstellen zwischen Sprachvarianten
98   Aufruf: ``python abgleich_sprachvarianten.py``
100   * Übertragen von kategorisierten Trennstellen zwischen Sprachvarianten
101     desselben Wortes, und/oder
103   * Zusammenfassen von Feldern mit gleichem Inhalt wenn das Ergebnis ein
104     wohlgeformter Eintrag ist.
107 abgleich_teilwoerter.py
108   Übertragen von kategorisierten Trennstellen von Teilwörtern auf
109   Vorkommen dieser Teilwörter mit unkategorisierten Trennstellen.
111   Aufruf: ``python abgleich_teilwoerter.py``
113           Vorher in Zeile 26 ff. die gewünschte Sprachvariante
114           durch ein/auskommentieren wählen.
117 abgleich_praefixe.py
118   Abgleich der Trennstellen zwischen Woertern mit unterschiedlichem Präfix
120   Benötigt eine Liste der Teilwörter, die mit ``analyse.py`` erstellt werden
121   kann (siehe Arbeitsfluss_).
123 abgleich_suffixe.py
124   Abgleich der Trennstellen zwischen Woertern mit unterschiedlichem Suffix.
126   Benötigt eine Liste der Teilwörter, die mit ``analyse.py`` erstellt werden
127   kann (siehe Arbeitsfluss_).
130 abgleich_neueintraege.py
131   Versuche Trennstellen neuer Wörter aus vorhandenen zu ermitteln
133   Übertragen von kategorisierten Trennstellen vorhandener Wörter
134   auf neu aufzunehmende, ungetrennte Wörter.
136   Erwartet eine Datei mit 1 Wort/Zeile.
137   Pfad/Dateiname im Abschnitt Konfiguration anpassen!
139   Schreibt eine Liste von Einträgen für die Wörter, welche durch Abgleich
140   mit der Datenbasis getrennt werden konnten auf stdout.
142   Die Liste kann nach ``neu.todo`` gespeichert und (nach Durchsicht) mit
143   ``prepare_patch.py neu`` in die Wortliste eingepflegt werden.
146 wortfugen.py
147   Suche nach "Teilwortkandidaten" in der Wortliste.
149 test_teilwoerter.py
150   Test der Markierung von Komposita in der Wortliste
152 vorsilben_in_teilwoertern.py
153   Spezialwerkzeug zur Präfixmarkierung.
155   Benötigt eine Liste der Teilwörter, die mit ``analyse.py`` erstellt werden
156   kann.
159 Lang-s Schreibung
160 =================
162 s2long-s.py
163   Automatische Bestimmung der S-Schreibung auf Basis der Silbentrennung
164   in der `Wortliste der deutschsprachigen Trennmustermannschaft`.
166   Gesamtwortzahl (traditionelle Rechtschreibung): 422398
167   Automatisch konvertiert: 418440
168   Kategorisierung der Trennstellen fehlt: 3903
169   noch offen: 55
171 Arbeitsfluss
172 ============
174 Trennstellenkategorisierung mit Hilfe der Python-Skripte,
175 2-stufiges Vorgehen:
177 * Erstellen einer Liste mit Teilwörtern (Zerlegung ausgezeichneter Komposita
178   an den Wortfugen "="):
180   - in `analyse.py` die gewünschte Sprachvariante ein-/auskommentieren.
182   - ``python analyse.py``
184   Die erstellte Wortliste ist ``teilwoerter-<Sprachtag>.txt``.
186 * Bearbeiten der generierten Datei
188   - im Texteditor (suchen/ersetzen, regexp-replace, ...)
190   - mit Skripten (``abgleich_praefixe.py``,
191 <<<<<<< HEAD
192                   ``abgleich_suffixe.py``,
193                   ``vorsilben_in_teilwoertern.py``)
194 =======
195                   ``abgleich_suffixe.py``,
196                   ``vorsilben_in_teilwoertern.py``)
197 >>>>>>> spell
199 * Rückübertragen der Korrekturen auf die Wortliste
201   - in `abgleich_teilwoerter.py` die gewünschte Sprachvariante und
202     Bearbeitungsfunktion ein-/aukommentieren.
204   - ``python abgleich_teilwoerter.py``
206   - Prüfen der Kontrollausgabe, ggf. Korrektur von ``wortliste.patch``.
208   - ``patch ../../wortliste < wortliste.patch``