fela / tokenization_fela.py
pandeyps's picture
Fela 1.6M
bd4f849 verified
Raw
History Blame Contribute Delete
1.04 kB
import json, os
from transformers import PreTrainedTokenizer
class FelaTokenizer(PreTrainedTokenizer):
vocab_files_names = {"vocab_file": "vocab.json"}
def __init__(self, vocab_file=None, **kwargs):
self.vocab = json.load(open(vocab_file)) if vocab_file else {}
self.itos = {v: k for k, v in self.vocab.items()}
super().__init__(**kwargs)
def _tokenize(self, text, **kwargs):
return list(text)
def _convert_token_to_id(self, token):
return self.vocab.get(token, self.vocab.get("<unk>", 23))
def _convert_id_to_token(self, index):
return self.itos.get(index, "<unk>")
def get_vocab(self):
return dict(self.vocab)
def vocab_size(self):
return len(self.vocab)
def save_vocabulary(self, save_directory, filename_prefix=None):
fname = os.path.join(save_directory, (filename_prefix + "-" if filename_prefix else "") + "vocab.json")
with open(fname, "w") as f:
json.dump(self.get_vocab(), f)
return (fname,)