Class: Lingo::Attendee::Decomposer
- Inherits:
-
Lingo::Attendee
- Object
- Lingo::Attendee
- Lingo::Attendee::Decomposer
- Defined in:
- lib/lingo/attendee/decomposer.rb
Overview
– Komposita, also zusammengesetzte Wörter, sind eine Spezialität der deutschen Sprache (z.B. Indexierungssystem oder Kompositumerkennung). Könnte man alle Kombinationen in den Wörterbüchern hinterlegen, dann würde der Wordsearcher die Erkennung bereits erledigt haben. Die hohe Anzahl der möglichen Kombinationen verbietet jedoch einen solchen Ansatz aufgrund des immensen Pflegeaufwands, eine algorithmische Lösung erscheint sinnvoller. Der Decomposer wertet alle vom Wordsearcher nicht erkannten Wörter aus und prüft sie auf Kompositum.
Mögliche Verlinkung
- Erwartet
-
Daten vom Typ Word (andere werden einfach durchgereicht) z.B. von Wordsearcher
- Erzeugt
-
Daten vom Typ Word (erkannte Komposita werden entsprechend erweitert) z.B. für
Synonymer, Ocr_variator, Multiworder, Sequencer, Vector_filter
Parameter
Kursiv dargestellte Parameter sind optional (ggf. mit Angabe der Voreinstellung). Alle anderen Parameter müssen zwingend angegeben werden.
- in
-
siehe allgemeine Beschreibung des Attendee
- out
-
siehe allgemeine Beschreibung des Attendee
- source
-
siehe allgemeine Beschreibung des Dictionary
- mode
-
(Standard: all) siehe allgemeine Beschreibung des Dictionary
Beispiele
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' }
- decomposer: { in: words, out: comps, source: 'sys-dic' }
- debugger: { in: comps, prompt: 'out>' }
ergibt die Ausgabe über den Debugger: lingo -c t1 test.txt
out> *FILE('test.txt')
out> <Lingo|?>
out> :,/PUNC:
out> <ein = [(ein/w)]>
out> <Indexierungssystem|COM = [(indexierungssystem/k), (indexierung/s), (system/s)]>
out> <mit = [(mit/w)]>
out> <Kompositumerkennung|COM = [(kompositumerkennung/k), (erkennung/s), (kompositum/s)]>
out> :./PUNC:
out> *EOL('test.txt')
out> *EOF('test.txt')
++
Constant Summary
Constants inherited from Lingo::Attendee
Constants included from Language
Language::CHAR_PUNCT, Language::LA_SORTORDER, Language::TA_ABBREVIATION, Language::TA_HELP, Language::TA_HTML, Language::TA_NUMBER, Language::TA_OTHER, Language::TA_PUNCTUATION, Language::TA_SKIP, Language::TA_SPACE, Language::TA_URL, Language::TA_WIKI, Language::TA_WORD, Language::WA_COMPOUND, Language::WA_IDENTIFIED, Language::WA_MULTIWORD, Language::WA_SEQUENCE, Language::WA_UNKMULPART, Language::WA_UNKNOWN, Language::WA_UNSET
Instance Attribute Summary
Attributes inherited from Lingo::Attendee
Instance Method Summary collapse
Methods inherited from Lingo::Attendee
#command, #forward, #initialize
Constructor Details
This class inherits a constructor from Lingo::Attendee
Instance Method Details
#control ⇒ Object
83 84 |
# File 'lib/lingo/attendee/decomposer.rb', line 83 def control(*) end |
#init ⇒ Object
79 80 81 |
# File 'lib/lingo/attendee/decomposer.rb', line 79 def init set_gra end |
#process(obj) ⇒ Object
86 87 88 89 90 91 92 93 94 95 |
# File 'lib/lingo/attendee/decomposer.rb', line 86 def process(obj) if obj.is_a?(Word) && obj.unknown? com = @gra.find_compound(obj.form) com.token = obj.token obj = com unless com.unknown? end forward(obj) end |