bert 的词表,哪怕是 bert-base-chinese,对中文全角标点的支持不是很好
py
from transformers import BertTokenizerFast
tokenizer = BertTokenizerFast.from_pretrained('models/bert-base-chinese')
tokenizer.tokenize("小明说:"你是厕所大灯笼------找'屎'。"我无语了......")
"""
['小',
'明',
'说',
':',
'[UNK]',
'你',
'是',
'厕',
'所',
'大',
'灯',
'笼',
'[UNK]',
'[UNK]',
'找',
'[UNK]',
'屎',
'[UNK]',
'。',
'[UNK]',
'我',
'无',
'语',
'了',
'[UNK]',
'[UNK]']
"""
因此在微调bert时,需要在vocab.txt
文件里把这些标点加上。直接替换 [unused] token 即可
[PAD]
...
---
"
"
'
'
[unused7]
[unused8]
[unused9]
[unused10]
...