Word2Vec详解(1)

Word2vec

One-hot与Word2Vec

首先要与更早出现的one-hot编码进行对比。
词典大小为N,one-hot编码可以将每个词就表示成一个⻓度为N的向量,只有第i位(i取0到N-1)为1,其他位置为0。
one-hot编码构造简单,但是却很难标示出词与词之间的关系。
以我们所熟悉的余弦相似度举例:
man与woman、man与orange的余弦相似度都为0。
显然,并不具备什么区分度,很难表示出词的相似关系。
针对这个问题,提出了Word2Vec工具。
Word2Vec将每个词表示成定长的向量,并利用这些特征维度标示出词的相似关系。
举例,每个词的维度可能包括:性别、年龄、是否是食物、等等...

word2vec工具包含两个模型

  1. 跳字模型(skip-gram)
  2. 连续词袋模型(continuous bag of words,CBOW)
    前者假设基于中心词来生成序列位置前后的背景词
    后者则假设假设基于前后的背景词来生成中心词

假设文本序列:“Sanqi”“is”“a”“stupid”“student”。以“a”作为中心词,设背景窗口大小为2。

Skip-gram关心的是,给定“a”,生成距离2个词以内的“Sanqi”“is”“stupid”“student”的条件概率,即
P (“Sanqi”“is”“stupid”“student” | “a”).

假设给定中心词,背景词的生成是相互独立的,可改写为
P (“Sanqi” | “a”) · P (“is”| “a”) · P (“stupid” | “a”) · P (“student” | “a”).

而CBOW关心的是,给定“Sanqi”“is”“stupid”“student”生成中心词“a”的条件概率,即P ( “a” | “Sanqi”“is”“stupid”“student”).

全部评论

相关推荐

08-05 18:14
门头沟学院 Java
小花的沉默:是学历厂没错啊,学历太高了不要
投递小鹏汽车等公司10个岗位
点赞 评论 收藏
分享
评论
点赞
收藏
分享

创作者周榜

更多
牛客网
牛客网在线编程
牛客网题解
牛客企业服务