1.word2vec需要在linux下安装吗
为了编译安装软件,你必须安装有相应的编译工具。安装新立得中的软件包build-essential可以获得所有的编译工具。假设linuxqq_v1.0.2_i386.tar.gz下载保存在桌面,当你确定编译工具安装正确之后,运行终端,输入命令:
$ su root
# cd /home/user/Desktop
# tar -zxvf linuxqq_v1.0.2_i386.tar.gz
# cd /home/user/Desktop/linuxqq_v1.0.2_i386
# ./configure
# make
# make install
2.word2vec需要在linux下安装吗
为了编译安装软件,你必须安装有相应的编译工具。安装新立得中的软件包build-essential可以获得所有的编译工具。假设linuxqq_v1.0.2_i386.tar.gz下载保存在桌面,当你确定编译工具安装正确之后,运行终端,输入命令:
$ su root
# cd /home/user/Desktop
# tar -zxvf linuxqq_v1.0.2_i386.tar.gz
# cd /home/user/Desktop/linuxqq_v1.0.2_i386
# ./configure
# make
# make install
3.word2vec得到的vectors.bin文件可以作为tensorflow的输入么
基于Anaconda的tensorflow安装
1 下载linux版本的Anaconda安装包
2 安装Anaconda
利用anaconda安装tensorflow
1 建立一个 conda 计算环境
2 激活环境使用 conda 安装 TensorFlow
3 安装tensorflow
4 如何在jupyter中使用tensorflow
总结
利用Docker安装tensorflow
1 安装docker
2 创建tensorflow的image
安装过程中的一些小问题记录
1.引言
4.word2vec中中文训练集训练成了英文是怎么回
准备工作为了训练语料库,当然需要去下载。
英文wiki语料库(11。9G) 中文wiki语料库(1。
2G)然后就是准备好编译环境,语言选择的是python,使用了gensim的库,该库是由Radim ?eh??ek博士基于google发布的C语言版本的word2vec编写的Python库。 如何安装该库就不多说了。
处理流程1、英文wiki训练首先需要将xml的文件转换成txt文件,主要通过process_wiki。py这个脚本来进行,在参考文考网页中提出了注意“wiki = WikiCorpus(inp, lemmatize=False, dictionary={})“将lemmatize设置为False避免使用Pattern来讲英文单词词干化处理,以免变得很慢,于是就华丽丽的接受。
整个过程大概用了5个小时左右,共有差不多400W的articles。执行命令为:python3 process_wiki。
py enwiki-latest-pages-articles。xml。
bz2 wiki。en。
text生成了wiki。 en。
text,生成的效果如下:文/howe_howe(简书作者)原文链接:/p/05800a28c5e4著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。
5.word2vec 词向量怎么来的
2013年,Google开源了一款用于词向量计算的工具——word2vec,引起了工业界和学术界的关注。首先,word2vec可以在百万数量级的词典和上亿的数据集上进行高效地训练;其次,该工具得到的训练结果——词向量(word embedding),可以很好地度量词与词之间的相似性。随着深度学习(Deep Learning)在自然语言处理中应用的普及,很多人误以为word2vec是一种深度学习算法。其实word2vec算法的背后是一个浅层神经网络。另外需要强调的一点是,word2vec是一个计算word vector的开源工具。当我们在说word2vec算法或模型的时候,其实指的是其背后用于计算word vector的CBoW模型和Skip-gram模型。很多人以为word2vec指的是一个算法或模型,这也是一种谬误。接下来,本文将从统计语言模型出发,尽可能详细地介绍word2vec工具背后的算法模型的来龙去脉。
详情:网页链接
6.word2vec是如何得到词向量的
假设每个词对应一个词向量,假设:
1)两个词的相似度正比于对应词向量的乘积。即:sim(v1,v2)=v1?v2sim(v1,v2)=v1?v2。即点乘原则;
2)多个词v1~vnv1~vn组成的一个上下文用CC来表示,其中C=∑ni=1viC=∑i=1nvi。C|C|C|C|称作上下文C的中心向量。即加和原则;
3)在上下文CC中出现单词AA的概率正比于能量因子e?E(A,C),whereE=?A?Ce?E(A,C),whereE=?A?C。即能量法则(可参看热统中的配分函数)。
因此:
p(A|C)=e?E(A,C)∑Vi=1e?E(vi,C)=eA?C∑Vi=1evi?C (1)p(A|C)=e?E(A,C)∑i=1Ve?E(vi,C)=eA?C∑i=1Vevi?C (1)
其中VV是整个词汇空间。
ref1ref1的分母计算是非常耗时的,下面推导比较方面快速的计算ref1ref1的方法。
把整个词汇空间分成两部分GG和HH,同时在下面的公式中GG和HH也表示各自的词向量中心,并且设AA存在于GG中,则:
p(A|C)=p(A|G,C)?p(G|C) (2)p(A|C)=p(A|G,C)?p(G|C) (2)
where,
p(G|C)=eG?CeG?C+eH?C=11+e(H?G)?C (3)p(G|C)=eG?CeG?C+eH?C=11+e(H?G)?C (3)
and,
p(A|G,C)=eA?C∑w∈Gew?C (4)p(A|G,C)=eA?C∑w∈Gew?C (4)
引入sigmoidsigmoid函数σ(x)=1/(1+e?x)σ(x)=1/(1+e?x),则
p(G|C)=σ(?(H?G)?C)=σ((G?H)?C)p(G|C)=σ(?(H?G)?C)=σ((G?H)?C)
p(G|C)p(G|C)只是简单的计算两部分向量之差,不能再简化了。
另外,根据上述定义,很容易得到这个关系p(G|C)=1?(H|C)p(G|C)=1?(H|C),因为CC要么落在GG要么落在HH。
观看ref4ref4,则知p(A|G,C)p(A|G,C)是另一个版本的p(A,C)p(A,C),只是词汇空间从V→GV→G而已。然后我们继续拆分GG递归的计算下去,最后只需要计算各兄弟部分的向量差而已。这是一个典型的二叉树,划分规则在开始就可确定,如果考虑查询效率的话,就是一个霍夫曼树。其中每个叶子节点表示一个单词,每个中间节点G or HG or H的向量为所有子向量的中心。
展开来就是:
p(A|C)=∏σ((Gi?Hi)?C)p(A|C)=∏σ((Gi?Hi)?C)
那么问题来了,这个词向量是怎么搞出来了?学习词向量哪家强?
现在我们这里有一堆的语料,一行一行分好词的,语料那是相当的多,以至于它涵盖了自然语言中的所有正确句子,每个单词在它所在的位置都是恰到好处。现在每个单词我们有一个对应的词向量,我们怎么来衡量这批词向量的好坏呢。
这批词向量张成一个自然语言的空间(从线性代数来说这样描述可能不太准确),它自己规定的自然语言空间,在这个空间中,它可以导出给定语料在它的空间中出现的概率。熟悉吧,这就是语言模型。
我们可以根据词向量计算出来每个单词在它的位置出现的概率,然后这整个语料在这个向量空间中出现的概率就等于每个词在其位置出现概率的乘积。
即,
p(T)=∏p(wi|Contexti) (5)p(T)=∏p(wi|Contexti) (5)
TT为整个语料样本,ContextiContexti为单词ii的上下文,理论上是扣除该单词后剩下的所有单词包括位置。当然了,我们只考虑它的前后cc个邻居。
我们的目标是使ref5ref5最大化,实际中是加loglog加负之后的最小化。怎么以高效率优化这个目标函数呢,这是一个典型的运筹学问题,而且还是非线性规划。我要翻一下运筹学的教材了。
7.word2vec和深度学习有什么关系
1、计算机视觉
ImageNet Classification with Deep Convolutional Neural Networks, Alex Krizhevsky, Ilya Sutskever, Geoffrey E Hinton, NIPS 2012.
Learning Hierarchical Features for Scene Labeling, Clement Farabet, Camille Couprie, Laurent Najman and Yann LeCun, IEEE Transactions on Pattern Analysis and Machine Intelligence, 2013.
Learning Convolutional Feature Hierarchies for Visual Recognition, Koray Kavukcuoglu, Pierre Sermanet, Y-Lan Boureau, Karol Gregor, Micha?l Mathieu and Yann LeCun, Advances in Neural Information Processing Systems (NIPS 2010), 23, 2010.
2、语音识别
微软研究人员通过与hintion合作,首先将RBM和DBN引入到语音识别声学模型训练中,并且在大词汇量语音识别系统中获得巨大成功,使得语音识别的错误率相对减低30%。但是,DNN还没有有效的并行快速算法,很多研究机构都是在利用大规模数据语料通过GPU平台提高DNN声学模型的训练效率。
在国际上,IBM、google等公司都快速进行了DNN语音识别的研究,并且速度飞快。
国内方面,阿里巴巴,科大讯飞、百度、中科院自动化所等公司或研究单位,也在进行深度学习在语音识别上的研究。
3、自然语言处理等其他领域
很多机构在开展研究,2013年Tomas Mikolov,Kai Chen,Greg Corrado,Jeffrey Dean发表论文Efficient Estimation of Word Representations in Vector Space建立word2vector模型,与传统的词袋模型(bag of words)相比,word2vector能够更好地表达语法信息。 深度学习在自然语言处理等领域主要应用于机器翻译以及语义挖掘等方面。
转载请注明出处51数据库 » linuxword2vec