encoding - 编码错误:用越南语从头开始训练 BERT
问题描述
我遵循本教程如何使用 Transformers 和 Tokenizers 从头开始训练新的语言模型。
在 Section 2. Train a tokenizer 中,通过我自己的越南文本数据进行训练后,我查看生成的 .vocab 文件,所有的标记都变成了这样:
"ĠÄij":268,"nh":269,"ủ":270,"Ãł":271,"Ġch":272,"iá»":273,"á":274,"Ġl":275,"Ġb":276,"Æ°":277,"Ġh":278,"ế":279,
有什么办法解决这个问题吗?
解决方案
您可以使用 ByteLevel 解码器(ByteLevelBPETokenizer 使用的部分)读取这些令牌,如下所示:
a = tokenizer.encode("thầy giáo rất tốt.").tokens
print(a)
>> ['<s>', 'thầy', 'Ġgiáo', 'Ġrất', 'Ġtá»ijt', '.', '</s>']
from tokenizers.decoders import ByteLevel
decoder = ByteLevel()
decoder.decode(a)
>> <s>thầy giáo rất tốt.</s>
推荐阅读
- python - 编写正则表达式以获取特定字符后的所有单词
- c - 如何查找输入 IP 地址的类别、网络地址、有效主机地址范围、广播地址和默认掩码(有类)
- vim - vim 自动换行器
- node.js - Mongoose 没有创建集合
- node.js - 如何在猫鼬中按日期分组?
- python - 带有 ssl 证书的烧瓶 mongoengine
- apache - ERR_CONNECTION_REFUSED 用于 nginx -> apache2 设置
- php - Laravel:多次提交表单中断结帐过程
- python - 为什么我无法访问 pandas 中的日期时间数据?
- java - 使用连接池使用 JUnit 对 DAO 类进行单元测试