词袋模型(Bag of words, Bow)
词袋模型顾名思义,即将文本看作是装满了词的袋子,它不考虑文本中词与词的上下文关系,仅仅考虑所有词的权重,而权重和词频有关系。
应用词袋模型时,首先进行分词,分词之后统计每个词在文本中出现的次数,我们就可以得到该文本基于词的特征(词频特征)。如果将各个文本样本的这些词与对应的词频放在一起即向量化,可以组成一个词频矩阵。向量化之后一般会采用TF-IDF进行特征的权重修正,然后再进行标准化,经过一系列操作之后,就可以将数据带入机器学习模型中计算。
词袋模型的三个主要步骤:
- 分词(tokenizing)
- 统计修订词特征(counting)
- 标准化(normalizing)
词袋模型有很大的局限性,因为它仅仅考虑了词频,没有考虑上下文信息,因此会丢失大量语义。
词袋模型统计词频,可以使用sktlearn中的CountVectorizer。