Python深度学习-NLP实战:字向量的训练与生成

系列文章目录

Python深度学习-NLP实战:深度学习系列培训教程

  1. Linux服务器软件的简单使用
  2. Linux命令的简单使用
  3. 训练集、测试集、验证集的介绍及制作
  4. 字向量的训练与生成
  5. 文本分类之SVM模型的简单使用
  6. 文本分类之FASTTEXT实现中文文本分类
  7. 命名实体识别(NER)之分词与序列标注、实体识别任务简介

前言

由于神经网络计算过程为矩阵化向量化运算,因此需要先将语料中汉字进行向量化表示,即常说的进行字嵌入(Word Embedding)。
这一步操作既可以下载网络上预训练好的通用字向量,也可以自己根据特定的任务语料训练针对性更强的字向量,甚至可以直接跳过预训练,让神经网络模型自己去训练字向量。
当然,字向量的优劣对模型性能的高低会产生一定的影响。

按序安装所需的Python第三方库

  1. 字向量的训练需要借助Python的第三方库,包括numpy-mklscipygensim
  2. 先使用pip命令安装,若出现找不到合适版本其他错误提示,则手动安装其whl文件,链接如下:
    【python第三方库点我下载】

将语料制作成训练所需的word_list

待第三方库装好了后,将自己需要训练的任务语料,参考以下解释制作word_list

解释
训练字向量所需的word_list为二维列表,若待处理语料如下格式:
从明天起,做一个幸福的人
喂马,劈柴,周游世界
从明天起,关心粮食和蔬菜
我有一所房子,面朝大海,春暖花开

则word_list中元素结构为:
word_list = [
['从', '明', '天', '起', ',', '做', '一', '个', '幸', '福', '的', '人'],
['喂', '马', ',', '劈', '柴', ',', '周', '游', '世', '界'],
['从', '明', '天', '起', ',', '关', '心', '粮', '食', '和', '蔬', '菜'],
['我', '有', '一', '所', '房', '子', ',', '面', '朝', '大', '海', ',', '春', '暖', '花', '开']
]
即每一个小列表均由一个句子的单字组成(含标点符号)。

训练生成字向量文件

# 字向量训练代码
‘’‘
min_count=1 :最小字频,即频数大于等于1的字参与字向量训练
size=128 :设置的字向量维度为128维
’‘’
from gensim.models import word2vec
import codecs

model = word2vec.Word2Vec(word_list, min_count=1, size=128)
fw = codecs.open("word_vec.txt", "w", "utf-8")
fw.write(str(len(model.wv.vocab.keys())) + " " + "128")
fw.write("\n")
for k in model.wv.vocab.keys():
    fw.write(k + " " + ' '.join([str(wxs) for wxs in model[k].tolist()]))
    fw.write("\n")
print('done')

在正确环境下运行代码,待训练完成后,即在当前路径下生成“word_vec.txt”字向量文件。

写在最后

【学习交流】
WX:WL1498544910

【文末小宣传】
----博主自己开发的小程序,希望大家点赞支持一下,谢谢!-----
在这里插入图片描述

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

南浔Pyer

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值