利用中文维基百科数据进行词语相似度word2vec实验
使用维基百科数据利用word2vec简历词向量, 通过对词向量之间的距离的比对,查找出与给出词语相似度较高的单词进行返回
1.使用维基百科官方给出的文档处理程序处理从维基百科上下载的压缩包文件成原始text格式。
- 使用命令 python process.py zhwiki-latest-pages-articles.xml.bz2 wiki.zh.text
#!/usr/bin/env python
# -*- coding: utf-8 -*-
# 修改后的代码如下:
import logging
import os.path
import sys
from gensim.corpora import WikiCorpus
if __name__ == '__main__':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))# check and process input argumentsif len(sys.argv) < 3:print (globals()['__doc__'] % locals())sys.exit(1)inp, outp = sys.argv[1:3]space = ' 'i = 0output = open(outp, 'w',encoding='utf-8')wiki = WikiCorpus(inp, lemmatize=False, dictionary={})for text in wiki.get_texts():s=space.join(text)s=s + "\n"output.write(s)i = i + 1if (i % 10000 == 0):logger.info("Saved " + str(i) + " articles")output.close()logger.info("Finished Saved " + str(i) + " articles")
#python process.py zhwiki-latest-pages-articles.xml.bz2 wiki.zh.text
链接:https://pan.baidu.com/s/1Y9uPYbDz31rxOOP_BaevpQ
提取码:asfv
复制这段内容后打开百度网盘手机App,操作更方便哦
2.因为维基百科中的中文数据多半是繁体的中文数据, 所以需要用opencc拓展包将繁体数据转换成为可以使用的简体数据
- 使用命令 .\opencc -i yuanshi.text -o yuanshi-jianti.text -c zht2zhs.ini
链接:https://pan.baidu.com/s/1H_Bxzl5dk3BHjm5Wz2oxYw
提取码:h3g9
复制这段内容后打开百度网盘手机App,操作更方便哦
- win10下1.0版本可能不管用, 我的就不管用, 所以使用0.42版本即可, 同样可以使用
3.将转化为简体中文后的数据, 利用jieba分词进行分词。
- 使用命令 打开py文件,指定输入文件和输出文件后运行即可
链接:https://pan.baidu.com/s/1a2pAZJncvVr6_yIg4NTL2w
提取码:9rj6
复制这段内容后打开百度网盘手机App,操作更方便哦
4.将分好词的语料库放入gensim拓展库中的word2vec中进行词向量转化, 输出向量文件等文件。
- 使用命令 python word2vec_model.py ./yuanshi-jianti-fenci.txt word2vec-myself.model word2vec-myself.vector
import logging
import os.path
import sys
import multiprocessing
from gensim.corpora import WikiCorpus
from gensim.models import Word2Vec
from gensim.models.word2vec import LineSentence
if __name__ == '__main__':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))# check and process input argumentsif len(sys.argv) < 4:print (globals()['__doc__'] % locals())sys.exit(1)inp, outp1, outp2 = sys.argv[1:4]model = Word2Vec(LineSentence(inp), size=400, window=5, min_count=5, workers=multiprocessing.cpu_count())model.save(outp1)model.wv.save_word2vec_format(outp2, binary=False)
链接:https://pan.baidu.com/s/1l8nq8ocZ_ht_3cA7E4HZZA
提取码:09ex
复制这段内容后打开百度网盘手机App,操作更方便哦
5.利用已经建立好的词向量进行相似词的预测
from gensim.models import Word2Vecen_wiki_word2vec_model = Word2Vec.load('word2vec-myself.model')testwords = ['苹果','数学','学术','白痴','篮球']
for i in range(5):res = en_wiki_word2vec_model.most_similar(testwords[i])print(testwords[i])print(res)
链接:https://pan.baidu.com/s/1MfzVQnTENOidc7BwRSDkbw
提取码:bkrp
复制这段内容后打开百度网盘手机App,操作更方便哦
利用中文维基百科数据进行词语相似度word2vec实验相关推荐
- Word2vec训练中文维基百科
1.取得中文维基百科数据,本实验用的数据是zhwiki-20180320-pages-articles-multistream.xml.bz2 也可以前往维基百科数据获取下载最新的数据.(请挑选以pa ...
- NLP之word2vec:利用 Wikipedia Text(中文维基百科)语料+Word2vec工具来训练简体中文词向量
NLP之word2vec:利用 Wikipedia Text(中文维基百科)语料+Word2vec工具来训练简体中文词向量 目录 输出结果 设计思路 1.Wikipedia Text语料来源 2.维基 ...
- 把一个dataset的表放在另一个dataset里面_使用中文维基百科语料库训练一个word2vec模型并使用说明...
本篇主要介绍如何通过中文维基百科语料库来训练一个word2vec模型. 相关资料下载: 中文维基百科下载地址:https://dumps.wikimedia.org/zhwiki/ WikiExtr ...
- 使用中文维基百科语料库训练一个word2vec模型
本篇文章主要介绍如何通过中文维基百科语料库来训练一个word2vec模型. 相关资料下载: 中文维基百科下载地址:https://dumps.wikimedia.org/zhwiki/20180720 ...
- 使用中文维基百科语料库训练一个word2vec模型 12.1
转自:https://blog.csdn.net/sinat_29957455/article/details/81432846 本篇文章主要介绍如何通过中文维基百科语料库来训练一个word2vec模 ...
- 【历史上的今天】10 月 24 日:1024 程序员节;中文维基百科上线;苹果发布 iPad mini
整理 | 王启隆 透过「历史上的今天」,从过去看未来,从现在亦可以改变未来. 今天是 2021 年 10 月 24 日,大概在 2014 - 2015 年间,中国互联网兴起了一个全新的概念:10 月 ...
- 中文维基百科的语料库下载和繁体转换为简体的操作
中文维基百科的语料库下载和繁体转换为简体的操作 维基百科数据下载源https://dumps.wikimedia.org/backup-index.html] # from gensim.corpor ...
- 中文维基百科分类提取(jwpl)--构建知识图谱
首先感谢 : 1.https://blog.csdn.net/qq_39023569/article/details/88556301 2.https://www.cnblogs.com/Cheris ...
- 使用中文维基百科训练word2vec模型的最新方法!
网上看了很多其他博客,发现有些部分都太老旧了,以至于现在套用都错误百出...这里总结了一下使用中文维基百科训练word2vec模型的最新方法. 参考链接: https://blog.csdn.net/ ...
最新文章
- Android 接入Realm并使用
- 玩转python轻松过二级 百度网盘,玩转Python轻松过二级
- springmvc学习(小知识点整理)
- 前端学习(2042)vue之电商管理系统电商系统之优化生成打包报告
- DP Intro - Tree DP Examples
- 【Python】Matplotlib在直方图中添加概率密度曲线和数学表达式
- Golang实践录:简单的代码片段
- 书籍分析实例:哈利波特的分词及人物关系
- axios拦截器_77.9KStar 的 Axios 项目有哪些值得借鉴的地方
- Lua内存泄露情况举例
- 深度学习之训练误差和泛化误差
- 一个优秀程序员可抵五个普通程序员!
- java里面有radix树吗_基数树(radix tree)
- 游戏密码123456问题
- mysql在购物车中的应用_ajax在购物车中的应用
- PHP服务器 支付宝 对接出现 【交易订单处理失败 请稍后再试 ALI38173】
- idea 安装破解版mybatis插件
- 我的linux学习笔记
- 素数(质数)的概念及如何判断素数
- 纷享销客对话真趣科技丨撬动一家物联网企业的增长极限