torchtext.vocab.build_vocab_from_iterator的参数介绍以及使用
build_vocab_from_iterator的参数介绍以及使用
因为使用的时候不知道specials参数是什么意思,网上也没找到一个比较好的解释,所以记录一下
这个函数的作用是从一个可迭代对象中统计token的频次,并返回一个vocab(词汇字典)
上述是官网API接口的定义形式,参数有五个,返回值是Vocab类型实例,五个参数分别是:
iterator
:一个用于创建vocab(词汇字典)的可迭代对象min_freq
:最小频数。只有在文本中出现频率大于等于min_freq
的token才会被保留下来specials
:特殊标志,字符串列表。用于在词汇字典中添加一些特殊的token/标记,比如最常用的'<unk>',用于代表词汇字典中未存在的token,当然也可以用自己喜欢的符号来代替(PS:用"鸡你太美"也行),具体的意义也取决于用的人。(PS:'<unk>'一般用于表示未知token,也可以用"鸡你太美"表示未知token。但是一般约定俗称了一些有特殊含义的token,预训练时也可能使用了,所以最好还是按照常用的方式使用)special_first
:表示是否将specials
放到字典的最前面,默认是Truemax_tokens
:即限制一下这个词汇字典的最大长度。且这个长度包含的specials列表的长度
以上需要注意的几点:
- 若是
specials
设置为了False
,则直接默认加在末尾 - 通过该方法建立的vocab默认按照频次从大到小的顺序排列,若
specials_first
为True
,则specials
在最前面 max_tokens
也是按照vocab的顺序,从前往后的保存,也就是说如果两个token出现的频次一样,那么在是按照出现的顺序来决定vocab中两个单词的顺序- 一般使用
<unk>
时,通常配合set_default_index()
一起使用
举例:
刚刚接触这个领域,有什么错误大佬们随时指出
__EOF__

本文作者:Fortunater
本文链接:https://www.cnblogs.com/Fortunater/p/16971419.html
关于博主:不急不躁,一步一步走向技术巅峰
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
本文链接:https://www.cnblogs.com/Fortunater/p/16971419.html
关于博主:不急不躁,一步一步走向技术巅峰
版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!
声援博主:如果您觉得文章对您有帮助,可以点击文章右下角【推荐】一下。您的鼓励是博主的最大动力!
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步