赞
踩
写在前面
本次的需求是:通过预训练好的Bert模型,得到不同语境下,不同句子的句向量。相比于word2vec、glove这种静态词向量,会含有更丰富的语义,并能解决不同场景不同意思的问题。
建议大家先看Bert原论文(看之前最好懂得ELMo,一定要懂transformer),再结合这个博客(墙裂推荐)
开始
本次记录一共分成以下四步:
安装transformer包
导入BertTokenizer和BertModel
将要输入的句子修改为Bert要求的输入形式
输入Bert模型,得到token向量
安装transformer包
pip install transformer
导入BertTokenizer和BertModel
首先,去huggingface下载你要的预训练模型,我选择的是bert-base-chinesem。需要下载的文件包括:模型bin文件、vocab.txt和config.json。
其次,利用以下代码即可导入BertTokenizer和BertModel。
from transformers import BertModel, BertTokenizer, BertConfig
tokenizer = BertTokenizer.from_pretrained('./model/dl_model/bert')
model = BertModel.from_pretrained('./model/dl_model/bert',)
注意,传入的参数是包含模型所有文件的目录名。其中vocab文件的文件名必须是vocab.txt文件名
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。