加载Glove预训练词向量到字典
这里感谢一篇论文中的大佬的实现方式,这种将词向量变成字典的写法更加的具体,清晰。考虑的更加的全面。
def convert_embedding_file():# 词向量中,第一个是单词,后面的是一个按照空格分割的300维度的向量。embedding_file = "./resource/glove.42B.300d.txt" # 把训练好的词向量全都变成字典的形式来进行存储。rf = open(embedding_file, 'r', encoding='utf-8') # 打开词向量文件。embeddings_index = {} # 创建一个空的字典。print("reading embedding from " + embedding_file) # 下面开始读取其中的文件内容。count = 0for line in rf:count += 1if count % 100000 == 0: # 这里用来统计词嵌入矩阵的单词的数量。print(str(count))values = line.split() # 每次分割300个元素的内容。 第一个存储的是的单词。意思就是每次只能够读取其中的一行的单词。index = len(values) - 300 # 一般是301-300 = 1, 所以一般的情况下是1.if len(values) > (300+ 1): # 对于一些词嵌入的单词可能使得不只是一个单词组成,所以用下面的情况进行判断。word = "" # 一个空的字符串。 # 例如由 Bill Gates组成,,所以单词的长度会超过一般的情况。for i in range(len(values) - 300):word += values[i] + " "word = word.strip() # 去除前后的空格。 # 去除前后的空格的部分内容。else:word = values[0] # 单词是values[0]的形式。coefs = np.asarray(values[index:], dtype='float32') # 作为矩阵存储其中的元素。 一个向量。从索引值后面的内容都是词向量的数字。embeddings_index[word] = coefs # 把对应的内容用字典存储起来。rf.close() # 关闭文件。print("finish.") # 完成操作。
这里将glove的词向量转化成一个字典的形式来进行存储,
glove的词向量的存储的格式为
a 2323 23 2322 454 55 55 55 667 77
b 2323 23 2322 454 55 55 55 667 77
c 2323 23 2322 454 55 55 55 667 77
m n 2323 23 2322 454 55 55 55 667 77
采用的是一个单词加上后面的后面的维度的数据,例如50维度或者是300维度的一串数字。
但是可能存在着这种情况,就是一个词嵌入单词可能不只是由一个单词组成的情况。
这种情况下解析一行之后所得到的文件的长度要大于普通的情况,所以要进行判断是否是由一个单词组成,还是多个单词组成。
加载Glove预训练词向量到字典相关推荐
- Gensim加载GloVe提供的词向量的诸多Bug之终极解决
1.先来瞅瞅Gensim提供的词向量长啥样(glove.6B.300d.txt): 2.源文件->W2V的文件->序列化 import _pickle from gensim.models ...
- 从零开始构建基于textcnn的文本分类模型(上),word2vec向量训练,预训练词向量模型加载,pytorch Dataset、collete_fn、Dataloader转换数据集并行加载
伴随着bert.transformer模型的提出,文本预训练模型应用于各项NLP任务.文本分类任务是最基础的NLP任务,本文回顾最先采用CNN用于文本分类之一的textcnn模型,意在巩固分词.词向量 ...
- 实践:jieba分词和pkuseg分词、去除停用词、加载预训练词向量
一:jieba分词和pkuseg分词 原代码文件 链接:https://pan.baidu.com/s/1J8kmTFk8lec5ubfwBaSnLg 提取码:e4nv 目录: 1:分词介绍: 目标: ...
- paddlepaddle加载预训练词向量
文章目录 1.一些用到的api文档 2.加载预训练词向量 2.1小数据 2.2核心代码 2.3验证结果 3.可能有用的 tensorflow的加载方法可以看我之前写的: tensorflow加载词向量 ...
- java加载中文词向量_Chinese Word Vectors:目前最全的中文预训练词向量集合
对于国内自然语言处理的研究者而言,中文词向量语料库是需求很大的资源.近日,来自北京师范大学和人民大学的研究者开源了「中文词向量语料库」,试图为大家解决这一问题,该库包含经过数十种用各领域语料(百度百科 ...
- 预训练词向量中文维基百科,英文斯坦福glove预训练的词向量下载
中文预训练词向量--基于中文维基百科语料训练 英文预训练词向量--斯坦福glove预训练的词向量 百度云分享:https://pan.baidu.com/s/1UpZeuqlNMl6XtTB5la53 ...
- PyTorch在NLP任务中使用预训练词向量
在使用pytorch或tensorflow等神经网络框架进行nlp任务的处理时,可以通过对应的Embedding层做词向量的处理,更多的时候,使用预训练好的词向量会带来更优的性能.下面分别介绍使用ge ...
- word2vec预训练词向量+通俗理解word2vec+CountVectorizer+TfidfVectorizer+tf-idf公式及sklearn中TfidfVectorizer
文章目录 文分类实(一) word2vec预训练词向量 2 数据集 3 数据预处理 4 预训练word2vec模型 canci 通俗理解word2vec 独热编码 word2vec (Continuo ...
- 基于Keras预训练词向量模型的文本分类方法
本文语料仍然是上篇所用的搜狗新闻语料,采用中文预训练词向量模型对词进行向量表示.上篇文章将文本分词之后,采用了TF-IDF的特征提取方式对文本进行向量化表示,所产生的文本表示矩阵是一个稀疏矩阵,本篇采 ...
最新文章
- rtsp连接断开_live555学习之RTSP连接建立以及请求消息处理过程
- 大数据对于我们的生活有哪些便利(图)
- Android Loader机制全面详解及源码浅析
- python能爬视频吗_Python爬取视频(其实是一篇福利)
- NS3中数据包添加有效负载
- 显示unc路径服务器根目录,错误:“您必须输入带有盘符的完整路径,例如:C:\ APPor形式的UNC路径:\\服务器\共享”...
- 追踪广告效果保护用户隐私 —— 隐私集合交集算法可以得兼
- 机器学习入门笔记(三):K近邻算法
- 编程基本功:代码都写不好,还写什么注释
- 注册icloud邮箱
- iOS学习之系统历史版本概览
- Electron打包方式
- PCB导入添加Logo图标
- 毕业季——在校生讲述
- 项目依赖包文件生成requirements.txt
- 用RDA5807M实现收音机功能
- NRF24L01注意点
- Webots平台NAO机器人寻路避障实现
- 记一次网络波动导致druid连接池无法创建新连接的BUG
- 四川大学计算机保研到哪些学校,211保研到川大:边缘人千万不要给自己留退路!...