bert模型对语料库预处理的代码
时间: 2023-08-28 07:06:04 浏览: 108
PTB(Penn Tree Bank)小型语料库
BERT模型对语料库预处理的代码主要包括以下几个步骤:
1. 将原始语料库转化为BERT模型能够处理的格式
2. 对输入文本进行分词
3. 添加特殊标记,如[CLS]、[SEP]等
4. 对句子进行padding,使其长度相同
5. 构建输入的特征向量
下面是一个简单的BERT模型对语料库预处理的代码示例:
```python
import torch
from transformers import BertTokenizer
from torch.utils.data import TensorDataset, DataLoader, RandomSampler, SequentialSampler
# 加载BERT分词器
tokenizer = BertTokenizer.from_pretrained('bert-base-uncased')
# 加载数据集
sentences = ["This is the first sentence.", "This is the second sentence."]
labels = [0, 1]
# 对文本进行分词和添加特殊标记
input_ids = []
for sentence in sentences:
encoded_sent = tokenizer.encode(sentence, add_special_tokens=True)
input_ids.append(encoded_sent)
# 对句子进行padding
MAX_LEN = 64
input_ids = torch.tensor([i + [0]*(MAX_LEN-len(i)) for i in input_ids])
# 构建attention masks
attention_masks = []
for sent in input_ids:
att_mask = [int(token_id > 0) for token_id in sent]
attention_masks.append(att_mask)
# 构建数据集
dataset = TensorDataset(input_ids, attention_masks, torch.tensor(labels))
# 构建数据加载器
batch_size = 32
dataloader = DataLoader(dataset, sampler=RandomSampler(dataset), batch_size=batch_size)
```
以上代码中,我们首先加载了BERT分词器,然后对输入文本进行分词和特殊标记的添加,接着对句子进行padding,最后构建了输入特征向量和数据加载器。这样,我们就可以将预处理后的数据输入到BERT模型中进行训练或推理。
阅读全文