NLP masked_tokens[]、token_masks[]是什么?
1、masked_tokens[]、token_masks[]介绍
masked_tokens
和token_masks
两个列表用于存储mask处理后的token(分词)结果和对应的mask标志。
-
masked_tokens
列表存储经过mask处理后的分词结果。 -
token_masks
列表存储与每个分词结果对应的mask标志。
2、示例说明:
例如一个 masked_tokens[0]是:
['C', 'N', '[C@H]', '(', 'c', '1', 'c', 'c', '(', 'Br', ')', 'c', 'c', 'c', '1', 'F', ')', '<MASK>', '(', '<MASK>', '<MASK>', '<MASK>', 'C', '1']
token_masks[0]是:
[False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, False, True, False, True, True, True, False, False]
它们的长度都是28
3、代码示例:
下面代码就是先对句子进行了token处理,然后进行了mask处理:
# 通过正则匹配对第一个句子(sents1)进行分词,得到tokens。
tokens = self._regex_match(sents1)
# 对tokens进行mask处理
m_tokens, token_masks = self._mask_tokens(tokens, empty_mask=mask)
4、mask的类型
span mask
def _mask_span(self, ts):curr_token = 0masked = []token_mask = []mask_bools = [True, False]weights = [self.mask_prob, 1 - self.mask_prob]sampled_mask = random.choices(mask_bools, weights=weights, k=len(ts))while curr_token < len(ts):# If mask, sample from a poisson dist to get length of maskif sampled_mask[curr_token]:mask_len = torch.poisson(torch.tensor(self.span_lambda)).long().item()masked.append(self.mask_token)token_mask.append(True)curr_token += mask_len# Otherwise don't maskelse:masked.append(ts[curr_token])token_mask.append(False)curr_token += 1return masked, token_mask
随机对某些位置进行mask,从泊松区取样得到mask的长度,mask前后序列的长度可能会发生变化
replace mask
def _mask_replace(self, ts):mask_bools = [True, False]weights = [self.mask_prob, 1 - self.mask_prob]token_mask = random.choices(mask_bools, weights=weights, k=len(ts))masked = [self._mask_token(ts[i]) if m else ts[i] for i, m in enumerate(token_mask)]return masked, token_mask
根据权重Weight随机对某些位置进行mask,mask前后序列的长度不会发生变化
权重Weight:例如,如果设定 self.mask_prob = 0.7
,则掩码标记 True
的权重为 0.7,掩码标记 False
的权重为 0.3
相关文章:
NLP masked_tokens[]、token_masks[]是什么?
1、masked_tokens[]、token_masks[]介绍 masked_tokens和token_masks两个列表用于存储mask处理后的token(分词)结果和对应的mask标志。 masked_tokens列表存储经过mask处理后的分词结果。 token_masks列表存储与每个分词结果对应的mask标志。 2、示例…...
aoa_android工程编译注意事项
1. android studio 版本 : 3.0.0 Android Studio 下载文件归档 | Android 开发者 | Android Developers (google.cn) 下载地址: https://redirector.gvt1.com/edgedl/android/studio/install/3.0.0.18/android-studio-ide-171.4408382-windows.ex…...
java篇 类的进阶0x06:可见性修饰符(访问修饰符)
文章目录 可见性修饰符(访问修饰符)成员变量都应该是 private构造方法可以是 private 的public 修饰的东西尽量不要改动非 public 的类,类名可以不和文件名相同protected 继承专属的访问控制 可见性修饰符(访问修饰符)…...

Java 贪心算法经典问题解决
文章目录 分金条题目思路代码实现测试用例以及结果输出 花费资金做项目最大收益题目思路代码实现测试用例以及结果输出 预定会议室题目思路代码实现测试用例以及结果输出 取中位数题目思路代码实现测试用例以及结果输出 最低字典序题目思路代码实现测试用例以及结果输出 结语 分…...

所有docker命令无效,解决办法
目录 ■前言 今天使用docker时,所有命令无效 ■解决办法如下 1.停止docker服务 2.查看状态 3.删除之前的docker相关的文件 4.再次查看状态 5.使用相关命令 (好用了) 6.重新下载镜像 ■前言 今天使用docker时,所有命令无…...
系列一、创建者模式
一、概述 创建者模式的主要关注点是"怎样创建对象?",它的主要特点是"将对象的创建与使用分离"。这样可以降低系统的耦合度,使用者不需要关注对象的创建细节。 二、分类 单例模式工厂方法模式抽象工厂模式原型模式建造者模式...

