BERT模型中的input_ids和attention_mask参数

一、概述

1.1 input_ids

  在BERT模型及其衍生体中,输入文本首先经过一个分词处理流程,其中文本被细分为单词或子单词(subwords),每个分词随后映射到一个唯一的整数标识符。这些标识符组成了所谓的input_ids数组,其代表文本的数字化形式。为了适应模型处理的需要,input_ids的长度被规范化为一个固定的值。在这个规范化过程中,长度超出预定值的输入会被截断,而短于此长度的输入则通过添加特定的填充标记([PAD],通常对应的整数标识符为0)来补齐。这种处理机制确保了模型输入的一致性,允许模型批量处理不同长度的文本数据。

1.2 attention_mask

  与input_ids并行的,attention_mask数组标识了模型应当"关注"的输入部分。具体而言,attention_mask对于实际文本内容的位置赋值为1,而对于填充部分则赋值为0。这使得模型能够区分原始文本与为了长度规范化而添加的填充内容,从而仅对有意义的文本部分进行分析。attention_mask在处理可变长文本输入时尤其关键,因为它直接指导模型聚焦于重要的信息,忽视那些无关紧要的填充部分。

  综上所述,input_ids为文本提供了一种高效的数字化表示,而attention_mask则确保模型能够在处理这些数字化信息时,有效地识别并专注于实质内容,排除无关的填充影响。这两个参数共同构成了模型处理文本信息的基础,对于保证模型的性能和分析精度至关重要。

二、举例

  假设我们有一句话:“Hello, world!”,我们想要将这句话输入到BERT模型中。首先,我们需要通过分词器将这句话转换成模型能理解的数字表示。假设分词器将“Hello,”分为[7592],将“world”分为[2088],并且特殊标记[CLS](表示输入开始)的ID为[101],[SEP](表示输入结束)的ID为[102],以及[PAD](用于填充的特殊标记)的ID为[0]。

示例输入:“Hello, world!”分词和转换为input_ids:
分词后的结果(包括特殊标记):[CLS] Hello, world [SEP]
对应的input_ids(数字表示):[101, 7592, 2088, 102]填充至固定长度:
假设我们设定输入长度为10,这意味着input_ids需要被扩展到长度为10。这是通过添加[PAD]标记来实现的。
扩展后的input_ids:[101, 7592, 2088, 102, 0, 0, 0, 0, 0, 0]
在这个例子中,我们添加了6个[PAD]以达到长度为10的要求。生成attention_mask:
对于实际的文本和特殊标记([CLS]和[SEP]),attention_mask的值为1。
对于[PAD]填充,attention_mask的值为0。因此,对于上述扩展后的input_ids,attention_mask为:[1, 1, 1, 1, 0, 0, 0, 0, 0, 0]

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

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

相关文章

2、电源管理入门之开机详解

目录 1. 硬件上电 2. ATF运行 3. Linux启动 3.1 内核启动start_kernel 3.2 平台启动setup_arch 3.4 DTS初始化psci_dt_init 3.5 系统rest创建kernel_init线程 3.6 SMP初始化smp_init 3.7 PSCI接口psci_cpu_on 3.8 SMC返回secondary_entry 系统开机牵扯到:“我是…

记录人工智能领域的人、事、社区

曾梦想执剑走天涯,我是程序猿【AK】 目录 简述概要关注人物OpenAI团队成员 关注事件2015年2016年2017年2018年2019年2020年2021年2022年2023年2024年 关注社区OpenAITensorFlowPyTorchMIT Technology ReviewReddit Machine LearningIEEE Transactions on Neural Net…

java 使用documents4j将XML转为pdf文件的方式

1.背景: 通过spire.doc.free将word转换成PDF时存在缺陷:只能获取前3页。获取全文另外需支付费用。 2.解决办法 使用documents4j,documents4j会保留原word文件中更多的样式,如修订模式下的差异化字体颜色、文档右侧修订记录等。 …

信息学奥赛一本通1188:菲波那契数列(2)

1188:菲波那契数列(2) 时间限制: 1000 ms 内存限制: 65536 KB 提交数: 70272 通过数: 26790 【题目描述】 菲波那契数列是指这样的数列: 数列的第一个和第二个数都为1,接下来每个数都等于前面2个数之和。 给出一个正整数a,要求菲…

Android Studio基础(下载安装与简单使用)

1、搭建Android开发平台 1.1 Android Studio 下载地址及版本说明 Android 开发者官网: https://developer.android.com/index.html(全球,需科学上网) https://developer.android.google.cn/index.html(国内&#xff…

oracle INSERT 批量插入写法

直接采用mysql那种INSERT批量插入语句的写法,会报 SQL 错误 [933] [42000]: ORA-00933: SQL 命令未正确结束 它可以使用以下方法来批量插入数据: 使用INSERT ALL语句:可以在一条INSERT语句中插入多个记录。使用这种方法,您可以为…

