1. 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著作权归作者所有,转载请联系作者获得授权,并标注“简书作者”。
2. 如何用 word2vec 计算两个句子之间的相似度
计算A,B句子里每两个词的距离 i.e. D = dist(A_i, B_j) over all i,j(这里用Euclidean distance b/t the word embeddings, from w2v)。
生成optimal transport (也叫earth mover's distance a.k.a. EMD)problem,给solver(网上有很多各种语言的EMD solver)。输入是D, A所有词的词频(A_BOW i.e. bag of words), B所有词的词频(B_BOW)。
EMD基本概念就是把两个句子看成两个probability distribution的histogram,A的是山,B的是坑,用A的山填B的坑,每两个histogram格之间搬运一个词频单元需要做的功是两词间的距离。EMD返回的就是A,B的距离,1,2,3对每两篇文章可以CPU平行。
转载请注明出处51数据库 » 中文怎么使用word2vec