lingo 1.8.0
Sign up to get free protection for your applications and to get access to all the features.
- data/.rspec +1 -0
- data/COPYING +663 -0
- data/ChangeLog +754 -0
- data/README +322 -0
- data/Rakefile +100 -0
- data/TODO +28 -0
- data/bin/lingo +5 -0
- data/bin/lingoctl +6 -0
- data/de.lang +121 -0
- data/de/lingo-abk.txt +74 -0
- data/de/lingo-dic.txt +56822 -0
- data/de/lingo-mul.txt +3209 -0
- data/de/lingo-syn.txt +14841 -0
- data/de/test_dic.txt +24 -0
- data/de/test_mul.txt +17 -0
- data/de/test_mul2.txt +2 -0
- data/de/test_singleword.txt +2 -0
- data/de/test_syn.txt +4 -0
- data/de/test_syn2.txt +1 -0
- data/de/user-dic.txt +10 -0
- data/en.lang +113 -0
- data/en/lingo-dic.txt +55434 -0
- data/en/lingo-mul.txt +456 -0
- data/en/user-dic.txt +5 -0
- data/info/Objekte.png +0 -0
- data/info/Typen.png +0 -0
- data/info/database.png +0 -0
- data/info/db_small.png +0 -0
- data/info/download.png +0 -0
- data/info/gpl-hdr.txt +27 -0
- data/info/kerze.png +0 -0
- data/info/language.png +0 -0
- data/info/lingo.png +0 -0
- data/info/logo.png +0 -0
- data/info/meeting.png +0 -0
- data/info/types.png +0 -0
- data/lib/lingo.rb +321 -0
- data/lib/lingo/attendee/abbreviator.rb +119 -0
- data/lib/lingo/attendee/debugger.rb +111 -0
- data/lib/lingo/attendee/decomposer.rb +101 -0
- data/lib/lingo/attendee/dehyphenizer.rb +167 -0
- data/lib/lingo/attendee/multiworder.rb +301 -0
- data/lib/lingo/attendee/noneword_filter.rb +103 -0
- data/lib/lingo/attendee/objectfilter.rb +86 -0
- data/lib/lingo/attendee/sequencer.rb +190 -0
- data/lib/lingo/attendee/synonymer.rb +105 -0
- data/lib/lingo/attendee/textreader.rb +237 -0
- data/lib/lingo/attendee/textwriter.rb +196 -0
- data/lib/lingo/attendee/tokenizer.rb +218 -0
- data/lib/lingo/attendee/variator.rb +185 -0
- data/lib/lingo/attendee/vector_filter.rb +158 -0
- data/lib/lingo/attendee/wordsearcher.rb +96 -0
- data/lib/lingo/attendees.rb +289 -0
- data/lib/lingo/cli.rb +62 -0
- data/lib/lingo/config.rb +104 -0
- data/lib/lingo/const.rb +131 -0
- data/lib/lingo/ctl.rb +173 -0
- data/lib/lingo/database.rb +587 -0
- data/lib/lingo/language.rb +530 -0
- data/lib/lingo/modules.rb +98 -0
- data/lib/lingo/types.rb +285 -0
- data/lib/lingo/utilities.rb +40 -0
- data/lib/lingo/version.rb +27 -0
- data/lingo-all.cfg +85 -0
- data/lingo-call.cfg +15 -0
- data/lingo.cfg +78 -0
- data/lingo.rb +3 -0
- data/lir.cfg +72 -0
- data/porter/stem.cfg +311 -0
- data/porter/stem.rb +150 -0
- data/spec/spec_helper.rb +0 -0
- data/test.cfg +79 -0
- data/test/attendee/ts_abbreviator.rb +35 -0
- data/test/attendee/ts_decomposer.rb +31 -0
- data/test/attendee/ts_multiworder.rb +390 -0
- data/test/attendee/ts_noneword_filter.rb +19 -0
- data/test/attendee/ts_objectfilter.rb +19 -0
- data/test/attendee/ts_sequencer.rb +43 -0
- data/test/attendee/ts_synonymer.rb +33 -0
- data/test/attendee/ts_textreader.rb +58 -0
- data/test/attendee/ts_textwriter.rb +98 -0
- data/test/attendee/ts_tokenizer.rb +32 -0
- data/test/attendee/ts_variator.rb +24 -0
- data/test/attendee/ts_vector_filter.rb +62 -0
- data/test/attendee/ts_wordsearcher.rb +119 -0
- data/test/lir.csv +3 -0
- data/test/lir.txt +12 -0
- data/test/lir2.txt +12 -0
- data/test/mul.txt +1 -0
- data/test/ref/artikel.mul +1 -0
- data/test/ref/artikel.non +159 -0
- data/test/ref/artikel.seq +270 -0
- data/test/ref/artikel.syn +16 -0
- data/test/ref/artikel.vec +928 -0
- data/test/ref/artikel.ven +928 -0
- data/test/ref/artikel.ver +928 -0
- data/test/ref/lir.csv +328 -0
- data/test/ref/lir.mul +1 -0
- data/test/ref/lir.non +274 -0
- data/test/ref/lir.seq +249 -0
- data/test/ref/lir.syn +94 -0
- data/test/test_helper.rb +113 -0
- data/test/ts_database.rb +269 -0
- data/test/ts_language.rb +396 -0
- data/txt/artikel-en.txt +157 -0
- data/txt/artikel.txt +170 -0
- data/txt/lir.txt +1317 -0
- metadata +211 -0
data/ChangeLog
ADDED
@@ -0,0 +1,754 @@
|
|
1
|
+
= Revision history for Lingo
|
2
|
+
|
3
|
+
== 1.8.0 [2012-01-01]
|
4
|
+
|
5
|
+
* Ruby 1.8 officially no longer supported! Use Lingo 1.7.x instead.
|
6
|
+
* Executable may be run from outside installation root directory now.
|
7
|
+
See README for further details.
|
8
|
+
* Search path for dictionaries and configuration files; plugin system.
|
9
|
+
* Textreader can read from STDIN if no files given; leave out the +files+
|
10
|
+
parameter in the config for this to trigger.
|
11
|
+
* Status/performance details as well as progress information are now
|
12
|
+
printed on STDERR instead of STDOUT in order to not mix with regular
|
13
|
+
output. Learned '--log' option to write such information to a file.
|
14
|
+
* Additional internal refactorings. (To be continued...)
|
15
|
+
|
16
|
+
== 1.7.1 [2011-10-24]
|
17
|
+
|
18
|
+
* Multiworder actually finds the *longest* matching multiword group.
|
19
|
+
* Multiword entries in SingleWord dictionaries now respect <tt>def-wc</tt>;
|
20
|
+
new parameter <tt>def-mul-wc</tt> to control the word class for multiword
|
21
|
+
entries (defaults to <tt>def-wc</tt>). Use <tt>def-mul-wc: 'm'</tt> in your
|
22
|
+
<tt>.lang</tt> to restore the previous behaviour.
|
23
|
+
* New Attendee::Formatter for configurable output formatting as an alternative
|
24
|
+
to Attendee::Textwriter.
|
25
|
+
* New basic input filters to enable indexing of HTML/XML (and PDF?) files.
|
26
|
+
* Updated the system dictionary.
|
27
|
+
* Switched license to Affero GPL.
|
28
|
+
|
29
|
+
== 1.7.0 [2010-12-15]
|
30
|
+
|
31
|
+
* More Ruby 1.9 compatibility.
|
32
|
+
* Extended VectorFilter to double as enhanced Non(e)wordFilter.
|
33
|
+
* Fixed Sequencer to recognize additional word classes beyond the first.
|
34
|
+
* Fixed Sequencer to not prematurely flush the buffer, which led to a
|
35
|
+
decreased recognition rate.
|
36
|
+
* Housekeeping.
|
37
|
+
|
38
|
+
== 1.6.12 [2010-11-22]
|
39
|
+
|
40
|
+
* Ruby 1.9 compatibility, finally.
|
41
|
+
* Added lingoweb.rb, a plain & simple web frontend for Lingo.
|
42
|
+
* Added DIFF-LCS gem directly to Lingo distribution.
|
43
|
+
|
44
|
+
== 1.6.11 [2010-02-04]
|
45
|
+
|
46
|
+
* Redirect Lingo output to <tt>/dev/null</tt> during testing. Indicate error
|
47
|
+
with appropriate exit code.
|
48
|
+
* Replace usage of command-line diff with cross-plattform Ruby implementation
|
49
|
+
(requires diff-lcs[http://raa.ruby-lang.org/project/diff-lcs/]).
|
50
|
+
* Provide alternatives to standard zip command on windows platforms.
|
51
|
+
* Use +UNK+ itself if it doesn't have any lexicals.
|
52
|
+
* Use compo form instead of word form when lexicalizing compositum entry for
|
53
|
+
multiword dictionaries.
|
54
|
+
* LexicalHash#[] must use target (not source) form.
|
55
|
+
* Optionally, try to find matches for all lexicals a word has.
|
56
|
+
* Make '-' a PRINTABLE_CHAR.
|
57
|
+
* Allow synonyms to be considered for multiword matching.
|
58
|
+
* Don't use compositum parts.
|
59
|
+
* Introduced some (more or less arbitrary) line length limit. We can only
|
60
|
+
store values of a certain length anyway (with SDBM). Entries exceeding this
|
61
|
+
limit will be rejected and logged in the .rev file.
|
62
|
+
|
63
|
+
== 1.6.10 [2009-11-09]
|
64
|
+
|
65
|
+
* Prevent "infinite" backtracking in regular expressions.
|
66
|
+
|
67
|
+
== 1.6.9 [2009-08-13]
|
68
|
+
|
69
|
+
* Updated configs.
|
70
|
+
|
71
|
+
== 1.6.8 [2009-06-01]
|
72
|
+
|
73
|
+
* Partly reverted Ruby 1.9 compatibility where it clashed with the 1.8 series.
|
74
|
+
|
75
|
+
== 1.6.7 [2009-05-21]
|
76
|
+
|
77
|
+
* Initiale Bereitstellung von Lingo in Subversion
|
78
|
+
* BUGFIX: Token wurden durch den Caching-Mechanismus in ihrer Schreibweise
|
79
|
+
verändert (Groß-/Kleinschreibung).
|
80
|
+
* Englische Wörterbücher, ein Beispiel-Artikel und eine Konfiguration für das
|
81
|
+
Englische wurden aufgenommen. Aufruf mit lingo.rb -c lingo-en.cfg -l en <datei>.
|
82
|
+
* Integration der Testumgebung für Entwickler.
|
83
|
+
* Die Attendees in den Lingo-Konfigurationsdateien werden automatisch
|
84
|
+
verkettet. Dies erspart mühsame Verlinkung von Hand und macht die
|
85
|
+
Konfiguration lesbarer.
|
86
|
+
* Modified parameters for Tokenizer and building of databases to handle UTF-8
|
87
|
+
correctly. Printable characters from the ASCII charset and every UTF character
|
88
|
+
greater than x80 is now recognized as a non word breaking character. so now
|
89
|
+
diacritical characters are handled well.
|
90
|
+
* Added a command line option '-p' for lingo.rb for making detailed
|
91
|
+
performance mesurements possible for each single attendee.
|
92
|
+
* Allow Lingo.new to be called from a different directory. (Still need to
|
93
|
+
Dir.chdir to #talk because of the dictionaries...).
|
94
|
+
* Allow Textreader to read from STDIN.
|
95
|
+
* Allow Lingo to be called from an external library or program; pass a string
|
96
|
+
and get an array back.
|
97
|
+
* Allow Textwriter to write to STDOUT.
|
98
|
+
* Match suffixes case-insensitively.
|
99
|
+
* Don't exclude synonyms that are eponymous with the original word.
|
100
|
+
* Don't stop variating hyphenated words if any component was taken as-is.
|
101
|
+
* Basic Ruby 1.9 compatibility.
|
102
|
+
* Words should be counted per record, not per document, in LIR mode.
|
103
|
+
* Added Porter stemmer.
|
104
|
+
|
105
|
+
== 1.6.6 [2007-08-18]
|
106
|
+
|
107
|
+
* <b>Englische Wörterbücher ergänzt</b>
|
108
|
+
|
109
|
+
Lingo kann nun auch Englisch. Dazu muss beim Aufruf von Lingo die Option "-l en"
|
110
|
+
angegeben werden. Ein englischer Artikel ist unter txt/artikel-en.txt zu finden.
|
111
|
+
|
112
|
+
== 1.6.5 [2006-09-18]
|
113
|
+
|
114
|
+
* <b>Eckige Klammern als darstellbare Zeichen eingebaut</b>
|
115
|
+
|
116
|
+
== 1.6.4 [2006-05-29]
|
117
|
+
|
118
|
+
* <b>Neuer Attendee Dehyphenizer</b>
|
119
|
+
|
120
|
+
Zur Behandlung von Bindestrichen am Zeilenende wurde der Dehyphenizer
|
121
|
+
eingeführt.
|
122
|
+
|
123
|
+
== 1.6.3 [2006-05-23]
|
124
|
+
|
125
|
+
* <b>GPL-Wörterbuch</b>
|
126
|
+
|
127
|
+
Das Systemwörterbuch ist vollständig unter GPL gestellt.
|
128
|
+
|
129
|
+
== 1.6.2 [2006-05-12]
|
130
|
+
|
131
|
+
* <b>Pfad- und Dateibehandlung</b>
|
132
|
+
|
133
|
+
Kleine Fehlerbehebung in der Pfadgenerierung im Textwriter.
|
134
|
+
|
135
|
+
* <b>Return-Codes</b>
|
136
|
+
|
137
|
+
Bei Aufruf der Hilfe oder bei Fehlersituationen, die intern abgefangen werden,
|
138
|
+
wird der Return-Code 1 gesetzt, um somit bessere Steuerung in der
|
139
|
+
Batchverarbeitung zu ermöglichen.
|
140
|
+
|
141
|
+
== 1.6.1 [2006-03-22]
|
142
|
+
|
143
|
+
* <b>Fehlerkorrektur im Multiworder</b>
|
144
|
+
|
145
|
+
Der Multiworder hat sich in einem seltenen Spezialfall nicht korrekt verhalten. Das
|
146
|
+
ist bereinigt.
|
147
|
+
|
148
|
+
== 1.6.0 [2006-03-20]
|
149
|
+
|
150
|
+
* <b>Wörterbücher umbenannt</b>
|
151
|
+
|
152
|
+
Die standardmäßig mitgelieferten Wörterbücher sind umbenannt worden in lingo-xxx.txt
|
153
|
+
und haben als einheitlichen Separator zwischen Schlüssel und Werten das '='-Zeichen.
|
154
|
+
|
155
|
+
* <b>Bereinigungen durchgeführt</b>
|
156
|
+
|
157
|
+
Aus dem Code sind viele alte Programmschnipsel entfernt worden.
|
158
|
+
|
159
|
+
== 1.6.0rc2b [2006-03-20]
|
160
|
+
|
161
|
+
* <b>Wörterbücher umbenannt</b>
|
162
|
+
|
163
|
+
Die standardmäßig mitgelieferten Wörterbücher sind umbenannt worden in lingo-xxx.txt und
|
164
|
+
haben als einheitlichen Separator zwischen Schlüssel und Werten das '='-Zeichen.
|
165
|
+
|
166
|
+
* <b>Bereinigungen durchgeführt</b>
|
167
|
+
|
168
|
+
Aus dem Code sind viele alte Programmschnipsel entfernt worden.
|
169
|
+
|
170
|
+
== 1.6.0rc2a [2006-03-13]
|
171
|
+
|
172
|
+
* <b>Fehlerkorrektur Multiworder</b>
|
173
|
+
|
174
|
+
Ein klitzekleiner Fehler hat sich doch durch die übereifrig schnelle Bereitstellung
|
175
|
+
der neuen Version eingeschlichen. Ist korrigiert und in die Testroutinen mit aufgenommen.
|
176
|
+
|
177
|
+
* <b>Punkt-Behandlung vollständig überarbeitet (Abbreviator wieder im Einsatz!) => TEIL 2</b>
|
178
|
+
|
179
|
+
...hatte ich doch vergessen zu erwähnen, dass als Voraussetzung für das Funktionieren
|
180
|
+
der neu eingeführten Punkt-Behandlung ZWINGEND die Tokenizer-Regel 'ABRS' in der
|
181
|
+
<tt>de.lang</tt> auskommentiert werden muss ?:o\
|
182
|
+
|
183
|
+
== 1.6.0rc2 [2006-03-09]
|
184
|
+
|
185
|
+
* <b>Vorsicht bei CFG-Dateien!</b>
|
186
|
+
|
187
|
+
Multiworder und Sequencer vertragen beide einen 'stopper'-Parameter, der in der
|
188
|
+
Regel mit 'PUNCT,OTH_C' vorbelegt ist. Dies soll Token identifizieren, die durch
|
189
|
+
die Regel gleichen Namens im Tokenizer erkannt wurden. Diese Regeln sind jedoch
|
190
|
+
umbenannt worden (weiß nicht mit welcher Version) in 'PUNC' und 'OTHR'. Daher bitte
|
191
|
+
die entsprechenden Einträge ändern auf 'PUNC,OTHR'.
|
192
|
+
|
193
|
+
* <b>Punkt-Behandlung vollständig überarbeitet (Abbreviator wieder im Einsatz!)</b>
|
194
|
+
|
195
|
+
Die Behandlung des Zeichen '.' wurde komplett neu designet. Das Zeichen '.' kommt
|
196
|
+
grundsätzlich in drei verschiedenen Kontexten vor:
|
197
|
+
|
198
|
+
1. Als Punkt hinter einer Zahl (1. = Erster, 2. = Zweiter,...)
|
199
|
+
2. Als Abkürzungspunkt
|
200
|
+
3. Der Satzendepunkt
|
201
|
+
|
202
|
+
Der 1. Fall ist sehr sicher durch eine Tokenizer-Regel zu identifizieren und
|
203
|
+
wird daher hier nicht weiter betrachtet. Dabei wird kein Punkt-Token erzeugt,
|
204
|
+
sondern der Punkt im Stammwort mitgegeben (z.B. <1.>).
|
205
|
+
|
206
|
+
Zwischen dem 2. und dem 3. Fall macht der Tokenizer keine Unterscheidung mehr.
|
207
|
+
Der Punkt wird als eigenständiges Token erkannt und in den Verarbeitungsstrom
|
208
|
+
weitergereicht. Der Abbreviator versucht nun Abkürzungen anhand von Punkt-Token
|
209
|
+
zu erkennen. Taucht ein Punkt im Zeichenstrom auf, dann wird das vorhergehende Word
|
210
|
+
im Abkürzungswörterbuch nachgeschlagen. Wird das Wort dort gefunden, wird das
|
211
|
+
Punkt-Token aus dem Zeichenstrom entfernt und die Abkürzung als identifiziert
|
212
|
+
weitergereicht.
|
213
|
+
|
214
|
+
Bleibt neben dem Satzendepunkt noch der Abkürzungspunkt z.B. in Personennamen
|
215
|
+
(John F. Kennedy). Diese müssen vom Multiworder zuverlässig als Teil einer
|
216
|
+
Mehrwortgruppe erkannt und ggf. ebenfalls entfernt werden. Die zusätzlich
|
217
|
+
aufgebohrtet Testroutinen zeigten ein zuverlässiges Verhalten.
|
218
|
+
|
219
|
+
== 1.6.0rc1 [2006-02-27]
|
220
|
+
|
221
|
+
* <b>Grundlegende architektonische Überarbeitung</b>
|
222
|
+
|
223
|
+
Die über ein Jahr gewachsene Struktur von Lingo wurde grundlich überarbeitet.
|
224
|
+
Detailliertere Dokumentation folgt.
|
225
|
+
|
226
|
+
* <b>Abbreviator entfernt</b>
|
227
|
+
|
228
|
+
Den Attendee Abbreviator gibt es nicht mehr. Seine Funktion wird vom Wordsearcher
|
229
|
+
mit übernommen. Wenn ein Wort nicht erkannt wird, so prüft der Wordsearcher das
|
230
|
+
Wort erneut mit abschließendem Punkt, wenn das nächste Token im Zeichenstrom
|
231
|
+
tatsächlich ein Punkt ist. In diesem Fall wird das Punkt-Token aus dem Datenstrom
|
232
|
+
entfernt.
|
233
|
+
|
234
|
+
* <b>Ocr_variator heißt jetzt Variator</b>
|
235
|
+
|
236
|
+
Kleine kosmetische Anpassung. Der Ocr-Bezug stimmt zwar historisch gesehen noch,
|
237
|
+
mit der eigentlichen Funktion hat es jedoch nichts zu tun.
|
238
|
+
|
239
|
+
* <b>Decomposer mit zusätzlicher Validitätsprüfung und Kennzeichnung</b>
|
240
|
+
|
241
|
+
Der Decomposer kann bei Bedarf Komposita einer zusätzlichen Prüfung unterziehen.
|
242
|
+
Ist der Schlüssel <tt>de.lang:language/dictionary/compositum/skip-sequences</tt>
|
243
|
+
angegeben, der z.B. in der Form <tt>skip-sequences: [ VS ]</tt> definiert wird,
|
244
|
+
wird zusätzlich geprüft, ob das Kompositum mit seinen Teilen diesen Wortklassen
|
245
|
+
entspricht. Hiernach werden Komposita verworfen, die aus Verb-Substantiv-Kombination
|
246
|
+
bestehen. Die Angabe des Parameters ist optional.
|
247
|
+
Zusätzlich werden bei Angabe des Schlüssels <tt>de.lang:language/dictionary/compositum/append-wordclass</tt>,
|
248
|
+
der i.d.R einen ein Zeichen langen String enthält, die durch Zerlegung erkannten
|
249
|
+
Wortstämme markiert, in dem ihre Wortklasse das über diesen Schlüssel definierte
|
250
|
+
Zeichen angehangen bekommt.
|
251
|
+
|
252
|
+
* <b>Install.rb nicht mehr notwendig</b>
|
253
|
+
|
254
|
+
Die Umwandlung von Text-Dateien in SDBM-Dateien erfolgt nicht mehr über Install,
|
255
|
+
sondern durch 'jeden' Lingoaufruf implizit. Beim öffnen der SDBM-Datei wird
|
256
|
+
automatisch die Aktualität geprüft und bei Bedarf eine erneute Übersetzung
|
257
|
+
angestartet.
|
258
|
+
|
259
|
+
== 1.5.0 [2005-12-08]
|
260
|
+
|
261
|
+
* <b>Sprachkonfiguration aktualisiert</b>
|
262
|
+
|
263
|
+
Die Konfigurationsdatei de.lang ist an produktive Erfahrungen angepasst worden.
|
264
|
+
Insbesondere werden jetzt alle Sonderzeichen der Zeichensätze ISO-8859-1 und
|
265
|
+
Windows-1252 vollständig erkannt, ohne dass laufend Zeichen nachgepflegt werden
|
266
|
+
müssen.
|
267
|
+
|
268
|
+
* <b>Cachable arbeitet jetzt mit Duplikaten</b>
|
269
|
+
|
270
|
+
Objekte, die in den Cache von Datasource, Dictionary oder Grammer übernommen
|
271
|
+
wurden, wurden auch immer als Referenz ausgelesen. Die hatte zur Folge, dass
|
272
|
+
wenn Cacheinhalte im späteren Verlauf der Lingo-Kette verändert wurden, diese
|
273
|
+
Veränderung auch alle nachfolgen aus dem Cache gelesenen Objekte betraf.
|
274
|
+
D.h.: Wird das Wort <von|?> in den Cache geschrieben, so werden alle
|
275
|
+
nachfolgenden Suchanfragen aus dem Cache bedient. So weit so gut. Wenn ein
|
276
|
+
Attendee nach Cacheauslesen der Meinung ist, er müsste für das Objekt das Attribut
|
277
|
+
z.B. auf 'MU?' (Teil einer Mehrwortgruppe) ändern, dann wurde dadurch auch das
|
278
|
+
Element im Cache geändert. Nachfolgende Suchanfragen erhielten somit <von|MU?> als
|
279
|
+
Antwort. Ab jetzt werden nur noch Kopien des Originals in den Cache übernommen,
|
280
|
+
so das eine versehentliche Veränderung ausgeschlossen wird.
|
281
|
+
|
282
|
+
* <b>String hat attr-Methode</b>
|
283
|
+
|
284
|
+
Die Methode _select_ der Klasse _Dictionary_ gibt die gefundenen Lexicals sortiert
|
285
|
+
zurück. Bei der Verarbeitung von Mehrwortwörterbüchern kann jedoch auch z.B. '*5'
|
286
|
+
als Antwort gegeben werden, was dem Multiworder mitteilt, dass es eine Mehrwortgruppe
|
287
|
+
der Länge 5 gibt, die mit genau den drei nachgefragten Wörtern beginnt und der
|
288
|
+
Multiworder eine weitere Abfrage machen soll. Klappt alles wunderbar, nur dass _select_
|
289
|
+
nicht in der Lage ist ein Array aus Lexicals und Strings anhand des attr-Wertes zu
|
290
|
+
sortieren. Jetzt hat die Klasse String eines attr-Wert '' bekommen und die Sortierung
|
291
|
+
funktioniert wieder.
|
292
|
+
|
293
|
+
* <b>Neues Synonym-Wörterbuch</b>
|
294
|
+
|
295
|
+
Ein sehr gut gepflegtes Synonym-Wörterbuch ist als Beispiel mit aufgenommen worden.
|
296
|
+
Wie beim Mehrwortwörterbuch system_mul.txt sind jedoch nur Einträge mit dem
|
297
|
+
Anfangsbuchstabe 'a' enthalten.
|
298
|
+
|
299
|
+
== 1.5.0rc2 [2005-12-06]
|
300
|
+
|
301
|
+
* <b>Fehlerkorrekturen und Anpassungen</b>
|
302
|
+
|
303
|
+
- Multiworder verarbeitet wieder mehrere Wörterbücher.
|
304
|
+
- Synonyme mit '_' statt ' ' für LIR-Format wieder entfernt.
|
305
|
+
- Abbreviator mit initialem Wörterbuch versehen
|
306
|
+
- System_dic mit Stopwörtern versehen
|
307
|
+
- Bei install.rb `...` durch system()-Aufruf getauscht
|
308
|
+
- Browser bei install.rb über Parameter -b konfigurierbar
|
309
|
+
- Kleinere Anpassungen
|
310
|
+
|
311
|
+
== 1.5.0rc [2005-11-27]
|
312
|
+
|
313
|
+
* <b>Kompositumerkennung redesigned</b>
|
314
|
+
|
315
|
+
Neben den Klassen für Datenzugriff auf unterster Ebene (Datasource) und dem
|
316
|
+
Wörterbuchzugriff (Dictionary) gibt es nun auch eine Klasse für grammatikalische
|
317
|
+
Spezialitäten (Grammar), welche die Kompositumerkennung aufgenommen hat.
|
318
|
+
|
319
|
+
* <b>Testroutinen ausgebaut</b>
|
320
|
+
|
321
|
+
Alle bisher per Mail gemeldeten Fehlersituationen sind in die Testroutinen eingebaut
|
322
|
+
worden, so dass sie bei zukünftigen Versionen direkt mit getestet werden. Also
|
323
|
+
weiterhin fleißig per Mail z.B. an error@lex-lingo.de melden.
|
324
|
+
|
325
|
+
* <b>_Stopworder_ getilgt</b>
|
326
|
+
|
327
|
+
Der _Stopworder_ hat seine Schuldigkeit getan. Sein Konzept ist von gestern.
|
328
|
+
Weil er auch durch normale Wörterbuchsuche abbildbar ist, wird hier auf die
|
329
|
+
weitere Pflege verzichtet. <b>Bitte in den Konfig-Dateien berücksichtigen! und
|
330
|
+
WICHTIG: Stopwörter im Wörterbuch ggf. nachpflegen!</b>
|
331
|
+
|
332
|
+
* <b>Neuer Attendee _Abbreviator_</b>
|
333
|
+
|
334
|
+
Bisher hat der Tokenizer per Konfiguration eine Liste von Abkürzungen mitgeteilt
|
335
|
+
bekommen, die er in einer Textzeile als Token erkennen und in den Datenstrom
|
336
|
+
einfliessen lassen sollte. Die Pflege dieser Konfigurationsdaten fiel vollends
|
337
|
+
aus dem sonst stringenten Wörterbuchkonzept heraus. Daher wurde dies Funktion in
|
338
|
+
den Abbreviator ausgelagert, der sich die bekannten Abkürzungen aus einem eigenen
|
339
|
+
Wörterbuch holt. <b>Bitte in den Konfig-Dateien berücksichtigen!</b>
|
340
|
+
|
341
|
+
* <b>Datenformate in <tt>de.lang</tt> vereinfacht</b>
|
342
|
+
|
343
|
+
Die Datenformate für den _Tokenizer_ und die _Suffix_e haben sich in der
|
344
|
+
Sprachkonfigurationsdatei de.lang geändert. Sofern eine alte de.lang-Datei mit dieser
|
345
|
+
Version zusammen laufen soll, <b>bitte in den Konfig-Dateien berücksichtigen!</b>
|
346
|
+
|
347
|
+
* <b>Attendees überarbeitet</b>
|
348
|
+
|
349
|
+
Das Verhalten der Attendees wurde homogenisiert. Als zusätzliche Klasse wurde
|
350
|
+
der BufferedAttendee eingeführt, der den Eingabe-Strom zwischen speichern kann
|
351
|
+
und den angestauten Buffer mit einem mal verarbeiten kann. Dies ist insbesondere
|
352
|
+
förderlich für die Attendees Multiworder und Sequencer, die eine Kette von Objekten
|
353
|
+
untersuchen müssen.
|
354
|
+
|
355
|
+
* <b>Dokumentation erstellt</b>
|
356
|
+
|
357
|
+
Für alle Attendees gibt es jetzt reichlich Dokumentation, die mit doc/index.html
|
358
|
+
aufgerufen werden kann. Weitere Dokumentation muss noch folgen...
|
359
|
+
|
360
|
+
== 1.4.2 [2005-10-11]
|
361
|
+
|
362
|
+
* <b>Bugfix im _Sequencer_</b>
|
363
|
+
|
364
|
+
Der _Sequencer_ sorgte für Fehlfunktionen, wenn er aus dem _Multiworder_
|
365
|
+
Worter unerwarteten Typs erhielt.
|
366
|
+
|
367
|
+
== 1.4.1 [2005-09-29]
|
368
|
+
|
369
|
+
* <b>_Synonymer_ verarbeitet jetzt WIRKLICH mehrere Wörterbücher</b>
|
370
|
+
|
371
|
+
Aus einem mir bislang unbekannten Grund sind die in der letzten Version gemachten
|
372
|
+
Änderungen nicht übernommen worden. Ist bereinigt.
|
373
|
+
|
374
|
+
* <b><i>Vector_filter</i> mit geändertem +sort+-Parameter</b>
|
375
|
+
|
376
|
+
Der +sort+-Parameter konnte vormals die Werte +normal+, +count+ und +term+ annehmen.
|
377
|
+
Die Werte +count+ und +term+ wurden durch die Bezeichnungen +term_abs+ und +term_rel+
|
378
|
+
ersetzt. Zusätzlich hinzugekommen sind die Werte +sto_abs+ und +sto_rel+, welche mit
|
379
|
+
den o.g. korrespondieren, der Zahlenwert jedoch in geschweiften Klammern hinter dem
|
380
|
+
Wort stehen. Dies ist notwendig für das _LIR_-Format.
|
381
|
+
|
382
|
+
* <b>Für zukünftige Meldungen!</b>
|
383
|
+
|
384
|
+
Besteht ein Änderungsbedarf aufgrund eines Fehlers oder der Wunsch einer
|
385
|
+
Funktionserweiterung? Mailt mir eure Wünsche an <tt>rfc@lex-lingo.de</tt>
|
386
|
+
|
387
|
+
== 1.4.0 [2005-09-25]
|
388
|
+
|
389
|
+
* <b>Neuer Attendee _Sequencer_</b>
|
390
|
+
|
391
|
+
Der _Sequencer_ erkennt Mehrwortgruppen, die nicht über ein Wörterbuch vorgegeben
|
392
|
+
werden müssen, sondern über ihre Wortklassen erkannt werden. Steht z.B. in
|
393
|
+
<tt>de.lang:language/attendees/sequencer/sequences: [ [AS, "2, 1"], [AK, "2, 1"] ]</tt>
|
394
|
+
so werden Wortfolgen der Art Adjektiv-Subjektiv und Adjektiv-Kompositum erkannt
|
395
|
+
und in der in Gänsefüsschen angegebenen Form als Indexeintrag bereitgestellt.
|
396
|
+
So wird 'geniale Indexierung' als 'indexierung, genial' in Form eines zusätzlichen
|
397
|
+
Wortes in den Ausgabestrom eingefügt mit Attribut +SEQ+ und der Wortklasse +q+.
|
398
|
+
|
399
|
+
* <b>Bugfixing Kompositum-Caching</b>
|
400
|
+
|
401
|
+
Beim zweiten Auftreten eines Kompositums wurde das Kompositum als nicht
|
402
|
+
erkanntes Wort weiterverarbeitet. Der Fehler im Chahing-Mechanismus ist
|
403
|
+
behoben, so dass die _LIR_-Verarbeitung wieder korrekt läuft.
|
404
|
+
|
405
|
+
* <b>_Synonymer_ verarbeitet mehrere Wörterbücher</b>
|
406
|
+
|
407
|
+
Mit Angabe des Parameters <tt>mode=all</tt> kann der _Synonymer_ jetzt auch mehrere
|
408
|
+
Wörterbücher verarbeiten.
|
409
|
+
|
410
|
+
== 1.3.1 [2005-08-18]
|
411
|
+
|
412
|
+
* <b>Neuer Attendee _Objectfilter_</b>
|
413
|
+
|
414
|
+
Als Basis für eine eher allgemeinere und flexiblere Filter-Möglichkeit im
|
415
|
+
Vergleich zum <i>Noneword_filter</i> kann der _Objectfilter_ alle Arten von Selektion
|
416
|
+
vornehmen. Das Attribut +objects+ ist eine Ruby-Bedingung, die, wenn sie als
|
417
|
+
+false+ ausgewertet wird, dass aktuelle Objekt filtert.
|
418
|
+
|
419
|
+
== 1.3.0 [2005-08-03]
|
420
|
+
|
421
|
+
* <b>Neuer Attendee _Compositizer_</b>
|
422
|
+
|
423
|
+
Die Kompositumzerlegung war bisher im Attendee _Wordsearcher_ enthalten. Dadurch
|
424
|
+
wurden für die Zerlegung immer die gleichen Wörterbücher benutzt, die auf für
|
425
|
+
die Wortsuche verwendet wurden. Durch die Trennung ist eine separate Angabe
|
426
|
+
von Wörterbüchern möglich.
|
427
|
+
|
428
|
+
* <b>Testing</b>
|
429
|
+
|
430
|
+
Ausführliche Testroutinen sind erstellt worden, welche die Folge-Releases
|
431
|
+
deutlich stabiler machen werden. Innerhalb einer Sekunde sind sämtlich
|
432
|
+
Attendees durchgetestet. Die durchgeführten Tests basieren auf Fehlermeldungen
|
433
|
+
und Anregungen aus vergangenen E-Mails. Sie können jederzeit erweitert werden.
|
434
|
+
In diesem Zusammenhand ist auf die Basisklasse aller Attendees (vorher Lingo)
|
435
|
+
neu erstellt worden. In Verbindung mit der Einführung von YAML als
|
436
|
+
Konfigurationssprache wurden diese automatischen Tests erst möglich.
|
437
|
+
|
438
|
+
* <b>YAML</b>
|
439
|
+
|
440
|
+
Bei YAML unbedingt darauf achten, dass keine TABs verwendet werden. YAML ist
|
441
|
+
da sehr empfindlich.
|
442
|
+
|
443
|
+
== 1.2.1 [2005-07-03]
|
444
|
+
|
445
|
+
* <b>Fehlerkorrektur _LIR_-Absturz</b>
|
446
|
+
|
447
|
+
Bei der Suche nach Mehrwortsynonymen wurden auch interne Steuercodes
|
448
|
+
an weitere Attendees weitergeben, die damit nichts anfangen konnten.
|
449
|
+
_Synonymer_ filter jetzt bei der Suche interne Steuercodes heraus.
|
450
|
+
|
451
|
+
== 1.2.0 [2005-07-02]
|
452
|
+
|
453
|
+
* <b><i>Vector_Filter</i> mit Term-Frequenz</b>
|
454
|
+
|
455
|
+
Wird beim Attendee <i>Vector_filter</i> das Attribut <tt>sort='term'</tt> angegeben,
|
456
|
+
wird statt der absoluten Zahl (wie bei <tt>sort='count'</tt>) die Term-Frequenz
|
457
|
+
eines Wortes ermittelt. Die Term-Frequenz bezieht sich auf die Anzahl Worte in der
|
458
|
+
Datei. Diese wiederum können über das Attribut <tt>no-count</tt> gesteuert werden.
|
459
|
+
Das Attribut entscheidet darüber, welche Wort-Typen nicht in die Gesamtwortanzahl
|
460
|
+
der Worte in der Datei berücksichtigt werden. Default hierfür ist
|
461
|
+
<tt>no-count='PUNCT,OTH_C'</tt>.
|
462
|
+
|
463
|
+
* <b>Kompositum-Zerlegung mit weiterer Einschränkung</b>
|
464
|
+
|
465
|
+
Ein weiterer Parameter ist für die Kompositumzerlegung hinzugekommen. Als
|
466
|
+
Attribute des Tags <tt>XML:dictionary/compositum</tt> können jetzt angegeben werden:
|
467
|
+
|
468
|
+
Attribut Default Funktion
|
469
|
+
============================================================================
|
470
|
+
min-word-size 8 Prüft nur Wörter ab dieser Größe auf Kompositum
|
471
|
+
|
472
|
+
Die folgenden Attribute werden auf gefundene Komposita angewendet. Das
|
473
|
+
Kompositum muss diese Prüfung bestehen, um gewertet zu werden.
|
474
|
+
|
475
|
+
min-avg-part-size 4 Die durchschnittliche Größe aller Wortteile muss
|
476
|
+
mindestens diesen Wert haben
|
477
|
+
min-part-size 1 Jeder Wortteil muss mindestens so groß sein
|
478
|
+
max-parts 4 Es darf höchstens so viele Wortteile geben.
|
479
|
+
|
480
|
+
* <b>Install-Routine um Linux-Kommandos erweitert</b>
|
481
|
+
|
482
|
+
Die Install-Routine sollte jetzt alle Aufgaben sowohl auf Windows wie auch Linux
|
483
|
+
komplett abschließen können.
|
484
|
+
|
485
|
+
* <b>Zu lange Datensätze</b>
|
486
|
+
|
487
|
+
Trotz anderweitiger Meinung haben Klaus und ich gemeint, Datensätze größer
|
488
|
+
1024 Bytes werden nicht benötigt. Kam halt anders. SDBM kann keine Sätze
|
489
|
+
größer 1k speichern, weshalb die Informationen derzeit ziemlich q&d auf 1k
|
490
|
+
getrimmt werden.
|
491
|
+
|
492
|
+
== 1.1.1 [2005-06-18]
|
493
|
+
|
494
|
+
* <b>Test-Routinen erweitert</b>
|
495
|
+
|
496
|
+
Insbesondere die Sortierung von Lexicals wurde noch einmal intensiv unter die
|
497
|
+
Lupe genommen. Dabei sind ein paar kleine Dinge noch begradigt worden.
|
498
|
+
|
499
|
+
* <b>Install-Routine bereinigt</b>
|
500
|
+
|
501
|
+
Install.rb soll in Richtung Plattformunabhängigkeit weiterentwickelt werden, so
|
502
|
+
dass auch Linux nicht zu kurz kommt. Da fehlen noch ein paar Kommandos, aber
|
503
|
+
die Routine wird euch zu gegebener Zeit fragen :o)
|
504
|
+
!!Einzelne Datenbanken können jetzt angesprochen werden!!
|
505
|
+
Mit 'install -data -r rdk' werden z.B. alle Datenbanken, die rdk im Namen
|
506
|
+
enthalten, gelöscht und mit 'install -data rdk' auch wieder hergestellt. Das sollte
|
507
|
+
die Pflege der Datenbanken deutlich erleichtern.
|
508
|
+
|
509
|
+
* <b>VORSICHT: KNOWN ERROR</b>
|
510
|
+
|
511
|
+
Die Datenbanken werden im Verzeichnis de/store gespeichert. Unter Linux scheint
|
512
|
+
das Erstellen des Verzeichnisses noch nicht die richtigen Rechte mitzugeben.
|
513
|
+
Teste ich noch unter Linux, bis dahin bitte das Unterverzeichnis vor dem Aufruf
|
514
|
+
von Install von Hand anlegen!
|
515
|
+
|
516
|
+
== 1.1.0 [2005-06-18]
|
517
|
+
|
518
|
+
* <b>Umstellung der Versionsnummernsystematik</b>
|
519
|
+
|
520
|
+
Damit auch Patches und Bugfixes nicht als herrenloses Archiv ausgetauscht
|
521
|
+
werden müssen und jeden besser in Erinnerung verbleibt, wann welche Funktions-
|
522
|
+
erweiterung dazu kam, gelten für die Veränderungen in den Versionsnummern
|
523
|
+
folgende Regeln:
|
524
|
+
X.0.0 Die erste Stelle kennzeichnet einen grundlegenden architektonischen
|
525
|
+
Umbau von Lingo, wie z.B. den Wechsel von Rubyling auf Lingo. Im Zweifel
|
526
|
+
zählt hierzu auch eine zehnmalige Funktionserweiterung :o)
|
527
|
+
0.X.0 Die zweite Stelle kennzeichnet eine Funktionserweiterung, wie z.B. die
|
528
|
+
Verarbeitung von Mehrwortgruppen.
|
529
|
+
0.0.X Die letzte Stelle ist für Bugfixes vorbehalten.
|
530
|
+
Gegebenenfalls kann der Versionsnummer noch ein kleiner Buchstabe folgen, der
|
531
|
+
anzeigt, dass sich lediglich an der Dokumentation etwas geändert hat.
|
532
|
+
Gestartet wird mit der 1.1.0 (Erweiterung um Mehrworterkennung), die im
|
533
|
+
wesentlichen der Vorversion (alte Systematik) entspricht.
|
534
|
+
|
535
|
+
== 1.0.4 [2005-06-17]
|
536
|
+
|
537
|
+
* <b>Datenbankformat und -zugriff vereinheitlicht</b>
|
538
|
+
|
539
|
+
Bisher gab es drei verschiedene Datenformate für Wörterbücher, Synonyme und
|
540
|
+
Mehrwortgruppen. Alle drei Typen finden sich nun in einem universellen Format
|
541
|
+
wieder.
|
542
|
+
Ebenso wurde der Zugriff auf die Daten modifiziert. Wurden vorher je nach Typ
|
543
|
+
einmal eine Liste der erkannten Grundformen (Lexical) als Ergebnis erzeugt und ein
|
544
|
+
anderes mal nur eine Zeichenkette zurück gegeben, werden jetzt alle Zugriffe auf
|
545
|
+
die Daten als Lexical-Liste generiert. Dies hatte Auswirkungen auf die
|
546
|
+
Synonymerkennung, da bisher die die Wortklasse 'y' aus dem Programm und nicht
|
547
|
+
aus den Datendateien kam.
|
548
|
+
|
549
|
+
* <b>Multiworder verarbeitet mehrere Datenbanken</b>
|
550
|
+
|
551
|
+
Die Verarbeitung von mehreren Datenbanken für einen Zugriff wird normalerweise
|
552
|
+
in der Klasse Dictionary erledigt. Da der Multiworder jedoch die Funktionen der
|
553
|
+
Dictionary-Klasse nicht benötigt, greift er direkt auf die Klasse DataSource zu,
|
554
|
+
welche diese Funktion nicht besitzt. Daher musste die Verarbeitung mehrerer
|
555
|
+
Datendateien im Multiworder selbst erfolgen.
|
556
|
+
|
557
|
+
== 1.0.3 [2005-05-21]
|
558
|
+
|
559
|
+
* <b>Multiworder fertig!</b>
|
560
|
+
|
561
|
+
Mit dem neuen Attendee Multiworder werden Mehrwortgruppen locker und schnell
|
562
|
+
erkannt. Erkannte Gruppen werden als als zusätzliches (Dummy-)Wort mit in den
|
563
|
+
Datenstrom eingespeist. Die Geschwindigkeit wird dadurch erreicht, dass die
|
564
|
+
Mehrwortgruppen in Ihren jeweiligen Grundformen gespeichert werden. Das ist
|
565
|
+
genau dass, was der Multiworder frei Haus geliefert bekommt. Das klappt
|
566
|
+
wunderbar, wenn für den Multiworder-Lauf und die Ersterstellung des
|
567
|
+
Mehrwörterbuches die gleichen Wörterbücher verwendet werden.
|
568
|
+
Soll heißen, wenn zu einem späteren Zeitpunkt zusätzliche Wörterbücher hinzu
|
569
|
+
gezogen werden, kann eine erneute Erstellung der Mehrwörterbuches Sinn
|
570
|
+
machen, um die Erkennungsquote zu verbessern.
|
571
|
+
Diese Version arbeitet mit einem abgespeckten Mehrwörterbuch.
|
572
|
+
|
573
|
+
* <b>Install.rb weiter ausgebaut</b>
|
574
|
+
|
575
|
+
Die einzelnen Installationsphasen können jetzt auch einzeln aufgerufen werden.
|
576
|
+
Mit den Optionen -data, -test und -docu können die jeweiligen Phasen wiederholt
|
577
|
+
werden. Mit der zusätzlichen Option -r kann auch alles wieder rückgängig gemacht
|
578
|
+
werden.
|
579
|
+
|
580
|
+
== 1.0.2 [2005-04-30]
|
581
|
+
|
582
|
+
* <b>Install.rb</b>
|
583
|
+
|
584
|
+
Nach dem Download sollte als erstes ruby install.rb aufgerufen werden.
|
585
|
+
Dadurch werden notwendige Vorarbeiten erledigt, z.B. Erstellung der
|
586
|
+
Dokumentatio in /doc oder der Datenbasis in /de
|
587
|
+
|
588
|
+
* <b>Forget MySQL</b>
|
589
|
+
|
590
|
+
Als erstes filebasiertes Datenzugriffssystem wurde SDBM integriert. Darüber
|
591
|
+
wird MySQL überflüssig. Alle relevanten Daten liegen im Unterverzeichnis /de.
|
592
|
+
Siehe auch de.xml:<datasource>. Vor der ersten Nutzung sollten die SDBM-
|
593
|
+
Dateien mit ruby dbm.rb erzeugt werden. (wird durch install.rb erledigt)
|
594
|
+
|
595
|
+
* <b>Sortierung im Vector_filter verbessert</b>
|
596
|
+
|
597
|
+
Bei sort='count' wird jetzt nicht nur nach Häufigkeit sortiert sondern
|
598
|
+
auch innerhalb der Häufigkeit nach Alphabet.
|
599
|
+
|
600
|
+
== 1.0.1 [2005-04-26]
|
601
|
+
|
602
|
+
* <b>Kompatibilität zur LIR</b>
|
603
|
+
|
604
|
+
LIR-Formate können jetzt gelesen und CSV-Format geschrieben werden.
|
605
|
+
Anpassungen in Textreader und Textwriter. Siehe auch lir.xml
|
606
|
+
|
607
|
+
* <b>Bug-Fix in Synonymer</b>
|
608
|
+
|
609
|
+
Schweren Fehler entfernt. Wordklassen, die nicht geprüft werden sollten,
|
610
|
+
wurden kastriert.
|
611
|
+
|
612
|
+
* <b>Kompositumverarbeitung im Vector_filter</b>
|
613
|
+
|
614
|
+
Neben der Kompositum-Grundform werden jetzt auch die Grundformen der Wort-
|
615
|
+
Teile mit eingesackt.
|
616
|
+
|
617
|
+
== 1.0.0 [2005-04-26]
|
618
|
+
|
619
|
+
* <b>Dokumentation erstellt</b>
|
620
|
+
|
621
|
+
Sie ist zwar noch teilweise verteilt, aber sie ist da, z.B. in doc/index.html oder
|
622
|
+
in Config.doc. Einigermaßen fertig (war ich nach der Erstellung). Bitte um
|
623
|
+
Feedback was besser geht und was fehlt.
|
624
|
+
|
625
|
+
* <b>Attendees überarbeitet</b>
|
626
|
+
|
627
|
+
Sehen jetzt noch einfacher aus. Brauchen nur noch die Methoden
|
628
|
+
init - Zur Bereitstellung von Parametern und Konfiguration für die anderen Meth.
|
629
|
+
control - Zur Verarbeitung von Kommandos
|
630
|
+
process - Zur Ver- und Bearbeitung von zugestellten Objekten
|
631
|
+
|
632
|
+
* <b>Dictionary aufgesplittet</b>
|
633
|
+
|
634
|
+
Da es mittlerweile drei Attendees gibt, die Datenbankzugriff brauchen, ist das
|
635
|
+
Dictionary eine Hauptklasse geworden. Dazu gibt es eine rudimentärere Klasse,
|
636
|
+
auf die das Dictionary sich für den Datenzugriff stützt: Datasource.
|
637
|
+
Diese Klasse nutzt die vollen Möglichkeiten eines eigenen Datencaches, welches
|
638
|
+
die Performance noch einmal deutlich verbessert hat.
|
639
|
+
|
640
|
+
* <b>Konfiguration aufgesplittet</b>
|
641
|
+
|
642
|
+
Ja ja, mein Lieblingsthema, aber ohne eine saubere Konfigurationsmöglichkeit ist
|
643
|
+
Lingo leider nix Wert. Gibt jetzt
|
644
|
+
lingo.xml - Zur Konfiguration der Kommandozeilenoptionen
|
645
|
+
de.xml - Enthält die sprachrelevante Konfiguration
|
646
|
+
<ablauf>.xml - Enthält die Lingo-Konfiguration, z.B. rubyling.xml oder ocr.xml
|
647
|
+
Mit ruby lingo.rb -c <ablauf> kann jeweils eine andere Konfig. gezogen werden.
|
648
|
+
|
649
|
+
== 0.9.8 [2005-04-16]
|
650
|
+
|
651
|
+
* <b>Class Config überarbeiten</b>
|
652
|
+
|
653
|
+
Klar, immer die wichtigen Dinge zuerst. Die über die Kommandozeile
|
654
|
+
erwarteten Parameter sind über lingo.xcl konfigurierbar. In Lingo.xml
|
655
|
+
kann man auf die Kommandozeilen-Parameter als Variable zurückgreifen.
|
656
|
+
Doku anschauen, lohnt sich...
|
657
|
+
|
658
|
+
== 0.9.0 [2005-04-01]
|
659
|
+
|
660
|
+
* <b>Noneword_variator</b>
|
661
|
+
|
662
|
+
Auftragsarbeit von Klaus eingebaut.
|
663
|
+
|
664
|
+
== 0.8.0b [2005-03-30]
|
665
|
+
|
666
|
+
* <b>Lingo ist Rubyling, nur besser</b>
|
667
|
+
|
668
|
+
Rubyling ist tot, es lebe Lingo! Rubyling wurde vollständig modularisiert.
|
669
|
+
|
670
|
+
* <b>Konfiguration mit Lingo.xml</b>
|
671
|
+
|
672
|
+
Konfiguration vollständig überarbeitet. Lingo.cfg heißt jetzt lingo.xml. Mit dieser
|
673
|
+
Endung ist sie leichter mit SciTe editierbar. Die Klasse LingoConfig kann jetzt (fast)
|
674
|
+
generische XML-Syntax verarbeiten. Die Werte werden auf sehr einfache Weise
|
675
|
+
im Code bereitgestellt. Hinzu kommt, dass die Aufruf-Parameter ebenfalls über
|
676
|
+
diesen Weg zur Verfügung stehen. Dokumentation muss folgen :o)
|
677
|
+
|
678
|
+
== 1.4.1 [2005-03-18] (Rubyling)
|
679
|
+
|
680
|
+
* <b>Load_wbs.rb stabilisiert</b>
|
681
|
+
|
682
|
+
Programm zeigte keine Reaktion mehr auf Laptop nach Standby. Daher stoppen
|
683
|
+
und starten des MySQL-Dienstes eingebaut. Load_wbs.rb von Archiv rubyling_de
|
684
|
+
nach rubyling verschoben (Version aus rubyling_de im nächsten Release entfernen!)
|
685
|
+
|
686
|
+
* <b>Rubyling Parameter korrigiert</b>
|
687
|
+
|
688
|
+
Für Programmtests waren Parameter im Programm verdrahtet. Kommandozeile wurde
|
689
|
+
ignoriert.
|
690
|
+
|
691
|
+
== 1.4.0 [2005-03-18] (Rubyling)
|
692
|
+
|
693
|
+
* <b>Interne Klassenhierarchie umgebaut</b>
|
694
|
+
|
695
|
+
In der Datei word.rb sind nun die Klassen unterschieden nach Token, Lexical und
|
696
|
+
Word inkl. weiterer Hilfsklassen.
|
697
|
+
|
698
|
+
* <b>Synonymverarbeitung eingebaut</b>
|
699
|
+
|
700
|
+
Erkannte Worte werden zusätzlich auf Synonyme hin geprüft. Die Liste der Grundformen
|
701
|
+
des Wortes wird dann um die gefundenen Synonyme erweitert. Die Synonym-Wörterbücher
|
702
|
+
sind wie gewohnt in ruby.cfg unter database/synonym konfigurierbar. Derzeit wird
|
703
|
+
openthesaurus als einziges Wörterbuch benutzt. Um openthesaurus zu nutzen, sei
|
704
|
+
das Archiv rubyling_de(v1.0) wärmstens empfohlen.
|
705
|
+
|
706
|
+
* <b>Nicht erkannte Wörter</b>
|
707
|
+
|
708
|
+
Als zusätzliche Datei wird jetzt auch noch eine Endung .non erzeugt, die alle
|
709
|
+
nicht erkannten Wörter beinhaltet
|
710
|
+
|
711
|
+
* <b>Schnelle Installation</b>
|
712
|
+
|
713
|
+
Die Umgebung von Rubyling ist jetzt auf drei Archive verteilt. Bitte weitere
|
714
|
+
Änderungen an den Daten in den Archiven vornehmen und in dieser RELEASE.TXT
|
715
|
+
dokumentieren. Alle Archive sind so aufgebaut, dass sie im Verzeichnis
|
716
|
+
rubyling entpackt werden können.
|
717
|
+
|
718
|
+
Archiv Ziel Inhalt
|
719
|
+
----------------------------------------------------------------------------
|
720
|
+
rubyling(v1.4) /rubyling Programm, Konfiguration und Dokumentation
|
721
|
+
rubyling_de(v1.0) /rubyling/de Wörterbücher und Programm zum DB-Aufbau
|
722
|
+
rubyling_txt(v1.0) /rubyling/txt Texte zum testen
|
723
|
+
|
724
|
+
== 1.3.0 [2005-02] (Rubyling)
|
725
|
+
|
726
|
+
* <b>Inline-Dokumentation erstellt</b>
|
727
|
+
|
728
|
+
Mit Prozedur make_doc.cmd HTML-Seiten erstellen, dann doc\index.html aufrufen
|
729
|
+
|
730
|
+
* <b>Konfiguration komplett überarbeitet</b>
|
731
|
+
|
732
|
+
Eine zentrale Konfigurationsdatei ruby.cfg enthält im XML-Style alle Parameter,
|
733
|
+
z.B. "<parm1 value='15'/>" in Ruby durch $CFG['parm1'] abfragbar. ruby-token.txt
|
734
|
+
und ruby-suffix.txt sind nicht mewhr notwendig.
|
735
|
+
|
736
|
+
* <b>Reduzierung der linguistisch relevanten Klassen auf zwei Klassen</b>
|
737
|
+
|
738
|
+
TextFile erweitert die Klasse File und ermöglicht die Datei-Verarbeitung auf
|
739
|
+
Tokenbasis.
|
740
|
+
Dictionary enthält mit der Methode search() die zentrale Schnittstelle für die
|
741
|
+
Wörterbuch-Recherche (inkl. Stopwörtern, Suffixbehandlung und Kompositumzerlegung).
|
742
|
+
|
743
|
+
* Rubyling erkennt bei Aufruf automatisch (jetzt richtig) das Dateiobjekt und
|
744
|
+
unterscheidet Textdatei, Verzeichnis und DB-Datei (z.B. lir.txt). In den ersten
|
745
|
+
beiden Fällen werden je Textdatei drei Ausgabedateien erstellt, die eine weitere
|
746
|
+
Verbesserung der Verarbeitung ermöglichen:
|
747
|
+
.tok = Textfile in Token je Zeile zerlegt;
|
748
|
+
.dic = Token mit Auflösung nach Wörterbuchzugriff;
|
749
|
+
.vec = Inhaltsvektor der Datei.
|
750
|
+
|
751
|
+
== Rubyling x.x vor dem 01.02.2005
|
752
|
+
|
753
|
+
* Diverse Versionen, von denen Klaus meint, sie hätten noch keine eins vor dem Punkt
|
754
|
+
verdient :o(
|