十三、集合进阶——单列集合 及 数据结构

单列集合 及 数据结构 13.1 集合体系结构13.1.2 单列集合1. Collection2.Collection 的遍历方式迭代器遍历增强for遍历Lambda表达式遍历 3.List集合List集合的特有方法List集合的遍历方式五种遍历方式对比 4.数据结构1).栈2).队列3)数组4)链表小结5&…

PyTorch – 逻辑回归

data 首先导入torch里面专门做图形处理的一个库,torchvision,根据官方安装指南,你在安装pytorch的时候torchvision也会安装。 我们需要使用的是torchvision.transforms和torchvision.datasets以及torch.utils.data.DataLoader 首先DataLoa…

Tomcat是如何打破“双亲委派“机制的

目录 一、什么是双亲委派机制? 二、什么情况下我们需要破坏双亲委派模型?

营销系统黑名单优化:位图的应用解析 | 京东云技术团队

背景 营销系统中,客户投诉是业务发展的一大阻碍,一般会过滤掉黑名单高风险账号,并配合频控策略,来减少客诉,进而增加营销效率,减少营销成本,提升营销质量。 营销系统一般是通过大数据分析建模…

2024年了,如何从 0 搭建一个 Electron 应用

简介 Electron 是一个开源的跨平台桌面应用程序开发框架,它允许开发者使用 Web 技术(如 JavaScript、HTML 和 CSS)来构建桌面应用程序。Electron 嵌入了 Chromium(一个开源的 Web 浏览器引擎)和 Node.js(一…

关于ORA-30625: method dispatch on NULL SELF argument is disallowed

文章目录 1. 创建type2. 创建测试表3. 创建type body4. insert 测试数据5. 引用type并执行6.原因7. 正确的方式 JOB 频繁出现ORA-30625:method dispatch on NULL SELF argument is disallowed。 这篇文章将对此错误进行重现并分析其原因 1. 创建type CREATE OR RE…

游戏行业洞察:分布式开源爬虫项目在数据采集与分析中的应用案例介绍

前言 我在领导一个为游戏行业巨头提供数据采集服务的项目中,我们面临着实时数据需求和大规模数据处理的挑战。我们构建了一个基于开源分布式爬虫技术的自动化平台,实现了高效、准确的数据采集。通过自然语言处理技术,我们确保了数据的质量和…

【PostgreSQL实现psql连接时候提示用户的密码有效时间】

如下内容使用session_exec插件结合自定函数实现。类似于触发器的原理。 功能需要严格在测试环境测试后,才可在正式环境使用。没有相关要求,还是建议直接查询pg_roles/pg_authid/pg_user; 一、判断是否需要修改用户密码和有效期的检查SQL 首…

【Emgu CV教程】7.1、图像锐化之Laplacian(拉普拉斯)算子锐化

文章目录 一、介绍二、举例1.原始素材2.代码3.运行结果 一、介绍 前面几篇讲的是图像平滑,就是抑制或消除噪声,并使得图像亮度及颜色变化更平缓的操作。在图像处理领域,与平滑操作相对应的,叫图像锐化。 图像锐化就是增强图像的边…

python OpenCV:seamlessClone泊松融合

一、seamlessClone函数的用法 翻译 https://www.learnopencv.com/seamless-cloning-using-opencv-python-cpp/ def seamlessClone(src, dst, mask, p, flags, blendNone): # real signature unknown; restored from __doc__"""seamlessClone(src, dst, mask, …

【Hudi】Upsert原理

17张图带你彻底理解Hudi Upsert原理 1.开始提交:判断上次任务是否失败,如果失败会触发回滚操作。然后会根据当前时间生成一个事务开始的请求标识元数据。2.构造HoodieRecord Rdd对象:Hudi 会根据元数据信息构造HoodieRecord Rdd 对象&#xf…

2024年【起重机司机(限桥式起重机)】试题及解析及起重机司机(限桥式起重机)证考试

题库来源:安全生产模拟考试一点通公众号小程序 起重机司机(限桥式起重机)试题及解析考前必练!安全生产模拟考试一点通每个月更新起重机司机(限桥式起重机)证考试题目及答案!多做几遍,其实通过起重机司机(限桥式起重机)理论考试很…

Django里写一个get请求

在Django中处理GET请求也是很直接的。默认情况下,Django的视图(view)会处理GET请求。要创建一个简单的GET请求处理器,你可以按照以下步骤: 首先,确保你已经创建了一个Django项目。 在你的应用中创建一个视…

linux ext3/ext4文件系统(part2 jbd2)

概述 jbd2(journal block device 2)是为块存储设计的 wal 机制,它为要写设备的buffer绑定了一个journal_head,这个journal_head与一个transaction绑定,随着事务状态的转移(运行,生成日志&#…