当前位置: 首页 > news >正文

nlp之文本转向量

文章目录

    • 代码
    • 代码解读

代码

from tensorflow.keras.preprocessing.text import Tokenizer  # 标记器(每一个词,以我们的数值做映射,)words = ['LaoWang has a Wechat account.', 'He is not a nice person.', 'Be careful.']  # 把这句话中每一个单词,映射成我们的数值
tokenizer = Tokenizer(num_words=15)  # 上面三句话中,词的总数不超过 15 个(估算的值), num_words 设置单词的数量
tokenizer.fit_on_texts(words)
word_index = tokenizer.word_index
print(word_index, len(word_index))
# 把文本转化为序列编码
sequences = tokenizer.texts_to_sequences(words)
print(sequences)
# 文本转化为矩阵
one_hot_matrix = tokenizer.texts_to_matrix(words, mode='binary')
# 向量化是构建神经网络的第一步
print(tokenizer.word_index.keys())
print(one_hot_matrix, one_hot_matrix.shape)

代码解读

逐行解读这段代码。

from tensorflow.keras.preprocessing.text import Tokenizer

tensorflow.keras.preprocessing.text模块导入Tokenizer类。Tokenizer用于文本标记,将每一个词映射为一个整数值。

words = ['LaoWang has a Wechat account.', 'He is not a nice person.', 'Be careful.']

定义了一个列表words,包含三个字符串。

tokenizer = Tokenizer(num_words=15)

创建一个Tokenizer对象,并设置参数num_words=15,意味着最大考虑15个单词。这不代表只有15个单词会被编码,而是在后续转换为矩阵时,只会考虑频率最高的前15个单词。

tokenizer.fit_on_texts(words)

调用fit_on_texts方法让tokenizerwords列表上进行学习,从而创建一个词到整数值的映射。

word_index = tokenizer.word_index

获取tokenizerword_index属性,它是一个字典,其中键是单词,值是单词对应的整数值。

print(word_index, len(word_index))

{‘a’: 1, ‘laowang’: 2, ‘has’: 3, ‘wechat’: 4, ‘account’: 5, ‘he’: 6, ‘is’: 7, ‘not’: 8, ‘nice’: 9, ‘person’: 10, ‘be’: 11, ‘careful’: 12} 12

打印word_index字典和它的长度。

sequences = tokenizer.texts_to_sequences(words)

调用texts_to_sequences方法将words列表中的文本转化为整数序列,保存到sequences中。

print(sequences)

[[2, 3, 1, 4, 5], [6, 7, 8, 1, 9, 10], [11, 12]]

打印sequences列表。

one_hot_matrix = tokenizer.texts_to_matrix(words, mode='binary')

调用texts_to_matrix方法将words列表中的文本转化为二进制矩阵,保存到one_hot_matrix中。二进制矩阵意味着,如果某个单词出现在文本中,它的位置会是1,否则是0。

print(tokenizer.word_index.keys())

dict_keys([‘a’, ‘laowang’, ‘has’, ‘wechat’, ‘account’, ‘he’, ‘is’, ‘not’, ‘nice’, ‘person’, ‘be’, ‘careful’])

打印word_index字典中所有的键(即所有的单词)。

print(one_hot_matrix, one_hot_matrix.shape)

[[0. 1. 1. 1. 1. 1. 0. 0. 0. 0. 0. 0. 0. 0. 0.]
[0. 1. 0. 0. 0. 0. 1. 1. 1. 1. 1. 0. 0. 0. 0.]
[0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 0. 1. 1. 0. 0.]] (3, 15)

打印one_hot_matrix和它的形状。这个矩阵的每一行对应words列表中的一个文本,每一列对应一个单词。如果文本中有该单词,则该位置的值为1,否则为0。

总结:这段代码首先定义了一个文本列表,然后使用Tokenizer类将文本转化为整数序列,最后将文本转化为二进制矩阵。这是将文本数据预处理为可以输入到神经网络的形式的常见步骤。

