tokenizers学习笔记

一、基于字母的分词方法

  • 将每个字符看作一个词。
  • 优点: 不用担心未知词汇,可以为每一个单词生成词嵌入向量表示。
  • 缺点: 由于字母缺乏内在含义,所以得到的词嵌入向量也缺乏含义。计算复杂度提升,字符(单个汉字)的数目大于token(词)的数目。输出序列的长度将变大,对于Bert、CNN等限制最大长度的模型将很容易达到最大值。

二、基于子词的分词方法(Subword Tokenization)

为了改进分词方法,在UNK数目和词向量含义丰富性之间达到平衡,提出了Subword Tokenization方法。这种方法的目的是通过一个有限的单词列表来解决所有单词的分词问题,同时将结果中token的数目降到最低。例如,可以用更小的词片段来组成更大的词:“unfortunately” = “un” + “for” + “tun” + “ate” + “ly”。
接下来介绍几种不同的Subword Tokenization方法。

(一)Byte Pair Encoding (BPE) 字节对编码

  • 实现流程

  • 根据语料库建立一个词典,词典中仅包含单个字符,如英文中就是a-z。
  • 统计语料库中出现次数最多的字符对(词典中两项的组合),然后将字符对加入到词典中。
  • 重复上一步骤直到到达规定的步骤数目或者词典尺寸缩小到了指定的值。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

打赏作者

AlphaFinance

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

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

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

打赏作者

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

抵扣说明:

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

余额充值