Der Synonymer untersucht die von anderen Attendees ermittelten Grundformen eines Wortes und sucht in den angegebenen Wörterbüchern nach Relationen zu anderen Grundformen. Gefundene Relationen erweitern die Liste des Word-Objektes und werden zur späteren Identifizierung mit der Wortklasse ‘y’ gekennzeichnet.
Daten vom Typ Word z.B. von Wordsearcher, Decomposer, Ocr_variator, Multiworder
Daten vom Typ Word (ggf. um Relationen ergänzt) z.B. für Decomposer, Ocr_variator, Multiworder, Sequencer, Noneword_filter, Vector_filter
Kursiv dargestellte Parameter sind optional (ggf. mit Angabe der Voreinstellung). Alle anderen Parameter müssen zwingend angegeben werden.
siehe allgemeine Beschreibung des Attendee
siehe allgemeine Beschreibung des Attendee
siehe allgemeine Beschreibung des Dictionary
(Standard: all) siehe allgemeine Beschreibung des Dictionary
(Standard: WA_UNKNOWN [siehe strings.rb]) Veranlasst den Synonymer Wörter mit diesem Attribut zu überspringen.
Bei der Verarbeitung einer normalen Textdatei mit der Ablaufkonfiguration
t1.cfg
meeting:
attendees:
- text_reader: { out: lines, files: '$(files)' }
- tokenizer: { in: lines, out: token }
- abbreviator: { in: token, out: abbrev, source: 'sys-abk' }
- word_searcher: { in: abbrev, out: words, source: 'sys-dic' }
- synonymer: { in: words, out: synos, source: 'sys-syn' }
- debugger: { in: words, prompt: 'out>' }
ergibt die Ausgabe über den Debugger: lingo -c t1 test.txt
out> *FILE('test.txt')
out> <Dies = [(dies/w), (das/y), (dies/y)]>
out> <ist = [(sein/v), ((sich) befinden/y), (dasein/y), (existenz/y), (sein/y), (vorhandensein/y)]>
out> <ggf. = [(gegebenenfalls/w), (bei bedarf/y), (gegebenenfalls/y), (ggf./y), (notfalls/y)]>
out> <eine = [(einen/v), (ein/w)]>
out> <Abk³rzung = [(abk³rzung/s), (abbreviation/y), (abbreviatur/y), (abk³rzung/y), (akronym/y), (kurzbezeichnung/y)]>
out> :./PUNC:
out> *EOL('test.txt')
out> *EOF('test.txt')
# File lib/lingo/attendee/synonymer.rb, line 79 def control(cmd, param) report_on(cmd, @dic) end
# File lib/lingo/attendee/synonymer.rb, line 74 def init set_dic @skip = get_array('skip', WA_UNKNOWN, :upcase) end
# File lib/lingo/attendee/synonymer.rb, line 83 def process(obj) if obj.is_a?(Word) && !@skip.include?(obj.attr) inc('Anzahl gesuchter Wörter') unless (syn = @dic.find_synonyms(obj)).empty? inc('Anzahl erweiteter Wörter') obj.add_lexicals(syn.tap(&:uniq!)) add('Anzahl gefundener Synonyme', syn.size) end end forward(obj) end