Views
No views yet
1import jieba_fast
2from transformers import BertTokenizer
3from transformers import BigBirdModel
4class JiebaTokenizer(BertTokenizer):
5 def __init__(
6 self, pre_tokenizer=lambda x: jieba_fast.cut(x, HMM=False), *args, **kwargs
7 ):
8 super().__init__(*args, **kwargs)
9 self.pre_tokenizer = pre_tokenizer
10 def _tokenize(self, text, *arg, **kwargs):
11 split_tokens = []
12 for text in self.pre_tokenizer(text):
13 if text in self.vocab:
14 split_tokens.append(text)
15 else:
16 split_tokens.extend(super()._tokenize(text))
17 return split_tokens
18model = BigBirdModel.from_pretrained('Lowin/chinese-bigbird-small-1024')
19tokenizer = JiebaTokenizer.from_pretrained('Lowin/chinese-bigbird-small-1024')