Lemmatize französischer text
Habe ich einige text in Französisch, die ich verarbeiten muss, in gewisser Weise. Dafür brauche ich:
- Ersten, die tokenisierung wird der text in Worte
- Dann lemmatize diese Worte zu vermeiden, die Bearbeitung der gleichen Wurzel mehr als einmal
Soweit ich sehen kann, die wordnet lemmatizer in das NLTK funktioniert nur mit der englischen Sprache. Ich will etwas zurückgeben kann "vouloir", wenn ich es geben "voudrais" und so weiter. Ich kann auch nicht die tokenisierung richtig, weil die Apostrophe. Alle Zeiger wäre sehr dankbar. 🙂
Du musst angemeldet sein, um einen Kommentar abzugeben.
Hier's eine alte, aber relevant Kommentar von einem nltk dev. Sieht aus wie die meisten fortgeschrittenen Wortstammerkennung in nltk alle Englisch besonderes:
Hinweis: den link gibt er tot ist, sehen hier für die aktuelle regexstemmer Dokumentation.
Den zuletzt hinzugefügten snowball stemmer zu sein scheint in der Lage, Stammzellen Französisch obwohl. Lassen Sie uns ihn auf die Probe:
Wie Sie sehen können, einige Ergebnisse sind ein bisschen zweifelhaft.
Nicht ganz das, was Sie erhofft hatten, aber ich denke, es ist ein Anfang.
die beste Lösung, die ich gefunden haben, ist spacig, es scheint, die Arbeit zu tun
Ergebnis:
Kasse die Dokumentation für weitere details: https://spacy.io/models/fr && https://spacy.io/usage
Vielleicht mit TreeTagger ? Ich habe noch nicht ausprobiert, aber diese app kann auch in Französisch
http://www.cis.uni-muenchen.de/~schmid/tools/TreeTagger/
http://txm.sourceforge.net/installtreetagger_fr.html
Wenn Sie die Durchführung Machine Learning algorithmen auf Ihre Texte, die Sie verwenden können n-Gramme anstelle von Wort-Token. Es ist nicht unbedingt lemmatization aber es erkennt eine Reihe von n gleichen Buchstaben und es ist supprisingly mächtig zu sammeln Wörter mit der gleichen Bedeutung.
Benutze ich sklearn die Funktion
CountVectorizer(analyzer='char_wb')
und für einige spezifische text, es ist viel effizienter als die Beutel von Worten.Wenn du eine text-mining-Projekt in einer französischen bank, ich empfehle das Paket cltk.
install cltk
from cltk.lemmatize.french.lemma import LemmaReplacer
mehr details in cltk