2009-03-17 10 views
1

Ich versuche, ein NLP-System für eine Zuordnung zu erstellen, für die ich externe Bibliotheken verwenden darf.
Ich benutze Parse Bäume, um Sätze in ihre Bestandteile bis Substantive, Verben usw. zu zerlegen.
Ich bin auf der Suche nach einer Bibliothek oder Software, die mich identifizieren würde, welche lexikalische Form ein Wort ist, und möglicherweise übersetzen zu einer anderen Form für mich.
Im Grunde brauche ich etwas mit Funktionen wie isPlural, singularize, getInfinitive, usw.
Ich habe das Ruby Linguistics-Paket und einen einfachen Porter Stemmer (für Infinitive) betrachtet, aber keiner ist sehr gut.
Dies scheint nicht ein sehr schweres Problem, nur sehr mühsam.
Kennt jemand ein gutes Paket/Bibliothek/Software, die solche Dinge tun könnte?NLP: Morphologische Manipulationen

Antwort

1

Um einen Syntaxbaum eines Satzes zu erstellen, muss man zuerst die Wortart- und Lemma-Information der Wörter im Satz bestimmen. Also, Sie sollten diese Informationen bereits haben.

Aber in jedem Fall, um Wortformen, um ihre Lemmata abzubilden und synthetisieren Wortformen aus Lemmata, werfen Sie einen Blick auf morpha and morphg, und auch die Java-Version (oder Front-End) morphg im SimpleNLG package enthalten. Es gibt Verfahren wie getInfinitive, getPastParticiple usw. Siehe z.B. die API for the Verb class.

+0

danke für das Erzählen mir von morpha .. ich fand ein ubuntu-Paket für es .. und das kann Infinitiv ziemlich easili .. noch müssen die Dokumente lesen, um herauszufinden, wie man es machen kann, die anderen Dinge .. –