POS-Tagger ist unglaublich langsam

Ich benutzenltk, um n-Gramme aus Sätzen zu generieren, indem zuerst die angegebenen Stoppwörter entfernt werden. Jedoch,nltk.pos_tag() ist extrem langsam und benötigt auf meiner CPU (Intel i7) bis zu 0,6 Sekunden.

Die Ausgabe

['The first time I went, and was completely taken by the live jazz band and atmosphere, I ordered the Lobster Cobb Salad.']
0.620481014252
["It's simply the best meal in NYC."]
0.640982151031
['You cannot go wrong at the Red Eye Grill.']
0.644664049149

Der Code

for sentence in source:

    nltk_ngrams = None

    if stop_words is not None:   
        start = time.time()
        sentence_pos = nltk.pos_tag(word_tokenize(sentence))
        print time.time() - start

        filtered_words = [word for (word, pos) in sentence_pos if pos not in stop_words]
    else:
        filtered_words = ngrams(sentence.split(), n)

Ist das wirklich so langsam oder mache ich hier etwas falsch?

Antworten auf die Frage(6)

Ihre Antwort auf die Frage