1.Word2vec介绍

1.1 Word Embedding介绍

  • WordEmbedding将「不可计算」「非结构化」的词转化为「可计算」「结构化」的向量.

1.2 Word2vec 基本内容

  • Word2vec是google的一个开源工具,能够根据输入的词计算出词与词之间的距离.
  • Word2vec将term转换成向量形式,可以把对文本内容的处理简化为向量运算,计算出词向量的相似度,来表示文本语义上的相似度。
  • 词向量:用Distributed Representation表示词,通常也被称为“Word Representation”或“Word Embedding(嵌入)”。

1.3 Word2vec的两种训练方法

  • CBOW:通过上下文预测中心词。
  • Skip-Gram:通过中心词预测上下文。

2. 数据集及工具库介绍

2.1 数据集:中文维基百科语料库

  • 下载地址: https://dumps.wikimedia.org/zhwiki/

  • 尽可能下载大一些的,语料库越大,模型的效果会越好.

  • 本案例下载的是:

    1.https://dumps.wikimedia.org/zhwiki/latest/zhwiki-latest-pages-articles.xml.bz2

    2.数据集的大小为1.8G

3 中文词向量训练的数据预处理

3.1 代码实现

"""解析XML文件:process_wiki_data.py"""
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# process_wiki_data.py 用于解析XML,将XML的wiki数据转换为text格式import logging
import os.path
import sys
from gensim.corpora import WikiCorpusif __name__ == '__main__':# sys.argv[0]获取的是脚本文件的文件名称program = os.path.basename(sys.argv[0])# sys.argv[0]获取的是脚本文件的文件名称logger = logging.getLogger(program)# format: 指定输出的格式和内容,format可以输出很多有用信息,# %(asctime)s: 打印日志的时间# %(levelname)s: 打印日志级别名称# %(message)s: 打印日志信息logging.basicConfig(format='%(asctime)s: %(levelname)s: %(message)s')logging.root.setLevel(level=logging.INFO)# 打印这是一个通知日志logger.info("running %s" % ' '.join(sys.argv))# check and process input argumentsif len(sys.argv) < 3:print (globals()['__doc__'] % locals())sys.exit(1)inp, outp = sys.argv[1:3]# inp:输入的数据集# outp:从压缩文件中获得的文本文件space = " "i = 0output = open(outp, 'w', encoding='utf-8')wiki = WikiCorpus(inp, lemmatize=False, dictionary={})for text in wiki.get_texts():output.write(space.join(text) + "\n")i = i + 1if i % 200 == 0:logger.info("Saved " + str(i) + " articles")breakoutput.close()logger.info("Finished Saved " + str(i) + " articles")"""分词文件:seg.py"""
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# seg.py 用于解析wiki.zh.text,生成分词文件import jieba
import jieba.analyse
import codecs# 将文本文件分词
def process_wiki_text(origin_file, target_file):with codecs.open(origin_file, 'r', 'utf-8') as inp, codecs.open(target_file,'w','utf-8') as outp:line = inp.readline()line_num = 1while line:print('---- processing ', line_num, 'article----------------')line_seg = " ".join(jieba.cut(line))# print(len(line_seg))outp.writelines(line_seg)line_num = line_num + 1line = inp.readline()if line_num == 101:breakinp.close()outp.close()def main():process_wiki_text('wiki.zh.text', 'wiki.zh.text.seg')if __name__ == '__main__':main()

