Ich benutze den Wordnet Lemmatizer über NLTK auf dem Brown Corpus (um festzustellen, ob die Substantive mehr in ihrer Singularform oder ihrem Plural verwendet werden).
heißt from nltk.stem.wordnet import WordNetLemmatizer
l = WordnetLemmatizer()
Ist es möglich, Wordnet Lemmizer zu beschleunigen?
ich bemerkt habe, dass selbst die einfachsten Fragen wie die unten dauert ziemlich lange Zeit (mindestens ein oder zwei Sekunden).
l("cats")
Vermutlich ist dies, weil eine Web-Verbindung muss für jede Abfrage Wordnet gemacht werden? ..
Ich frage mich, ob es eine Möglichkeit ist immer noch die Wordnet Lemmatizer zu verwenden, aber es viel schneller durchführen? Würde es mir zum Beispiel helfen, Wordnet auf meinen Rechner herunterzuladen? Oder irgendwelche anderen Vorschläge?
Ich versuche herauszufinden, ob der Wordnet Lemmatizer schneller gemacht werden kann, anstatt einen anderen Lemmatizer auszuprobieren, weil ich herausgefunden habe, dass er unter anderen wie Porter und Lancaster am besten funktioniert.
Der Schlüssel ist, dass die erste Abfrage auch einige Initialisierung durchführt. Danach ist es schnell. – justhalf
lru_cache ist großartig, aber nicht verfügbar für Python 2.7: man kann repoze.lru (http://docs.repoze.org/lru/) für ein ähnliches Feature verwenden. – Vorty
@Vorty Das Beispiel, das ich gab, verwendet den Backport von Python 3 functools, der lru_cache hat: https://github.com/MiCHiLU/python-functools32 – bcoughlan