一、背景

bert是一种基于transformer的结构,也就是比较经典的attention机制,bert的思维导图模型如下所示(其他人总结的):
image

二、bert使用

使用bert首先需要安装transformers以及bert的模型(可以在安装完bert后使用)

pip install transformers

transformers中的embedding是TFBertEmbedding,这里有一个Bert训练的Embedding,fastNLP,安装指令如下:

pip install fastNLP

除此之外,还有一种新型的封装pytorch和TensorFlow的NLP语言包allennlp

pip install allennlp

下面就会对分词、Embedding进行说明。

2.1 tokenizer

接下来就是直接使用bert

from transformers import BertTokenizer
tokenizer = BertTokenizer.from_pretrained("bert-base-uncased")
tokens = tokenizer.tokenize(text)  # 分词 
# tokens = list(filter(lambda x: x not in stop_word, tokens))
tokens = tokenizer.convert_tokens_to_ids(tokens) # 转化成id
2.2 Embedding的使用
from fastNLP.embeddings import BertEmbedding
from fastNLP import Vocabulary
from transformers import BertTokenizer
vocab = Vocabulary()
vocab.add_word_lst(tokenizer.vocab)

embed = BertEmbedding(vocab, model_dir_or_name='en-base-cased')

其他的就和通用bert的使用类似。

posted on 2022-09-30 09:13  蔚蓝色の天空  阅读(780)  评论(0编辑  收藏  举报