用词向量得句向量的无监督方法
- 时间:
- 浏览:1
- 来源:大发快3_快3邀请码_大发快3邀请码
词向量技术是NLP领域中五种基础的技术,词向量将另另三个白词语转换为固定维度的向量,通过处里向量关系让NLP中语义计算的任务得以实现。
亲戚亲戚朋友都知道励志的话 是由另另三个白个词语组成的,词向量技术要是我将单个词语转成固定维度的向量,没有怎样会会得到多个词语组成的励志的话 的向量了?这是另另三个白好间题,毕竟实际环境中才能 处里的文本是另另三个白个励志的话 ,而非另另三个白个词语。为了让读者了解用词向量生成句向量的具体步骤,本文将介绍如下几种词向量生成句向量的无监督学习手段,它们分别是:累加法、平均法、TF-IDF加权平均法以及SIF嵌入法。
累加法是得到励志的话 向量最简单的办法,假设有那我 一句文本:
——Euclid(欧几里得)
这句是古希腊著名数学家欧几里得的名言,其中文意思是“通往几何并没有皇家大道”。NLP处里一段文本首先才能 将一段文本进行去停用词处里,英语中常见的停用词有be动词、介词、连词等,经过去停用词处里后上述文本可得下面的词语距离:
{there, no, royal, way, geometry}
本文采用相应的词向量词典(GoogleNews-vectors-negative400.bin)和python的gensim来得到词向量,可得上述单词的如下词向量(本文篇幅有限,用5维的词向量来演示)
There | [ 0.1, 0.2, 0.3, 0.4, 0.5] |
No | [ 0.2, 0.3, 0.4, 0.5, 0.6] |
Royal | [ 0.3, 0.4, 0.5, 0.6, 0.7 ] |
Way | [ 0.4, 0.5, 0.6, 0.7, 0.8 ] |
Geometry | [0.5, 0.6, 0.7, 0.8, 0.9] |
累加法的做法是将励志的话 中所有非停用词的词向量叠加,假若励志的话 有n个非停用词,则励志的话 的词向量通过下面的手段获得:
Vsentence = Vword1 + Vword2 + …… + Vwordn
根据此办法都才能 得到” There is no royal way to geometry.“ 的励志的话 向量为:
Vsentence = Vthere + Vno + Vroyal + Vway + Vgeometry
= [ 0.1, 0.2, 0.3, 0.4, 0.5] + [ 0.2, 0.3, 0.4, 0.5, 0.6] + … + [0.5, 0.6, 0.7, 0.8, 0.9]
= [1.5, 2.0, 2.5, 3.0, 3.5]
平均法和累计法办法之类,同样才能 将另另三个白励志的话 中所有的非停用词向量叠加起来,但最后才能 加叠加起来向量处以非停用词的个数。励志的话 的词向量通过下面的手段获得:
Vsentence = (Vword1 + Vword2 + …… + Vwordn) / n
根据此办法都才能 得到” There is no royal way to geometry.“ 的励志的话 向量为:
Vsentence =( Vthere + Vno + Vroyal + Vway + Vgeometry) / 5
= ([ 0.1, 0.2, 0.3, 0.4, 0.5] + [ 0.2, 0.3, 0.4, 0.5, 0.6] + … + [0.5, 0.6, 0.7, 0.8, 0.9]) / 5
= [1.5, 2.0, 2.5, 3.0, 3.5] / 5
= [0.3, 0.4, 0.5, 0.6, 0.7]
TF-IDF加权平均法才能 利用到TF-IDF技术,TF-IDF技术是五种常用的文本处里技术。TF-IDF模型常用评估另另三个白词语对于另另三个白文档的重要程度,无缘无故 应用于搜索技术和信息检索的领域。另另三个白词语TF-IDF值与它在文档中老出频数成正比,与它在语料库中老出的频率成反比。TF-IDF由TF词频(Term Frequency)和IDF逆向文件频率(Inverse Document Frequency)相乘而得。对于词语ti来说:
其中ni,j是词语ti在其他人存在的文档j中老出频数,Σknk,j是文档j中所有所有词语对应数
之和,|D|表示训练语料库中文档的总数,| j:ti∈dj|表示训练语料库包包含词语ti的文档总数。
另外值得注意的是,假若词语ti沒有语料库中没有(1)式中| j:ti∈dj|为0,没有会是是因为IDFj中分母为0,则无法计算出IDFj值。要是我才能
改进为如下:
TF-IDF加权法不仅才能 得到励志的话 中每个非停用词的词向量,还才能 得到励志的话 中每个非停用词的TFIDF值。每个非停用词的TF次要还好计算,IDF次要就要看用户使用哪个语料库,假若是做query检索,没有IDF次要对应的语料库要是我所有query励志的话 ;假若是做文本自之类聚类,没有IDF次要对应的语料库要是我全体待分类励志的话 。假若通过如下手段得到TF-IDF加权的的励志的话 向量:
Vsentence = TFIDFword1 * Vword1 + TFIDFword2 * Vword2 + …… + TFIDFwordn * Vwordn
假设” There is no royal way to geometry.“ 是做query检索,没有计算IT-IDF对应的语料库要是我全体query励志的话 。若全体query励志的话 一共有400个; 其中400个query励志的话 包含词语there, 6八个query励志的话 包含词语no, 7个query励志的话 包含词语royal, 7另另三个白query励志的话 包含词语way, 9个quer励志的话 y包含词语geometry。没有这句话中每个非停用词的TF-IDF数如下所示:
There: 1/(1+1+1+1+1) * log(400/(1+400) = 0.098
No: 1/(1+1+1+1+1) * log(400/(1+65) = 0.083
Royal: 1/(1+1+1+1+1) * log(400/(1+7) = 0.4005
Way: 1/(1+1+1+1+1) * log(400/(1+72) = 0.629
Geometry: 1/(1+1+1+1+1) * log(400/(1+9) = 0.4400
要是我这句话的IT-IDF加权据向量为:
Vsentence = TFIDFthere * Vthere + TFIDFno * Vno + …… + TFIDFgeometry * Vgeometry
=0.098[0.1,0.2,0.3,0.4,0.5]+0.083[0.2,0.3,0.4,0.5,0.6]+…+0.4400*[0.5,0.6,0.7,0.8,0.9]
= [0.147, 0.166, 1.2625 , 1.887, 1.61]
ISF加权平均法和TF-IDF加权平均法之类,ISF加权计算来源于普林斯顿大学的论文A latent variable model approach to pmi-based word embeddings. ( https://openreview.net/forum?id=Sy K00v5xx),按照论文作者说法,此办法都才能
很好的根据每个词词向量得到整个励志的话
的据向量。SIF嵌入法才能
利用主成分分析和每个词语的estimated probability, SIF嵌入法具体操作如下所示:
图1 SIF励志的话 向量嵌入生成
首先整个算法的输入有:
(1) 每个词语的词向量
(2) 语料库中全体励志的话
(3) 可调参数a
(4) 每个词语estimated probability
整个算法的输出为:
另另三个白励志的话
向量
算法的具体步骤是:
(1) 得到初步句向量
遍历语料库中每个励志的话 ,假设当前励志的话 为s, 通过如下计算式子得到当前励志的话 s的初步句向量:
\[\frac{{\rm{1}}}{{\left| s \right|}}\sum\nolimits_{w \in s} {\frac{a}{{a + p\left( w \right)}}{v_w}} \]
即加权求平均的过程,每个词语向量乘以系数a/(a+p(w)后叠加,最后叠加向量处以励志的话 s中词语的个数,对于可调参数a论文中作者使用0.001和0.0001另另三个白。P(w)是词语在全体语料库中unigram probability,即词语w词频处以语料库所有词语词频之和。
(2) 主成分计算
全体初步句向量进行主成分分析,计算出全体初步句向量第一主成分u
(3) 得到目标句向量
通过如下计算时对初步句向量进行二次处里,得到目标句向量
此论文作者也在Github上公开了源代码,感兴趣的读者都才能 自行下载做实验,Github代码
本文主要介绍了五种无监督手段来根据词向量生成另另三个白励志的话 的句向量,除了无监督手段外,实际环境中还有用到监督办法来生成另另三个白励志的话 向量,之类训练另另三个白CNN的文本分类器,取最后另另三个白隐藏层的输出作为励志的话 向量,感兴趣的读者都才能 google来进一步学习。
参考文献
[1] Arora S, Liang Y, Ma T. A simple but tough-to-beat baseline for sentence embeddings[J]. 2016.