3

我知道使用 scikit learn 我可以使用,

vectorizer = TfidfVectorizer(min_df=2,ngram_range=(1, 2),norm='l2')

corpus = vectorizer.fit_transform(text)

这段代码。但是我怎么能用 gensim 做到这一点?

4

2 回答 2

1

我想你可以看看 utils 中的 simple_preprocess

gensim.utils.simple_preprocess(doc, deacc=False, min_len=2, max_len=15) 将文档转换为标记列表。

这将小写、标记化、去重音(可选)。- 输出是最终的

tokens = unicode 字符串,不会被进一步处理。

于 2017-02-18T21:47:11.240 回答
0

使用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。

于 2020-07-01T15:19:53.727 回答