我知道使用 scikit learn 我可以使用,
vectorizer = TfidfVectorizer(min_df=2,ngram_range=(1, 2),norm='l2')
corpus = vectorizer.fit_transform(text)
这段代码。但是我怎么能用 gensim 做到这一点?
我知道使用 scikit learn 我可以使用,
vectorizer = TfidfVectorizer(min_df=2,ngram_range=(1, 2),norm='l2')
corpus = vectorizer.fit_transform(text)
这段代码。但是我怎么能用 gensim 做到这一点?
我想你可以看看 utils 中的 simple_preprocess
gensim.utils.simple_preprocess(doc, deacc=False, min_len=2, max_len=15) 将文档转换为标记列表。
这将小写、标记化、去重音(可选)。- 输出是最终的
tokens = unicode 字符串,不会被进一步处理。
使用nltk
'severygrams
函数是一个很好的方法。
from nltk import everygrams
text = 'I like playing baseball'
grams = ['_'.join(grams) for grams in list(everygrams(text, 1, 2))]
grams
>> ['I', 'like', 'playing', 'baseball', 'I_like', 'like_playing', 'playing_baseball']
这将在文本中创建所有 uni- 和 bigram。