Canoo LanguageTools: Entdecken Sie die Möglichkeiten!
Die Canoo Languagetools sind Softwarekomponenten zur effizienten Textverarbeitung und werden für drei Sprachen angeboten: Deutsch, Englisch, and Italienisch. Typischerweise kommen die Languagetools in den folgenden Softwareprodukten und Anwendungsszenarien zum Einsatz: Suchmaschinen, Textindizierung, Textmining, sprachdidaktische Anwendungen, automatische Hyperlink-Generierung, automatische Rechtschreib- und Grammatikkorrektur, maschinelle Übersetzung und viele mehr.
Canoo Unknown Word Tools:
Unknown Word Analyzer, Lemmatizer & Recognizer
Zusätzlich zu den Funktionen, die die entsprechenden einfachen Produkte (Analyzer, Recognizer und Lemmatizer) bieten, können die Unknown Word Tools auch unbekannte, d. h. nicht im Wörterbuch stehende Wörter mithilfe von Wortbildungsregeln analysieren. Das kann für Sprachen, die sehr produktive Wortbildungsverfahren haben, sehr nützlich sein. In einer Sprache wie dem Deutschen sind von 200 000 Einträgen im Wörterbuch nur 11 % einfache Basiseinträge. Das zeigt das Potenzial der Berücksichtigung von Wortbildungsregeln: Die aktuellen Versionen der Unknown Word Tools erkennen 95 % der Wörter, die in unserem Testkorpus vorkommen.
Leistung
Die Analyse unbekannter Wörter ist komplexer als das Abrufen lexikalisierter Elemente. Um den Leistungsunterschied zwischen der Erkennung lexikalisierter Wörter und der Analyse unbekannter Wörter zu verkleinern, wird in allen Unknown-Word-Produkten ein transparenter interner Cache verwendet. Der Cache speichert die am häufigsten vorkommenden Abfragen. Wenn eine neue Abfrage mit einer im Cache gespeicherten Abfrage übereinstimmt, wird ohne weitere Analyse das gespeicherte Resultat ausgegeben. Das transparente Verhalten ist die Standardeinstellung. Der Entwickler kann aber einige Cache-Einstellungen selbst bestimmten, wie das Ausschalten des Cache oder das Erstellen eines persistenten Cache, der bei nachfolgenden Sessionen wiederverwendet werden kann.
Übergenerierung
Wenn man bei der Analyse unbekannter Wörter die Ad-hoc-Wortbildung verwendet, führt dies automatisch zu Übergenerierung. Wir schränken diese Übergenerierung mit Hilfe von drei Filterebenen ein:
- Ebene der Wortbildungsregeln
Wie bei anderen Canoo Languagetools werden die Daten mit Hilfe des Canoo-Languagetools-Autorensystems erstellt, das ein vollständiges Modell der Wortbildung enthält. Dieses Tool erlaubt es uns, die Ableitungs- und Kompositionsregeln, die wir für die Unknown-Word-Produkte benötigen, genau abzustimmen. Für mehr Informationen zu unserem Word Manager Authoring Tool siehe Publikationen. - Generierungsebene
Während der Generierung der benötigten Wortdaten aus unserem Autoren-Tool können wir eine große Anzahl von Elementen erkennen und eliminieren, die für die Analyse unbekannter Wörter irrelevant sind. - Laufzeitebene
Einige durch Übergenerierung entstandene Elemente können erst während der Laufzeit gefunden werden. Ein Filter überprüft und eliminiert solche Resultate auf der Laufzeit-Ebene.
Testresultate
Wir haben den Deckungsgrad unserer Unknown-Word-Produkte für Deutsch mit Hilfe eines Testkorpus getestet. Das Testkorpus umfasst verschiedenste Texte wie zum Beispiel Prosaliteratur, Zeitungsartikel, technische und wissenschaftliche Dokumente. Die aktuellen Versionen der Unknown-Word-Produkte erkennen durchschnittlich 95,2 % der im Korpus vorkommenden Wörter. Die meisten der 4,8 % nicht erkannter Wörter sind Eigennamen, Wörter aus fremdsprachigen Zitaten und selten vorkommende Fachausdrücke. (NB: Wir haben vor der Analyse keine Wörter aus den Texten entfernt.) Die durchschnittliche Anzahl nicht erkannter Wörter ist in technischen Texten und in kurzen Zeitungsartikeln mit vielen Eigennamen und/oder fremdsprachlichen Zitaten am höchsten, während sie in normalen beschreibenden Texten viel niedriger ist.
Implementation
Wir bieten das Produkt als eine reine Java-Implementation an, die auf allen Plattformen läuft (erfordert JRE 1.5 oder höher). Eine kleine und klare API ermöglicht eine einfache Einbindung in Ihr eigenes Produkt.
Verfügbare Sprache
Unknown Word Analyzer
Der Unknown Word Analyzer liefert morphosyntaktische Information für ein bekanntes Wort oder ein unbekanntes Wort (d.h. für ein Wort ausserhalb des Lexikons): z.B. Grundform, Wortkategorie, Geschlecht, Tempus, Hilfsverben zusammen mit allen m&oouml;glichen Zerlegungen und Ableitungen sowie den Wortkategorien der jeweiligen Elemente. Alle Features können bei der Analyse als Filter verwendet werden.
Einige typische Anwendungsszenarien
Intelligente Textverarbeitung: Textanalyse, Textzusammenfassung, Automatische Übersetzung, Parsing, Linguistische Annotation
Beispiel
Um eine möglichst einfache Integration zu ermöglichen, liefert die Java API strukturierte Java-Objekte zurück (Details: s. Entwicklerbereich). Diese Objekte können mithilfe einer mitgelieferten Methode in einfache Strings umgewandelt werden. Wegen der besseren Darstellbarkeit zeigt das folgende Beispiel statt der Objekte nur diese Strings an. Weitere Beispiele finden Sie im Entwicklerbereich.
query -> abbausicheres
result ->
<inflection>
abbausicher
(Cat A)(Degree Pos)(AForm es)(ID 0)
</inflection>
<wf>
abbau + sicheres
(Cat A),
(WFRule
Compounding.A-Comp.N+A.
No-Umlaut.N+A_No_Linking_Element)
1: abbau (Cat N)
2: sicher (Cat A)
</wf>
Unknown Word Lemmatizer
Der Unknown Word Lemmatizer liefert für ein bekanntes Wort oder ein unbekanntes Wort (d.h. für ein Wort ausserhalb des Lexikons) die entsprechende Grundform und Wortkategorie. Dabei stützt er sich auf die möglichen Wörter, aus denen das Wort zusammengesetzt oder abgeleitet wurde. Die Wortkategorie kann bei der Analyse als Filter verwendet werden.
Einige typische Anwendungsszenarien
Indexierung, Information Retrieval, Intelligente Suche, Partielles Parsing, Kategorisierung, Linguistische Annotation
Beispiele
Um eine möglichst einfache Integration zu ermöglichen, liefert die Java API strukturierte Java-Objekte zurück (Details: s. Entwicklerbereich). Diese Objekte können mithilfe einer mitgelieferten Methode in einfache Strings umgewandelt werden. Wegen der besseren Darstellbarkeit zeigen die folgenden Beispiele statt der Objekte nur diese Strings an. Weitere Beispiele finden Sie im Entwicklerbereich.
query -> skandalgeschüttelten
result -> skandalgeschüttelt
(Cat A)
query -> aufgesunken
result -> aufsinken
(Cat V)
Unknown Word Recognizer
Der Unknown Word Recognizer kann zwei Tests durchführen. In beiden Fällen ist das Resultat einer Abfrage eine einfache Ja/Nein-Antwort (in der Form „1/0“ or „true/false“).
- Wie der einfache Recognizer, kann der Unknown Word Recognizer erkennen, ob ein Wort (sowohl Grundformen als auch flektierte Formen) eine gültige Wortform ist.
- Bei dem zweiten Test kann das Produkt für ein unbekanntes Wort (d.h. für ein Wort ausserhalb des Lexikons) erkennen, ob es in bekannte Wörter zerlegt werden kann oder von bekannten Wörtern abgeleitet werden kann.
Einige typische Anwendungsszenarien
Rechtschreibkorrektur-Software
Beispiele
Erläuterungen zu diesen Beispielen finden Sie im Entwicklerbereich.
query -> skandalgeschüttelten
result -> true
query -> sdfsdfsd
result -> false
Canoo Language Analyzers:
Inflection Analyzer, Lemmatizer & Recognizer
Die Canoo Language Analyzers vereinfachen die Verarbeitung natürlicher Sprache. Der Inflection Analyzer liefert die Grundform und die morphosyntaktische Klassifizierung für jede gültige Wortform; in einer Form, wie sie von Sprachanalyseprogrammen verwendet wird. Der Lemmatizer liefert die Grundform für jede gültige Wortform, wie sie in POS-Taggern verwendet wird. Der Recognizer ist ein Programm, das gültige Wortformen, sowohl Grundformen als auch flektierte Formen, erkennen kann.
Inflection Analyzer
Der Inflection Analyzer liefert die Grundform und die morphosyntaktische Klassifizierung für jede gültige Wortform; in einem Format, wie es von Sprachanalyseprogrammen verwendet wird. Das Resultat einer Abfrage besteht aus einer Liste von Grundformen, denen jeweils die zur analysierten Wortform gehörenden morphosyntaktischen Features folgen. Alle Features können bei der Analyse als Filter verwendet werden.
Wir bieten das Produkt als eine reine Java-Implementation an, die auf allen Plattformen läuft (erfordert JRE 1.5 oder höher). Eine kleine und klare API ermöglicht eine einfache Einbindung in Ihr eigenes Produkt. (Auf Anfrage können wir Ihnen das Produkt auch als plattformspezifische Shared-Library-Implementation für Linux anbieten.)
Das Produkt ist erhältlich für Deutsch, Englisch und Italienisch.
Einige typische Anwendungsszenarien
Intelligente Textverarbeitung: Textanalyse, Textzusammenfassung, Automatische Übersetzung, Parsing, Linguistische Annotation
Beispiele
Um eine möglichst einfache Integration zu ermöglichen, liefert die Java API strukturierte Java-Objekte zurück (Details: s. Entwicklerbereich). Diese Objekte können mithilfe einer mitgelieferten Methode in einfache Strings umgewandelt werden. Wegen der besseren Darstellbarkeit zeigen die folgenden Beispiele statt der Objekte nur diese Strings an.
Deutsch query -> ging result -> gehen (Cat V)(Aux sein)(Mod Ind)(Temp Impf)(Pers 1st)(Num SG)(ID 0-1), (Cat V)(Aux sein)(Mod Ind)(Temp Impf)(Pers 3rd)(Num SG)(ID 0-1) Englisch query -> did result -> do (Cat V)(Variety BCE)(Tense Past)(ID 0-1) Italienisch query -> andai result -> andare (Cat V)(Aux essere)(Mod Ind)(Temp Pass-Rem)(Pers 1st)(Num SG)(ID 0-1)
Lemmatizer
Der Lemmatizer liefert für jede gültige Wortform die entsprechende Grundform und Wortkategorie, wie sie in POS-Taggern verwendet wird. Das Resultat einer Abfrage ist eine Liste der entsprechenden Grundformen mit der Angabe der jeweiligen Wortkategorie. Diese Kategorie kann bei der Analyse als Filter verwendet werden.
Wir bieten das Produkt als eine reine Java-Implementation an, die auf allen Plattformen läuft (erfordert JRE 1.5 oder höher). Eine kleine und klare API ermöglicht eine einfache Einbindung in Ihr eigenes Produkt. (Auf Anfrage können wir Ihnen das Produkt auch als plattformspezifische Shared-Library-Implementation für Linux anbieten.)
Das Produkt ist erhältlich für Deutsch, Englisch und Italienisch.
Einige typische Anwendungsszenarien
Indexierung, Information Retrieval, Intelligente Suche, Partielles Parsing, Kategorisierung, Linguistische Annotation
Beispiele
Um eine möglichst einfache Integration zu ermöglichen, liefert die Java API strukturierte Java-Objekte zurück (Details: s. Entwicklerbereich). Diese Objekte können mithilfe einer mitgelieferten Methode in einfache Strings umgewandelt werden. Wegen der besseren Darstellbarkeit zeigen die folgenden Beispiele statt der Objekte nur diese Strings an.
Deutsch
query -> moegen
result -> mögen
(Cat V)(Flach ouml),
(Cat N)(Flach ouml)
Englisch
query -> cat's Filter: (Cat N)
result -> cat
(Cat N)(Contraction N+'s/Clitic),
(Cat N)(Contraction N+have/V),
(Cat N)(Contraction N+be/V)
Italienisch
query -> cacciandolo
result -> cacciare
(Cat V)(Contraction lo/Pron+V)
Recognizer
Der Recognizer ist ein Programm, das erkennen kann, ob ein Wort (sowohl Grundformen als auch flektierte Formen) eine gültige Wortform ist. Das Resultat einer Abfrage ist eine einfache Ja/Nein-Antwort (in der Form „1/0“ or „true/false“).
Wir bieten das Produkt als eine reine Java-Implementation an, die auf allen Plattformen läuft (erfordert JRE 1.5 oder höher). Eine kleine und klare API ermöglicht eine einfache Einbindung in Ihr eigenes Produkt. (Auf Anfrage können wir Ihnen das Produkt auch als plattformspezifische Shared-Library-Implementation für Linux anbieten.)
Das Produkt ist erhältlich für Deutsch, Englisch und Italienisch.
Einige typische Anwendungsszenarien
Rechtschreibkorrektur-Software
Beispiele
Erläuterungen zu diesen Beispielen finden Sie im Entwicklerbereich.
Deutsch
query -> moegen
result -> true
query -> moexyzgen
result -> false
Englisch
query -> cat's
result -> true
query -> moexyzgen
result -> false
Italienisch
query -> cacciandolo
result -> true
query -> moexyzgen
result -> false
Canoo Analyzer/Generator-Produkte:
Zwei Produkte in einem
Die Canoo Analyzer/Generator-Produkte ermöglichen Ihnen die Verarbeitung von Wörtern in zwei entgegengesetzten Richtungen: Der Inflection Analyzer/Generator analysiert und erzeugt alle Wortformen eines Lexems. Der Word Formation Analyzer/Generator analysiert und erzeugt die Wortbildungsgeschichte (der ersten Ebene) eines Lexems.
Inflection Analyzer/Generator
Der Inflection Analyzer/Generator analysiert und erzeugt alle flektieren Formen eines Lexems. Das Resultat einer Analyse besteht aus einer Liste von Grundformen, denen jeweils die zur analysierten Wortform gehörenden morphosyntaktischen Features folgen. Das Resultat einer Generierung ist eine Liste von Wortformen, denen die entsprechenden morphosyntaktischen Features folgen.
Wir bieten das Produkt als eine reine Java-Implementation an, die auf allen Plattformen läuft (erfordert JRE 1.5 oder höher). Eine kleine und klare API ermöglicht eine einfache Einbindung in Ihr eigenes Produkt. (Auf Anfrage können wir Ihnen das Produkt auch als plattformspezifische Shared-Library-Implementation für Linux anbieten.)
Das Produkt ist erhältlich für Deutsch, Englisch und Italienisch.
Einige typische Anwendungsszenarien
- Intelligente Textverarbeitung: Textanalyse, Textzusammenfassung, Automatische Übersetzung, Parsing, Linguistische Annotation
- Anwendungen im Bereich E-Learning
Beispiele
Um eine möglichst einfache Integration zu ermöglichen, liefert die Java API strukturierte Java-Objekte zurück (Details: s. Entwicklerbereich). Diese Objekte können mithilfe einer mitgelieferten Methode in einfache Strings umgewandelt werden. Wegen der besseren Darstellbarkeit zeigen die folgenden Beispiele statt der Objekte nur diese Strings an.
Beispiele Analyse
Deutsch query -> ging result -> gehen (Cat V)(Aux sein)(Mod Ind)(Temp Impf)(Pers 1st)(Num SG)(ID 0-1), (Cat V)(Aux sein)(Mod Ind)(Temp Impf)(Pers 3rd)(Num SG)(ID 0-1) Englisch query -> did result -> do (Cat V)(Variety BCE)(Tense Past)(ID 0-1) Italienisch query -> andai result -> andare (Cat V)(Aux essere)(Mod Ind)(Temp Pass-Rem)(Pers 1st)(Num SG)(ID 0-1)
Beispiele Generierung
Deutsch query -> haus result -> häuser (Cat N)(Gender N)(Num PL)(Case Nom)(ID 0-1), (Cat N)(Gender N)(Num PL)(Case Gen)(ID 0-1), (Cat N)(Gender N)(Num PL)(Case Acc)(ID 0-1) häusern (Cat N)(Gender N)(Num PL)(Case Dat)(ID 0-1) haeuser (Cat N)(Gender N)(Num PL)(Case Nom)(Flach auml)(ID 0-1), (Cat N)(Gender N)(Num PL)(Case Gen)(Flach auml)(ID 0-1), (Cat N)(Gender N)(Num PL)(Case Acc)(Flach auml)(ID 0-1) haeusern (Cat N)(Gender N)(Num PL)(Case Dat)(Flach auml)(ID 0-1) haus (Cat N)(Gender N)(Num SG)(Case Nom)(ID 0-1), (Cat N)(Gender N)(Num SG)(Case Dat)(ID 0-1), (Cat N)(Gender N)(Num SG)(Case Acc)(ID 0-1) hause (Cat N)(Gender N)(Num SG)(Case Dat)(ID 0-1) hauses (Cat N)(Gender N)(Num SG)(Case Gen)(ID 0-1) Englisch query -> damn result -> damn (Cat V)(Variety BCE)(VForm Infinitive)(ID 0-1), (Cat V)(Variety BCE)(Tense Present)(VForm Base)(ID 0-1) damned (Cat V)(Variety BCE)(Tense Past)(ID 0-1), (Cat V)(Variety BCE)(VForm Past_Participle)(ID 0-1) damning (Cat V)(Variety BCE)(VForm ing_Participle)(ID 0-1) damns (Cat V)(Variety BCE)(Tense Present)(VForm s)(ID 0-1) Italienisch query -> andare Filter: (Mod Ind)(Pers 1st) result -> andai (Cat V)(Aux essere)(Mod Ind)(Temp Pass-Rem)(Pers 1st)(Num SG)(ID 0-1) andammo (Cat V)(Aux essere)(Mod Ind)(Temp Pass-Rem)(Pers 1st)(Num PL)(ID 0-1) andavo (Cat V)(Aux essere)(Mod Ind)(Temp Impf)(Pers 1st)(Num SG)(ID 0-1) andavamo (Cat V)(Aux essere)(Mod Ind)(Temp Impf)(Pers 1st)(Num PL)(ID 0-1) vado (Cat V)(Aux essere)(Mod Ind)(Temp Pres)(Pers 1st)(Num SG)(ID 0-1) andiamo (Cat V)(Aux essere)(Mod Ind)(Temp Pres)(Pers 1st)(Num PL)(ID 0-1) andrò (Cat V)(Aux essere)(Mod Ind)(Temp Fut)(Pers 1st)(Num SG)(ID 0-1) andremo (Cat V)(Aux essere)(Mod Ind)(Temp Fut)(Pers 1st)(Num PL)(ID 0-1)
Word Formation Analyzer/Generator
Der Word Formation Analyzer/Generator analysiert und generiert die erste Ebene der Wortgeschichte eines Lexems. Als Input wird dabei stets ein Lexem in seiner Grundform erwartet. Das Resultat einer Analyse ist eine Liste der Basislexeme, von denen das analysierte Lexem abgeleitet ist. Das Resultat einer Generierung ist eine Liste der Lexeme, die mit dem abgefragten Lexem gebildet worden sind. Alle Features können bei der Analyse als Filter verwendet werden.
Wir bieten das Produkt als eine reine Java-Implementation an, die auf allen Plattformen läuft (erfordert JRE 1.5 oder höher). Eine kleine und klare API ermöglicht eine einfache Einbindung in Ihr eigenes Produkt. (Auf Anfrage können wir Ihnen das Produkt auch als plattformspezifische Shared-Library-Implementation für Linux anbieten.)
Das Produkt ist erhältlich für Deutsch, Englisch und Italienisch.
Einige typische Anwendungsszenarien
- Intelligente Textverarbeitung: Textanalyse, Textzusammenfassung, Automatische Übersetzung, Parsing, Linguistische Annotation
- Anwendungen im Bereich E-Learning
Beispiele
Um eine möglichst einfache Integration zu ermöglichen, liefert die Java API strukturierte Java-Objekte zurück (Details: s. Entwicklerbereich). Diese Objekte können mithilfe einer mitgelieferten Methode in einfache Strings umgewandelt werden. Wegen der besseren Darstellbarkeit zeigen die folgenden Beispiele statt der Objekte nur diese Strings an.
Beispiele Analyse
Deutsch query -> kennenlernen result -> kennen (Cat V)(Aux haben) lernen (Cat V)(Aux haben) Englisch query -> countdown result -> count (Cat V)(Variety BCE) down (Cat Adv)(Variety BCE) Italienisch query -> appartenenza result -> appartenere (Cat V)(Aux avere)(Aux essere)
Beispiele Generierung
Deutsch query -> mahnen result -> abmahnen (Cat V)(Aux haben) anmahnen (Cat V)(Aux haben) einmahnen (Cat V)(Aux haben) ermahnen (Cat V)(Aux haben) gemahnen (Cat V)(Aux haben) gemahnt (Cat A)(Lexeme mahnen) mahnbescheid (Cat N)(Gender M) mahnbrief (Cat N)(Gender M) mahnend (Cat A) mahner (Cat N)(Gender M) mahngebühr (Cat N)(Gender F) mahnmal (Cat N)(Gender N)(Plural e), (Cat N)(Gender N)(Plural er) mahnruf (Cat N)(Gender M) mahnschreiben (Cat N)(Gender N) mahnstütte (Cat N)(Gender F) mahnung (Cat N)(Gender F) mahnverfahren (Cat N)(Gender N) mahnwache (Cat N)(Gender F) mahnwort (Cat N)(Gender N) mahnzeichen (Cat N)(Gender N) mahnzettel (Cat N)(Gender M) vermahnen (Cat V)(Aux haben) Englisch query -> appear result -> apparent (Cat A)(Variety BCE) appearance (Cat N)(Variety BCE) disappear (Cat V)(Variety BCE) pre-appear (Cat V)(Variety BCE) re-appear (Cat V)(Variety BCE) reappear (Cat V)(Variety BCE) Italienisch query -> bosco result -> abbracciabosco (Cat N)(Gender M) boscaglia (Cat N)(Gender F) boscaiolo (Cat N)(Gender M) boschetto (Cat N)(Gender M) boschivo (Manner Qual)(Cat A)(Manner Qual) boscoso (Manner Qual)(Cat A)(Manner Qual) diboscare (Cat V)(Aux avere) disboscare (Cat V)(Aux avere) guardaboschi (Cat N)(Gender V) imboscare (Cat V)(Aux avere) imboschire (Cat V)(Aux avere) sottobosco (Cat N)(Gender M) tagliaboschi (Cat N)(Gender M)
Canoo Transducer Compiler
Der Transducer Compiler ist ein Standalone-Programm, das eine Textdatei mit Paaren von Grundformen und Wortformen liest, diese kompiliert und eine optimalisierte Finite-State-Transducer-Struktur erstellt.
Diese Software ist als plattformspezifische Implementation (für Linux) verfügbar. Wir bieten für alle Canoo Languagetools-Produkte Compiler an.
Beispiel Eingabedatei
Eine Eingabedatei *.src ist eine Sequenz von Zeilen, in denen der Compiler drei Elemente antreffen muss: eine Grundform, eine Wortform und einen Index, der dem Verweis auf die Feature-Tabelle entspricht. Die Feature-Tabelle wird separat geliefert (*.tab).
bauen baue 1 bauen baust 1 bauen baut 1 bauen bauens 2 ...



