自然语言处理第2天:自然语言处理词语编码
☁️主页 Nowl
🔥专栏 《自然语言处理》
📑君子坐而论道,少年起而行之

文章目录
- 一、自然语言处理介绍
- 二、常见的词编码方式
- 1.one-hot
- 介绍
- 缺点
- 2.词嵌入
- 介绍
- 说明
- 三、代码演示
- 四、结语
一、自然语言处理介绍
自然语言处理(Natural LanguageProcessing)简称NLP,与一般的机器学习任务都不相同,自然语言处理研究我们的语言任务,因为文本是一个复杂的东西,我们如何让计算机去理解我们的自然语言是一个很有挑战的事情,一个普遍的思想就是将我们的语言进行编码
二、常见的词编码方式
1.one-hot
介绍
one-hot是一种简单的词编码方式,它包含每个词在句子中的位置信息,看下面的简单示例
假设有这样一句话: I like the
stars,那么四个单词对应的one-hot向量分别如图中所示,one-hot向量的长度即为句子长度

缺点
- 仅能表示单词位置信息,无法表示更复杂的,如上下文,单词类型等信息
- 无法处理词库外的词,即无法处理没有在数据集中的词汇
2.词嵌入
介绍
词嵌入是一种更加有效的表达单词的处理方法,看下面的简单示例
同样的一句话,词嵌入的表示方法如下图所示,每个词的词嵌入向量的长度由我们根据任务来设置,每个值包含了某种信息,上下文,词义等等

说明
词嵌入矩阵通常经过训练得到,训练后我们将获得一个包含所需数据的词嵌入矩阵,方便我们进行后续任务,情感分析,文本生成等
三、代码演示
这一部分展现了Bert预处理模型获取示例文本的词向量矩阵的代码,打印了词嵌入矩阵的维度和第一个词的词嵌入矩阵,仅作拓展,读者可以试着运行来得到一个直观感受(打印出来的维度是(12,768),可我们看到句子只有6个词,这是因为模型的分词方法导致的,它将句子分成10个词,多出来的两个是句首和句尾标识)
from transformers import BertTokenizer, BertModel
import torch# 使用BERT的tokenizer和模型
tokenizer = BertTokenizer.from_pretrained('bert-base-uncased')
model = BertModel.from_pretrained('bert-base-uncased')# 输入文本
text = "Example sentence to get BERT embeddings."# 使用tokenizer编码文本
input_ids = tokenizer.encode(text, return_tensors='pt')
print(input_ids)# 获取BERT模型的输出
with torch.no_grad():outputs = model(input_ids)# 获取最后一层的输出(CLS token对应的向量)
last_hidden_states = outputs.last_hidden_state# 打印CLS token的词嵌入向量
print(f"Embedding for 'CLS' token: {last_hidden_states[0].numpy().shape}")
print(last_hidden_states[0][0].numpy())
四、结语
自然语言处理的编码问题是一个很基础的问题,之后在自然语言处理领域中将会经常看到,请好好了解

