word2vec 学习总结——基础知识

        之前学习word2vec时,遇到一篇很棒的详解word2vec前因后果的文章,但是由于没有自己动手造它的代码,所以时间长了就容易忘记,再加之每次看到一些相关的文章就总想去看去收藏,所以觉得需要自己好好捋一捋,以后遇到类似的基础文章可以跳过,节省时间。下面写的都是一些在其他文章中出现过的知识,这里只是个人的总结和理解。

大神的文章:word2vec 中的数学原理详解 (CSDN)

                    word2vec 中的数学原理详解  (博客园)

1 背景

        word2vec是谷歌在2013年的一篇名为《Efficient Estimation of Word Representations in Vector Space》中提出的词向量训练的方法,同时,谷歌也提出了相应的工具包用于训练,然后我自己用的是python中的gensim这个包中的word2vec。

2 前提知识(数学)

2.1 逻辑回归

1、sigmod函数

                                                                                    f(x) = \frac{1}{1+e^{^{-x}}}

特点:S型曲线,f(x)的范围在[0,1],并且关于(0,\frac{1}{2})这个点对称,图片如下:

2、logistic回归

       逻辑斯蒂回归就是基于sigmod函数做的一个变换,即把sigmod函数中的自变量x变为y=wx+b,那么公式就如下:

                                                                                        f(x) = \frac{1}{1+e^{^{-(wx+b)}}}

        那么当x取整个实数集上的值时,y=wx+b的取值在负无穷到正无穷之间,这个时候,当y<0的时候,f(x)<0.5,y>0的时候,f(x)>0.5。基于这种特性,上面的logistic函数就可以用来做二分类了,即f(x)<0.5对应一个类别,f(x)>0.5对应另一个类别。所以逻辑回归不是做线性回归,而是一个分类函数。

2.2 Huffman编码

        由于word2vec的算法中,有用到这种方法建一棵Huffman树,所以提前知道怎么建成的,也比较好,皮果提大神的博客里对这一块讲解非常详细,包括树结构中的一些基本概念,以及Huffman编码是怎么提出来的(这一块讲得非常清楚),以及建Huffman树的例子,都将得非常详细。由于自己懒,所以这里就总结一下建Huffman树的过程。

        假设现在有n个带有值的节点,用wi代表节点i,w1 = 1, w2 =3......wn = m,其中m就是节点所带的值,那么建造一棵Huffman树的过程就是,不断合并一个森林中值最小的两棵子树,直到形成一棵大树的过程。所以具体过程如下:

1、把n个节点看作是一篇森林中的n棵子树

2、找出这n个节点中,值最小的两个节点,合并他们为一棵新的有两个节点的树,此时这棵新树的值就为这两个节点的值的和

3、把2中生成的新子树加入到森林中,然后剔除2中这棵子树包含的原来的两个节点,此时,深林中,节点的个数就是n+1(加入的第2步中形成的新子树)-2(形成这棵新树耗费的两个节点)

4、重复2和3的过程,直到这个森林中原来的n棵子树形成一棵参天大树。

        下面是大神博客里给出的一个例子,人懒,不想打字和画图,直接截图了,建造树的过程可以结合上面的步骤理解。

        在word2vec中建Huffman树的过程跟上面这个例子很相似。大概就是,先对语料中所有的词进行词频统计,然后过滤掉词频小于一个阈值的词,剩下的词就可以按上面的那个步骤建一棵树,这棵树的所有叶子节点就是“剩下的词”中的词,词频就是节点的权值。

3 语言模型

        语言模型就是求一个模型能很好的刻画一句话是不是自然语言,即有正常的语法语义,符合人说得话。但是计算机不能直接处理文字或字符这种数据,计算机只能识别数学符号,所以如何把自然语言数值化需要解决的第一个任务,组成句子的基本单位是词,所以最基础的是,如何把词数字化,词的向量化就是来解决这个问题的,而word2vec是一种分布式的词表示技术,在此之前还有one-hot这种表示技术。

        下面是我自己根据来斯维(网名licstar,可以找到他自己的博客)大神的博士论文《基于神经网络的词和文档语义向量表示方法研究》的相关内容部分总结的词的分布式表示技术的一个关系图,很适合入门NLP的人读一读,这篇博士论文是真的让人膜拜的那种,有时间准备再读一读。

        word2vec的具体讲解就留在下篇文章。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值