相关文章:

nlp之文本转向量

文章目录 代码代码解读 代码 from tensorflow.keras.preprocessing.text import Tokenizer # 标记器(每一个词,以我们的数值做映射,)words [LaoWang has a Wechat account., He is not a nice person., Be careful.] # 把这句话中每一个单词&#xf…...

【luckfox】添加压力传感器hx711

文章目录 前言一、参考资料二、电路图三、驱动四、makefile——添加驱动五、dts——使能gpio5.1 参考5.2 改动1—— hx117节点5.3 改动2——引脚节点5.4 已经被定义的引脚5.5 gpio源码 六、改动总结——使能hx711七、验证驱动添加八、编写测试文件8.1 测试代码8.2 配置编译环境…...

C++11的lambda表达式

lambda来源于函数式编程的概念。C11这次终于把lambda加进来了。 lambda表达式有如下优点: 1、声明式编程风格:就地匿名定义目标函数或函数对象,不需要额外写一个命名函数或者函数对象。以更直接的方式去写程序,好的可读性和可维护…...

矩阵特征值与特征向量的理解

各位朋友大家好,我是小C哈哈哈,很高兴认识大家,在这里,我会将一些枯燥难懂的数学和算法知识以图片或动画的形式通俗易懂的展现给大家,希望大家喜欢。 线性代数中的矩阵特征值与特征向量这两个基本概念总是让很多人摸不…...

云原生安全:如何保护云上应用不受攻击

文章目录 云原生安全的概念1. 多层次的安全性2. 自动化安全3. 容器安全4. 持续监控5. 合规性 云原生安全的关键挑战1. 无边界的环境2. 动态性3. 多云环境4. 容器化应用程序5. API和微服务 如何保护云上应用不受攻击1. 身份验证和访问控制示例代码: 2. 数据加密示例代…...

如何在用pip配置文件设置HTTP爬虫IP

首先,定义问题:在 Pip 中设置HTTP爬虫IP服务器,以便在网络上进行访问和下载。 亲身经验:我曾经遇到过类似问题,通过设置HTTP爬虫IP服务器成功解决了网络访问问题。 数据和引证:根据 pip 官方文档&#xff…...

2023MathorCup高校数模挑战赛B题完整解题代码教程

赛道 B: 电商零售商家需求预测及库存优化问题 问题背景: 电商平台存在着上千个商家,他们会将商品货物放在电商配套的仓库, 电商平台会对这些货物进行统一管理。通过科学的管理手段和智能决策, 大数据智能驱动的供应链…...

《动手学深度学习 Pytorch版》 10.7 Transformer

自注意力同时具有并行计算和最短的最大路径长度这两个优势。Transformer 模型完全基于注意力机制,没有任何卷积层或循环神经网络层。尽管 Transformer 最初是应用于在文本数据上的序列到序列学习,但现在已经推广到各种现代的深度学习中,例如语…...

ORACLE-递归查询、树操作