数据库系列:覆盖索引和规避回表
1 介绍 在MySQL数据库查询过程中,索引覆盖和避免不必要的回表,是减少检索步骤,提高执行效率的有效手段。下面从这两个角度分析如何进行MySQL检索提效。 2 数据准备 模拟一个500w数据容量的部门表 emp,表结构如下,并…...

java Spring Boot上线运维 启动jar时控制台调整零时变量
前面的文章 java 打包Spring Boot项目,并运行在windows系统中和将Spring Boot项目打包部署到阿里云linux服务器讲述了Spring Boot项目打包部署的过程 但是 这里 我们可能会遇到一种情况 此时 我们服务器 java项目占用了 80端口 但我们需要放上去一个更重要的东西&am…...
java后端校验
Java 后端数据校验 一、概述 当我们想提供可靠的 API 接口,对参数的校验,以保证最终数据入库的正确性,是 必不可少 的活。比如下图就是 我们一个项目里 新增一个菜单校验 参数的函数,写了一大堆的 if else 进行校验,…...

PowerPoint如何修改“默认保存路径”?
很多时候,我们做好PPT后都要保存,一般会保存在创建PPT的文件夹里,或者另外设置保存的路径。 如果经常需要制作PPT,又不想每次都要重新选择保存位置,我们可以创建或修改“默认保存路径”,这样每次关闭PPT后…...

【PMP】有没有项目经理能看得懂这九张图?求挑战
这九张图,全是圈圈我的肺腑之言啊!谁痛谁知道! 做技术时,就想着30岁就转管理,管理岗位赚得多,结果发现全是烟雾弹。 做技术和代码打交道,做管理跟人打交道。天天开不完的会、说不完的话…...
ES6学习记录—自己记录一直更新版
1. 什么是ECMA 全称:European computer manufacturers association欧洲计算机制造联合会; 2、它的标准名单中的:ECMA — 262脚本语言的规范:规范化脚本语言,叫ECMAScript ( 一定要记住);像ES5 ES6就是这样来的…...
linux操作gpio的一些记录
在linux里面使用GPIO的一些知识点记录如下: 一、驱动里面操作GPIO 在linux内核里面如果 pinctrl 子系统将一个 PIN 复用为 GPIO 的话,那么就可以用gpio 子系统提供的 API 函数操做gpio,比如设置 GPIO为输入输出,读取 GPIO 的值等…...

目前新能源汽车充电桩的发展受到哪些不利因素的影响?
目前新能源汽车充电桩的发展受到哪些不利因素的影响? 一是安装难,很多老旧小区没有充电桩配套施工规范,充电桩建设比较难,受到充电容量不足电表箱供电等局限性的制约,同时缺乏充电桩配套设施的统一规划,小区内只能安装…...

jenkins
Gitlab添加钩子 测试钩子 添加完成后,下面会出现钩子选择。点击test中的,push event。 出现successful,既添加成功。 如果添加失败,报错,更改Network...
基于深度学习的图像分割技术探究
导言: 图像分割是计算机视觉领域的重要任务,旨在将图像划分为不同的语义区域,实现对图像中感兴趣物体的定位和提取。深度学习作为图像分割的新兴技术,通过卷积神经网络(CNN)等模型,取得了显著的…...

【c++】vector的使用与模拟实现
🚀write in front🚀 📜所属专栏:初阶数据结构 🛰️博客主页:睿睿的博客主页 🛰️代码仓库:🎉VS2022_C语言仓库 🎡您的点赞、关注、收藏、评论,是对…...

记录安装stable diffusion webui时,出现的gfpgan安装卡住的问题
参考链接:(145条消息) 使用stable diffusion webui时,安装gfpgan失败的解决方案(windows下的操作)_新时代原始人的博客-CSDN博客...

【开发环境】Windows下搭建TVM编译器
关于搭建TVM编译器的官方文档:Install from Source — tvm 0.14.dev0 documentation (apache.org) 1. 安装Anaconda 首先我们需要安装Anaconda,因为其中包含着我们所需要的各类依赖: 进入Anaconda官网https://www.anaconda.com/products/d…...

