使用 BERT 进行文本分类 (01/3)

news2024/11/24 22:32:20

摄影:Max Chen on Unsplash

一、说明

        这是使用 BERT 语言模型的一系列文本分类演示的第一部分。以文本的分类作为例,演示它们的调用过程。

二、什么是伯特?

        BERT 代表 来自变压器的双向编码器表示。

        首先,转换器是一种深度学习模型,它使用自我注意机制,根据每个单词与其他单词的关系对其进行加权。根据注意力得分,模型可以“注意”序列中的有价值的部分。其次,BERT是双向的,这意味着它在训练时会同时考虑左上下文和右上下文。从这个意义上说,BERT模型可以从两个方向理解上下文。

三、BERT BASE 和 BERT LARGE

        BERT BASE:更少的变压器块和隐藏层大小,具有与OpenAI GPT相同的模型大小。[12个变压器块,12个注意头,768个隐藏层尺寸]

        BERT LARGE:庞大的网络,其注意力层是BERT BASE的两倍,在NLP任务上实现了最先进的结果。[24个变压器块,16个注意头,1024隐藏层尺寸]

        区别:Bert base的参数比Bert large少,因此可以用更少的计算机内存使用。Bert large具有更多的参数,因此它比Bert基数更准确。

四、伯特输入和输出

        输入:[CLS]令牌序列[SEP]

  • [CLS] 代表 分类令牌
  • [SEP] 让 BERT 知道哪个令牌属于哪个序列
  • 可以输入BERT模型的令牌的最大大小为512。因此,如果令牌小于 512,我们可以使用填充来填充空令牌;如果序列中的令牌长度超过 512,那么我们需要截断令牌。
  • BERT 模型的输出将是每个令牌中大小为 768 的嵌入向量。然后,这些令牌将成为分类器的输入。

五、 尝试一个简单的文本

        拥抱脸是一个很棒的学习场所。它提供语言模型、数据集,您甚至可以在那里学习自然语言处理!浏览其网站以获取更多信息:

拥抱面孔 - 构建未来的 AI 社区。

构建、训练和部署由机器学习中的参考开源提供支持的先进模型。超过。。。

huggingface.co

让我们从拥抱脸中导出一个语言模型,看看它对一个简单的句子有什么作用。我们需要先导入自动标记器来启动语言模型。

pip install transformers
from transformers import AutoTokenizer
tokenizer= AutoTokenizer.from_pretrained('cl-tohoku/bert-base-japanese-v2')
example_text = '今日は一日サッカーをしました'
##('I played soccer for the whole day')##
BERT_input = tokenizer(example_text,padding='max_length', max_length = 20, 
                       truncation=True, return_tensors="pt")


print(BERT_input['input_ids'])
print(BERT_input['token_type_ids'])
print(BERT_input['attention_mask'])
tensor([[    2, 13711,   897,  1031,  2719, 11731,   932,   873, 13276,   881,
             3,     0,     0,     0,     0,     0,     0,     0,     0,     0]])
tensor([[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]])
tensor([[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0]])

六、解释

  • 填充 :将每个序列填充到指定的最大长度。
  • max_length:每个序列的最大长度。在这个例子中,我们使用 20,但对于我们的实际数据集,我们将使用 512,这是 BERT 允许的最大序列长度。
  • 截断 :如果为 True,则每个序列中超过最大长度的标记将被截断。
  • return_tensors:将返回的张量类型。如果你使用 Pytorch,那么你将使用 pt。如果你使用Tensorflow,那么你需要使用tf。

七 什么是input_ids

我们可以解码令牌以查看input_ids是什么。

example_text = tokenizer.decode(bert_input.input_ids[0])
print(example_text)
[CLS] 今日 は 一 日 サッカー を し まし た [SEP] [PAD] [PAD] [PAD] [PAD] [PAD] [PAD] [PAD] [PAD] [PAD]

八、 什么是token_type_ids和attention_mask?

  • token_type_ids是一个二进制掩码,用于标识哪些令牌属于哪个序列。因为我们只有一个序列,所以所有代币都属于类 0。
  • attention_mask是一个二进制掩码,如果令牌是实词,则为 [CLS]、[SEP] 或填充。如果令牌是实词 [CLS]、[SEP],则掩码将为 1。否则,掩码将为 0。

