Używam Lemmatizer Wordnet przez NLTK na Brown Corpus (w celu ustalenia, czy rzeczowniki w nim są używane bardziej w ich liczbie pojedynczej lub ich liczbie mnogiej).
tj from nltk.stem.wordnet import WordNetLemmatizer
l = WordnetLemmatizer()
Czy można przyspieszyć program WordMat Lemmatizer?
Zauważyłem, że nawet najprostsze pytania, takie jak ten poniżej trwa dość długo (co najmniej sekundę lub dwie).
l("cats")
Przypuszczalnie jest to spowodowane połączeniem internetowa musi być wykonane do wordnet dla każdego zapytania? ..
Zastanawiam się, czy istnieje sposób, aby nadal korzystać z dr inż Lemmatizer ale to wykonać znacznie szybciej? Na przykład, czy w ogóle pomogłoby mi pobrać Wordnet na mój komputer? Lub jakieś inne sugestie?
Próbuję dowiedzieć się, czy Wordmat Lemmatizer można zrobić szybciej, niż próbować inny lemmatizer, ponieważ odkryłem, że działa najlepiej wśród innych, takich jak Porter i Lancaster.
Kluczem jest to, że pierwsze zapytanie wykonuje również pewną inicjalizację. Potem jest szybki. – justhalf
lru_cache jest świetny, ale niedostępny dla Pythona 2.7: można rozważyć użycie repoze.lru (http://docs.repoze.org/lru/) dla podobnej funkcji. – Vorty
@Vorty Podany przeze mnie przykład wykorzystuje backport funktools Python 3, który ma lru_cache: https://github.com/MiCHiLU/python-functools32 – bcoughlan