文本表示模型中涉及的知识点整理(词袋模型,TF-IDF,主题模型,词嵌入模型)

版权声明:本文为博主原创文章,如需转载请标明出处: https://blog.csdn.net/xinyuski/article/details/82418270

1.词袋模型(Bags of Words)

词袋模型是最基础的文本表示模型,就是把每一篇文章看成一袋子单词,并忽略每个此出现的顺序。具体就是将整段文本以词为单位分开,每篇文章可以表示成一个长向量,向量中的每一维代表一个单词,而该维对应的权重代表这个词在文章中的重要程度。一般用TF-IDF计算权重,公式如下:

TF-IDF(t,d) = TF(t,d) x IDF(t)

其中TF(t,d)为单词t在文档d中出现的频率,IDF(t)为逆文档频率,用来衡量单词t对表达语义所起的重要性,公式表示如下:

IDF(t) = log\frac{m}{n + 1}

其中,m为文章总数,n为包含单词t的文章总数

对于上述公式直观的解释:如果一个单词在很多文章中出现,那么它有可能是一个比较通用的单词,对于区分某篇文章的特殊语义的贡献较小,因此对权重作一定的惩罚。

2.N-gram模型

应用词袋模型将文章进行单词级别的划分有的时候未必是一种好的做法,例如:将general purpose intelligence(通用智能)一词,如果将general , purpose, intelligence这三个词拆开,所表达的意思与三个词连在一起时大相径庭。通常,可以将n个连续出现的单词(n\leq N)组成的词组(N-gram)也作为一个单独的特征放到向量表示中去,构成N-gram模型。另外,同一个词可能有多种词性变化,但是却有相似的含义。在实际应用中,,一般会对单词进行词干抽取(Word Stemming)处理,即将不同词性的单词统一称为同一词干的形式。

3.主题模型

主题模型用于从文本库中发现有代表性的主题(得到每个主题上面词的分布特性),并能够计算出每篇文章的主题分布。

(这一块在后面概率图模型中再总结)

4.词嵌入与深度学习模型

谷歌2013年提出的Word2vec就是词嵌入模型之一,词嵌入时将词向量化的模型的通称,其核心思想是将每个词映射成低维-K维空间(通常K=50~300)的一个稠密向量(Dense Vector)。K维空间的每一维都可以看作一个隐含的主题,只不过不像主题模型中的主题那样直观。

词嵌入将每个词映射成K维向量,每篇文档假设有N个词,则这篇文档就可以用N x K的矩阵表示,但是这样的表示太底层化。在实际的应用中,如果将这个矩阵作为原文本的表示特征输入到机器学习模型中,很难达到令人满意的结果。因此需要在在次基础上加工出更高层的特征。

在传统的浅层机器学习模型中,一个好的特征工程往往可以带来算法效果的显著提升,而深度学习模型则可以为我们提供一种自动化地进行特征工程地方式,模型中地每个隐层都可以认为对应着不同抽象层次地特征。从这个角度来讲,深度学习模型打败浅层模型也就顺理成章了。卷积神经网络和循环神经网络地结构在文本表示中取得了很好地效果,主要由于它们能够更好地对文本进行建模,抽取一些高层的语义特征。与全链接网络相比,卷积神经网络和循环神经网络一方面很好地抓住了文本的特性,另一方面又减少了网络中待学习的参数,提高了训练的速度,降低了过拟合的风险。

猜你喜欢

转载自blog.csdn.net/xinyuski/article/details/82418270