自然语言模型(LM)之Tokenizer的介绍(1)--BPE

在介绍之前,我们先了解一下tokenizer及分词粒度。

什么是tokenizer?

Tokenizer是NLP中的一个关键组件,其主要作用是将自然语言文本转化为计算机可以处理的数字表示。在NLP任务中,文本通常以单词、子词或字符的形式存在,而计算机处理的是数字。Tokenizer的任务就是将文本分割成一系列标记(tokens),并将这些标记映射到唯一的数字ID,以便语言模型能够理解和处理它们。

tokenizer分词粒度:

主要包括三种粒度:字符级分词、单词级分词和子词级分词。

1. 字符级分词:

  • 字符级分词是将文本分割成最小的单元,即字符。
  • 每个字符都被视为一个标记,并分配一个唯一的数字ID。
  • 这种分词粒度通常用于处理语言中的字符级别任务,如中文分词、拼写检查等。
  • 优点:能够处理多种语言,不受词汇表大小限制。
  • 缺点:对于长文本,生成的标记数量较多,可能需要更大的计算和存储资源。而且严重丢失了词汇的语义信息和边界信息,这对 NER 等关注词汇边界的任务来说会有一定的影响。

2. 单词级分词:

  • 单词级分词是将文本分割成单词作为标记。
  • 每个单词通常映射到一个数字ID,这些ID根据语言模型的词汇表来确定。
  • 这种分词粒度通常用于传统的NLP任务,如情感分析、文本分类等。
  • 优点:文本表示更加语义明确,适用于大多数文本处理任务。
  • 缺点:需要维护大型词汇表,对于某些语言和特殊术语可能不适用(OOV问题)。

3. 子词级分词:

  • 子词级分词是将文本分割成子词或更小的单元,如WordPieces或字母的组合。
  • 每个子词映射到一个数字ID,这些ID也根据语言模型的词汇表来确定。
  • 这种分词粒度常用于现代预训练语言模型,如BERT、GPT等。
  • 优点:能够处理未登录词、多语言、语言中的复杂变形等,适用于各种任务。
  • 缺点:增加了标记的数量,可能需要更大的存储和计算资源。

常用tokenizer算法:

常用的tokenizer算法主要包括:BPE(Byte-Pair Encoding),WordPiece和SentencePiece,他们都是用于将文本分割成子词或更小单元的算法,通常用于构建现代NLP模型的输入。以下是对这些算法的简要介绍:

BPE(Byte-Pair Encoding)

  • BPE是一种基于统计信息的分词算法,最早用于压缩数据。它后来被引入到自然语言处理中,用于生成子词级别的标记。
  • BPE的基本思想是从字符级别开始,逐步合并最频繁出现在文本中的字符序列,以创建更大的子词。
  • BPE算法的步骤包括: a. 初始化:将文本分割成单个字符。 b. 统计:统计字符序列对的频率,然后合并最频繁的字符序列,生成更大的子词。 c. 重复:重复步骤b,直到达到所需的词汇表大小或者合并次数。
  • BPE生成的子词通常是可重构的,可以还原成原始文本。

例子:

假设我们有一个语料库包含以下单词:

  1. "subword"
  2. "subwoofer"
  3. "submarine"
  4. "subtle"

步骤1:初始化

开始时,我们将每个字符视为一个独立的标记:

s u b w o r d
s u b w o o f e r
s u b m a r i n e
s u b t l e

步骤2:统计字符对的频率

我们统计字符对的频率,例如 "s u" 出现4次, "u b" 出现4次,等等。

步骤3:合并最频繁的字符对

合并出现频率最高的字符对,例如 "s u" 出现最频繁,我们将它合并成一个新的子词 "su".

字符序列更新为:

su b w o r d
su b w o o f e r
su b m a r i n e
su b t l e

步骤4:重复

重复步骤2和步骤3,继续合并最频繁的字符对,直到满足停止条件。在这个示例中,我们只进行了一次合并。

采用BPE的语言模型:

使用BPE算法的语言模型主要有:BERT、GPT2、RoBERTa

  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值