1700533130
(1.5)
1700533131
1700533132
其中TF(t,d)为单词t在文档d中出现的频率,IDF(t)是逆文档频率,用来衡量单词t对表达语义所起的重要性,表示为
1700533133
1700533134
1700533135
IDF(t)=log .
1700533136
1700533137
(1.6)
1700533138
1700533139
直观的解释是,如果一个单词在非常多的文章里面都出现,那么它可能是一个比较通用的词汇,对于区分某篇文章特殊语义的贡献较小,因此对权重做一定惩罚。
1700533140
1700533141
将文章进行单词级别的划分有时候并不是一种好的做法,比如英文中的natural language processing(自然语言处理)一词,如果将natural,language,processing这3个词拆分开来,所表达的含义与三个词连续出现时大相径庭。通常,可以将连续出现的n个词(n≤N)组成的词组(N-gram)也作为一个单独的特征放到向量表示中去,构成N-gram模型。另外,同一个词可能有多种词性变化,却具有相似的含义。在实际应用中,一般会对单词进行词干抽取(Word Stemming)处理,即将不同词性的单词统一成为同一词干的形式。
1700533142
1700533143
■ 主题模型
1700533144
1700533145
主题模型用于从文本库中发现有代表性的主题(得到每个主题上面词的分布特性),并且能够计算出每篇文章的主题分布,具体细节参见第6章第5节。
1700533146
1700533147
■ 词嵌入与深度学习模型
1700533148
1700533149
词嵌入是一类将词向量化的模型的统称,核心思想是将每个词都映射成低维空间(通常K=50~300维)上的一个稠密向量(Dense Vector)。K维空间的每一维也可以看作一个隐含的主题,只不过不像主题模型中的主题那样直观。
1700533150
1700533151
由于词嵌入将每个词映射成一个K维的向量,如果一篇文档有N个词,就可以用一个N×K维的矩阵来表示这篇文档,但是这样的表示过于底层。在实际应用中,如果仅仅把这个矩阵作为原文本的表示特征输入到机器学习模型中,通常很难得到令人满意的结果。因此,还需要在此基础之上加工出更高层的特征。在传统的浅层机器学习模型中,一个好的特征工程往往可以带来算法效果的显著提升。而深度学习模型正好为我们提供了一种自动地进行特征工程的方式,模型中的每个隐层都可以认为对应着不同抽象层次的特征。从这个角度来讲,深度学习模型能够打败浅层模型也就顺理成章了。卷积神经网络和循环神经网络的结构在文本表示中取得了很好的效果,主要是由于它们能够更好地对文本进行建模,抽取出一些高层的语义特征。与全连接的网络结构相比,卷积神经网络和循环神经网络一方面很好地抓住了文本的特性,另一方面又减少了网络中待学习的参数,提高了训练速度,并且降低了过拟合的风险。
1700533152
1700533153
1700533154
1700533155
1700533157
百面机器学习:算法工程师带你去面试 06 Word2Vec
1700533158
1700533159
1700533160
1700533161
场景描述
1700533162
1700533163
谷歌2013年提出的Word2Vec是目前最常用的词嵌入模型之一。Word2Vec实际是一种浅层的神经网络模型,它有两种网络结构,分别是CBOW(Continues Bag of Words)和Skip-gram。
1700533164
1700533165
知识点
1700533166
1700533167
Word2Vec,隐狄利克雷模型(LDA),CBOW,Skip-gram
1700533168
1700533169
问题 Word2Vec是如何工作的?它和LDA有什么区别与联系?
1700533170
1700533171
难度:★★★☆☆
1700533172
1700533173
分析与解答
1700533174
1700533175
CBOW的目标是根据上下文出现的词语来预测当前词的生成概率,如图1.3(a)所示;而Skip-gram是根据当前词来预测上下文中各词的生成概率,如图1.3(b)所示。
1700533176
1700533177
1700533178
1700533179
[
上一页 ]
[ :1.70053313e+09 ]
[
下一页 ]