Utilizzo il Wordnet Lemmatizer tramite NLTK sul corpo marrone (per determinare se i nomi in esso contenuti vengono utilizzati più nella loro forma singolare o nella loro forma plurale).
cioè from nltk.stem.wordnet import WordNetLemmatizer
l = WordnetLemmatizer()
È possibile velocizzare Wordnet Lemmatizer?
Ho notato che anche le query più semplici, come quello qui sotto prende molto tempo (almeno uno o due secondi).
l("cats")
Presumibilmente questo è perché una connessione web deve essere fatto per Wordnet per ogni query? ..
Mi chiedo se c'è un modo per utilizzare ancora la Wordnet Lemmatizer ma averlo eseguire molto più velocemente? Ad esempio, sarebbe utile per me scaricare Wordnet sul mio computer? O altri suggerimenti?
Sto cercando di capire se il Lemmatizer di Wordnet può essere fatto più veloce piuttosto che provare un diverso lemmatizer, perché ho trovato che funziona meglio, tra gli altri, come Porter e Lancaster.
La chiave è che, la prima query esegue anche qualche inizializzazione. Dopo ciò è veloce. – justhalf
lru_cache è ottimo ma non disponibile per Python 2.7: si può considerare l'utilizzo di repoze.lru (http://docs.repoze.org/lru/) per una funzione simile. – Vorty
@Vorty L'esempio che ho fornito utilizza il backport dei functools Python 3 che ha lru_cache: https://github.com/MiCHiLU/python-functools32 – bcoughlan