gpt4 book ai didi

python - Bag of Words (BOW) vs N-gram (sklearn CountVectorizer) - 文本文档分类

转载 作者:行者123 更新时间:2023-12-03 16:40:34 25 4
gpt4 key购买 nike

据我所知,在 Bag Of Words 方法中,特征是一组单词及其在文档中的频率计数。另一方面,N-grams,例如unigrams也完全一样,只是没有考虑单词出现的频率。

我想使用 sklearn 和 CountVectorizer 来实现 BOW 和 n-gram 方法。

对于 BOW,我的代码如下所示:

CountVectorizer(ngram_range=(1, 1), max_features=3000)

是否足以将“二进制”参数设置为 True 以执行 n-gram 特征选择?
CountVectorizer(ngram_range=(1, 1), max_features=3000, binary=True)

n-gram 相对于 BOW 方法的优势是什么?

最佳答案

正如@daniel-kurniadi 所回答的,您需要调整 ngram_range 的值使用 n-gram 的参数。例如使用 (1, 2) ,向量化器将考虑 unigrams 和 bigrams。
ngrams 相对于 BOW i 的主要优点是考虑到单词的顺序。例如,在句子中:

  • “我喜欢 Vanilla ,但我讨厌巧克力”
  • “我喜欢巧克力,但我讨厌 Vanilla ”

  • 含义明显不同,但基本的 BOW 表示在两种情况下都是相同的。使用 n-gram(n>=2),它将捕获术语的顺序,因此表示将不同。

    关于python - Bag of Words (BOW) vs N-gram (sklearn CountVectorizer) - 文本文档分类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51621307/

    25 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com