向量化算法doc2vec/str2vec整理

Skip-gram 模型没有隐藏层。

 

 但与CBOW 模型输入上下文词的平均词向量不同,Skip-gram 模型是从目标词ω 的上下文中选择一个词,将其词向量组成上下文的表示。

对整个语料而言, Skip-gram 模型的目标函数为:

 

 Skip-gram 和CBOW 实际上是word2vec 两种不同思想的实现:

CBOW 的目标是根据上下文来预测当前词语的概率,且上下文所有的词对当前词出现概率的影响的权重是一样的,因此叫continuous bag-of-words 模型。

如在袋子中取词,取出数量足够的词就可以了,取出的先后顺序则是无关紧要的。

Skip-gram 刚好相反,其是根据当前词语来预测上下文概率的。

在实际使用中,算法本身并无高下之分,可根据最后呈现的效果来进行算法选择。

word2vec基于分布假说理论可以很好地提取词语的语义信息,因此,利用word2vec 技术计算词语间的相似度有非常好的效果。

同样word2vec 技术也用于计算句子或者其他长文本间的相似度,其一般做法是对文本分词后,提取其关键词,用词向量表示这些关键词,接着对关键词向量求平均或者将其拼接,最后利用词向量计算文本间的相似度。

这种方法丢失了文本中的语序信息,而文本的语序包含重要信息。

例如"小王送给小红一个苹果"和"小红送给小王一个苹果"虽然组成两个句子的词语相同,但是表达的信息却完全不同。

为了充分利用文本语序信息,有研究者在word2vec 的基础上提出了文本向量化( doc2vec ) ,又称str2vec 和para2vec 。

在word2vec 崭露头角时,谷歌的工程师Quoc Le 和Tomoas Mikolov 在word2vec的基础上进行拓展,提出了doc2vec 技术。

doc2vec 技术存在两种模型DistributedMemory ( DM ) 和Distributed Bag of Words ( DBOW ),分别对应word2vec 技术里的CBOW 和Skip-gram 模型。

与CBOW 模型类似, DM 模型试图预测给定上下文中某单词出现的概率,只不过DM 模型的上下文不仅包括上下文单词而且还包括相应的段落。
DBOW 则在仅给定段落向量的情况下预测段落中一组随机单词的概率,与Skip-gram 模型只给定一个词语预测目标词概率分布类似。

利用CBOW 模型训练词向量的例子。

以" the cat sat "这句话为例,用来构建预测下一个词的概率分布。

首先用固定长度的不同词向量表示上文的三个词语,

接着将这三个词向量拼接起来组成上文的向量化表示,

将这个上文向量化表示输入CBOW 模型预测下一个词的概率分布。

 

 

与CBOW 模型相比, DM 模型增加了一个与词向量长度相等的段向量,也就是说DM 模型结合词向量和段向量预测目标词的概率分布,如图所示。

 

 在训练的过程中,DM 模型增加了一个paragraph ID ,和普通的word2vec 一样, paragraph ID 也是先映射成一个向量,即paragraph vector。

paragraph vector 与word vector 的维数虽然一样,但是代表两个不同的向量空间。在之后的计算里, paragraph vector 和word vector 累加或者连接起来,将其输入softmax 层。

在一个句子或者文档的训练过程中, paragraph ID 保持不变,共享着同一个paragraph vector ,相当于每次在预测单词的概率时,都利用了整个句子的语义。

在预测阶段,给待预测的句子新分配一个paragrapb ID ,词向量和输出层softmax 的参数保持训练阶段得到的参数不变,重新利用随机梯度下降算法训练待预测的句子。

待误差收敛后,即得到待预测句子的paragraph vector。

 

DM 模型通过段落向量和词向量相结合的方式预测目标词的概率分布,而DBOW 模型的输入只有段落向量。

DBOW 模型通过一个段落向量预测段落中某个随机词的概率分布。
doc2vec 的两个模型: DM 模型和DBOW 模型。全是从word2vec 技术拓展而来的, DM 模型与CBOW 模型相对应,故可根据上下文词向量和段向量预测目标词的概率分布; DBOW 模型与Skip-gram 模型对应,只输入段向
量,预测从段落中随机抽取的词组概率分布。总体而言, doc2vec 是word2vec 的升级,

doc2vec 不仅提取了文本的语义信息, 而且提取了文本的语序信息。在一般的文本处理任务中,会将词向量和段向量相结合使用以期获得更好的效果。

 

posted @ 2020-04-07 13:03  qinzhuy  阅读(899)  评论(0编辑  收藏  举报