Python中的transformers.BertTokenizerfrom_pretrained()方法用于加载中文BERT模型
transformers.BertTokenizer.from_pretrained()方法用于加载预训练好的BERT模型,并返回一个处理文本的tokenizer对象。tokenizer对象可以将文本编码为模型所需的输入特征。以下是一个使用中文BERT模型加载tokenizer的例子:
首先,确保已安装transformers库:
pip install transformers
接下来,导入必要的库:
from transformers import BertTokenizer
然后,使用from_pretrained()方法加载BERT模型的tokenizer:
tokenizer = BertTokenizer.from_pretrained('bert-base-chinese')
这里的参数'bert-base-chinese'指定要加载的预训练模型,这是一个基于中文的BERT模型。
现在,可以使用tokenizer对象对文本进行编码。下面是一个使用例子:
text = "这是一个使用例子。" tokens = tokenizer.tokenize(text) # 对文本进行分词 input_ids = tokenizer.convert_tokens_to_ids(tokens) # 将分词转换为模型的输入id序列
以上代码首先使用tokenizer.tokenize()方法对文本进行分词,返回一个分词后的token列表。然后,使用tokenizer.convert_tokens_to_ids()方法将token列表转换为模型的输入id序列。
如果要将多个文本编码为相同长度的输入特征,可以使用tokenizer.batch_encode_plus()方法。以下是一个使用例子:
texts = ["这是 个文本。", "这是第二个文本。"]
encoding = tokenizer.batch_encode_plus(
texts,
padding=True,
truncation=True,
max_length=512,
return_tensors='pt'
)
input_ids = encoding['input_ids']
attention_mask = encoding['attention_mask']
以上代码将texts列表中的两个文本编码为相同长度的输入特征。参数padding=True指定对短文本进行填充,truncation=True指定对长文本进行截断,max_length指定输入特征的最大长度,return_tensors='pt'指定返回PyTorch张量。
可以通过打印input_ids和attention_mask来查看编码后的输入特征。
这就是使用transformers.BertTokenizer.from_pretrained()方法加载中文BERT模型的基本步骤以及编码文本的例子。希望对你有所帮助!
