使用pytorch_pretrained_bert.tokenization.BertTokenizerfrom_pretrained()在命名实体识别任务中进行中文文本处理
发布时间:2024-01-07 16:25:55
以下是使用pytorch_pretrained_bert.tokenization.BertTokenizer进行中文命名实体识别任务的示例:
import torch
from pytorch_pretrained_bert import BertTokenizer
# 加载预训练的BERT模型的tokenizer
tokenizer = BertTokenizer.from_pretrained('bert-base-chinese')
# 示例句子
text = "我喜欢去北京故宫参观。"
# 将句子tokenize为BERT所需的格式
tokens = tokenizer.tokenize(text)
print(tokens)
# 输出: ['我', '喜', '欢', '去', '北', '京', '故', '宫', '参', '观', '。']
# 将token转换为BERT所需的索引
input_ids = tokenizer.convert_tokens_to_ids(tokens)
print(input_ids)
# 输出: [2769, 5390, 4939, 704, 1266, 751, 3617, 2137, 3241, 4385, 511]
# 添加起始和结束标记
input_ids = [tokenizer.cls_token_id] + input_ids + [tokenizer.sep_token_id]
print(input_ids)
# 输出: [101, 2769, 5390, 4939, 704, 1266, 751, 3617, 2137, 3241, 4385, 511, 102]
# 将索引转为PyTorch张量
input_tensor = torch.tensor(input_ids)
print(input_tensor)
# 输出: tensor([ 101, 2769, 5390, 4939, 704, 1266, 751, 3617, 2137, 3241, 4385, 511, 102])
在此示例中,我们使用bert-base-chinese预训练的BERT模型的tokenizer,首先将文本进行tokenize,然后将token转换为BERT所需的索引,最后将索引转为PyTorch张量以供模型使用。希望这个例子能对您有所帮助!
