我们已经为您准备好复现该模型所需的环境,您可以创建实例、一键复用哦!

模型的使用文档涵盖模型所需环境、模型简介以及复现模型的具体步骤。模型效果和模型详细来源可以点击论文地址和模型来源链接查看哦~

JointBERT

2022-01-25 jointbert:ubuntu18.04-cuda10.2-cudnn7-python3.6-pytorch1.6.0

模型标签
文本分类文本匹配文本生成文本摘要

模型简介

这篇论文《BERT for Joint Intent Classification and Slot Filling》是2019年2月的文章,Computation and Language会议。意图分类和插槽填充是自然语言理解的两个基本任务。他们经常受到小规模的人工标签训练数据的影响,导致泛化能力差,尤其是对于低频单词。最近,一种新的语言表示模型BERT (Bidirectional Encoder Representations from Transformers),有助于在大型未标记的语料库上进行预训练深层的双向表示,并在经过简单的微调之后为各种自然语言处理任务创建了最新的模型。但是,并没有太多的工作探索Bert 在自然语言理解中的使用。在这项工作中,提出了一种基于BERT的联合意图分类和插槽填充模型。实验结果表明,与基于注意力的递归神经网络模型和插槽门控模型相比,我们提出的模型在多个公共基准数据集上的意图分类准确性,狭缝填充F1和句子级语义框架准确性均取得了显着提高。 论文地址:https://arxiv.org/abs/1902.10909



1. 使用方法

1.1. 指定atis任务进行训练

进入终端,在root/JointBERT(默认)路径下,运行以下命令:

python main.py --task atis  --model_type bert --model_dir atis_model --do_train --do_eval
参数 说明
task atis 指定数据集
model_type bert 模型指定类型
model_dir 模型存储位置
do_train 是否训练
do_eval 是否评估

1.2. 指定snips任务进行训练

进入终端,在root/JointBERT(默认)路径下,运行以下命令:

python main.py --task snips  --model_type bert --model_dir snips_model --do_train --do_eval

1.3. 模型预测

进入终端,在root/JointBERT(默认)路径下,运行以下命令:

python  predict.py --input_file sample_pred_in.txt --output_file sample_pred_out.txt --model_dir atis_model
参数 说明
data_loader.py 这个文件的功能是将文本文件转化成InputExample类数据,并将输入样本转化为bert能够读取的InputFeatures类数据,最后保存至cache文件中,方便下次快速加载
utils.py 模型指定类型
trainer.py 定义了任务的训练与评估以及保存模型与加载模型
main.py 用于模型的训练与评估
predict.py 用于模型的预测

2. 模型来源

https://github.com/monologg/JointBERT