服务器上python2.7 打印出的e[0]对应的是 unicode码 于是分别尝试了用e[0].encode('utf-8')转码 和 e[0].decode('unicode-escape')依然是unicode码. 后来,想起很久之前用gensim跑琅琊榜的词向量时没有这个问题,翻出代码看了一下,原来是print语句的写法有问题. 教训:编程语言版本不要随便换,不得不换后要记得语言版本也是debug的一个方向.…
最近一次使用 ueditor 时,在MVC中的修改新闻内容时发现,怎么调用都是编辑器保存下来的源码,代码如下 <script id="ucontent" name="ucontent" type="text/plain">       Model.ucontent    </script> 找了N种办法都没能解决,都快要放弃使用ueditor了,但无意中使用了@Html.Raw竟然解决了问题,代码如下 <script…
ip install gensim安装好库后,即可导入使用: 1.训练模型定义 from gensim.models import Word2Vec   model = Word2Vec(sentences, sg=1, size=100,  window=5,  min_count=5,  negative=3, sample=0.001, hs=1, workers=4)   参数解释: 0.sentences是训练所需语料,可通过以下方式进行加载 sentences=word2vec.Te…
今天参考网上的博客,用gensim训练了word2vec词向量.训练的语料是著名科幻小说<三体>,这部小说我一直没有看,所以这次拿来折腾一下. <三体>这本小说里有不少人名和一些特殊名词,我从网上搜了一些,作为字典,加入到jieba里,以提高分词的准确性. 一.gensim中关于word2vec的参数说明 这一部分其他博客整理的比较清楚了,我也就不抄过来了.看这个链接: https://www.cnblogs.com/pinard/p/7278324.html 二.gensim训练…
直接上代码吧,word2vec # test from gensim.models.word2vec import Word2Vec txt_file = open('data.txt') sentences = [] line = txt_file.readline() while line: sentence = line.split(' ') sentences.append(sentence) line = txt_file.readline() model = Word2Vec(sen…
首先需要具备gensim包,然后需要一个语料库用来训练,这里用到的是skip-gram或CBOW方法,具体细节可以去查查相关资料,这两种方法大致上就是把意思相近的词映射到词空间中相近的位置. 语料库test8下载地址: http://mattmahoney.net/dc/text8.zip 这个语料库是从http://blog.csdn.net/m0_37681914/article/details/73861441这篇文章中找到的. 检查语料是否需要做预处理:将数据下载好了解压出来,在做词向量…
在word2vec原理篇中,我们对word2vec的两种模型CBOW和Skip-Gram,以及两种解法Hierarchical Softmax和Negative Sampling做了总结.这里我们就从实践的角度,使用gensim来学习word2vec. 1. gensim安装与概述 gensim是一个很好用的Python NLP的包,不光可以用于使用word2vec,还有很多其他的API可以用.它封装了google的C语言版的word2vec.当然我们可以可以直接使用C语言版的word2vec来…
在window下使用gemsim.models.word2vec.LineSentence加载中文维基百科语料库(已分词)时报如下错误: UnicodeDecodeError: 'utf-8' codec can't decode byte 0xca in position 0: invalid continuation byte 这种编码问题真的很让人头疼,这种问题都是出现在xxx.decode("utf-8")的时候,所以接下来我们来看看gensim中的源码: class Line…
在自然语言处理领域中,将单词(words)或词语(phases)映射到向量空间(vector space)中可以很容易就得到单词之间的相似度,因为向量空间中两个向量的相似度很容易求得,比如余弦相似度. 1. word2vec word2vec: 一种无监督深度学习方法, 顾名思义,其能实现从 words (来源于一个很大的文本语料库)到 vector 转化,称之为 word embeddings(词嵌入) . 与词袋模型(BOW,Bag of words)所不同的是,它给出的是 continuo…
一 前言 Word2Vec是同上一篇提及的PageRank一样,都是Google的工程师和机器学习专家所提出的的:在学习这些算法.模型的时候,最好优先去看Google提出者的原汁Paper和Project,那样带来的启发将更大.因为创造者对自己所创之物的了解程度优于这世上的绝大部分者,这句话,针对的是爱看博文的读者,like me. 另外,补充几句. 1.防止又被抄袭,故关键笔记以图贴之. 2.标题前带阿拉伯数字标号的内容,便是使用Gensim的Word2Vec模型过程中的完整流程序号,通常也较…