Views
No views yet
dict_path.1from typing import Optional
2
3from tokenizers import Tokenizer, NormalizedString, PreTokenizedString
4from tokenizers.processors import BertProcessing
5from tokenizers.pre_tokenizers import PreTokenizer
6from transformers import PreTrainedTokenizerFast
7
8# load a tokenizer
9dict_path = /path/to/nothing_unigram.json
10tokenizer = Tokenizer.from_file(dict_path)
11tokenizer.post_processor = BertProcessing(
12 cls=("[CLS]", tokenizer.token_to_id('[CLS]')),
13 sep=("[SEP]", tokenizer.token_to_id('[SEP]'))
14)
15
16# convert to PreTrainedTokenizerFast
17tokenizer = PreTrainedTokenizerFast(
18 tokenizer_object=tokenizer,
19 unk_token='[UNK]',
20 cls_token='[CLS]',
21 sep_token='[SEP]',
22 pad_token='[PAD]',
23 mask_token='[MASK]'
24)1# Test
2test_str = "こんにちは。私は形態素解析器について研究をしています。"
3tokenizer.convert_ids_to_tokens(tokenizer(test_str).input_ids)
4# -> ['[CLS]','こん','に','ち','は','。','私','は','形態','素','解析','器','について','研究','をして','います','。','[SEP]']1from transformers import AutoModelForMaskedLM
2model = AutoModelForMaskedLM.from_pretrained("hitachi-nlp/bert-base_nothing-unigram")