九、总结

        在这篇文章中,我简要介绍了BERT是什么,并使用一个简单的文本来显示使用BERT的标记化结果。达门·

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

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

相关文章

【嵌入式学习笔记】嵌入式入门7——IIC总线协议

1.IIC简介 IIC即Inter Integrated Circuit,集成电路总线,是一种同步,串行,半双工通信总线。 IIC总线协议——总线就是传输数据通道,协议就是传输数据的规则,有以下特点: 由时钟线SCL和数据线S…

8.15黄金能否跌破千九?日内如何稳健布局

近期有哪些消息面影响黄金走势?黄金多空该如何研判? ​黄金消息面解析:周二(8月15日)亚洲时段,现货黄金延续低位徘徊,目前交投于1906.01美元/盎司附近,美国财长称耶伦称美国经济处于…

股票杠杆是指什么?从四个专业的角度分析

股票杠杆是指通过借用资金进行股票交易的一种投资行为。通过股票杠杆,投资者可以凭借有限的资本来控制更大规模的股票交易,并以此获得更高的盈利潜力。下面将从四个专业的角度对股票杠杆进行分析。 1. 金融学角度: 在金融学中,股…

全面梳理Python下的NLP 库

一、说明 Python 对自然语言处理库有丰富的支持。从文本处理、标记化文本并确定其引理开始,到句法分析、解析文本并分配句法角色,再到语义处理,例如识别命名实体、情感分析和文档分类,一切都由至少一个库提供。那么,你…

电子器件散热应用中的温升参数常识

那么实际应用中如何估算器件的大概测试温升和温度(哈哈,还在摸索中……) 结温Tj:电子设备中半导体器件的实际工作温度,实际上比器件封装外壳温度高。 IGBT散热:通过铜底板传导至散热器,散热方向…

Arthas 使用方法简介

一、背景 不知道大家有没有遇到这种情况,接口业务逻辑写完后,用 postman 一调,发现接口响应时间好长,不得不对接口进行优化。但是此时接口的代码往往逻辑比较复杂,调用层次也比较多,很难定位到耗时较长的代…

小黑day5那拉提空中草原上午因下雨关闭改去河谷草原,下午薰衣草基地,入住伊宁江苏酒店附近吃当地特色羊肉串的leetcode之旅:209. 长度最小的子数组

小黑代码 class Solution:def minSubArrayLen(self, target: int, nums: List[int]) -> int:# 数组长度n len(nums)# 定义双指针head 0tail 0# 中间变量sum_ 0# 结果变量min_ n 1# 开始迭代 while head < n:# 尾部指针右移while tail < n and sum_ < target…

快速掌握Postman实现接口测试

快速掌握Postman实现接口测试 Postman简介 Postman是谷歌开发的一款网页调试和接口测试工具&#xff0c;能够发送任何类型的http请求&#xff0c;支持GET/PUT/POST/DELETE等方法。Postman非常简单易用&#xff0c;可以直接填写URL&#xff0c;header&#xff0c;body等就可以发…

企业权限管理(十一)-角色操作

