Unigram分词

原视频链接:https://www.youtube.com/watch?v=TGZfZVuF9Yc&t=28s&ab_channel=HuggingFace

1.假设我们的语料库和对应词频如下:

在1111这里插入图片描述

2.首先,列出所有可能的字符串

在这里插入图片描述

3.每次迭代,我们估计词汇token的概率,删除p%的token(不包括最基本的字母token,因为单个字母可以为任何单词分词),最大限度地减少语料库上的损失。

4.让我们看一个例子

第一次迭代:
每个token的概率按照其在语料库中出现的频率除以所有所有token的总数来计算。
在这里插入图片描述a.我们如何使用Unigram模型来tokenize一个单词?
b.如何计算我们的语料库的损失?
Unigram 对于单词“hug”的分词是所有可能的分词中概率最大的那个,为了找到它,首先要列出所有可能的情况
在这里插入图片描述计算所有情况对应的概率并选出最大的那个并且记录他的概率。
在这里插入图片描述然后对语料库中剩余的单词依次执行相同的计算。
在这里插入图片描述然后损失按下图中的公式计算:
在这里插入图片描述在这里插入图片描述在此强调一下,我们最初的目标是减少词汇量。所以接下来我们将会从词汇表移除一个token并计算相应损失。
我们移除"ug",移除以后我们依然像前面一样以此计算语料库中单词的概率
在这里插入图片描述经过计算,损失依是170.40
在这里插入图片描述其实继续计算会发现,不论移除哪一个token,损失都是170.4,这意味着在下一次迭代之前,可以任意移除一个token(移除ug)
在这里插入图片描述第二次迭代:
计算单词概率,计算语料库上的损失:170.4
移除一个token(假设是hu),重新计算单词概率,进一步计算损失:168.20
在这里插入图片描述然后对剩下的token执行相同操作
在这里插入图片描述移除影响损失最小的token:bu

  • 8
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值