位置: IT常识 - 正文

BertTokenizer的使用方法(超详细)(bert multihead)

编辑:rootadmin
BertTokenizer的使用方法(超详细) 导入from transformers import BertTokenizerfrom pytorch_pretrained import BertTokenizer

推荐整理分享BertTokenizer的使用方法(超详细)(bert multihead),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:bert tokenizer 原理,bert tokenizer 原理,bert tokenizer,bert中的token,berttokenizer.from_pretrained,bert tokenize,bert tokenize,bert tokenize,内容如对您有帮助,希望把文章链接给更多的朋友!

以上两行代码都可以导入BerBertTokenizer,transformers是当下比较成熟的库,pytorch_pretrained是google提供的源码(功能不如transformers全面)

加载tokenizer = BertTokenizer.from_pretrained('bert_pretrain')数据

首先定义一些数据:

sents = [ '人工智能是计算机科学的一个分支。', '它企图了解智能的实质。', '人工智能是一门极富挑战性的科学。',]tokenize

将句子拆分为token,并不映射为对应的id

token = tokenizer.tokenize(sents[0])print(token)# 输出:['人', '工', '智', '能', '是', '计', '算', '机', '科', '学', '的', '一', '个', '分', '支', '。']convert_tokens_to_idsBertTokenizer的使用方法(超详细)(bert multihead)

将token映射为其对应的id(ids是我们训练中真正会用到的数据)

ids = tokenizer.convert_tokens_to_ids(token)print(ids)#输出:[8, 35, 826, 52, 10, 159, 559, 98, 147, 18, 5, 7, 27, 59, 414, 12043]

同理convert_ids_to_tokens,就是上述方法的逆过程

encode(从此方法开始,只有transformers可以实现)

convert_tokens_to_ids是将分词后的token转化为id序列,而encode包含了分词和token转id过程,即encode是一个更全的过程,另外,encode默认使用basic的分词工具,以及会在句子前和尾部添加特殊字符[CLS]和[SEP],无需自己添加。从下可以看到,虽然encode直接使用tokenizer.tokenize()进行词拆分,会保留头尾特殊字符的完整性,但是自己也会额外添加特殊字符。

token = tokenizer.tokenize(sents[0])print(token)ids = tokenizer.convert_tokens_to_ids(token)print(ids)ids_encode = tokenizer.encode(sents[0])print(ids_encode)token_encode = tokenizer.convert_ids_to_tokens(ids_encode)print(token_encode)# 输出结果:#['人', '工', '智', '能', '是', '计', '算', '机', '科', '学', '的', '一', '个', '分', '支', '。']#[8, 35, 826, 52, 10, 159, 559, 98, 147, 18, 5, 7, 27, 59, 414, 12043]#[1, 8, 35, 826, 52, 10, 159, 559, 98, 147, 18, 5, 7, 27, 59, 414, 12043, 2]#['[CLS]', '人', '工', '智', '能', '是', '计', '算', '机', '科', '学', '的', '一', '个', '分', '支', '。', '[SEP]']

从运行结果可以看到encode确实在首尾增加了特殊词元[cls]和[sep]也就是1和2

encode_plus

返回更多相关信息:

ids = tokenizer.encode_plus(sents[0])print(ids)# {'input_ids': [1, 8, 35, 826, 52, 10, 159, 559, 98, 147, 18, 5, 7, 27, 59, 414, 12043, 2], #'token_type_ids': [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], #'attention_mask': [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]}

相关参数介绍:

