基础理论
词袋模型
词袋模型(Bag of Words,简称BoW)。
词袋模型假设我们不考虑文本中词与词之间的上下文关系,仅仅只考虑
所有词的权重。而权重与词在文本中出现的频率有关。
从词的角度进行文本数据挖掘是众多挖掘方式中的一种。
词袋模型的步骤:
分词(tokenizing):
统计修订词特征值(counting):
统计每个词在文本中出现的次数,我们就可以得到该文本基
于词的特征,如果将各个文本样本的这些词与对应的词频放
在一起,就是我们常说的向量化。
向量化完毕后一般也会使用TF-IDF进行特征的权重修正,
因为,如果语料是有很多篇文本组成,那么一个词在一篇文
本中出现的次数往往不够科学,要把所有文本一起考虑。
标准化(normalizing):
将特征进行标准化,以便于挖掘。
常用方法
fit vs transform vs fit_transform vs
fit方法是用于从训练集中学习模型参数,其中包括归一化和均值,标准偏差的处理。
transform方法用于将模型用于位置数据
fit_transform是fit和transform的合集,高效的将模型训练和转
化合并到一起。
CountVectorizer
文本型文档集合转换成计数矩阵。
底层用scipy.sparse.csr_matrix库实现,会产生一个计数的稀疏
表示。
如果不提前准备词典,并且不提供一个分析器做特征选择,
那么特征数量和文档集合中词汇量数量相等。
输入可迭代的语料,得到语料中所有单词,统计出每个单词在每条迭代
元语料元素的个数。
所有语料个数为sc (变量i),单词记为wc (变量j)。得到的单词个
数矩阵 sc * wc。
(i,j)表示第i个单词在语料j中出现的次数。
方法
self.fit_transform(corpus)
返回值:每个单词在每条语料中出现次数。
self.get_feature_names
返回值:按照字典排序的单词列表
HashingVectorizer
对数据进行降维的一种向量化方式。
大规模的文本处理中,由于特征的维度对应分词词汇表的大小,所以维
度可能非常恐怖,此时需要进行降维,不能直接用CountVectorizer 的向量化方法。
这种方式又叫Hash Trick。
signed hash trick是一种升级的Hash Trick用来解决某些哈希
位置的值过大。
由于不知道每一列的意义,所以Hash Trick的解释性不强。
参考
文本挖掘预处理之向量化与Hash Trick
发表回复