使用Word Embedding+Keras进行自然语言处理NLP

目录

 介绍:

one-hot: 

 pad_sequences:

 建模:

 介绍:

Word Embedding是一种将单词表示为低维稠密向量的技术。它通过学习单词在文本中的上下文关系,将其映射到一个连续的向量空间中。在这个向量空间中,相似的单词在空间中的距离也比较接近,具有相似含义的单词在空间中的方向也比较一致。

Word Embedding可以通过各种方法来实现,包括基于统计的方法(如Word2Vec和GloVe)和基于神经网络的方法(如Skip-gram和CBOW模型)。这些方法通常使用大量的文本语料库来学习单词的向量表示。

Word Embedding在自然语言处理任务中广泛应用,如文本分类、情感分析、机器翻译等。由于Word Embedding能够捕捉到单词之间的语义关系,使得计算机能够更好地理解和处理自然语言。

one-hot: 

from tensorflow.keras.preprocessing.text import one_hot中的one_hot函数用于将文本数据进行one-hot编码。

在自然语言处理任务中,文本通常需要进行预处理和编码才能用于训练模型。其中,one-hot编码是一种常用的文本编码方式,它将每个单词映射到一个唯一的整数索引,并将索引表示为一个独热向量。独热向量是一个稀疏向量,只有一个元素为1,其余元素为0,该元素的位置对应着单词的索引。

通过使用one_hot函数,可以将文本数据中的单词转换为对应的整数索引,方便后续处理和模型训练。该函数接受两个参数:文本数据和词汇表大小。它会根据词汇表的大小,将文本数据中的每个单词映射到一个唯一的整数索引,并返回一个编码后的整数列表。这些整数可以用作模型的输入或特征表示。

 

### sentences
sentences=[  'the glass of milk','the glass of juice','the cup of tea','I am a good boy','I am a good developer','understand the meaning of words','your videos are good',]### Vocabulary size
voc_size=10000onehot_repr=[one_hot(words,voc_size) for words in sentences] 
print(onehot_repr)'''结果:
[[1607, 1898, 6281, 9401], [1607, 1898, 6281, 3401], [1607, 6359, 6281, 2217], [7508, 378, 2733, 8693, 7438], [7508, 378, 2733, 8693, 5363], [8292, 1607, 4448, 6281, 8555], [1825, 3648, 3717, 8693]]'''

 pad_sequences:

pad_sequences函数是用于将序列数据进行填充(Padding)或截断(Truncation)的方法。在自然语言处理任务中,文本通常是以序列的形式表示的,例如句子或文档中的单词序列。这些序列的长度可能不一致,为了在神经网络中进行处理,需要将它们转换为相同长度的序列。

pad_sequences函数可以根据指定的最大长度对序列进行填充或截断操作。如果序列长度小于最大长度,则会在序列的末尾添加特定的填充值(通常是0),使得序列长度与最大长度相同。如果序列长度大于最大长度,则会从序列的末尾进行截断,使得序列长度与最大长度相同。

填充或截断序列可以确保在输入神经网络之前,所有的序列具有相同的长度。这对于训练机器学习模型非常重要,因为神经网络需要一个固定长度的输入。此外,在进行批量训练时,将数据转换为相同长度的序列可以提高计算效率。

from tensorflow.keras.layers import Embedding
from tensorflow.keras.preprocessing.sequence import pad_sequences
from tensorflow.keras.models import Sequentialimport numpy as npsent_length=8
embedded_docs=pad_sequences(onehot_repr,padding='pre',maxlen=sent_length)
print(embedded_docs)'''结果:
[[   0    0    0    0 1607 1898 6281 9401][   0    0    0    0 1607 1898 6281 3401][   0    0    0    0 1607 6359 6281 2217][   0    0    0 7508  378 2733 8693 7438][   0    0    0 7508  378 2733 8693 5363][   0    0    0 8292 1607 4448 6281 8555][   0    0    0    0 1825 3648 3717 8693]]
'''

 建模:

dim=10model=Sequential()
model.add(Embedding(voc_size,dim,input_length=sent_length))
model.compile('adam','mse')model.summary()

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/681618.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2024年智能算法优化PID参数,ITAE、ISE、ITSE、IAE四种适应度函数随意切换,附MATLAB代码...

PID 参数整定就是确定比例系数(Kp )、积分系数(Ki)和微分系数(Kd )的过程,以便使 PID 控制器能够在系统中实现稳定、快速、准确的响应。 本期的主题 采用四种2024年的智能优化算法优化PID的三个…

【开源】JAVA+Vue+SpringBoot实现毕业生追踪系统

目录 一、摘要1.1 项目介绍1.2 项目录屏 二、功能模块2.1 登陆注册模块2.2 学生基本配置模块2.3 就业状况模块2.4 学历深造模块2.5 信息汇总分析模块2.6 校友论坛模块 三、系统设计3.1 用例设计3.2 实体设计 四、系统展示五、核心代码5.1 查询我的就业状况5.2 初始化就业状况5.…

《Git 简易速速上手小册》第6章:Git 在持续集成/持续部署(CI/CD)中的应用(2024 最新版)

文章目录 6.1 CI/CD基础6.1.1 基础知识讲解6.1.2 重点案例:为 Python Web 应用实现 CI/CD6.1.3 拓展案例 1:自动化部署到云平台6.1.4 拓展案例 2:使用 Docker 容器化部署 6.2 Git 与自动化测试6.2.1 基础知识讲解6.2.2 重点案例:为…

