维基百科语料库:

1.http://ftp.acc.umu.se/mirror/wikimedia.org/dumps/enwiki/20180320/

2.https://meta.wikimedia.org/wiki/Mirroring_Wikimedia_project_XML_dumps

3.https://dumps.wikimedia.org/

生成词向量教程:

1.https://www.jianshu.com/p/05800a28c5e4

2.http://www.52nlp.cn/%E4%B8%AD%E8%8B%B1%E6%96%87%E7%BB%B4%E5%9F%BA%E7%99%BE%E7%A7%91%E8%AF%AD%E6%96%99%E4%B8%8A%E7%9A%84word2vec%E5%AE%9E%E9%AA%8C

代码有bug,修改后的代码:

# coding=utf-8
import os
import logging
import sys
import re
import multiprocessing
import gensimfrom gensim.corpora import WikiCorpus
from gensim.models import Word2Vec
from gensim.models.word2vec import LineSentencedef process_wiki(inp, outp):program = os.path.basename(sys.argv[0])logger = logging.getLogger(program)logging.basicConfig(format='%(asctime)s: %(levelname)s: %(message)s')logging.root.setLevel(level=logging.INFO)i = 0#output = open(outp, 'w', encoding='utf-8')output = open(outp, 'wt', encoding='utf-8')#使用 “t” 类型打开文件,字符串的形式wiki = WikiCorpus(inp, lemmatize=False, dictionary={})for text in wiki.get_texts():#output.write(b' '.join(text).decode('utf-8') + '\n')output.write( " ".join('%s' %id for id in text) + '\n')#遍历list的元素,把他转化成字符串。#output.write('\n')i = i + 1if i % 10000 == 0:logger.info('Saved ' + str(i) + ' articles')output.close()logger.info('Finished ' + str(i) + ' articles')def remove_words(inp, outp):program = os.path.basename(sys.argv[0])logger = logging.getLogger(program)logging.basicConfig(format='%(asctime)s: %(levelname)s: %(message)s')logging.root.setLevel(level=logging.INFO)output = open(outp, 'w', encoding='utf-8')inp = open(inp, 'r', encoding='utf-8')for line in inp.readlines():ss = re.findall('[\n\s*\r\u4e00-\u9fa5]', line)output.write("".join(ss))logger.info("Finished removed words!")def separate_words(inp, outp):program = os.path.basename(sys.argv[0])logger = logging.getLogger(program)logging.basicConfig(format='%(asctime)s: %(levelname)s: %(message)s')logging.root.setLevel(level=logging.INFO)output = open(outp, 'w', encoding='utf-8')inp = open(inp, 'r', encoding='utf-8')for line in inp.readlines():seg_list = jieba.cut(line.strip())output.write(' '.join(seg_list) + '\n')logger.info("finished separate words!")# inp为输入语料
def train_w2v_model(inp, outp1, outp2):program = os.path.basename(sys.argv[0])logger = logging.getLogger(program)logging.basicConfig(format='%(asctime)s: %(levelname)s: %(message)s')logging.root.setLevel(level=logging.INFO)logger.info("running %s" % ' '.join(sys.argv))# LineSentence(inp):应该是把word2vec训练模型的磁盘存储文件(model在内存中总是不踏实)转换成所需要的格式;对应的格式是参考上面的例1。# size:是每个词的向量维度;# window:是词向量训练时的上下文扫描窗口大小,窗口为5就是考虑前5个词和后5个词;# min - count:设置最低频率,默认是5,如果一个词语在文档中出现的次数小于5,那么就会丢弃;# workers:是训练的进程数(需要更精准的解释,请指正),默认是当前运行机器的处理器核数。这些参数先记住就可以了。model = Word2Vec(LineSentence(inp), size=100, window=5, min_count=2,workers=multiprocessing.cpu_count())# outp1 为输出模型model.save(outp1)# outp2为原始c版本word2vec的vector格式的模型model.wv.save_word2vec_format(outp2, binary=False)def main():process_wiki('enwiki-latest-pages-articles.xml.bz2', 'wiki.en.text')#process_wiki('enwiki-20180320-pages-articles14.xml-p7697599p7744799.bz2', 'wiki.en.text')# remove_words('./data/wiki_cn_jian.txt', './data/wiki_cn_jian_removed.txt')# separate_words('./data/wiki_cn_jian_removed.txt', './data/wiki_cn_jian_sep_removed.txt')# train_w2v_model('./data/wiki_cn_jian_sep_removed.txt', './bin/300/w2v_model.bin', './bin/300/w2v_vector.bin')#train_w2v_model('./data/wiki.en.text', './bin/w2v_model_100.bin', './bin/w2v_vector_100.bin')if __name__=='__main__':main()# model = gensim.models.Word2Vec.load('./bin/300/w2v_model.bin')# print(model.most_similar([u'李连杰', u'基金'], [u'成龙']))

