NLP自然语言处理——文本分类之特征提取

一、词向量化与文本向量化

1、独热编码(One-Hot Encoding)

独热编码又称一位有效编码,是经典的词向量化方法。其基本思想是,首先构建包含数据集中所有词的语料库,然后使用与语料库总词数相同的向量表示每个词,并且向量中与这个单词对应位置的值为1,其余位置为0。下文的卷积神经网络、深度 LSTM 神经网络,以及基于自注意力机制的深度神经网络的输入都是采用的独热编码。

2、词袋模型(Bag of Words)

词袋模型(BOW)是一种文本向量化表示方法。其思想是用但个文本中词汇出现的频率作为特征,语料库(corpus)中所有词汇所出现的频率作为一个样本(sample)。
例如:
如下两个文本
[‘小明’,‘喜欢’,‘打’,‘篮球’]
[‘小明’,‘也’,‘喜欢’,‘唱’,‘歌’]
上述两个文本所形成的语料库如下:
[‘小明’,‘喜欢’,‘打’,‘篮球’,‘也’,‘唱’,‘歌’]
根据语料库我们可以将上述两个文本转化为词向量,如下所示:
[1,1,1,1,0,0,0]
[1,1,0,0,1,1,1]
但是,在以词为最小单位构建语料库的情况下,每个文本需要上万维的向量才能表示,这会使训练模型时效率很低,导致维度灾难。下面的TF-IDF算法能够计算每个词对文本的重要程度,通过提取最最能够表示该文本的词可以达到降维的目的,避免维度灾难。

3、词频-逆文档频次算法(TF-IDF)

很多高频词汇是没有实际意义的,如果我们直接将词频数据提供给分类器,那么很多重要但出现频次很低的词会被这些不重要但出现频次很高的词给掩盖住。TF-IDF算法可以有效的避免这样的情况发生。

TF-IDF的公式

TF-IDF算法在词袋模型的基础上对特征词作归一化处理,再乘以特征词的逆文档频率以调节每个特征词的权重。文本中的词对文本的表达能力和区分能力是不同的,因此我们可以选择每个文本中TF-IDF权重最大的n个词来表示这个文本,这么做有以下两个好处:
(1)降低文本向量维度,减少计算开销;
(2)减少干扰信息,去掉了非关键性可能带来的干扰。

注: 逆文档频率就是文档频率的倒数。

TF是英文Term Frequency的缩写,中文意思是词频。TF是统计词在文挡中出现的频次。其基本思想是一个词在文档中出现的次数越多,那么这个词对它所在的文档的表达能力越强。TF的计算公式如下:
t f i j = n i j ∑ k n k j tf_{ij}=\frac{n_{ij}}{\sum_{k}n_{kj}} tfij=knkjnij
其中 n i j n_{ij} nij表示词 i i i在文档 j j j中出现的频次,分母部分表示文档 j j j中每个词出现频次的总和,即文档 j j j的中词数。

注: 除以分母的文档总词数是为了进行归一化。

IDF是英文Inverse Document Frequency的缩写,中文意思是逆文档频率。IDF是统计一个词在文档集中的多少个文档中出现的次数。IDF的基本思想是
一个词在越少文档中出现,那么这个词对文档的区分能力越强。IDF的计算公式如下:
i d f i = l o g ( ∣ D ∣ 1 + ∣ D i ∣ ) idf_i=log \left(\frac{|D|}{1+|D_i|} \right) idfi=log(1+DiD)
其中 ∣ D ∣ |D| D为文档集中的文档总数; ∣ D i ∣ |D_i| Di为文档集中出现词 i i i的文档数。

TF-IDF算法是TF算法和IDF算法的综合使用。其计算公式如下:
t f × i d f ( i , j ) = t f i j × i d f i = n i j ∑ k n k j × l o g ( ∣ D ∣ 1 + ∣ D i ∣ ) tf \times idf(i,j)=tf_{ij} \times idf_i =\frac{n_{ij}}{\sum_{k} n_{kj}} \times log \left( \frac{|D|}{1+|D_i|} \right) tf×idf(i,j)=tfij×idfi=knkjnij×log(1+DiD)

4、词嵌入

词嵌入又称分布式表示,是一种基于神经网络的文本表示方法,一般步骤是,首先,对词进行one-hot编码,每个词用一个向量表示,向量的维度就是语料库的大小,然后将词向量输入神经网络,通过神经网络将每个词映射为指定维度的词向量。

参考文献

1、sklearn——CountVetorizer详解
2、sklearn 学习 第四篇:文本特征提取
数据来源:
3、“达观杯”文本智能处理挑战赛
4、NLP自然语言处理——文本分类之数据集汇总
5、LaTeX技巧11:LaTeX上标下标的设置
6、Latex数学公式-求导、分数的表示
7、LaTeX大括号公式和一般括号总结

  • 0
    点赞
  • 27
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Little_Yuu

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值