了解Unity编辑器之组件篇Video(二)
Video Player组件:用于在游戏中播放视频的组件。它提供了一系列属性来控制视频的播放、显示和交互。 1.Source(视频源):用于指定视频的来源。可以选择两种不同的视频源类型: (1)Vieo Clip&#…...
vscode里如何用git
打开vs终端执行如下: 1 初始化 Git 仓库(如果尚未初始化) git init 2 添加文件到 Git 仓库 git add . 3 使用 git commit 命令来提交你的更改。确保在提交时加上一个有用的消息。 git commit -m "备注信息" 4 …...

Lombok 的 @Data 注解失效,未生成 getter/setter 方法引发的HTTP 406 错误
HTTP 状态码 406 (Not Acceptable) 和 500 (Internal Server Error) 是两类完全不同的错误,它们的含义、原因和解决方法都有显著区别。以下是详细对比: 1. HTTP 406 (Not Acceptable) 含义: 客户端请求的内容类型与服务器支持的内容类型不匹…...
Java如何权衡是使用无序的数组还是有序的数组
在 Java 中,选择有序数组还是无序数组取决于具体场景的性能需求与操作特点。以下是关键权衡因素及决策指南: ⚖️ 核心权衡维度 维度有序数组无序数组查询性能二分查找 O(log n) ✅线性扫描 O(n) ❌插入/删除需移位维护顺序 O(n) ❌直接操作尾部 O(1) ✅内存开销与无序数组相…...

Docker 运行 Kafka 带 SASL 认证教程
Docker 运行 Kafka 带 SASL 认证教程 Docker 运行 Kafka 带 SASL 认证教程一、说明二、环境准备三、编写 Docker Compose 和 jaas文件docker-compose.yml代码说明:server_jaas.conf 四、启动服务五、验证服务六、连接kafka服务七、总结 Docker 运行 Kafka 带 SASL 认…...
Java 加密常用的各种算法及其选择
在数字化时代,数据安全至关重要,Java 作为广泛应用的编程语言,提供了丰富的加密算法来保障数据的保密性、完整性和真实性。了解这些常用加密算法及其适用场景,有助于开发者在不同的业务需求中做出正确的选择。 一、对称加密算法…...

2025盘古石杯决赛【手机取证】
前言 第三届盘古石杯国际电子数据取证大赛决赛 最后一题没有解出来,实在找不到,希望有大佬教一下我。 还有就会议时间,我感觉不是图片时间,因为在电脑看到是其他时间用老会议系统开的会。 手机取证 1、分析鸿蒙手机检材&#x…...

CMake 从 GitHub 下载第三方库并使用
有时我们希望直接使用 GitHub 上的开源库,而不想手动下载、编译和安装。 可以利用 CMake 提供的 FetchContent 模块来实现自动下载、构建和链接第三方库。 FetchContent 命令官方文档✅ 示例代码 我们将以 fmt 这个流行的格式化库为例,演示如何: 使用 FetchContent 从 GitH…...

自然语言处理——Transformer
自然语言处理——Transformer 自注意力机制多头注意力机制Transformer 虽然循环神经网络可以对具有序列特性的数据非常有效,它能挖掘数据中的时序信息以及语义信息,但是它有一个很大的缺陷——很难并行化。 我们可以考虑用CNN来替代RNN,但是…...
鸿蒙DevEco Studio HarmonyOS 5跑酷小游戏实现指南
1. 项目概述 本跑酷小游戏基于鸿蒙HarmonyOS 5开发,使用DevEco Studio作为开发工具,采用Java语言实现,包含角色控制、障碍物生成和分数计算系统。 2. 项目结构 /src/main/java/com/example/runner/├── MainAbilitySlice.java // 主界…...

【C++特殊工具与技术】优化内存分配(一):C++中的内存分配
目录 一、C 内存的基本概念 1.1 内存的物理与逻辑结构 1.2 C 程序的内存区域划分 二、栈内存分配 2.1 栈内存的特点 2.2 栈内存分配示例 三、堆内存分配 3.1 new和delete操作符 4.2 内存泄漏与悬空指针问题 4.3 new和delete的重载 四、智能指针…...