相关文章:
自然语言处理第2天:自然语言处理词语编码
☁️主页 Nowl 🔥专栏 《自然语言处理》 📑君子坐而论道,少年起而行之 文章目录 一、自然语言处理介绍二、常见的词编码方式1.one-hot介绍缺点 2.词嵌入介绍说明 三、代码演示四、结语 一、自然语言处理介绍 自然语言处理…...
ES6中的Promise
Promise 是一种异步编程解决方案,Promise是一个容器,保存着将来才会执行的代码;从语法角度来说Promise是一个对象,可以用来获取异步操作的消息。异步操作,同步解决,避免了层层嵌套的回调函数,可…...
载入了名字空间‘htmltools’ 0.5.6,但需要的是>= 0.5.7解决方案
解决方案:删除之前的旧版本安装包,安装新的包 1.卸载之前的安装包 2.关闭R,重新打开 3. # install.packages("htmltools") library(htmltools)...
Cisco 思科路由交换网络设备 安全基线 安全加固操作
目录 账号管理、认证授权 本机认证和授权ELK-Cisco-01-01-01 设置特权口令 ELK-Cisco-01-02-01 ELK-Cisco-01-02-02 登录要求 ELK-Cisco-01-03-01 ELK-Cisco-01-03-02 ELK-Cisco-01-03-03 日志配置 ELK-Cisco-02-01-01 通信协议 ELK-Cisco-…...
WPF仿网易云搭建笔记(0):项目搭建
文章目录 前言项目地址项目Nuget包搭建项目初始化项目架构App.xaml引入MateralDesign资源包 项目初步分析将标题栏去掉DockPanel初步布局 资源字典举例 结尾 前言 最近在找工作,发现没有任何的WPF可以拿的出手的工作经验,打算仿照网易云搭建一个WPF版本…...
Python爬虫利器:BeautifulSoup库详解
BeautifulSoup是Python中最流行的HTML解析库之一,它可以方便地从HTML文档中提取数据,并且支持多种解析器,可以适应不同的HTML文档格式。本文将介绍BeautifulSoup库的作用、用途和基本用法,帮助读者了解如何使用BeautifulSoup进行H…...
【链表Linked List】力扣-117 填充每个节点的下一个右侧节点指针II
目录 问题描述 解题过程 官方题解 问题描述 给定一个二叉树: struct Node {int val;Node *left;Node *right;Node *next; } 填充它的每个 next 指针,让这个指针指向其下一个右侧节点。如果找不到下一个右侧节点,则将 next 指针设置为 N…...
安卓adb【备忘录】
adb常用命令 第三方包 pm list package -3查看所有包【外部直接进入】 adb shell pm list package退出 exit安装 adb install [路径]卸载 adb uninstall [包名]下载手机中的文件到电脑 adb pull /etc/hosts D:\tmp\电脑上传文件至手机【需要root】 adb push D:\tmp\hos…...
Linux笔记之删除指定目录下除最新修改的以 .pack 为扩展名的文件之外的所有文件
code review! 文章目录 1.Linux笔记之删除指定目录下除最新修改的以 .pack 为扩展名的文件之外的所有文件2.将指定目录下除最新修改的以 .pack 为扩展名的文件之外的所有文件移动到另一个目录3.xargs:用于从标准输入中读取数据,并将其作为参数传递给指定…...
什么是呼叫中心的语音通道?呼叫中心语音线路有几种?
什么是呼叫中心的语音通道? 呼叫中心的语音通道是指在呼叫中心中使用的语音信号传输通道,它是呼叫中心中至关重要的一部分,负责将客户的语音信息传递给客服代表,以及将客服代表的语音信息传递给客户。在呼叫中心的运营中…...
3D点云:平面模型上提取凸(凹)多边形方法
目录 一、实现原理 二、实现代码 三、运行结果 一、实现原理 首先要在点云中提取出潜在平面,对原始点云数据进行滤波,根据提取出的平面模型系数从滤波后的点云进行投影,然后根据投影后的点云计算其对应的二维凹(凸)多边形。 二、实现代码 #in...
论文笔记--A Fine-grained Interpretability Evaluation Benchmark for Neural NLP
论文笔记--A Fine-grained Interpretability Evaluation Benchmark for Neural NLP 1. 文章简介2. 文章概括3 文章重点技术3.1 数据收集3.2 数据扰动3.3 迭代标注和检查根因3.4 度量3.4.1 Token F1-score3.4.2 MAP(Mean Average Precision) 4. 文章亮点5. 原文传送门 1. 文章简…...
NFC和蓝牙在物联网中有什么意义?如何选择?
#NFC物联网# #蓝牙物联网# 在物联网中,NFC和蓝牙有什么意义? NFC在物联网中代表近场通信技术。它是一种短距离、高频的无线通信技术,可以在近距离内实现设备间的数据传输和识别。NFC技术主要用于移动支付、电子票务、门禁、移动身份识别、防…...
代码随想录二刷 |二叉树 | 二叉树的最小深度
代码随想录二刷 |二叉树 | 二叉树的最小深度 题目描述解题思路代码实现 题目描述 111.二叉树的最小深度 给定一个二叉树,找出其最小深度。 最小深度是从根节点到最近叶子节点的最短路径上的节点数量。 说明:叶子节点是指没有子…...
云上守沪 | 云轴科技ZStack成功实践精选(上海)
为打造国际数字之都,上海发布数字经济发展“十四五”规划,围绕数字新产业、数据新要素、数字新基建、智能新终端等重点领域,加强数据、技术、企业、空间载体等关键要素协同联动,加快进行数字经济发展布局;加快基础软件…...
2023 IoTDB 用户大会成功举办,深入洞察工业互联网数据价值
2023 年 12 月 3 日,中国通信学会作为指导单位,Apache IoTDB Community、清华大学软件学院、中国通信学会开源技术委员会联合主办,“科创中国”开源产业科技服务团和天谋科技(北京)有限公司承办的 2023 IoTDB 用户大会…...
cache教程 3.HTTP服务器
上一节我们实现了单机版的缓存服务,但是我们的目标是分布式缓存。那么,我们就需要把缓存服务部署到多态机器节点上,对外提供访问接口。客户端就可以通过这些接口去实现缓存的增删改查。 分布式缓存需要实现节点间通信,而通信方法…...
redis应用-分布式锁
目录 什么是分布式锁 分布式锁的基本实现 引入过期时间 引入校验id 引入lua 引入看门狗 引入redlock算法 什么是分布式锁 在一个分布式系统中,也会涉及到多个节点访问同一个公共资源的情况,此时就需要通过锁来做互斥控制,避免出现类似于"线程安全"的问题. 而…...
51单片机程序
利用动态扫描和定时器1在数码管上显示出从765432开始以1/10秒的速度往下递减直至765398并保持显示此数,与此同时利用定时器O以500MS速度进行流水灯从土至下移动,当数码管上数减到停止时,实验板上流水灯也停止然后全部开始闪烁,3秒后ÿ…...
Android 分享小结
关于作者:CSDN内容合伙人、技术专家, 从零开始做日活千万级APP。 专注于分享各领域原创系列文章 ,擅长java后端、移动开发、商业变现、人工智能等,希望大家多多支持。 目录 一、导读二、微信 分享 三、 QQ 、QQ空间(Qz…...
深入浅出Asp.Net Core MVC应用开发系列-AspNetCore中的日志记录
ASP.NET Core 是一个跨平台的开源框架,用于在 Windows、macOS 或 Linux 上生成基于云的新式 Web 应用。 ASP.NET Core 中的日志记录 .NET 通过 ILogger API 支持高性能结构化日志记录,以帮助监视应用程序行为和诊断问题。 可以通过配置不同的记录提供程…...
深入剖析AI大模型:大模型时代的 Prompt 工程全解析
今天聊的内容,我认为是AI开发里面非常重要的内容。它在AI开发里无处不在,当你对 AI 助手说 "用李白的风格写一首关于人工智能的诗",或者让翻译模型 "将这段合同翻译成商务日语" 时,输入的这句话就是 Prompt。…...
docker详细操作--未完待续
docker介绍 docker官网: Docker:加速容器应用程序开发 harbor官网:Harbor - Harbor 中文 使用docker加速器: Docker镜像极速下载服务 - 毫秒镜像 是什么 Docker 是一种开源的容器化平台,用于将应用程序及其依赖项(如库、运行时环…...
<6>-MySQL表的增删查改
目录 一,create(创建表) 二,retrieve(查询表) 1,select列 2,where条件 三,update(更新表) 四,delete(删除表…...
React Native 导航系统实战(React Navigation)
导航系统实战(React Navigation) React Navigation 是 React Native 应用中最常用的导航库之一,它提供了多种导航模式,如堆栈导航(Stack Navigator)、标签导航(Tab Navigator)和抽屉…...
JVM垃圾回收机制全解析
Java虚拟机(JVM)中的垃圾收集器(Garbage Collector,简称GC)是用于自动管理内存的机制。它负责识别和清除不再被程序使用的对象,从而释放内存空间,避免内存泄漏和内存溢出等问题。垃圾收集器在Ja…...
渲染学进阶内容——模型
最近在写模组的时候发现渲染器里面离不开模型的定义,在渲染的第二篇文章中简单的讲解了一下关于模型部分的内容,其实不管是方块还是方块实体,都离不开模型的内容 🧱 一、CubeListBuilder 功能解析 CubeListBuilder 是 Minecraft Java 版模型系统的核心构建器,用于动态创…...
Java多线程实现之Callable接口深度解析
Java多线程实现之Callable接口深度解析 一、Callable接口概述1.1 接口定义1.2 与Runnable接口的对比1.3 Future接口与FutureTask类 二、Callable接口的基本使用方法2.1 传统方式实现Callable接口2.2 使用Lambda表达式简化Callable实现2.3 使用FutureTask类执行Callable任务 三、…...
OkHttp 中实现断点续传 demo
在 OkHttp 中实现断点续传主要通过以下步骤完成,核心是利用 HTTP 协议的 Range 请求头指定下载范围: 实现原理 Range 请求头:向服务器请求文件的特定字节范围(如 Range: bytes1024-) 本地文件记录:保存已…...
Spring AI 入门:Java 开发者的生成式 AI 实践之路
一、Spring AI 简介 在人工智能技术快速迭代的今天,Spring AI 作为 Spring 生态系统的新生力量,正在成为 Java 开发者拥抱生成式 AI 的最佳选择。该框架通过模块化设计实现了与主流 AI 服务(如 OpenAI、Anthropic)的无缝对接&…...