out = tokenizer.encode_plus( text=sents[0], text_pair=sents[1], #当句子长度大于max_length时,截断 truncation=True, #一律补零到max_length长度 padding='max_length', max_length=30, add_special_tokens=True, #可取值tf,pt,np,默认为返回list return_tensors=None, #返回token_type_ids return_token_type_ids=True, #返回attention_mask return_attention_mask=True, #返回special_tokens_mask 特殊符号标识 return_special_tokens_mask=True, #返回offset_mapping 标识每个词的起止位置,这个参数只能BertTokenizerFast使用 #return_offsets_mapping=True, #返回length 标识长度 return_length=True,)for k, v in out.items(): print(k, ':', v)#input_ids : [1, 8, 35, 826, 52, 10, 159, 559, 98, 147, 18, 5, 7, 27, 59, 414, 12043, 2, 380, 258, 429, 15, 273, 826, 52, 5, 79, 207, 12043, 2]#token_type_ids : [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]#special_tokens_mask : [1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1]#attention_mask : [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]#length : 30batch_encode_plus

以 batch 的形式去编码句子

ids = tokenizer.batch_encode_plus([x for x in sents])print(ids)# {#'input_ids': [[1, 8, 35, 826, 52, 10, 159, 559, 98, 147, 18, 5, 7, 27, 59, 414, 12043, 2], [1, 380, 258, 429, 15, 273, 826, 52, 5, 79, 207, 12043, 2], [1, 8, 35, 826, 52, 10, 7, 232, 456, 595, 1373, 267, 92, 5, 147, 18, 12043, 2]], #'token_type_ids': [[0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0], [0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0]], #'attention_mask': [[1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1], [1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1]]}
本文链接地址:https://www.jiuchutong.com/zhishi/292321.html 转载请保留说明!

上一篇:格林内尔湖,蒙大拿州冰川国家公园 (© Pung/Shutterstock)(格林湖人)

下一篇:拉韦尔泰佐附近一条河里的石头,瑞士塞斯卡山谷 (© Robert Seitz/Offset by Shutterstock)(拉尔韦橡)

  • 网页的设计和制作网站前面提到过,市面上服务商的报价从几百到几十万不等

    网页的设计和制作网站前面提到过,市面上服务商的报价从几百到几十万不等

  • 华为荣耀20青春版有没有耳机孔(华为荣耀20青春版有没有nfc功能)

    华为荣耀20青春版有没有耳机孔(华为荣耀20青春版有没有nfc功能)

  • 怎样查辅助验证次数(辅助验证进度查询)

    怎样查辅助验证次数(辅助验证进度查询)

  • 苹果无法购买腾讯会员(苹果无法购买腾讯游戏)

    苹果无法购买腾讯会员(苹果无法购买腾讯游戏)

  • 抖音芽家是什么(芽家是什么玩意)

    抖音芽家是什么(芽家是什么玩意)

  • 骁龙845的手机有哪些(骁龙845手机有哪些便宜的)

    骁龙845的手机有哪些(骁龙845手机有哪些便宜的)

  • msm8796是什么处理器

    msm8796是什么处理器

  • 机顶盒没有信号怎么办,连不上无线网络(机顶盒没有信号强度)

    机顶盒没有信号怎么办,连不上无线网络(机顶盒没有信号强度)

  • 腾讯视频转码审核要多久(腾讯视频转码中)

    腾讯视频转码审核要多久(腾讯视频转码中)

  • 主叫号码未显示是什么意思(主叫号码未显示接了有危险吗)

    主叫号码未显示是什么意思(主叫号码未显示接了有危险吗)

  • movx指令什么意思(movx是什么指令)

    movx指令什么意思(movx是什么指令)

  • 手机指纹进水了怎么办(手机进水指纹识别坏了)

    手机指纹进水了怎么办(手机进水指纹识别坏了)

  • vivo怎么将照片移到内存卡(vivo怎么将照片移除相册)

    vivo怎么将照片移到内存卡(vivo怎么将照片移除相册)

  • 小米6自带的大头多少w的(小米六的)

    小米6自带的大头多少w的(小米六的)

  • 手机号换了怎么登录抖音(手机号换了怎么找回微信)

    手机号换了怎么登录抖音(手机号换了怎么找回微信)

  • 苹果8像素是不是很差(苹果8像素是不是很差呀)

    苹果8像素是不是很差(苹果8像素是不是很差呀)

  • 金溢etc蓝牙开关在哪儿(金溢etc 蓝牙)

    金溢etc蓝牙开关在哪儿(金溢etc 蓝牙)

  • qq音乐怎么一起听歌(qq音乐怎么一起和别人一起听)

    qq音乐怎么一起听歌(qq音乐怎么一起和别人一起听)

  • 金税盘锁死如何解锁(金税盘锁住了怎么办)

    金税盘锁死如何解锁(金税盘锁住了怎么办)

  • 小米早间听新闻在哪里(小米早间听新闻怎么打开)

    小米早间听新闻在哪里(小米早间听新闻怎么打开)

  • 最近移动网络不好怎么回事(移动这几天网络完全没法用)

    最近移动网络不好怎么回事(移动这几天网络完全没法用)

  • 华为OD机试 - 租车骑绿岛(Java & JS & Python)(华为od机试题题库)

    华为OD机试 - 租车骑绿岛(Java & JS & Python)(华为od机试题题库)

  • java图片转二进制流_java将文件转化成二进制流(java图片转换成文件流)

    java图片转二进制流_java将文件转化成二进制流(java图片转换成文件流)

  • C++ inline(CINLINELE工具)

    C++ inline(CINLINELE工具)

  • 北京市增值税发票查验平台
  • 一般纳税人转为小规模的条件
  • 保险佣金个人所得税怎么算
  • 建筑业总产值含税吗百度百科
  • 税控是干什么用的
  • 公司法人和经理承担责任一样吗
  • 合伙企业的费用在何处扣除
  • 文化建设税减免到什么时候
  • 材料采购暂估入账
  • 简易征收的老项目是指什么时候
  • 固定资产改造超过原值多少需要转固
  • 土地使用税什么意思
  • 加油站企业规模大小怎么划分
  • 公司如何开现金支票给个人
  • 保证金抵扣货款分录
  • 补发工资计算公式
  • 费用的完成率怎么计算
  • 季度交的企业所得税怎么做账
  • 招聘发票可以抵扣吗
  • 无法收回的款项怎么记账
  • 财税〔2017〕39号商业健康保险个人所得税
  • 集团内部拆借资金
  • 税控盘服务费每年都可以抵吗
  • 以旧机器抵货款合法吗
  • 变动成本率的计算公式字母
  • 哪些项目可以在城镇开发边界外
  • 哪些费用可以税前扣除
  • Windows自带的截图
  • 上市公司的组织形式
  • win11资源管理器怎么打开
  • composer.json和composer.lock
  • win10启用网络发现保存后又变成了关闭
  • php调用图片
  • 应收罚款收入
  • 承租人对经营租赁的会计分录
  • 企业备用金管理制度规定
  • php实现用户登录
  • 房地产企业预缴税款最新规定
  • 废旧物资回收企业所得税优惠政策
  • 食堂现金管理办法
  • 小规模纳税人收入会计分录
  • php function函数的用法
  • 抖音是如何成功的
  • 微服务springboot结构
  • node 文件
  • tabstat命令怎么用
  • php 银行卡支付
  • 织梦数据库在哪
  • phpvue开发模式
  • 核定征收企业注册
  • 土石方费用入什么科目
  • 本年计算扣除限额的基数计算公式
  • 一般纳税人企业所得税税率
  • 交车辆购置税需要什么材料
  • 叉车累计折旧如何结转
  • 小规模发票冲红了退税怎么处理
  • 支付残疾人保证金的现金流
  • 新公司内账怎么做
  • 新会计准则2021执行科目
  • 企业预付账款是什么意思
  • sql server储存过程的创建与使用
  • sqlserver存储过程怎么查看
  • linux命令rz -y
  • issch.exe
  • oracle linux6.9
  • xp系统屏幕倒过来了怎么恢复
  • linux rpm包安装
  • windows默认程序设置
  • win7提示0x000000c1
  • win7打印错误怎么解决
  • win8的桌面文件在哪里
  • [置顶]游戏名:chivalry2
  • 网站检测系统
  • android GridView实现图库预览图,多选模式下右上角打勾
  • ubuntu如何以root用户运行
  • unity arkit
  • python编写代码的步骤
  • python中的全局变量
  • 江苏电子税务局官网登录入口
  • 资源税的征税对象和纳税环节
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设