维基百科语料库训练词向量相关推荐

  1. 把一个dataset的表放在另一个dataset里面_使用中文维基百科语料库训练一个word2vec模型并使用说明...

    ​本篇主要介绍如何通过中文维基百科语料库来训练一个word2vec模型. 相关资料下载: 中文维基百科下载地址:https://dumps.wikimedia.org/zhwiki/ WikiExtr ...

  2. 使用中文维基百科语料库训练一个word2vec模型

    本篇文章主要介绍如何通过中文维基百科语料库来训练一个word2vec模型. 相关资料下载: 中文维基百科下载地址:https://dumps.wikimedia.org/zhwiki/20180720 ...

  3. 使用中文维基百科语料库训练一个word2vec模型 12.1

    转自:https://blog.csdn.net/sinat_29957455/article/details/81432846 本篇文章主要介绍如何通过中文维基百科语料库来训练一个word2vec模 ...

  4. python训练自己中文语料库_word2vec+维基百科语料库训练中文模型

    训练中文词向量word2vec模型 1.准备数据 中文维基百科地址:https://dumps.wikimedia.org/zhwiki/latest/zhwiki-latest-pages-arti ...

  5. 预训练词向量中文维基百科,英文斯坦福glove预训练的词向量下载

    中文预训练词向量--基于中文维基百科语料训练 英文预训练词向量--斯坦福glove预训练的词向量 百度云分享:https://pan.baidu.com/s/1UpZeuqlNMl6XtTB5la53 ...

  6. Python Djang 搭建自动词性标注网站(基于Keras框架和维基百科中文预训练词向量Word2vec模型,分别实现由GRU、LSTM、RNN神经网络组成的词性标注模型)

    引言 本文基于Keras框架和维基百科中文预训练词向量Word2vec模型,分别实现由GRU.LSTM.RNN神经网络组成的词性标注模型,并且将模型封装,使用python Django web框架搭建 ...

  7. (一)利用Wikipedia中文语料训练词向量word2vec——获取Wikipedia简体中文语料库

    利用Wikipedia中文语料训练词向量一共分为两个篇章,这篇文章属于第一部分,包括下载Wikipedia语料库,并将其从繁体转换为简体. 目录 第一步 下载语料库 第二步 将下载好的bz2文件转换为 ...

  8. 使用wiki百科的中文语料库训练词向量

    使用wiki的中文语料库训练词向量 直接用下面链接中的代码处理!!!后面的不用看 一.zhwiki语料库.处理器 1.选择recombine的xml.bz2下载 2.Github wiki extra ...

  9. 整理常用的中英文预训练词向量(Pretrained Word Vectors)

    文章目录 引言 腾讯中文词汇/短语向量(Tencent AI Lab Embedding Corpus for Chinese Words and Phrases) 使用方法 中文词向量语料库 by ...

  10. NLP-分类模型-2016-文本分类:FastText【使用CBOW的模型结构;作用:①文本分类、②训练词向量、③词向量模型迁移(直接拿FastText官方已训练好的词向量来使用)】【基于子词训练】

    <原始论文:Bag of Tricks for Efficient Text Classification> <原始论文:Enriching Word Vectors with Su ...

最新文章

  1. 递归/回溯:subsets求子集
  2. 【Flutter】StatelessWidget 组件 ( Container 组件 | BoxDecoration 组件 | Text 组件 | Icon 组件 )
  3. netty框架_Netty实战:设计一个IM框架
  4. [转载]内容首页设计经验
  5. LeetCode - Partition List
  6. c语言 字体点阵取模,[汉字取模软件怎么用]单片机点阵汉字显示需要用
  7. 深度优先遍历(Depth First Search)
  8. android实现视频壁纸,ffmpeg/camera实现最近很火的视频壁纸,相机壁纸
  9. 计算机网络6版,计算机网络教程(第6版)
  10. 云编程和软件环境 、物联网的关键技术
  11. cpu平均负载高的几种情况
  12. 计算机人才供需状况和就业形势分析,计算机科学与技术就业形势分析
  13. ARM GICv3中断控制器
  14. WindML、FreeType和TrueType三者相结合实现矢量字体的显示
  15. SEO人员,该如何打造具有搜索属性的内容?
  16. MYSQL—— TIME_TO_SEC函数与UNIX_TIMESTAMP函数区别
  17. linux和windows和mac的文件读取方式的差异
  18. Spark Parquet使用
  19. 小米3(联通/电信)解BL锁教程 申请BootLoader解锁教程
  20. matlab实时编辑器,关于MATLAB实时编辑器的性能分析和应用

热门文章

  1. 74HC595芯片组成测试工具_流水灯
  2. 2016《A survey of transfer learning》迁移学习笔记
  3. 学习linux方向,学习linux方向
  4. Android应用快捷方式
  5. GLUE部分基准数据集介绍:RTE、MRPC、SST-2、QNLI、MNLI、QQP
  6. macOS 曝可获取用户密码的 0day 漏洞;Fedora logo 改版三个候选方案
  7. 【杂谈】概率与随机以及手游抽卡机制的科普
  8. linux里的.mht是什么文件,mht文件扩展名,mht文件怎么打开?
  9. 数据的类型:分类数据、顺序数据、数值型数据
  10. Unity基础案例讲解:创建小型太空射击游戏(二)