文本分类(三)
Github优秀文本分类项目解析(基于预训练语言模型,如:Bert、XLNet、AlBert等)。
CoreJT
中科院自动化所在读直博生,感兴趣的研究方向:文本分类、情感分析、机器阅读理解与问答系统以及对话系统。
展开
-
文本分类(三) | (6) 番外篇(预训练语言模型的另一种使用方式)
完整项目(番外篇) 本篇博客也是对Github优秀文本分类项目的解析,该文本分类项目,主要基于预训练语言模型,包括bert、xlnet、bert/xlnet + CNN/GRU/LSTM、Albert等,使用PyTorch实现。 项目其实提供了一种预训练语言模型的通用方法,可以将本项目扩展为使用任意的预训练语言模型(包括:albert、xlnet、roberta,t5,gpt等,以及他们与各种...原创 2020-01-31 15:05:38 · 7998 阅读 · 1 评论 -
文本分类(三) | (5) 训练、验证以及测试
完整项目 最后,介绍一下模型的训练、验证以及测试流程。 目录 1. 训练 2. 验证 3. 测试 1. 训练 def train(config, model, train_iter, dev_iter, test_iter): start_time = time.time() model.train()#训练模式 param_optimizer = list...原创 2020-01-29 15:10:55 · 3248 阅读 · 3 评论 -
文本分类(三) | (4)模型及其配置的定义(基于预训练语言模型)
完整项目 本篇博客,主要介绍各个模型的模块定义,包括模型本身的定义以及模型对应的配置(超参数)的定义,二者在一个模块文件中。 目录 1. bert 2. bert+CNN 3. bert+RNN 4. bert+RCNN 5. bert+DPCNN 6. ERNIE 1. bert 配置类 class Config(object): """配置参...原创 2020-01-29 14:54:01 · 3208 阅读 · 6 评论 -
文本分类(三) | (3) 数据预处理
完整项目 本篇博客主要介绍一下数据预处理,包括构建数据集和迭代器。由于预训练语言模型有相应的词表文件,所以不需要手动构建词典,不过在预处理阶段,需要指明输入序列的填充部分和非填充部分。 目录 1.构建数据集 2. 构建迭代器 1.构建数据集 PAD, CLS = '[PAD]', '[CLS]' # padding符号, bert中综合信息符号 def bui...原创 2020-01-29 13:50:58 · 2979 阅读 · 9 评论 -
文本分类(三) | (2) 程序入口
完整项目 run.py是整个项目的入口,它包含两部分,一是使用argparse工具,配置相关参数;二是整个项目的流程框架,各个模块/函数的调用。 目录 1. 参数配置 2. 项目流程 1. 参数配置 #声明argparse对象 可附加说明 parser = argparse.ArgumentParser(description='Chinese Text Classif...原创 2020-01-29 13:31:29 · 1536 阅读 · 0 评论 -
文本分类(三) | (1) 项目介绍(基于预训练语言模型)
完整项目 文本分类(三)专栏主要是对Github优秀文本分类项目的解析,该文本分类项目,主要基于预训练语言模型,包括bert、bert + CNN/RNN/RCNN/DPCNN、ERNIE等,使用PyTorch实现。 本博客还讲解了一种预训练语言模型的通用方法,即使用transformers库,可以将本项目扩展为使用任意的预训练语言模型(包括:albert、xlnet、roberta,t5,g...原创 2020-01-29 13:22:48 · 5153 阅读 · 6 评论