numpy 查漏补缺

1. iterating 2. 3. 4. 5. 6. 7. 8. 9.

Hive的CTE 公共表达式

目录 1.语法 2. 使用场景 select语句 chaining CTEs 链式 union语句 insert into 语句 create table as 语句 前言 Common Table Expressions(CTE):公共表达式是一个临时的结果集,该结果集是从with子句中指定的查询派生而来…

Java缓冲流——效率提升深度解析

前言 大家好,我是chowley,在我之前的项目中,用到了缓冲流来提高字符流之间的比较速度,缓冲流的主要作用类似于数据库缓存,提高IO操作效率。 缓冲流 在Java的输入输出操作中,缓冲流是提高性能的重要工具之…

15 OpenGL可编程片段处理

可编程片段处理 Programmable Fragment Processing 在图形渲染过程中,当当前片段阶段(fragment stage)使用的是包含有片段着色器(fragment shader)的程序对象时,该着色器将被激活并负责处理光栅化生成的片…

【HTML】情人节给npy一颗炫酷的爱心

闲谈 兄弟们,这不情人节快要到了,我该送女朋友什么🎁呢?哦,对了,差点忘了,我好像没有女朋友。不过这不影响我们要过这个节日,我们可以学习技术。举个简单的🌰&#xff1…

关于少样本学习、零样本学习、单样本学习中的support set和query set的概念解析

梳理一下关于少样本学习(如few-shot learning)、零样本学习(zero-shot learning)、单样本学习(one-shot learning)中的support set和query set的概念,以及为何测试集中会涉及到“unseen”&#…

Linux_进程

进程创建 进程退出码 进程等待 程序替换 Shell作为命令行解释器是一个进程,它也有自己的数据结构task_struct和代码和数据。为了防止用户输入的指令造成Shell崩溃,所以Shell执行用户输入的指令是通过创建一个子进程来执行的。例如lspwd等等。 一.进程…

数据工程工程师学习路线图

数据工程岗位要求 Skill Sets required: - Hands on experience enabling data via Adobe Analytics and/or Google Analytics - Understanding of how customer level data is captured and stitched with behavioural data - Experience working with Testing (QA) and D…

浏览器内核的主要功能模块介绍

浏览器内核是浏览器的核心部分,负责解析网页内容、渲染页面和处理用户交互。一个典型的浏览器内核主要包括以下几个功能模块: 1. **解析器(Parser)**: 解析器负责解析网页内容,包括HTML…

Django学习全纪录:Django开发环境的搭建

导言 对于Django,它是Python的一个开发框架,之前系统地学习过。遗憾的是,对于一些遇到的问题,没有及时地记录下来。因此,我将它重新捡起,进行学习和实践。从搭建环境开始,重新去学习它,期望可以从开发的角度,重新理解软件测试的工作。在今后的测试生涯中,如虎添翼。 …

【Java 数据结构】泛型进阶

泛型 1 什么是泛型2 引出泛型2.1 语法 3 泛型类的使用3.1 语法3.2 示例3.3 类型推导(Type Inference) 泛型是如何编译的擦除机制裸类型4 泛型的上界4.1 语法4.2 示例4.3 复杂示例 5 泛型方法5.1 定义语法5.2 示例5.3 使用示例-可以类型推导5.4 使用示例-不使用类型推导 6 通配符…

【RISC-V DSP设计】基于CEVA DSP架构的指令集分析(二)-函数列表

目录 表3-1:定点滤波器功能 表3-2:定点快速傅里叶变换(FFT)函数 表3-3:定点数学函数 表3-4:定点三角函数 表3-5:定点向量函数 表3-6:定点矩阵函数 表3-7:浮点滤波…

如何在极低成本硬件上落地人工智能算法 —— 分布式AI

一、背景 分布式AI的发展前景非常广阔,随着5G、6G等高速网络通信技术的普及和边缘计算能力的提升,以及AI算法和硬件的不断优化进步,分布式AI将在多个领域展现出强大的应用潜力和市场价值: 1. **物联网(IoT&#xff0…

react【四】css

文章目录 1、css1.1 react和vue css的对比1.2 内联样式1.3 普通的css1.4 css modules1.5 在react中使用less1.6 CSS in JS1.6.1 模板字符串的基本使用1.6.2 styled-components的基本使用1.6.3 接受传参1.6.4 使用变量1.6.5 继承样式 避免代码冗余1.6.6 设置主题色 1.7 React中添…

正月初五迎财神

大家好,我是小悟 正月初五,人们在这一天迎接财神,祈求财运亨通、事业顺利。按照习俗,家家户户都会燃放鞭炮、点灯笼、摆设祭品,以示虔诚。 早晨,太阳刚刚升起,大家便早早起床,开始准…

【数据存储+多任务爬虫】

数据存储 peewee模块 第三方模块,也需要在cmd中安装。 from peewee import *db MySQLDatabase("spider",host"127.0.0.1",port3306,userroot,password123456 )# 类》表 class Person(Model):name CharField(max_length20) # 类型/约束bi…

核心篇-OSPF技术之序(中)

文章目录 一. 实验专题1.1. 实验1:配置多区域OSPF1.1.1. 实验目的1.1.2. 实验拓扑1.1.3. 实验步骤(1)配置地址(2)运行OSPF 1.1.4. 实验调试(1)查看路由器信息(2)创建环回…