【AIGC】全新领域!(四):"Tokenizer" 是什么?怎么用?

169 阅读3分钟

前言

    上篇文章我们体验了一下OpenAI的情感分析,今天我们继续带大家来进行练习和更加深入的了解。话不多说,让我们开始吧!

正文

Colaboratory

    Colaboratory(通常简称Colab)是由Google开发和提供的免费的云端Jupyter笔记本环境。适用于Python编程、数据分析和机器学习,使用户能够无需担心本地计算资源的限制,轻松进行各种计算任务。在我们拥有一个Google账号之后,我们将使用Colab来进行我们的学习。

    首先让我们进入官网:colab.research.google.com/ 。随后让我们找到文件-->然后新建笔记本(如下图):

3.png

    跳转到之后的界面我们就可以开始编写我们的代码了,点击左边的“播放按钮”可以运行当前框内的代码,当然运行完每次的代码后,通过点击“+代码”来进行新的代码编写(如下图):

4.png

    这样你就学会了基本的使用方法啦~

Tokenizer

    "Tokenizer" 是一个计算机科学和自然语言处理(NLP)领域中常用的术语,它指的是将文本切分成单个的词语或标记的工具。在NLP任务中,文本通常需要被转换为计算机可以理解和处理的形式,而这一过程通常包括将文本划分成词语、子词或标记。这就是 tokenizer 的作用,也就是我们今天要来认识的东西。

    让我们安装transformers

!pip install transformers

2.png

    然后让我们引入分词器所需要的模型、需要操作的句子以及分词器

# 分词 transformers第二个核心模块
from transformers import AutoTokenizer # 不同的模型
sens="我有大梦想,AI改变世界" # 这是人类语言,需要向LLM转化
tokenizer = AutoTokenizer.from_pretrained('uer/roberta-base-finetuned-dianping-chinese') # 引入一个分词器
tokenizer

3.png

    接下来让我们看看效果:

tokens = tokenizer.tokenize(sens)
tokens

4.png

    很明显地将句子分成了一块一块的。然后当我们再执行下面这条语句的时候,我们会打开一个类似于给“机器”看的“字典”:

# 为什么可以分词,因为AutoTokenizer会维护一份词汇表
# 将分好的字按照词汇表切割
tokenizer.vocab

5.png

    拉动旁边的滑块我们可以看见大量我们看不懂的乱码,没关系,因为这不是给我们看的,我们的目的是进行接下来的操作:

# 根据上面的“字典"快速地给出匹配的数字
ids = tokenizer.convert_tokens_to_ids(tokens)
ids

image.png

    再进行一点小小的操作:

# 标记开头和结尾,防止处理多余的东西
ids = tokenizer.encode(sens, add_special_tokens=True)
ids

image.png

    跟我们查字典一样,接下来这些一串串的数字就会一个个按照“字典”进行匹配

str_len = tokenizer.decode(ids, skip_special_tokens=False)
str_len

image.png

    这样,我们就完成了"Tokenizer"。

结语

    今天我们带大家了解了一下"Tokenizer",内容不多,了解的也比较浅显。但我们得一步步来,之后再带大家进行更加深入的学习!如果对文章感兴趣的话,还希望能给博主一个免费的小心心♡呀~