Transformer入门-Huggingface的基础03-tokenizer的使用

Tokenizer是文本处理的重要工具,涉及分词、词典构建、数字序列转换、数据填充与截断等步骤。它在预训练模型如T5的使用中,包括加载、保存模型,以及对句子的分词、索引转换、填充截断等操作。对于批量数据,Tokenizer处理掩码和类型ID,为模型输入做好准备。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

一.Tokenizer的简介

Tokenizer 简介

tokenizer简而言之就是对一段文本的词语或者单词进行分词操作,将一句话分解为机器可以识别的语义信息。
以往的数据预处理
step1 分词: 使用分词器(Jieba分词器)对文本数据进行分词(字、字词) ;
Step2 构建词典:根据整个数据集分词统计的结果,构建词典的一一映射关系(如果采用预训练词向量,词典映射要根据词向量文件进行处理) ;
Step3 数据转换:根据构建好的词典,将分词处理后的数据做映射,将文本序列转换为数字序列;
Step4 数据填充与截断: 在以batch输入到模型的方式中,需要对过短的数据进行填充,过长的数据进行截断保证数据长度符合模型能接受的范围,同时batch内的数据维度大小一致。

二.toikenzier的基本使用

1.加载保存 (from_pretrained / save_pretrained)

t5_base_question_generation = AutoTokenizer.from_pretrained("ZhangCheng/T5-Base-finetuned-for-Question-Generation")
# 将下载的预训练处理的单词,进行存储
t5_base_question_generation.save_pretrained('./model/t5_base_question_generation')
model_t5_base_question_generation = AutoModelForSeq2SeqLM.from_pretrained("ZhangCheng/T5-Base-finetuned-for-Question-Generation")
# 将下载的预处理模型参数存储到指定的部分
model_t5_base_question_generation.save_pretrained('./model/t5_base_question_generation')

2.句子分词 (tokenize)

sentence = 'I am a student and I will to go shcool'
tokens = tokenizer.tokenize(sentence)

3.查看词典和特殊字符 (vocab)
print(tokenizer.vocab)
print(tokenizer.special_tokens)
4.索引转换 (convert tokens to ids / convert ids to tokens)

token_ids = tokenizer.convert_tokens_to_ids(tokens)
tokenizer.convert_ids_to_tokens(token_ids)
tokenizer.convert_tokens_to_string(tokens)
tokenizer.encode(sentence)
tokenizer.decode(token_ids,skip_special_tokens=False)

5.填充截断 (padding / truncation)

#填充操作
tokenizer.encode(sentence,padding="max_length",max_length=15)
#截断操作
tokenizer.encode(sentence,truncation=True,max_length=15)

6.其他输入 (attention mask / token type ids)

#掩码操作mask
inputs = tokenizer.encode_plus(sentence,padding="max_length",max_length=15)
sentences = [
    "I am a student.",
    "I will to go school.",
    "How much the clothes prices?"
]
tokenizer(sentences)

三.总结

关于tokenizer主要被用于文本数据的预处理,实在原始分词的基础上对其进行的改进。

Huggingface-hub是一个用于存储、分享和管理机器学习模型和数据集的平台,由Huggingface开发。它提供了一个集中化的资源库,让用户可以方便地上传、下载和管理各种NLP模型和数据集。 Transformers是一个由Huggingface开发的开源库,用于自然语言处理(NLP)任务中的预训练模型。它提供了一种简便的方式来加载、使用和微调各种预训练模型,例如BERT、GPT、RoBERTa等。Transformers库还提供了方便的工具和API,用于在各种NLP任务中使用这些预训练模型。 使用Huggingface-hub和Transformers可以实现以下步骤: 1. 首先,使用pip命令安装TransformersHuggingface库。这可以通过以下命令完成:!pip install transformers !pip install datasets !pip install huggingface_hub。 2. 如果想将模型和tokenizer上传到Huggingface-hub,需要在Huggingface个人账户中添加新的access token,并将token粘贴复制到相关代码中。然后使用model.push_to_hub和tokenizer.push_to_hub函数将模型和tokenizer上传到Huggingface-hub。这些函数需要指定要存储仓库的路径、模型在Huggingface的URL和组织名称等参数。 3. 如果要从Huggingface下载模型仓库到本地,可以使用以下命令:clone_from所用的地址就是模型在Huggingface的URL。例如:https://huggingface.co/owners/model_name。通过调用Repository对象的git_pull函数,可以从Huggingface-hub上同步最新的代码到本地仓库。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *2* *3* [Huggingface入门篇 II (QA)](https://blog.youkuaiyun.com/qq_40899248/article/details/126047495)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 100%"] [ .reference_list ]
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Algorithm_Engineer_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值