Word2vec
文章平均质量分 52
刷街兜风
不积跬步,无以至千里;不积小流,无以成江海。
展开
-
Word2vec 使用总结
word2vec是google 推出的做词嵌入(word embedding)的开源工具。 简单的说,它在给定的语料库上训练一个模型,然后会输出所有出现在语料库上的单词的向量表示,这个向量称为"word embedding"。基于这个向量表示,可以计算词与词之间的关系,例如相似性(同义词等),语义关联性(中国 - 北京 = 英国 - 伦敦)等。NLP中传统的词表示方法是 one-hot repre原创 2017-06-15 10:32:20 · 1942 阅读 · 0 评论 -
Word2vec基础介绍(一):主要概念和基本流程
word2vec 是 Google 于 2013 年开源推出的一个用于获取词向量(word vector)的工具包,它简单、高效,因此引起了很多人的关注。我在看了@peghoty所写的《word2vec中的数学以后》 1.单词的向量化表示 所谓的word vector,就是指将单词向量化,将某个单词用特定的向量来表示。将单词转化成对应的向量以后,就可以将其应用于各种机器学习的算法中去。一般原创 2017-06-15 09:31:57 · 1994 阅读 · 0 评论 -
Word2vec基础介绍(二):统计词频
第一步的分词使用jieba来实现,感觉效果还不错。 第二步. 统计词频 统计词频,相对来讲比较简单一些,主要在Python自带的Counter类基础上稍作改进。值得注意的是需要去掉停用词。所谓停用词,就是出现频率太高的词,如逗号,句号等等,以至于没有区分度。停用词可以在网上很轻易找到,我事先已经转化成二进制的格式存储下来了。 2.1 MulCounter MulCounter完成的是根据单原创 2017-06-15 09:35:14 · 3386 阅读 · 0 评论 -
Word2vec基础介绍(三):构建Huffman树
这一部分将解释Huffman树的构造方法,并说明了如何根据Huffman树来产生对应的二进制编码。 Huffman树的构造 Huffman树的构造方法与Huffman编码密切相关。 具体的做法可以用下列伪码来描述 while (单词列表长度>1) { 从单词列表中挑选出出现频率最小的两个单词 ; 创建一个新的中间节点,其左右节点分别是之前的两个单词节点 ; 从原创 2017-06-15 09:38:39 · 1071 阅读 · 0 评论 -
Word2vec基础介绍(四):CBOW和skip-gram模型
CBOW和skip-gram应该可以说算是word2vec的核心概念之一了。这一节我们就来仔细的阐述这两个模型。其实这两个模型有很多的相通之处,所以这里就以阐述CBOW模型为主,然后再阐述skip-gram与CBOW的不同之处。 1.CBOW模型 之前已经解释过,无论是CBOW模型还是skip-gram模型,都是以Huffman树作为基础的。而Huffman树的构建在前一节已经讲过咯,这里就不原创 2017-06-15 09:42:59 · 9526 阅读 · 1 评论 -
Word2vec 原理公式推到和代码实现
本文摘录整编了一些理论介绍,推导了word2vec中的数学原理;并考察了一些常见的word2vec实现,评测其准确率等性能,最后分析了word2vec原版C代码;针对没有好用的Java实现的现状,移植了原版C程序到Java。时间和水平有限,本文没有就其发展历史展开多谈,只记录了必要的知识点,并着重关注工程实践。 虽然我的Java方案速度比原版C程序高出1倍,在算法代码与原版C程序一致的情况下原创 2017-06-15 10:17:22 · 5535 阅读 · 5 评论