1. 数据准备 -- 测试数据准备 DROP TABLE untifa_test;CREATE TABLE untifa_test(child_id NUMBER(10) NOT NULL, --子idtitle VARCHAR2(50), --标题relation_type VARCHAR(10) --关系,parent_id NUMBER(10) --父id );insert into untifa_test (CHILD_ID, TITLE, RELATION_TYP…...

MySQL篇---第四篇

系列文章目录 文章目录 系列文章目录一、并发事务带来哪些问题?二、事务隔离级别有哪些?MySQL的默认隔离级别是?三、大表如何优化?一、并发事务带来哪些问题? 在典型的应用程序中,多个事务并发运行,经常会操作相同的数据来完成各自的任务(多个用户对 同一数据进行操作…...

em/px/rem/vh/vw单位的区别

一、绝对长度单位 1.px 表示像素,显示器上每个像素点大小都是相同的 二、相对长度单位 2.em 相对于当前对象内文本的字体尺寸,如未设置对行内文本字体的尺寸,则相对于浏览器的默认字体(1em16px) em值不是固定的&…...

【C++】多态 ③ ( “ 多态 “ 实现需要满足的三个条件 | “ 多态 “ 的应用场景 | “ 多态 “ 的思想 | “ 多态 “ 代码示例 )

文章目录 一、" 多态 " 实现条件1、" 多态 " 实现需要满足的三个条件2、" 多态 " 的应用场景3、" 多态 " 的思想 二、" 多态 " 代码示例 一、" 多态 " 实现条件 1、" 多态 " 实现需要满足的三个条件 &q…...

创建一个Keil项目

1、创建项目 2、选择存放的文件夹,还有设置项目名 3、选择型号(因为没有STC,用下面这个替代,功能差不多) 4、选择不用启动文件 5、就会得到下面这个,可以在Source Group 1下面编写代码了 6、右键source Group 1,添加c语…...

Xray的简单使用

xray 简介 xray 是一款功能强大的安全评估工具,由多名经验丰富的一线安全从业者呕心打造而成,主要特性有: 检测速度快。发包速度快; 漏洞检测算法效率高。支持范围广。大至 OWASP Top 10 通用漏洞检测,小至各种 CMS 框架 POC,均…...

Linux Ubunto Nginx安装

一 安装前 环境准备 gcc $ sudo apt-get install gcc zlib $ sudo apt-get install zlib1g-dev pcre $ sudo apt-get install libpcre3 libpcre3-dev openssl $ sudo apt-get install openssl libssl-dev‘ ubuntu 安装 libssl-dev失败的解决方案 1.安装aptitude sudo apt-g…...

深度学习中的epoch, batch 和 iteration

名词定义epoch使用训练集的全部数据进行一次完整的训练,称为“一代训练”batch使用训练集中的一小部分样本对模型权重进行一次反向传播的参数更新,这样的一部分样本称为:“一批数据”iteration使用一个batch的数据对模型进行一次参数更新的过…...

unity开发安卓视频文件适配手机和平板

using UnityEngine; using UnityEngine.UI;public class VideoResize : MonoBehaviour {private RawImage rawImage;private VideoPlayer videoPlayer;private void Start(){rawImage GetComponent<RawImage();videoPlayer GetComponent<VideoPlayer>();// 播放视频…...

NLP之RNN的原理讲解(python示例)

目录 代码示例代码解读知识点介绍 代码示例 import numpy as np import tensorflow as tf from tensorflow.keras.layers import SimpleRNNCell# 第t时刻要训练的数据 xt tf.Variable(np.random.randint(2, 3, size[1, 1]), dtypetf.float32) print(xt) # https://www.cnblog…...

yo!这里是进程间通信

目录 前言 进程间通信简介 目的 分类 匿名通道 介绍 举例&#xff08;进程池&#xff09; 命名管道 介绍 举例 共享内存 介绍 共享内存函数 1.shmget 2.shmat 3.shmdt 4.shmctl 举例 1.框架 2.通信逻辑 消息队列 信号量 同步与互斥 理解信号量 后记…...

使用docker安装MySQL,Redis,Nacos,Consul教程

文章目录 安装MySQL安装Redis安装Nacos安装Consul 如未安装docker&#xff0c;参考教程&#xff1a; https://blog.csdn.net/m0_63230155/article/details/134090090 安装MySQL #拉取镜像 sudo docker pull mysql:latestsudo docker run --name mysql \-p 3306:3306 \-e MYSQ…...

利用FTDI芯片MPSSE模式构建Arduino兼容开发环境

1. 项目概述&#xff1a;当FTDI芯片遇上Arduino生态如果你手头有一些闲置的FTDI USB转串口模块&#xff0c;比如常见的FT232R、FT2232H&#xff0c;或者像我一样&#xff0c;从某个旧设备上拆下来一块FT2232C的老古董&#xff0c;除了用来给单片机烧录程序或者做串口调试&#…...

【2026实测】怎么提高论文原创度?盘点8款主流降AI工具,附结构级优化指南

写文章最怕碰到什么&#xff0c;是辛辛苦苦自己码出来的字&#xff0c;却被标了极高的AI值。目前很多文本审核机制对内容的原创度要求极高&#xff0c;纯手写的初稿也可能因为句式太工整被判定为机器生成的。 为了帮几个快被这事折腾疯了的学弟学妹找条出路&#xff0c;我花了…...

Cesium动态数据可视化实战:CallbackProperty结合setInterval打造实时运动轨迹

Cesium动态数据可视化实战&#xff1a;CallbackProperty结合setInterval打造实时运动轨迹 在三维地理信息系统中&#xff0c;实时数据可视化一直是开发者面临的挑战之一。想象一下&#xff0c;当我们需要在地球表面追踪一架正在飞行的无人机&#xff0c;或者监控城市中数百辆出…...

机器学习赋能矩方法:破解稀薄气体强非平衡流动模拟难题

1. 项目概述&#xff1a;当矩方法遇见机器学习在计算流体力学领域&#xff0c;模拟稀薄气体动力学和强非平衡流动&#xff0c;一直是个让工程师和科学家们头疼的“硬骨头”。想象一下&#xff0c;你正在设计一架高超音速飞行器&#xff0c;当它以数倍音速在大气层边缘飞行时&am…...

CANN runtime:昇腾NPU 运行时的职责边界

个人主页&#xff1a;ujainu 文章目录前言为什么需要运行时这一层runtime管什么&#xff0c;不管什么Stream&#xff1a;并行的基本调度单位Event&#xff1a;跨Stream的同步锚点内存池化&#xff1a;少一次malloc就少一次卡顿任务队列&#xff1a;从计算图到硬件指令的最后一跳…...

深入解析NxDumpTool:Switch游戏文件系统提取的终极指南 [特殊字符]

深入解析NxDumpTool&#xff1a;Switch游戏文件系统提取的终极指南 &#x1f3ae; 【免费下载链接】nxdumptool Generates XCI/NSP/HFS0/ExeFS/RomFS/Certificate/Ticket dumps from Nintendo Switch gamecards and installed SD/eMMC titles. 项目地址: https://gitcode.com…...

软件测试行业的未来趋势:这3类测试将成为主流

随着数字化转型的深入推进&#xff0c;软件已经成为驱动各行业变革的核心生产力&#xff0c;从自动驾驶汽车到企业级云原生平台&#xff0c;从智慧医疗设备到工业互联网系统&#xff0c;软件的复杂度、规模和对安全性的要求都在呈指数级增长。作为软件质量保障的核心环节&#…...

Marlin固件稳定性优化实战指南:从基础配置到高级调校的完整解决方案

Marlin固件稳定性优化实战指南&#xff1a;从基础配置到高级调校的完整解决方案 【免费下载链接】Marlin Marlin is a firmware for RepRap 3D printers optimized for both 8 and 32 bit microcontrollers. Marlin supports all common platforms. Many commercial 3D printer…...

UE4SS实战指南:虚幻引擎游戏脚本系统的深度解析与应用

UE4SS实战指南&#xff1a;虚幻引擎游戏脚本系统的深度解析与应用 【免费下载链接】RE-UE4SS Injectable LUA scripting system, SDK generator, live property editor and other dumping utilities for UE4/5 games 项目地址: https://gitcode.com/gh_mirrors/re/RE-UE4SS …...

摄影老司机_给照片加边框工具

使用简单, 支持自定义主题 自定义logo 内置四个常用的logo 为什么没有佳能? 因为我没有佳能 外框和内框是什么意思? 外框就是纯色边框 内框,就是将你上传的照片复制一张,放大,作为外框 外框宽度可以自定义 摄影师署名自定义 相机型号有时候识别出来又臭又长,说的就是尼康,所以…...