Professional Documents
Culture Documents
理解真实业务场景中, ChatGPT的使用方式
u 1.项目背景 项目主要解决哪种实际业务?
u 2.项目架构 从数据获取到模型搭建与预测
目录
u 3.RNN介绍 RNN能够解决什么问题?
u 4.数据获取 如何获取数据?
u 6.基于ChatGPT完成模型的搭建 ChatGPT生成模型代码
u 7.模型评估与结果分析 如何验证模型效果?
多一句没有,少一句不行,用最短时间,教会更实用的技术!
CHATGPT
INTRODUCE
项目背景
01 项目背景是什么?实际业务是什么?
高级数字化人才培训专家
多一句没有,少一句不行,用最短时间,教会更实用的技术!
• 项目介绍 项目名称
人名分类器案例实战
业务含义 项目价值
根据人名预测是哪一个国家
AI赋能互联网业务,提高业务效率
(18个国家)
业务加持
用户注册过程中, 会根据用户填写
的名字直接给他分配可能的国家或
地区选项
高级数字化人才培训专家
多一句没有,少一句不行,用最短时间,教会更实用的技术!
• 项目背景
• 以一个人名为输入, 使用模型帮助我们判断它最有可能是来自哪一个国家的人名,
姓名
高级数字化人才培训专家
多一句没有,少一句不行,用最短时间,教会更实用的技术!
• 项目背景
• 以一个人名为输入, 使用模型帮助我们判断它最有可能是来自哪一个国家的人名, 这在某些国际化公司
的业务中具有重要意义, 在用户注册过程中, 会根据用户填写的名字直接给他分配可能的国家或地区选
项, 以及该国家或地区的国旗, 限制手机号码位数等等.
通过深度学习模
型根据名字获取
国家和地区
高级数字化人才培训专家
多一句没有,少一句不行,用最短时间,教会更实用的技术!
• 项目解决方案确定
项目解决方案确定
文本分类/情感分析
比如情感分类情感分类精度很高,即好中差三类
文本摘要
从给定的文本中,聚焦到最核心的部分,自动生成摘要。
NLP几大领域
文本分类/情感分析
文本摘要 问答系统\对话系统
问答系统
问答系统旨在直接给出精准回答,而对话系统旨在以口语化的自然语言
对话系统
对话的方式解决用户问题。ChatGPT是两类系统整合的工具。
文本聚类
知识图谱
..............
高级数字化人才培训专家
多一句没有,少一句不行,用最短时间,教会更实用的技术!
• 项目解决方案确定
项目解决方案确定
属于哪种类型?
Ø 根据人名预测用户是哪一个国家
Ø 属于典型文本分类问题
高级数字化人才培训专家
多一句没有,少一句不行,用最短时间,教会更实用的技术!
1.项目背景有哪些?
用户注册过程中, 会根据用户填写的名字直接给他分配可能的国家或地区选项等
2.NLP包含几大领域问题?
总结
总结 文本分类、文本摘要、问答系统、机器翻译、文本纠错等等
3.本项目属于NLP那种类型问题?
文本分类问题
高级数字化人才培训专家
多一句没有,少一句不行,用最短时间,教会更实用的技术!
CHATGPT
INTRODUCE
项目架构
02 项目架构如何理解?
高级数字化人才培训专家
多一句没有,少一句不行,用最短时间,教会更实用的技术!
• 项目整体架构
l 项目案例属于典型文本分类问题
高级数字化人才培训专家
多一句没有,少一句不行,用最短时间,教会更实用的技术!
• 项目整体架构
模型构建与训练
数据获取
Ø 模型构建:RNN系列模型+全连接层
Ø 如何读取数据? Ø 模型训练:模型预测值和真实值Loss
Ø (计算损失,反向传播,梯度更新,模型保存)
01 02 03 04
数据处理 模型评估
作用:检验模型效果
Ø 目的:将文本数据处理成符合模型输入的文本
(实例化模型,加载保存模型,模型预测)
Ø 文本张量化:将文本转化为符合模型输入x以及对应标签y(lucy---English)
Ø 原因:人名属于短文,同时字母之间的联系不紧密(如:lucy,zhangsan)
Ø 构建数据迭代器:将上一步数据源进一步封装,方便模型输入
注意:数据处理需要人工处理,ChatGPT主要在模型构建与训练部分使用 高级数字化人才培训专家
多一句没有,少一句不行,用最短时间,教会更实用的技术!
• 项目整体架构
项目代码结构
高级数字化人才培训专家
多一句没有,少一句不行,用最短时间,教会更实用的技术!
• 项目整体架构
Windows测试环境
【扩展】UCloud云服务测试环境
高级数字化人才培训专家
多一句没有,少一句不行,用最短时间,教会更实用的技术!
1.项目实现流程有哪些?
数据获取,数据处理,模型构建与训练,模型预测,模型评估
总结
总结 2.数据处理的目的什么?
将文本数据处理成符合模型输入的文本
采用的是文本张量化(字符张量化),通过onehot解决
高级数字化人才培训专家
多一句没有,少一句不行,用最短时间,教会更实用的技术!
CHATGPT
USEAGE
RNN简介
03 RNN的结构?RNN特点及应用场景?
高级数字化人才培训专家
多一句没有,少一句不行,用最短时间,教会更实用的技术!
• 什么是RNN?
序列形式 l 什么是RNN?
序列数据 Ø 一般也是以序列形式进行输出
高级数字化人才培训专家
多一句没有,少一句不行,用最短时间,教会更实用的技术!
• RNN网络结构
高级数字化人才培训专家
多一句没有,少一句不行,用最短时间,教会更实用的技术!
• RNN网络结构
l RNN神经网络结构?
Ø 输入层,隐藏层,输出层
Ø 每一个时间步的输入有2个
Ø 每一个时间步的输出有2个
高级数字化人才培训专家
多一句没有,少一句不行,用最短时间,教会更实用的技术!
• RNN使用举例
以一个用户意图识别的例子
高级数字化人才培训专家
多一句没有,少一句不行,用最短时间,教会更实用的技术!
• RNN使用举例
第二步: 首先将单词"What"输送给
RNN, 它将产生一个输出O1.
第三步: 继续将单词"time"输送给
RNN, 但此时RNN不仅仅利用"time"
来产生输出O2, 还会使用来自上一
层隐层输出O1作为输入信息.
高级数字化人才培训专家
多一句没有,少一句不行,用最短时间,教会更实用的技术!
• RNN使用举例
第五步: 最后,将最终的隐层输出
O5进行处理来解析用户意图.
高级数字化人才培训专家
多一句没有,少一句不行,用最短时间,教会更实用的技术!
• RNN作用和应用场景
l RNN模型作用?
因为RNN结构能够很好利用序列之间的关系, 因此针对自然界具有连续
性的输入序列, 如人类的语言, 语音等进行很好的处理,
l RNN应用场景有哪些?
广泛应用于NLP领域的各项任务, 如文本分类, 情感分析, 意图识别, 机器
翻译等.
高级数字化人才培训专家
多一句没有,少一句不行,用最短时间,教会更实用的技术!
• RNN的API
import torch.nn as nn
nn.RNN(5,6,1)
定义模型
第一个参数:5输入数据的尺寸
第二个参数:6 输出数据的尺寸
第三个参数:隐藏层个数
还可以设置batch_size
高级数字化人才培训专家
多一句没有,少一句不行,用最短时间,教会更实用的技术!
1.什么是RNN?
Ø 循环神经网络
总结
总结 2.RNN模型作用?
Ø 针对自然界具有连续性的输入序列, 进行很好的处理
Ø 如人类的语言, 语音等
高级数字化人才培训专家
多一句没有,少一句不行,用最短时间,教会更实用的技术!
CHATGPT
USEAGE
数据获取
04 如何读取数据?了解数据的构成?
高级数字化人才培训专家
多一句没有,少一句不行,用最短时间,教会更实用的技术!
• 数据获取 步骤如下
Ø 数据存放路径: $(home)/data/train.txt
Ø 数据展示
格式说明如下:
数据共分两列: 数据处理思路:
Ø 第一列代表人名 Ø 字符向量化(onehot编码)
Ø 第二列代表国家 Ø 标签编码(labelencoder)
Ø 中间以制表符tab符号分开
高级数字化人才培训专家
多一句没有,少一句不行,用最短时间,教会更实用的技术!
• 数据获取 步骤如下
将文件数据读取到内存
代码展示:
主要步骤:
1、打开数据文件 open(filename, mode='r', encoding='utf-8')
2、按行读文件、提取样本x 样本y line.strip().split('\t')
3、返回样本x的列表、样本y的列表 my_list_x, my_list_y
高级数字化人才培训专家
多一句没有,少一句不行,用最短时间,教会更实用的技术!
1.该项目提供数据集有哪几列?
Ø 第一列代表人名
Ø 第二列代表国家,
总结
总结
Ø 中间以制表符tab符号分开
2.该项目采用何种方法对文本进行处理?
字符张量化(one-hot独热编码)
高级数字化人才培训专家
多一句没有,少一句不行,用最短时间,教会更实用的技术!
CHATGPT
USEAGE
数据预处理
05 文本如何转换为数字?模型输入如何处理?
高级数字化人才培训专家
多一句没有,少一句不行,用最短时间,教会更实用的技术!
数据预处理方法
核心步骤
高级数字化人才培训专家
多一句没有,少一句不行,用最短时间,教会更实用的技术!
• 数据预处理
字符张量化 标签编码
特征 标签列
数据集
lucy english
高级数字化人才培训专家
多一句没有,少一句不行,用最短时间,教会更实用的技术!
• 数据预处理 步骤如下
特征处理 onehot编码
字符张量化 字符数值化、数值张量化,统一由one-
hote编码来实现:字符张量化
为什么采用这种方式? 因为:人名(特别是姓)属于短文,同时字母之间的联系不紧密;
可基于字符做模型搭建,去探索人名(数据) 和国家(标签)之间的关系
高级数字化人才培训专家
多一句没有,少一句不行,用最短时间,教会更实用的技术!
• 数据预处理 独热编码onehot
lucy 作为预料,定义长度为4的列表,如果l出现在第一位置,第一位置为1,其他全为0
[lucy]
l 1 0 0 0
[l,u,c,y] u
c
0
0
1
0
0
1
0
0
y 0 0 0 1
lucy的序列表示:[[1,0,0,0],[0,1,0,0],[0,0,1,0],[0,0,0,1]]
实现思路总结:针对语料去重之后一共有多少个单词,然后以单词长度为基准建立列表,构建onehot编码形式
高级数字化人才培训专家
多一句没有,少一句不行,用最短时间,教会更实用的技术!
• 数据预处理 独热编码onehot
但是english国家名如何处理呢?
标签编码(18个国家用0-17标号)
高级数字化人才培训专家
多一句没有,少一句不行,用最短时间,教会更实用的技术!
• 数据预处理 标签编码(labelencoder)
labelencoder编码
标签列处理方式
18个国家
标签编码
从0-17进行编号
Italian --> 0
English --> 1
Spanish --> 2
Irish --> 3
Chinese --> 4
高级数字化人才培训专家
多一句没有,少一句不行,用最短时间,教会更实用的技术!
• 数据预处理 步骤如下
第一步: 获取常用的字符数量
导入必备的工具包
获取常用字符
人名特点: 以字母、空格、标点符号等组成;常用字符共计57个
高级数字化人才培训专家
多一句没有,少一句不行,用最短时间,教会更实用的技术!
• 数据预处理 步骤如下
第二步: 获取国家名种类和个数
代码展示:
高级数字化人才培训专家
多一句没有,少一句不行,用最短时间,教会更实用的技术!
数据预处理实操
核心步骤
高级数字化人才培训专家
多一句没有,少一句不行,用最短时间,教会更实用的技术!
• 数据预处理 步骤如下
第一步: 构建数据源NameClassDataset
2-数据源DataSet(封装为Torch张量形式)
3-DataLoader
1-原始数据
按照批次拿数据
高级数字化人才培训专家
多一句没有,少一句不行,用最短时间,教会更实用的技术!
• 数据预处理 步骤如下
第一步: 构建数据源NameClassDataset
该步骤的目的,:
主要将英文单词转换为模型可以识别的数字形式:
文本转化为one-hot编码形式: 向量中只有一个元素是1,
其余全是0
高级数字化人才培训专家
多一句没有,少一句不行,用最短时间,教会更实用的技术!
• 数据预处理 步骤如下
该步骤的目的, 将之前自定义的Dataset进行
第二步: 构建迭代器DataLoader遍历数据
再次封装, 用于后面的训练.
高级数字化人才培训专家
多一句没有,少一句不行,用最短时间,教会更实用的技术!
1.数据预处理步骤有哪些?
Step1:获取常用的字符数量
总结
Step2:获取国家名种类和个数
总结 Step3:将文件数据读取到内存
Step4:构建数据源NameClassDataset
Step5:构建迭代器遍历数据
高级数字化人才培训专家
多一句没有,少一句不行,用最短时间,教会更实用的技术!
CHATGPT
GETTING STARTED
基于ChatGPT完成模型的搭建
06 人名分类模型如何构建?模型如何训练?
高级数字化人才培训专家
多一句没有,少一句不行,用最短时间,教会更实用的技术!
• RNN人名分类模型 步骤如下
思路:输入人名,预测18国家具体分类
tensor_x(seqlen,batch_size,input_size) 输入[5,1,57]
高级数字化人才培训专家
多一句没有,少一句不行,用最短时间,教会更实用的技术!
借助ChatGPT
构建RNN人名分类模型
高级数字化人才培训专家
多一句没有,少一句不行,用最短时间,教会更实用的技术!
• 借助ChatGPT构建RNN人名分类模型 步骤如下
高级数字化人才培训专家
多一句没有,少一句不行,用最短时间,教会更实用的技术!
• 借助ChatGPT构建RNN人名分类模型 步骤如下
高级数字化人才培训专家
多一句没有,少一句不行,用最短时间,教会更实用的技术!
• 借助ChatGPT构建RNN人名分类模型 步骤如下
高级数字化人才培训专家
多一句没有,少一句不行,用最短时间,教会更实用的技术!
• 借助ChatGPT构建RNN人名分类模型 步骤如下
第四步: 测试模型
模型结构: RNN+全连接层
模型输出结果: [1, 18], 代表一个样本有18种结果可能
高级数字化人才培训专家
多一句没有,少一句不行,用最短时间,教会更实用的技术!
借助ChatGPT
构建RNN模型训练函数
高级数字化人才培训专家
多一句没有,少一句不行,用最短时间,教会更实用的技术!
• 借助ChatGPT构建RNN模型训练函数 步骤如下
高级数字化人才培训专家
多一句没有,少一句不行,用最短时间,教会更实用的技术!
• 借助ChatGPT构建RNN模型训练函数 步骤如下
第二步: 模型训练代码微调
高级数字化人才培训专家
多一句没有,少一句不行,用最短时间,教会更实用的技术!
借助ChatGPT
构建RNN模型预测函数
高级数字化人才培训专家
多一句没有,少一句不行,用最短时间,教会更实用的技术!
• 借助ChatGPT构建RNN模型预测函数 步骤如下
高级数字化人才培训专家
多一句没有,少一句不行,用最短时间,教会更实用的技术!
• 借助ChatGPT构建RNN模型预测函数 步骤如下
第二步: 模型预测代码微调
定义文本转化函数:
将人名转为数字张量形式, 供模型调用
定义模型预测函数
高级数字化人才培训专家
多一句没有,少一句不行,用最短时间,教会更实用的技术!
1.基于ChatGPT完成模型的搭建的步骤?
总结
Step1:使用ChatGPT构建RNN人名分类模型的搭建
总结 Step2:使用ChatGPT完成模型训练代码的实现
Step3:使用ChatGPT完成模型预测代码的实现
高级数字化人才培训专家
多一句没有,少一句不行,用最短时间,教会更实用的技术!
CHATGPT
MODEL EVALUATION
模型评估与结果分析
07 模型效果表现如何?
高级数字化人才培训专家
多一句没有,少一句不行,用最短时间,教会更实用的技术!
• 实现模型训练代码 代码
结论:随着训练次数的增加, 模型准确率逐步
增大, 损失逐渐减小
高级数字化人才培训专家
多一句没有,少一句不行,用最短时间,教会更实用的技术!
• 实现模型训练代码 代码
总结:
左图示例1, 显示输入人名“lucy”, 预测所属国家为“英国”, 结果正确
右图示例2, 显示输入人名“zhang”, 预测所属国家为“俄罗斯”, 结果不正确
原因: 模型结构过于简单、数据集数量较少
改进方法: 增加模型深度(多加几个全连接层)、增加训练数据集
高级数字化人才培训专家
多一句没有,少一句不行,用最短时间,教会更实用的技术!
总结
模型改进的方法有哪些?
总结 1. 增加模型深度(多加几个全连接层)、
2. 增加训练数据集
高级数字化人才培训专家
多一句没有,少一句不行,用最短时间,教会更实用的技术!
高级数字化人才培训专家
多一句没有,少一句不行,用最短时间,教会更实用的技术!
u 大家思考下, 如何用ChatGPT完成情感分析?
思考
高级数字化人才培训专家