(1)TF-IDF模型
属于词袋模型,TF-IDF(t,d)= TF(t,d)*IDF(t)
TF(t,d)表示单词t在文档d中出现的频率。
IDF(t)是逆文档频率。用来衡量单词t对表达语义所起的重要性。
IDF(t) = 文章总数/(包含单词t的文章的总数+1);直观解释是,如果一个单词在非常多的文档里都出现,那么它可能是一个比较通用的的词汇,对于区分某篇文章特殊语义的共享比较小,因此对权重做惩罚。
将文章按单词分类,忽略了单词前后联系。通常会将连续的词作为一个单独的特征放到向量表中去。同时提取词干,将同一单词不同形式确认为同一个单词。
词袋模型有一个明显的缺陷,就是无法识别两个不同的单词有相同的主题。
(2)主题模型LDA(隐狄利克雷模型)
利用文档中的单词的共现关系来对单词按主题聚类。得到文档-主题和主题-单词两个概率分布。
主题模型是一种基于概率图模型的生成式模型。当两个词有相同的主题时,更容易出现在同一篇文档中。也就是说,给定某一个主题,这两个词出现的概率都很高,而其他词出现的概率就比较小。
假设有K个主题,我们把任意文章表示成一个K维主题向量,向量的每一维度表示一个主题,权重表示其属于这一维度的概率。
LDA是PLSA的贝叶斯版本。PLSA时属于频率派思想,LDA时贝叶斯学派,其文本生成过程和PLSA基本相同,但是为主题分布和词分布加了两个狄利克雷分先验。即PLSA认为p(w|z)p(z|d)是确定的未知常数,可以求解;LDA认为是不确定的,但是符合狄利克雷分布。
(3)主题模型PLSA
假设有K个主题,M篇文章,对于人意文章d,假设文章有N个单词,对于每个词,选择一个主题 Z,在Z的基础上生成一个单词w.则生成概率为
用极大似然估计发估计,得到其似然函数
求其对数似然
其中;由于z无法求解,一般使用 EM算法求解
(4)Word2vec(词嵌入方法)
词嵌入模型是一般为神经网络模型。
一种浅层神经网络模型,有两种网络结构:CBOW和Skip-gram。
这两个不同的网络结构的区别是CBOW是根据上下文预测当前词的生成频率;Skip-gram是根据当前词来预测上下文中各词的生成频率。
输入层每个词都是热独编码,输出层使用softmax预测每个词出现的概率。