十四、中文词向量训练一相关推荐

  1. 十五、中文词向量训练二

    中文词向量训练二 1. Gensim工具训练中文词向量 1.1 中文词向量过程 源程序:train_word2vec_model.py 执行方法:在命令行终端执行下列代码. python train_ ...

  2. ELMO中文词向量训练及使用的完整流程

    笔者最近在学习elmo中文的词向量训练及使用,由于网上相关资料比较缺乏,也比较零碎,没有完整的从中文词向量的训练到使用的介绍,学起来困难较多.经过漫长的尝试,笔者终于将整套流程走通,相信应该是目前最完 ...

  3. 基于word2vec的中文词向量训练

    基于word2vec的中文词向量训练 使用katex解析的数学公式,csdn好像不支持 word2vec来源 Google开源 可以在百万数量级的词典和上亿的数据集上进行高效地训练 该工具得到的训练结 ...

  4. 词向量技术原理及应用详解(四)——词向量训练

    前文理论介绍完毕,接下来进入实战环节.实践中向量化应用的场景常有不同,但向量文本化的训练和使用方式大同小异.在这里我将采用两种方法:gensim库以及tensorflow来完成词向量实战训练. 一.w ...

  5. Word2Vec中文词向量

    word2vec中文词向量 中文词向量训练 模型保存 模型导入 中文词向量训练 from gensim.models import Word2Vec s = ["被告人 段 某 酒后 与 其 ...

  6. word2vec词向量训练及中文文本类似度计算

    本文是讲述怎样使用word2vec的基础教程.文章比較基础,希望对你有所帮助! 官网C语言下载地址:http://word2vec.googlecode.com/svn/trunk/ 官网Python ...

  7. 开源中文词向量加载(训练好的词向量如何加载) tensorflow

    中文词向量下载 https://github.com/Embedding/Chinese-Word-Vectors 用到的函数: readline() 方法: fileObject.readline( ...

  8. github设置中文_【Github】100+ Chinese Word Vectors 上百种预训练中文词向量

    (给机器学习算法与Python学习加星标,提升AI技能) 该项目提供了不同表征(密集和稀疏)上下文特征(单词,ngram,字符等)和语料库训练的中文单词向量.开发者可以轻松获得具有不同属性的预先训练的 ...

  9. Ubuntu下GloVe中文词向量模型训练

    开启美好的九月 最近在学习textCNN进行文本分类,然后随机生成向量构建embedding网络的分类效果不是很佳,便考虑训练Glove词向量来进行训练,整个过程还是有遇到一些问题,希望懂的旁友能来指 ...

最新文章

  1. UVA 116 Unidirectional TSP DP
  2. 从网上下载的jar包导入到本地maven库
  3. lstm 和自注意力机制 bert 本质区别的思考历程
  4. 简单实现迷你Vue框架
  5. 数字图像处理:第六章 几何运算
  6. 当C++爬山壁纸——C++山寨版
  7. python判断阿姆斯特朗数_Python 程序检查阿姆斯特朗数
  8. UI完美素材|(Watch展示篇)Mockups动态图提案模板
  9. tensorflow保存数据为.pb格式和加载.pb文件(转)
  10. 马化腾:卓越领导者的五种习惯(作出表率尤为重要)
  11. 【小样本·多分类】如何解决「小样本」+「多分类」问题?
  12. 线性表的顺序存储结构和链式存储结构的比较
  13. 家庭医生后台管理系统高保真Axure原型模板
  14. CHM格式打不开解决方案
  15. matlab imcrop 对应python函数_python做微积分
  16. Lync Server 2013 实战系列之七:标准版-测试内部登陆
  17. 专访 | 刘嘉松:开源,互惠且共赢
  18. Android.mk 包含问题带来的so.toc needed by 错误
  19. 【ELK】02、ElasticSearch基础
  20. 计算机中丢失ubiorbitapi,我的刺客信条出现无法启动此程序,因为计算机中丢失ubiorbitapi_r2_loader.dll,,怎么处理。。...

热门文章

  1. Asp.Net中几种相似数据绑定标记符号的解释及用法
  2. svn 常用操作命令
  3. 解析PHP实现多进程并行执行脚本
  4. 学python怎么教_学神IT教你Python应该怎么学
  5. html输出text,为什么text();和html();输出结果不一样呢?
  6. SVN提交时强制用户写日志
  7. activiti mysql数据库表_Mysql安装activiti数据库的2种解决办法
  8. mysql本地连接报错1130_mySql连接问题(本地连接加远程连接)
  9. 压缩比13为什么建议用92的油_92号和95号汽油,哪个更耐烧?车主:欢迎入坑
  10. JSON字符串转为指定实体类对象