首页
找靠谱产品
找解决方案
找靠谱公司
找案例
找对的人
专家智库
悬赏任务
SAAS
ToB门户
了解全球最新的ToB事件
论坛
潜水/灌水快乐,沉淀知识,认识更多同行。
ToB圈子
加入IT圈,遇到更多同好之人。
微博
Follow
记录
Doing
博客
Blog
文库
业界最专业的IT文库,上传资料也可以赚钱
下载
分享
Share
排行榜
Ranklist
相册
Album
应用中心
qidao123.com ToB IT社区-企服评测·应用市场
»
论坛
›
数据库
›
分布式数据库
›
bert-base-uncased模子的tokenizer.json和vocab.txt的区 ...
返回列表
发新帖
bert-base-uncased模子的tokenizer.json和vocab.txt的区别和接洽
[复制链接]
发表于 2025-12-14 11:16:28
|
显示全部楼层
|
阅读模式
马上注册,结交更多好友,享用更多功能,让你轻松玩转社区。
您需要
登录
才可以下载或查看,没有账号?
立即注册
×
说在前面
忽然发现这两个文件是由区别的,之前傻傻的把两个文件都下载到模子内里了,transformers工具包使用bert加载分词器时并不是都必要这两个文件的,而是工具加载器范例类具体决定的。
vocab.txt 的作用
词汇表文件
,通常是一个纯文本文件,此中列出了模子使用的全部词汇(Token)。
在
BERT
和类似的模子中,vocab.txt 是必须的,由于它包罗了从输入文本到模子输入的映射(即词汇到 ID 的映射)。
比方,对于一个分词器,它会将 "hello" 映射到一个 ID(如 1012),并通过这种方式来实验文本的分词。
vocab.txt 是传统的分词器(如 BertTokenizer)的核心文件,加载分词器时,分词器会根据这个词汇表来举行分词。
tokenizer.json 的作用
tokenizer.json 文件通常是由
Fast Tokenizer
(如 BertTokenizerFast)天生的,它包罗了分词器的具体设置信息。
tokenizer.json 包罗的不但仅是词汇表,还包罗分词器的一些算法设置、特殊字符的映射、字节对编码(BPE)相干的归并规则等。
Fast Tokenizer 使用 tokenizers 库,它是一个专为高效文本处理处罚计划的库,能加速分词的过程。
当你使用 BertTokenizerFast 如许的 Fast
版本
时,tokenizer.json 会被天生,而且通常会生存为一个文件。
加载分词器时使用哪个文件?
对于传统的 BertTokenizer(非 Fast
版本
)
,加载分词器时,
重要使用 vocab.txt 文件
。这个文件是必须的,它包罗了词汇和其对应的 ID。
BertTokenizer 加载时,不会使用 tokenizer.json,由于传统
版本
的分词器只依赖于 vocab.txt。
对于 BertTokenizerFast(Fast 版本)
,它会使用 tokenizer.json 文件,且这个文件是通过 tokenizers 库天生的。固然它也会依赖 vocab.txt 文件来获取词汇信息,但 tokenizer.json 文件则包罗了更多细节(如归并规则、特殊字符处理处罚等)。
为什么你练习后的模子没有 tokenizer.json 文件?
假如你使用的是传统的 BertTokenizer 举行练习,模子生存后就不会包罗 tokenizer.json,只会包罗 vocab.txt 和其他一些设置文件。
假如你盼望天生 tokenizer.json,你必要使用
Fast Tokenizer
,好比 BertTokenizerFast,这种情况下,分词器会在生存时主动天生 tokenizer.json 文件。
是否必要同时使用 tokenizer.json 和 vocab.txt?
不必要
同时使用 tokenizer.json 和 vocab.txt,它们的作用差别,且它们通常并差别时存在于一个模子的生存目次中。
传统的 BertTokenizer
只必要 vocab.txt。
Fast Tokenizer
(如 BertTokenizerFast)必要 tokenizer.json,但也会使用 vocab.txt。
加载分词器时的
代码
无论你是否有 tokenizer.json 文件,加载分词器的
代码
都类似,区别在于你使用的是哪种范例的分词器:
对于传统的 BertTokenizer
:
from transformers import BertTokenizer
tokenizer = BertTokenizer.from_pretrained("bert-base-uncased") # 加载词汇表和
配置
文件
复制
代码
对于 BertTokenizerFast(假如使用了 Fast 版本)
:
from transformers import BertTokenizerFast
tokenizer = BertTokenizerFast.from_pretrained("bert-base-uncased") # 加载tokenizer.json及vocab.txt
复制代码
在
Fast Tokenizer
的情况下,tokenizer.json 会被主动加载,但你仍旧必要确保生存了 vocab.txt 文件,由于它包罗了词汇表。
总结:
vocab.txt
是传统分词器(如 BertTokenizer)所必须的文件,加载时会使用该文件。
tokenizer.json
是
Fast Tokenizer
(如 BertTokenizerFast)的核心文件,包罗更多的设置和细节,但不是必须的(只有 Fast Tokenizer 才会使用)。
假如你练习的是传统的 BertTokenizer,那么只有 vocab.txt 文件即可,没有 tokenizer.json 文件也没有题目。
假如你盼望天生 tokenizer.json 文件,必要使用
Fast Tokenizer
(如 BertTokenizerFast)。
回复
使用道具
举报
返回列表
浏览过的版块
Oracle
物联网
数据仓库与分析
.Net
开源技术
DevOps与敏捷开发
SAAS
时序数据库
SQL-Server
王國慶
+ 我要发帖
登录后关闭弹窗
登录参与点评抽奖 加入IT实名职场社区
去登录
微信订阅号
微信服务号
微信客服(加群)
H5
小程序
快速回复
返回顶部
返回列表