【问题标题】:how to tokenize a set of documents into unigram + bigram bagofwords using gensim?如何使用 gensim 将一组文档标记为 unigram + bigram bagofwords?
【发布时间】: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 做到这一点呢?

【问题讨论】:

    标签: python-2.7 scikit-learn gensim


    【解决方案1】:

    我想你可以看看 utils 中的 simple_preprocess

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

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

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

    【讨论】:

      【解决方案2】:

      使用nltkeverygrams 函数是一个很好的方法。

      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']
      

      这将在文本中创建所有单字母和双字母。

      【讨论】:

        猜你喜欢
        • 2015-11-21
        • 1970-01-01
        • 1970-01-01
        • 2023-01-16
        • 1970-01-01
        • 2017-09-13
        • 2020-06-15
        • 2017-12-29
        • 2021-03-28
        相关资源
        最近更新 更多