bert几乎同一天下的时候,
rasa这个nlu的框架如何使用bert,可用的超级攻略在此:
代码在:
https://github.com/killinux/rasa_bert
git clone https://github.com/killinux/rasa_bert
cd rasa_bert
哈,安装可能错误比较多,用我的方式:
pip install -r requirements.txt -i https://mirrors.aliyun.com/pypi/simple/
pip uninstall tensorflow
pip install tensorflow-gpu=1.14.0
如果mac下没有tensorflow-gpu
就
pip install tensorflow==1.14.0
pip install kashgari-tf==0.5.5 -i https://mirrors.aliyun.com/pypi/simple/
之后一定要加环境变量
export PYTHONPATH=/opt/mt/rasa/rasa_bert/components
因为配置文件config.yml定义的pipeline 里kashgari_intent_classifier.py
在components下
前提条件还要google bert的预训练模型:
下载地址:
https://github.com/ymcui/Chinese-BERT-wwm#%E4%B8%AD%E6%96%87%E6%A8%A1%E5%9E%8B%E4%B8%8B%E8%BD%BD
BERT-wwm-ext, Chinese
文件名字为:chinese_L-12_H-768_A-12.zip
解压到:rasa_bert/google/chinese_wwm_ext_L-12_H-768_A-12
对应配置文件
config.yml的
bert_model_path: "/opt/mt/rasa/rasa_bert/google/chinese_wwm_ext_L-12_H-768_A-12"
配置文件具体为:
language: "zh"
pipeline:
- name: "kashgari_intent_classifier.KashgariIntentClassifier"
bert_model_path: "/opt/mt/rasa/rasa_bert/google/chinese_wwm_ext_L-12_H-768_A-12"
use_cudnn_cell: False
sequence_length: 32
- name: "kashgari_entity_extractor.KashgariEntityExtractor"
bert_model_path: "/opt/mt/rasa/rasa_bert/google/chinese_wwm_ext_L-12_H-768_A-12"
use_cudnn_cell: False
sequence_length: 32
对pre-train的bert模型进行finetune
新增的预料放到 rasa_bert/data/nlu/nlu.md中
参考Makefile内容
进行训练:
训练指定了自定义的nlu预料,配置文件里指定了bert的预训练模型位置,和输出新模型的位置
rasa train nlu -u data/nlu -c config.yml --out models/nlu
把nlu模型生成到rasa_bert/models/nlu下
nlu-20200816-165652.tar.gz
启动nlu服务:
启动服务去加载生成的nlu模型就好
rasa run --enable-api -m models/nlu/nlu-20200816-165652.tar.gz
或者全一点
rasa run --enable-api -m models/nlu/nlu-20200816-184316.tar.gz -p 5500 --cors "*" --log-file out.log &
会开启5005端口,这个在mac下也比较慢,多等一下
测试nlu服务
curl localhost:5500/model/parse -d '{"text":"你好"}'|jq
得到
{
"intent": {
"name": "greet",
"confidence": 0.9935992956161499
},
"entities": [],
"intent_ranking": [
{
"name": "greet",
"confidence": 0.9935992956161499
},
参考:
https://www.cnpython.com/pypi/rasa-nlu-gao
https://github.com/GaoQ1/rasa_chatbot_cn
这个fine tune的需要起服务:
https://github.com/killinux/rasa-bert-finetune
代码在:
https://github.com/killinux/rasa_bert
分享到:
相关推荐
rasa 使用内置bert时 transformer所需要加载的9个文件。components 使用HFTransformersNLP
介绍支持rasa json数据格式的bert finetune准备在训练finetune模型前需要先下载bert pre-train model,这里用的是中文的,可去官网下载chinese_L-12_H-768_A-12 。 json文件称为rasa_dataset_training.json ,dev的...
bert-base-chinese bert中文预训练基线模型
并放到 pre_models 文件夹中,重命名为 tf_model.h5命令执行:curl -L https://mirror.tuna.tsinghua.edu.cn/hugging-face-models/bert-base-chinese-tf_model.h5 -o pre_models/tf_model.h5rasa train运行示例普通 ...
使用bert模型进行训练测试,执行命令如下 python main.py --model bert 基于训练好的bert模型预测新数据,执行命令如下 python predict.py --model bert --predict "your sentence" 使用ERNIE模型进行训练测试,...
本课件是对论文 BERT: Pre-training of Deep Bidirectional Transformers for Language Understanding 的导读与NLP领域经典预训练模型 Bert 的详解,通过介绍NLP领域对通用语言模型的需求,引入 Bert 模型,并对其...
给大家分享一套课程——Python自然语言处理-BERT实战,提供全部课程资料,包括PPT,数据,代码。 Python自然语言处理-BERT模型实战课程旨在帮助同学们快速掌握当下NLP领域最核心的算法模型BERT的原理构造与应用实例。...
you need to download bert_chinese_model and unzip it first: git clone https://github.com/BI4O/rasa_milktea_chatbot.git cd rasa_milktea_chatbot pip install -r requirements.txt -i ...
BERT文本分类代码对应的数据
在pytorch上实现了bert模型,并且实现了预训练参数加载功能,可以加载huggingface上的预训练模型参数。 主要包含以下内容: 1) 实现BertEmbeddings、Transformer、BerPooler等Bert模型所需子模块代码。 2) 在子模块...
BERT模型实战1
Bert
1、内容概要:本资源主要基于bert(keras)实现文本分类,适用于初学者学习文本分类使用。 2、数据集为电商真实商品评论数据,主要包括训练集data_train,测试集data_test ,经过预处理的训练集clean_data_train和...
bert-base-chinese-tf_model.h5
bert文本分类 代码+数据bert文本分类 代码+数据bert文本分类 代码+数据
bert模型句子向量化
BERT模型的原理,并采用keras微调BERT实现了情感分析。BERT作为一个目前热门的预训练模型,其效果突出,在文本特征提取阶段均可采用该模型,再根据具体的业务场景对损失函数进行修改即可实现对应的模型搭建。当然在...
在Pyrotch上实现情感分类模型,包含一个BERT 模型和一个分类器(MLP),两者间有一个dropout层。BERT模型实现了预训练参数加载功能,预训练的参数使用HuggingFace的bert_base_uncased模型。同时在代码中实现了基于预...
主要是调用bert实现词向量的转换,生成新的词向量,之后将词向量作为入参对接其他的模型
BERT vocab.txt