You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

HuggingFace不同预训练Tokenizer中文句子分词差异及问题咨询

关于HuggingFace中文Tokenizer的两个疑问

测试代码与结果

我正在测试HuggingFace中多款预训练模型的Tokenizer对中文句子的处理功能,测试代码如下:

from transformers import BartTokenizer, BertTokenizer

text_eng = 'I go to school by train.'
text_can = '我乘搭火車上學。'
text_chi = '我搭火車返學。'

tokenizer_bartchinese = BertTokenizer.from_pretrained('fnlp/bart-base-chinese')
tokenizer_bertchinese = BertTokenizer.from_pretrained('bert-base-chinese')
tokenizer_fb = BartTokenizer.from_pretrained('facebook/bart-large') 

# BART Chinese
print(tokenizer_bartchinese.tokenize(text_eng))
print(tokenizer_bartchinese.tokenize(text_can))
print(tokenizer_bartchinese.tokenize(text_chi))

# BERT Chinese
print(tokenizer_bertchinese.tokenize(text_eng))
print(tokenizer_bertchinese.tokenize(text_can))
print(tokenizer_bertchinese.tokenize(text_chi))

# BART Large
print(tokenizer_fb.tokenize(text_eng))
print(tokenizer_fb.tokenize(text_can))
print(tokenizer_fb.tokenize(text_chi))

运行后得到的分词结果:

['I', 'go', 'to', 'school', 'by', 'train', '.']
['我', '乘', '搭', '火', '車', '上', '學', '。']
['我', '搭', '火', '車', '返', '學', '。']
['[UNK]', 'go', 'to', 'school', 'by', 't', '##rain', '.']
['我', '乘', '搭', '火', '車', '上', '學', '。']
['我', '搭', '火', '車', '返', '學', '。']
['I', 'Ġgo', 'Ġto', 'Ġschool', 'Ġby', 'Ġtrain', '.']
['æĪ', 'ij', 'ä¹', 'ĺ', 'æ', 'IJ', 'Ń', 'ç', 'ģ«', 'è»', 'Ĭ', 'ä¸Ĭ', 'åŃ', '¸', 'ãĢĤ']
['æĪ', 'ij', 'æ', 'IJ', 'Ń', 'ç', 'ģ«', 'è»', 'Ĭ', 'è¿', 'Ķ', 'åŃ', '¸', 'ãĢĤ']

疑问解答

1. Tokenizer是否应识别中文词汇(如“火車”),按词汇而非单字符分词?

你使用的bert-base-chinese和fnlp/bart-base-chinese这类中文预训练模型的Tokenizer,本身就是基于单字符分词设计的。这类模型在预训练阶段采用字级切分策略,原因是中文词汇边界没有明确标准,字级切分通用性更强,还能避免未登录词的问题。

如果需要词级别的分词结果,得用专门针对中文词训练的Tokenizer,或者先通过jieba等工具做中文分词后再处理,但这种方式可能和预训练模型的输入格式不兼容,需要额外适配。你预期的['我', '乘搭', '火車', '上', '學', '。']属于词级分词,这类基础中文BERT/BART模型不会输出这类结果。

2. facebook/bart-large生成乱码字符是否属于正常现象?

这是正常现象。facebook/bart-large是纯英文预训练的模型,它的Tokenizer只针对英文文本优化,没有包含中文的字符编码和词表。中文文本对它来说是完全陌生的字符,编码时会被错误解析,最终输出乱码。处理中文必须使用专门的中文预训练BART模型,比如你用到的fnlp/bart-base-chinese。


内容的提问来源于stack exchange,提问作者Raptor

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.07 20:03:16