word2vec- -入门

本文是一篇关于word2vec的入门教程,从开发环境准备开始,详细介绍了如何在Python环境下安装gensim模块,如何下载和处理中文维基百科数据,包括XML转text、中文繁简转换、结巴分词等步骤,最后进行word2vec模型的训练和测试。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一、原理

word2vec原理部分有大神已经写好的,此处给出链接方便查看:

http://www.cnblogs.com/pinard/p/7160330.html

https://blog.csdn.net/lyc_yongcai/article/details/73275229

二、中文维基百科语料上的Word2Vec实验

参考:https://www.jianshu.com/p/ec27062bd453

         https://blog.csdn.net/sinat_36972314/article/details/79637788

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

1、 开发环境准备

1.1 python环境

python官网下载计算机对应的python版本,本人使用的是windows下Python3.6.0的版本。

1.2 gensim模块
(1)下载模块

Word2vec需要使用第三方gensim模块, gensim模块依赖numpy和scipy两个包,因此需要依次下载对应版本的numpy、scipy、gensim。下载地址:http://www.lfd.uci.edu/~gohlke/pythonlibs/

(2)安装模块

cmd打开dos命令行,输入 pip install numpy   、pip install scipy、pip install gensim

输入Python,在python环境下输入import numpy   、import scipy 、import  gensim不报错则安装成功

2、 python 实现

2.1 Wiki中文数据的下载

到wiki官网下载中文语料,下载完成后会得到命名为zhwiki-latest-pages-articles.xml.bz2的文件,大小约为1.4G,里面是一个XML文件。
下载地址如下:https://dumps.wikimedia.org/zhwiki/latest/zhwiki-latest-pages-articles.xml.bz2

2.2 将XML的Wiki数据转换为text格式

编写python程序将XML文件转换为text格式,使用到了gensim.corpora中的WikiCorpus函数来处理维基百科的数据。python代码实现如下所示,文件命名为process_wiki.py。

#!/usr/bin/env python
# -*- coding: utf-8 -*-
#将xml的wiki数据转换为text格式

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 arguments
    if len(sys.argv) < 3:
        print (globals()['__doc__'] % locals())
        sys.exit(1)
    inp, outp = sys.argv[1:3]
    space = " "
    i = 0
    
	#output = open(outp, 'w')
    output = open(outp, 'w',encoding='utf-8') #不加编码方式在处理时会出错
    wiki = WikiCorpus(inp, lemmatize=False, dictionary={})
    for text in wiki.get_texts(): #通过get_texts将维基里的每篇文章转换
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值