没有合适的资源?快使用搜索试试~ 我知道了~
首页自然语言处理——BERT情感分类实战(一)之预处理
写在前面 网上已经有很多文章对BERT的原理讲得很清楚了,今天我将以实战的方式(假装大家都懂原理≧◔◡◔≦)一步步带大家操作最近比较流行的BERT模型。源代码是pytorch版本。由于篇幅比较长我将分几个部分讲解。第一部分是数据的预处理。这一部分比较简单,但也很重要! 数据的预处理 对文本处理大致分为六个步骤,如图: 【注】本实验平台为Colab 预处理前需要导入的包: !pip install transformers #注:此为使用Colab安装方法 import torch from transformers import BertModel, BertTokenizer 预训练模
资源详情
资源评论
资源推荐

自然语言处理自然语言处理——BERT情感分类实战情感分类实战(一一)之预处理之预处理
写在前面写在前面
网上已经有很多文章对BERT的原理讲得很清楚了,今天我将以实战的方式(假装大家都懂原理≧◔◡◔≦)一步步带大家操作最近比较流行的BERT模型。源代码是pytorch版本。由
于篇幅比较长我将分几个部分讲解。第一部分是数据的预处理。这一部分比较简单,但也很重要!
数据的预处理数据的预处理
对文本处理大致分为六个步骤,如图:
【注】
本实验平台为
Colab
预处理前需要导入的包:
!pip install transformers #注:此为使用Colab安装方法
import torch
from transformers import BertModel, BertTokenizer
预训练模型为bert-base-uncased,下载模型和分类器
bert_model = BertModel.from_pretrained('bert-base-uncased')
tokenizer = BertTokenizer.from_pretrained('bert-base-uncased')
【注】
第一部分主要教大家如何对一个句子进行切分和转化为词向量。后面章节会用
for
循环直接对数据进行批量处理
Tokenization——把句子拆分成若干单词
sentence = 'hehidden likes to play'
#step1:Tokenize
tokens = tokenizer.tokenize(sentence)
print(tokens)
#效果如下,tokenize切分规则源码中有详细讲解
首尾分别添加[CLS]、[SEP]
tokens = ['[CLS]'] + tokens + ['[SEP]'] print(tokens)
#效果如下
用[PAD]填充句子(这里我设置句子长度为20)
padded_tokens = tokens + ['[PAD]' for _ in range(20 - len(tokens))] print(padded_tokens)
#效果如下
注意力mask编码(即有单词的为1,用[PAD]的为0)
attn_mask = [1 if token != '[PAD]' else 0 for token in padded_tokens] print(attn_mask)
#效果如下














安全验证
文档复制为VIP权益,开通VIP直接复制

评论0