当前位置: 首页 > news >正文

14.AI搭建preparationのBERT预训练模型进行文本分类

一、回顾:

  1. 对深度学习框架Python2.0进行自然语言处理有了一个基础性的认识
  2. 注意力模型编码器(encoder_layer,用于分类的全连接层dense_layer),抛弃了传统的循环神经网络和卷积神经网络,通过注意力模型将任意位置的两个单词的距离转换成1
  3. 编码器层和全连接层分开,利用训练好的模型作为编码器独立使用,并且根据具体项目接上不同的尾端,以便在运训练好的编码器上通过微调进行训

二、BERT简介: 

Bidirectional  Encoder Representation From transformer,替代了 word embedding 的新型文字编码方案,BERT 实际有多个encoder block叠加而成,通过使用注意力模型的多个层次来获得文本的特征提取

三、基本架构与应用

1.MLM:随机从输入语料中这闭掉一些单词,然后通过上下文预测该单词

2.NSP:判断句子B是否句子A的上下文

四、使用HUGGING FACE获取BERT与训练模型

1.安装

pip install transformers

2.引用 

import torch
from transformers import BertTokenizer
from transformers import BertModel
tokenizer = BertTokenizer.from_pretrained('bert-base-chinese')
pretrain_model = BertModel.from_pretrained("bert-base-chinese")

3. 运用代码_获取对应文本的TOKEN

3.1('bert-base-chinese'模型)

import torch
from transformers import BertTokenizer
from transformers import BertModel
tokenizer = BertTokenizer.from_pretrained('bert-base-chinese')
pretrain_model = BertModel.from_pretrained("bert-base-chinese")tokens = tokenizer.encode("床前明月光",max_length=12,padding="max_length",truncation=True)
print(tokens)
print("----------------------")
print(tokenizer("床前明月光",max_length=12,padding="max_length",truncation=True))
print("----------------------")
tokens = torch.tensor([tokens]).int()
print(pretrain_model(tokens))

 3.2("uer/gpt2-chinese-ancient"模型)

import torch
from transformers import BertTokenizer,GPT2Model
model_name = "uer/gpt2-chinese-ancient"
tokenizer = BertTokenizer.from_pretrained(model_name)
pretrain_model = GPT2Model.from_pretrained(model_name)tokens = tokenizer.encode("春眠不觉晓",max_length=12,padding="max_length",truncation=True)
print(tokens)
print("----------------------")
print(tokenizer("春眠不觉晓",max_length=12,padding="max_length",truncation=True))
print("----------------------")tokens = torch.tensor([tokens]).int()
print(pretrain_model(tokens))

4.进行文本分类

数据准备>数据处理>模型设计>模型训练

get_data:

model:

 train:

 finally,随着训练,准确率会越来越高

相关文章:

  • Form开发指南-第二弹:基本配置与开发流程
  • MDK程序调试
  • JupyterNotebook全能指南:从入门到精通
  • 6.5本日总结
  • AIGC赋能前端开发
  • 整合swagger,以及Knife4j优化界面
  • ABB 1MRK002247-Apr04保护继电器模块技术分析
  • 灵活控制,modbus tcp转ethernetip的 多功能水处理方案
  • Linux 里 su 和 sudo 命令这两个有什么不一样?
  • 算法:前缀和
  • C++中`printf`格式化输出的实用案例和说明
  • Cad 反应器 cad c#二次开发
  • 05【Linux经典命令】Linux 用户管理全面指南:从基础到高级操作
  • Python Day42 学习(日志Day9复习)
  • Windows11:解决近期更新后无法上网的问题
  • 【连接器专题】案例:FPC焊接金手指顶层和底层开窗/焊盘为什么要错位?
  • 如何排查和解决PHP连接数据库MYSQL失败写锁的问题
  • ​AI大模型与法律:智能时代下的司法技术挑战
  • 基于机器学习的水量智能调度研究
  • 基于SpringBoot的房屋租赁系统的设计与实现(thymeleaf+MySQL)
  • 移动互联网站建设/十大放黄不登录不收费
  • 网站美工设计收费/正规的培训机构有哪些
  • 网站标题设置/网站友情链接的好处
  • 做网站难还是app/百度app下载官方免费下载安装
  • 动漫网站开发设计思想/产品推广公司
  • 云南网站开发公司介绍/seo教程书籍