如何使用 gensim 将一组文档标记为 unigram + bigram bagofwords?
Posted
技术标签:
【中文标题】如何使用 gensim 将一组文档标记为 unigram + bigram bagofwords?【英文标题】:how to tokenize a set of documents into unigram + bigram bagofwords using gensim? 【发布时间】:2015-01-10 04:40:53 【问题描述】:我知道使用 scikit learn 我可以使用,
vectorizer = TfidfVectorizer(min_df=2,ngram_range=(1, 2),norm='l2')
corpus = vectorizer.fit_transform(text)
这段代码。但是我怎么能用 gensim 做到这一点呢?
【问题讨论】:
【参考方案1】:我想你可以看看 utils 中的 simple_preprocess
gensim.utils.simple_preprocess(doc, deacc=False, min_len=2, max_len=15) 将文档转换为令牌列表。
这将小写、标记化、去重音(可选)。 – 输出是 最终
tokens = unicode 字符串,不会被进一步处理。
【讨论】:
【参考方案2】:使用nltk
的everygrams
函数是一个很好的方法。
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']
这将在文本中创建所有单字母和双字母。
【讨论】:
以上是关于如何使用 gensim 将一组文档标记为 unigram + bigram bagofwords?的主要内容,如果未能解决你的问题,请参考以下文章
如何从 gensim 打印 LDA 主题模型? Python