【AllenNLP入门教程】: 1、基于Allennlp2.4版本的文本分类

前言

之前写过【AllenNLP】专栏学习allennlp 框架的一个入门中文教程,最近看的时候发现现在的版本已经从0.8升级到2.6了,升级内容见这里Upgrade guide from 1.x ➡️ 2.0,可以看到有很多内容已经不适应了,所以根据官网最近的教程写了新的中文教程。

本教程可以实现:基于movie review 的文本分类,包括:
1、使用python脚本train、eval、predict
2、使用Allennlp命令行train、eval、predict
3、分别使用lstm模型、bert模型进行训练

代码

代码在:https://github.com/JackKuo666/learn_allennlp_get_start

内容

1.依赖

注意:这里使用以下版本可以跑通,我安装python3.6或
allennlp2.6都出现不同的版本问题。

python == 3.8.0

allennlp == 2.4.0

pip install allennlp -i https://pypi.tuna.tsinghua.edu.cn/simple

2.训练

2.1 使用脚本训练

train

python train.py

eval

python evaluate.py

predict

python predict.py

2.2 使用 allennlp train 训练 embedding+bag_of_embedding

train

allennlp train scripts/my_text_classifier.jsonnet --serialization-dir checkpoint --include-package my_text_classifier

eval

allennlp evaluate checkpoint/model.tar.gz data/movie_review/test.tsv --include-package my_text_classifier

predict

allennlp predict checkpoint/model.tar.gz data/movie_review/test.jsonl --include-package my_text_classifier --predictor sentence_classifier

2.3 使用 allennlp train 训练 bert embedding+bert pool

这里需要下载bert预训练模型放到``bert_pretrain`文件夹下

train

allennlp train scripts/my_text_classifier_bert.jsonnet --serialization-dir checkpoint_bert --include-package my_text_classifier

eval

allennlp evaluate checkpoint_bert/model.tar.gz data/movie_review/test_small.tsv --include-package my_text_classifier

predict

allennlp predict checkpoint_bert/model.tar.gz data/movie_review/test.jsonl --include-package my_text_classifier --predictor sentence_classifier
上一篇:【新手基础教程】自学习分类器(self learning classifier)


下一篇:【Netty】Netty源码编译