这篇博客是在之前的基础上构建完整的将 文本-> 下标->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(学习三)相关推荐

  1. 大数据可视化(六)文本数据可视化

    文本数据可视化 在于利用可视化技术刻画文本和文档,将其中的信息直观的呈现. 文本数据在大数据中的应用及提取 文本数据在大数据中的应用 对文本的理解需求分为三级:词汇级.语法级和语义级. 词汇级使用各类 ...

  2. python爬取京东商品数据要先登录_京东商品评论情感分析|文本数据预处理

    本文爬取了十款热销手机的文本评论数据后,首先对文本评论数据做文本预处理,文本评论数据中存在大量的无价值信息,引入无用的文本数据,对其作情感分析,显然没有价值,得出的文本挖掘结果也不尽人意.所以对于文本 ...

  3. torchtext处理文本数据——使用自己的word2vec模型作为词向量建立词表(学习二)

    首先复制上一篇博客的完整代码,代码如下: 注:如果有不明白的地方请参考上一篇博客--torchtext处理文本数据--构造dataset读取文本(学习一) 数据源和解释都在上一篇博客中 from to ...

  4. torchtext处理文本数据——构造dataset读取文本(学习一)

    pytorch使用torchtext模块处理文本的思路不太容易上手,基本的思路是: 定义每一列该如何处理每一个单元格的数据,这个叫做tokenize 比如单元格里是个句子,那么我们按空格切分:那如果是 ...

  5. 2.文本预处理(分词,命名实体识别和词性标注,one-hot,word2vec,word embedding,文本数据分析,文本特征处理,文本数据增强)

    文章目录 1.1 认识文本预处理 文本预处理及其作用 文本预处理中包含的主要环节 文本处理的基本方法 文本张量表示方法 文本语料的数据分析 文本特征处理 数据增强方法 重要说明 1.2 文本处理的基本 ...

  6. 在Excel中将某一列的格式通过数据分列彻底变为文本格式

    背景 我们平常使用excel的时候,都是选中一列,然后直接更改它的格式,但是这种方式并不能彻底改变已有数据的原格式,如下图中的5592689这一个CELL中的数据,尽管我们将整个列都更改为文本类型,但 ...

  7. 数据代码分享|Python用NLP自然语言处理LSTM神经网络Twitter推特灾难文本数据、词云可视化与SVM,KNN,多层感知器,朴素贝叶斯,随机森林,GBDT对比

    作者:Yunfan Zhang Twitter是一家美国社交网络及微博客服务的网站,致力于服务公众对话.迄今为止,Twitter的日活跃用户达1.86亿.与此同时,Twitter也已成为突发紧急情况时 ...

  8. 数据代码分享|PYTHON用NLP自然语言处理LSTM神经网络TWITTER推特灾难文本数据、词云可视化...

    全文下载链接:http://tecdat.cn/?p=28877 作者:Yunfan Zhang Twitter是一家美国社交网络及微博客服务的网站,致力于服务公众对话.迄今为止,Twitter的日活 ...

  9. 【文本分类】深入理解embedding层的模型、结构与文本表示

    [1] 名词理解   embedding层:嵌入层,神经网络结构中的一层,由embedding_size个神经元组成,[可调整的模型参数].是input输入层的输出.   词嵌入:也就是word em ...

最新文章

  1. 2022年如何学习自动化测试?这篇文章告诉你
  2. 【杂谈】什么是我心目中深度学习算法工程师的标准
  3. PHP7扩展开发(二):配置项与全局数值
  4. firefox更新后标签没了_时隔三月,奶酪增强版 Chrome Edge 双双更新
  5. java语言中的访问权限控制符有哪些,18.Java的访问控制符
  6. 【渝粤教育】国家开放大学2018年秋季 0233-22T学前儿童语言教育 参考试题
  7. 深度学习(1)--引言
  8. 基于JAVA+SpringMVC+Mybatis+MYSQL的早教管理系统
  9. jquery 获取指定元素
  10. 谈谈CSMA/CD,TCP中的二进制指数退避算法
  11. 50: 加密与解密 、 AIDE入侵检测系统 、 扫描与抓包 、 总结和答疑
  12. 关于strict-origin-when-cross-origin404请求的问题
  13. oracle12c分片应用场景,Oracle 12cR2数据库(Oracle12.2)新特性之四:Sharding 的增强...
  14. 对比汇新云和猪八戒?
  15. 电脑需不需要安装杀毒软件?
  16. 升入高中,如何规划数学竞赛
  17. Python TypeError: cat() takes no arguments
  18. 酷炫cmd命令行工具——windows terminal的详细配置
  19. springboot项目中的 Request method 'POST' not supported问题
  20. 用python将多张图片拼接成一张

热门文章

  1. 通过Keepalived实现Redis Failover自动故障切换功能
  2. maven 整体打包_Maven打包方式整理
  3. chrome浏览器隐藏地址栏_Chrome将隐藏地址栏的网址 这么做的原因是为了防止钓鱼网址...
  4. C++:编译实验之递归下降分析器
  5. 下面( )对象表示标准输入对象流。_7000字带你死磕Java I/O流知识
  6. 基于Ogre的DeferredShading(延迟渲染)的实现以及应用
  7. UE3 后期处理编辑器用户指南
  8. Vue.js - Day2
  9. infinite-scroll学习(二)
  10. Oracle 9i DBA Fundamentals I学习笔记(六)