角色操作-查询所有 RoleController RequestMapping("/role") Controller public class RoleController {Autowiredprivate IRoleService roleService;RequestMapping("/findAll.do")public ModelAndView findAll() throws Exception {ModelAndView mv n…

网络通信TCP/IP协议逐层分析数据链路层(第四十课)

Ethernet Ⅱ帧,也称为Ethernet V2帧,是如今局域网里最常见的以太帧,是以太网事实标准。如今大多数的TCP/IP应用(如HTTP、FTP、SMTP、POP3等)都是采用Ethernet II帧承载。 1、MAC地址概述 -MAC地址,即以太网地址,用来标识一个以太网上的某个单独设备或一组设备 -长度…

SGL论文中相关公式推导

SGL论文中相关公式推导 题记对文中公式14到15进行推导对文中公式16进行解析对文中公式20进行补充说明对文中公式21进行补充说明参考博文及感谢 题记 关于Wu2021_SIGIR_paper_Self-supervised graph learning for recommendation》这篇文章已经有很多大神整理过了&#xff0c;具…

TVP走进南京文投:数字化浪潮下,文旅业如何迈向发展“快车道”?

引言 随着数字经济的蓬勃发展&#xff0c;文旅业也面临着数字化浪潮的冲击与挑战。如何实现数字技术与文化内涵的有机结合&#xff0c;成为行业内绕不开的热点话题。8 月 4 日&#xff0c;腾讯云 TVP 联合腾讯文旅&#xff0c;携手南京文投集团&#xff0c;在南京大报恩寺遗址景…

【QGIS】处理带坐标的Excel、csv格式的数据文件

1、场景描述 项目中客户提供了某地区的地址数据Excel&#xff0c;让我发布地图服务。 2、处理过程 arcgis有导入Excel的功能&#xff0c;只需要指定横纵坐标和坐标系即可。可是我对arcgis不熟悉&#xff0c;查了一下QGIS是否有导入Excel的功能。暂时没查到直接导入Excel的文…

Redis持久化——RDB和AOF

Redis数据库是内存数据库&#xff0c;一旦出现服务宕机&#xff0c;那么内存中的数据就容易丢失。所以需要进行redis的持久化动作。 Redis持久化是指将Redis内存数据持存储到磁盘中&#xff0c;若出现了Redis服务宕机后&#xff0c;能够从硬盘中再恢复到Redis内存中。 Redis的持…

软件测试面试题【2023整理版(含答案)】

01、您所熟悉的测试用例设计方法都有哪些&#xff1f;请分别以具体的例子来说明这些方法在测试用例设计工作中的应用。 答&#xff1a;有黑盒和白盒两种测试种类&#xff0c;黑盒有等价类划分方法 边界值分析方法 错误推测方法 因果图方法 判定表驱动分析方法 正交实验设…

现有的vue3+ts+vite项目集成electron

效果图 什么时Electron Electron是使用JavaScript,HTML和CSS构建跨平台的桌面应用程序框架。 Electron兼容Mac、Windows和Linux,可以构建出三个平台的应用程序。 现有的vue3项目集成Electron 安装依赖 原来有一个vue3+ts+vite+pnpm的项目,其中sub-modules是子项目,web是…

威海--游记

威海盛夏已至&#xff0c;气温攀升的同时&#xff0c;小伙伴们出去玩的心也都藏不住了。 作为离韩国最近的城市&#xff0c;不出国门就能轻松get到浓浓的“韩范儿”&#xff01;从韩式建筑、小吃甜品&#xff0c;再到各种宝藏打卡小店&#xff0c;玩法超多&#xff0c;好吃好看…

计算机竞赛 python+opencv+深度学习实现二维码识别

0 前言 &#x1f525; 优质竞赛项目系列&#xff0c;今天要分享的是 &#x1f6a9; pythonopencv深度学习实现二维码识别 &#x1f947;学长这里给一个题目综合评分(每项满分5分) 难度系数&#xff1a;3分工作量&#xff1a;3分创新点&#xff1a;3分 该项目较为新颖&…

__ob__: Observer 后缀的数组的取值方式

开发中&#xff0c;经常从接口、父组件中&#xff0c;拿到数组然后给新的数组使用&#xff0c; 但是&#xff0c;有时候会发现带有 __ob__: Observer 后缀的数组&#xff0c;对这种数组来说&#xff0c;你是无法取到这个数组的值的&#xff0c; 而且&#xff0c;离谱的是consol…

【广州华锐互动】物联网工程VR虚拟课件有哪些特色?

物联网工程VR虚拟课件由广州华锐互动制作&#xff0c;是一种利用虚拟现实技术&#xff0c;将物联网的概念和应用场景通过模拟的方式呈现给学生的教学工具。相比传统的教学方式&#xff0c;物联网工程VR虚拟课件具有以下特色&#xff1a; 1.交互性强 物联网工程VR虚拟课件可以让…