IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 人工智能 -> bert中文分类模型训练+预测+部署 -> 正文阅读

[人工智能]bert中文分类模型训练+预测+部署


0. bert简介

Bert模型是google-research在2018年10月发布的语言表示模型,Bert在NLP领域横扫了11项任务的最优结果,可以说是现今最近NLP中最重要的突破。本篇文章从实践入手,带领大家进行Bert的中文文本分类模型的训练,推理,以及模型服务器部署的使用教程。


1. bert中文分类模型训练

使用bert有两个阶段:预训练微调
什么是预训练?
BERT是一个预训练的模型,那么什么是预训练呢?举例子进行简单的介绍
假设已有A训练集,先用A对网络进行预训练,在A任务上学会网络参数,然后保存以备后用,当来一个新的任务B,采取相同的网络结构,网络参数初始化的时候可以加载A学习好的参数,其他的高层参数随机初始化,之后用B任务的训练数据来训练网络,当加载的参数保持不变时,称为"frozen",当加载的参数随着B任务的训练进行不断的改变,称为“fine-tuning”,即更好地把参数进行调整使得更适合当前的B任务
优点:当任务B的训练数据较少时,很难很好的训练网络,但是获得了A训练的参数,会比仅仅使用B训练的参数更优

1.在自然语言处理领域中,预训练语言模型已成为非常重要的基础技术。预训练需要巨大的运算资源,google官方预训练一个语言模型,需要在 4 到 16 个 Cloud TPU 训练四天的时间,幸运的是,google官方开源了许多预训练模型,包括中文预训练模型。大多数 NLP 研究人员永远不需要从头开始预训练他们自己的模型。

  1. 微调就是在使用预训练模型的基础之上,继续训练,用于下游分类任务或阅读理解任务。

1 下载bert项目代码

https://github.com/google-research/bert

代码结构

  • 预训练
    在开源的代码中,预训练的入口是在run_pretraining.py。
  • 微调
    而微调的入口针对不同的任务分别在run_classifier.py和run_squad.py。
    其中run_classifier.py用于文本分类任务的训练。
    而run_squad.py用于阅读理解任务的训练。
    在这里插入图片描述

2 下载中文预训练模型

对于中文而言,google公布了一个参数较小的BERT预训练模型。

  • 模型下载地址
https://github.com/google-research/bert/blob/master/multilingual.md
  • 进入下载页面,选择:BERT-Base, Chinese进行下载。

在这里插入图片描述

  • 下载完成后,解压至与run_classifier.py同一级目录。

  • 模型文件说明
    在这里插入图片描述
    bert_model.ckpt:存储得模型变量
    vocab.txt:中文文本采用的字典,
    bert_config.json:是bert在训练时,可选调整的一些配置参数。


3 制作中文训练数据集

对中文文本数据进行分类模型的训练,需要编写自己文本处理程序,google官方已经编写基础数据处理类,我们只需根据其代码修改为自己的数据处理类。

任何模型的训练、预测都是需要有一个明确的输入,而BERT代码中processor就是负责对模型的输入进行处理。们以分类任务的为例,介绍如何修改processor来运行自己数据集上的fine-tune。在run_classsifier.py文件中我们可以看到,google对于一些公开数据集已经写了一些processor,如XnliProcessor,MnliProcessor,MrpcProcessor和ColaProcessor。这给我们提供了一个很好的示例,指导我们如何针对自己的数据集来写processor。

class kedataProcessor(DataProcessor):
  """Processor for the XNLI data set."""

  def get_train_examples(self, data_dir):
      return self._create_examples(

          self._read_tsv(os.path.join(data_dir, "train.tsv")), "train")

  def get_dev_examples(self, data_dir):
      return self._create_examples(
          self._read_tsv(os.path.join(data_dir, "dev.tsv")), "dev")

  def get_test_examples(self, data_dir):
      return self._create_examples(
          self._read_tsv(os.path.join(data_dir, "test.tsv")), "test")

  def get_labels(self):
      # 这里返回的为具体的你的分类的类别
      labelf = open(FLAGS.data_dir+'\label.csv', 'r', newline='', encoding = 'gb2312')
      labeldata = csv.reader(labelf, delimiter="\t")
      labelList=[]
      for line in labeldata:
          label=line[1]
          labelList.append(label)

      return labelList

  def _create_examples(self, lines, set_type):
      """Creates examples for the training and dev sets."""
      examples = []
      for (i, line) in enumerate(lines):
          guid = "%s-%s" % (set_type, i)
          text_a = tokenization.convert_to_unicode(line[1])
          label = tokenization.convert_to_unicode(line[0])
          # print('guid:',guid," text:",text_a,' label:',label)
          examples.append(
              InputExample(guid=guid, text_a=text_a, text_b=None, label=label))

      return examples

  人工智能 最新文章
2022吴恩达机器学习课程——第二课(神经网
第十五章 规则学习
FixMatch: Simplifying Semi-Supervised Le
数据挖掘Java——Kmeans算法的实现
大脑皮层的分割方法
【翻译】GPT-3是如何工作的
论文笔记:TEACHTEXT: CrossModal Generaliz
python从零学(六)
详解Python 3.x 导入(import)
【答读者问27】backtrader不支持最新版本的
上一篇文章      下一篇文章      查看所有文章
加:2021-09-10 10:50:39  更:2021-09-10 10:53:06 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/27 15:35:53-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码