【NLP_向量表示】使用Word2Vec训练字向量
发布日期:2021-06-29 02:15:44
浏览次数:3
分类:技术文章
本文共 2421 字,大约阅读时间需要 8 分钟。
重要参考
原文作者提供了字向量、拼音向量、词向量、词性向量与依存关系向量,共5种类型的向量训练,
在此,只取其字符向量训练部分,加以修改后,做一记录。
完整代码
train_vector.py
在此,设置字向量维度为100。
#!/usr/bin/env python3# coding: utf-8# File: train.py.py# Author: lhy# Date: 18-10-26import osimport gensimfrom gensim.models import word2vecfrom sklearn.decomposition import PCAimport numpy as npimport logginglogging.basicConfig(format='%(asctime)s:%(levelname)s:%(message)s', level=logging.INFO)class TrainVector: def __init__(self): cur = '/'.join(os.path.abspath(__file__).split('/')[:-1]) # 训练语料所在目录 self.token_filepath = os.path.join(cur, 'F:\浏览器下载\ChineseEmbedding-master\yuliao.txt') # 向量文件所在目录 self.token_embedding = os.path.join(cur, 'F:\浏览器下载\ChineseEmbedding-master\\token_vec_300.bin') #向量大小设置 self.token_size = 100 '''基于gensimx训练字符向量,拼音向量,词性向量''' def train_vector(self, train_path, embedding_path, embedding_size): sentences = word2vec.Text8Corpus(train_path) # 加载分词语料 model = word2vec.Word2Vec(sentences, size=embedding_size, window=5, min_count=0) # 训练skip-gram模型,默认window=5 model.wv.save_word2vec_format(embedding_path, binary=False) '''训练主函数''' def train_main(self): #训练汉字字向量 self.train_vector(self.token_filepath, self.token_embedding, self.token_size)if __name__ == '__main__': handler = TrainVector() handler.train_main()
得到的字向量文件如下:
test_vector.py
测试效果(主观测试,无精确指标)
#!/usr/bin/env python3# coding: utf-8# File: test_vector.py# Author: lhy# Date: 18-11-1import osimport gensimfrom gensim.models import word2vecfrom sklearn.decomposition import PCAimport numpy as npimport logginglogging.basicConfig(format='%(asctime)s:%(levelname)s:%(message)s', level=logging.INFO)class TrainVector: def __init__(self): cur = '/'.join(os.path.abspath(__file__).split('/')[:-1]) self.token_embedding = os.path.join(cur, 'F:\浏览器下载\ChineseEmbedding-master\\token_vec_300.bin') '''对训练好的模型进行测试''' def test_model(self, embedding_path): model = gensim.models.KeyedVectors.load_word2vec_format(embedding_path, binary=False) while (1): wd = input('enter an word to search:') result = model.most_similar(wd) for res in result: print(res) returnif __name__ == '__main__': handler = TrainVector() handler.test_model('F:\浏览器下载\ChineseEmbedding-master\\token_vec_300.bin')
转载地址:https://blog.csdn.net/YWP_2016/article/details/115282253 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!
发表评论
最新留言
路过按个爪印,很不错,赞一个!
[***.219.124.196]2024年04月14日 02时34分44秒
关于作者
喝酒易醉,品茶养心,人生如梦,品茶悟道,何以解忧?唯有杜康!
-- 愿君每日到此一游!
推荐文章
appium初识-firstdemo
2019-04-29
allure报告的定制化
2019-04-29
怎样给excel添加一行数据
2019-04-29
怎样彻底帮妹子解决weditor的安装的问题
2019-04-29
干货|一次完整的性能测试,测试人员需要做什么?
2019-04-29
全栈性能测试修炼宝典
2019-04-29
jmeter-性能测试7-Stepping Thread Group插件
2019-04-29
jmeter-性能测试9-测试执行
2019-04-29
沟通交流碎碎念
2019-04-29
电信集成笔试题
2019-04-29
jmeter-性能测试8-性能测试基本过程及示例
2019-04-29
1.vue起步
2019-04-29
3.vue条件语句
2019-04-29
10.vue实战--form表单属性绑定
2019-04-29
11.vue实战--form表单字段验证提交验证
2019-04-29
12.vue实战--接口请求,组件使用,页面跳转配置
2019-04-29
打破职能之缺陷预防之路
2019-04-29
mac开启mysql,重置mysql密码,允许远程连接
2019-04-29
安装kibana
2019-04-29
linux安装nodejs
2019-04-29