Io uso sklearn.feature_extraction.text.CountVectorizer per calcolare n-grammi. Esempio:Come utilizzare CountVectorizerand() di sklearn per ottenere ngram che includono la punteggiatura come token separati?
import sklearn.feature_extraction.text # FYI http://scikit-learn.org/stable/install.html
ngram_size = 4
string = ["I really like python, it's pretty awesome."]
vect = sklearn.feature_extraction.text.CountVectorizer(ngram_range=(ngram_size,ngram_size))
vect.fit(string)
print('{1}-grams: {0}'.format(vect.get_feature_names(), ngram_size))
uscite:
4-grams: [u'like python it pretty', u'python it pretty awesome', u'really like python it']
La punteggiatura viene rimosso: come includere loro come separare i token?
ah, ma i conteggi sono mancanti? – alvas
@alvas puoi usare ['sklearn.feature_extraction.text.CountVectorizer.transform'] (http://scikit-learn.org/stable/modules/generated/sklearn.feature_extraction.text.CountVectorizer.html#sklearn.feature_extraction. text.CountVectorizer.transform) per ottenere i conteggi. –
Grazie! Ho appena scritto un sacco di codice pazzo per usare sklearn, imparare a fare l'estrazione e il conteggio di ngram invece del python nativo e lo sto programmando. Sembra vittorie di pitone nativo = ( – alvas