torchtext处理文本数据——将文本变为embedding(学习三)
这篇博客是在之前的基础上构建完整的将 文本
-> 下标
->embedding
之前的完整代码
from torchtext import data
import torchdef split_tokenize(x): # 传入的x就是一个格子的文本return x.split(' ') # 按空格切分def country_tokenize(x): # 这是专门处理国家字段,不分词直接返回结果return x # 比如传入United Kingdom,我们不要切分成['United', 'Kingdom'],这是干嘛呀,我们就直接返回国家名就行NAME = data.Field() # 不传tokenize,默认会按照空格分开
COUNTRY = data.Field(tokenize=country_tokenize)
Comment = data.Field(tokenize=split_tokenize, init_token='<SOS>', eos_token='<EOS>')
fields = [('name', NAME), ('country', COUNTRY), ('age', None), ('comment', Comment)]
train_set = data.TabularDataset.splits(path='./',train='my_csv_text.csv',format='csv',skip_header=True,fields=fields)
train_set = train_set[0]
print("分词结果:", train_set.examples[0].comment)
from gensim.models import Word2Vecdef train_word2vec(sentences):model = Word2Vec(sentences, vector_size=256, min_count=1, window=5, sg=0)return modelword2vec_model = train_word2vec([train_set.examples[0].comment,train_set.examples[1].comment,
]) # 这里训练了一个超级差劲的模型,但是意思就是这个意思
word2vec_model.wv.save_word2vec_format('my_word2vec_format.txt')
from torchtext.vocab import Vectorsvectors = Vectors(name='my_word2vec_format.txt')
Comment.build_vocab(train_set, vectors=vectors)
之前的这部分有任何疑问请参考:torchtext处理文本数据——使用自己的word2vec模型作为词向量建立词表(学习二)
将文本转为下标,将下标借助embedding转为向量
# =========================将文本转为下标=========================
for i in train_set:print(i.comment)print([Comment.vocab.stoi[_] for _ in i.comment])
# =========================使用embedding的案例=========================
import torch.nn as nnembedding = nn.Embedding(18, 256)# 指定嵌入矩阵的初始权重
embedding.weight.data.copy_(Comment.vocab.vectors)
for i in train_set:print(i.comment)index = [Comment.vocab.stoi[_] for _ in i.comment] # 这里将文本转为indexprint(embedding(torch.Tensor(index).long())) # 根据 index得到embedding
torchtext处理文本数据——将文本变为embedding(学习三)相关推荐
- 大数据可视化(六)文本数据可视化
文本数据可视化 在于利用可视化技术刻画文本和文档,将其中的信息直观的呈现. 文本数据在大数据中的应用及提取 文本数据在大数据中的应用 对文本的理解需求分为三级:词汇级.语法级和语义级. 词汇级使用各类 ...
- python爬取京东商品数据要先登录_京东商品评论情感分析|文本数据预处理
本文爬取了十款热销手机的文本评论数据后,首先对文本评论数据做文本预处理,文本评论数据中存在大量的无价值信息,引入无用的文本数据,对其作情感分析,显然没有价值,得出的文本挖掘结果也不尽人意.所以对于文本 ...
- torchtext处理文本数据——使用自己的word2vec模型作为词向量建立词表(学习二)
首先复制上一篇博客的完整代码,代码如下: 注:如果有不明白的地方请参考上一篇博客--torchtext处理文本数据--构造dataset读取文本(学习一) 数据源和解释都在上一篇博客中 from to ...
- torchtext处理文本数据——构造dataset读取文本(学习一)
pytorch使用torchtext模块处理文本的思路不太容易上手,基本的思路是: 定义每一列该如何处理每一个单元格的数据,这个叫做tokenize 比如单元格里是个句子,那么我们按空格切分:那如果是 ...
- 2.文本预处理(分词,命名实体识别和词性标注,one-hot,word2vec,word embedding,文本数据分析,文本特征处理,文本数据增强)
文章目录 1.1 认识文本预处理 文本预处理及其作用 文本预处理中包含的主要环节 文本处理的基本方法 文本张量表示方法 文本语料的数据分析 文本特征处理 数据增强方法 重要说明 1.2 文本处理的基本 ...
- 在Excel中将某一列的格式通过数据分列彻底变为文本格式
背景 我们平常使用excel的时候,都是选中一列,然后直接更改它的格式,但是这种方式并不能彻底改变已有数据的原格式,如下图中的5592689这一个CELL中的数据,尽管我们将整个列都更改为文本类型,但 ...
- 数据代码分享|Python用NLP自然语言处理LSTM神经网络Twitter推特灾难文本数据、词云可视化与SVM,KNN,多层感知器,朴素贝叶斯,随机森林,GBDT对比
作者:Yunfan Zhang Twitter是一家美国社交网络及微博客服务的网站,致力于服务公众对话.迄今为止,Twitter的日活跃用户达1.86亿.与此同时,Twitter也已成为突发紧急情况时 ...
- 数据代码分享|PYTHON用NLP自然语言处理LSTM神经网络TWITTER推特灾难文本数据、词云可视化...
全文下载链接:http://tecdat.cn/?p=28877 作者:Yunfan Zhang Twitter是一家美国社交网络及微博客服务的网站,致力于服务公众对话.迄今为止,Twitter的日活 ...
- 【文本分类】深入理解embedding层的模型、结构与文本表示
[1] 名词理解 embedding层:嵌入层,神经网络结构中的一层,由embedding_size个神经元组成,[可调整的模型参数].是input输入层的输出. 词嵌入:也就是word em ...
最新文章
- 2022年如何学习自动化测试?这篇文章告诉你
- 【杂谈】什么是我心目中深度学习算法工程师的标准
- PHP7扩展开发(二):配置项与全局数值
- firefox更新后标签没了_时隔三月,奶酪增强版 Chrome Edge 双双更新
- java语言中的访问权限控制符有哪些,18.Java的访问控制符
- 【渝粤教育】国家开放大学2018年秋季 0233-22T学前儿童语言教育 参考试题
- 深度学习(1)--引言
- 基于JAVA+SpringMVC+Mybatis+MYSQL的早教管理系统
- jquery 获取指定元素
- 谈谈CSMA/CD,TCP中的二进制指数退避算法
- 50: 加密与解密 、 AIDE入侵检测系统 、 扫描与抓包 、 总结和答疑
- 关于strict-origin-when-cross-origin404请求的问题
- oracle12c分片应用场景,Oracle 12cR2数据库(Oracle12.2)新特性之四:Sharding 的增强...
- 对比汇新云和猪八戒?
- 电脑需不需要安装杀毒软件?
- 升入高中,如何规划数学竞赛
- Python TypeError: cat() takes no arguments
- 酷炫cmd命令行工具——windows terminal的详细配置
- springboot项目中的 Request method 'POST' not supported问题
- 用python将多张图片拼接成一张
热门文章
- 通过Keepalived实现Redis Failover自动故障切换功能
- maven 整体打包_Maven打包方式整理
- chrome浏览器隐藏地址栏_Chrome将隐藏地址栏的网址 这么做的原因是为了防止钓鱼网址...
- C++:编译实验之递归下降分析器
- 下面( )对象表示标准输入对象流。_7000字带你死磕Java I/O流知识
- 基于Ogre的DeferredShading(延迟渲染)的实现以及应用
- UE3 后期处理编辑器用户指南
- Vue.js - Day2
- infinite-scroll学习(二)
- Oracle 9i DBA Fundamentals I学习笔记(六)