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

80万条中文ChatGPT多轮对话数据集

80万条中文ChatGPT多轮对话数据集

  • 代码
  • 代码地址
  • 代码解析

代码

import json
import numpy as np
from tqdm import tqdm
import redef find_chinese_text(text):pattern = re.compile(r'[^\u4e00-\u9fff]')return pattern.sub('', text)with open("E:/data_sets/multiturn_chat_0.8M.json", "r", encoding="utf-8") as f:json_list = f.readlines()data = [json.loads(i) for i in tqdm(json_list)]
data_list = []
basic_list = ["<|User|>", "<|Ash|>"] * 100for one_data in tqdm(data):ins = one_data["instruction"]# inp=one_data["input"]out = one_data["output"]ins = np.hstack([i.split("Human:") for i in ins.split("Assistant:")])[1:-1].tolist()ins_len = len(ins)ins = np.hstack([[i, j] for i, j in zip(basic_list[:ins_len], ins)]).tolist()ins += [basic_list[ins_len], out]data_list.append(ins)
with open("data_set.txt","a",encoding="utf-8") as f:voc_set=set()for one_list in tqdm(data_list):one_data=[]for one in one_list:try:if one in ["<|User|>", "<|Ash|>"]:one_data+=[one]else:if len(find_chinese_text(one))/(len(one)+1)<0.5:one=one.split()else:one=list(one)one_data+=oneexcept:print()voc_set|=set(one_data)f.write(str(one_data)+"\n")

代码地址

数据地址

代码解析

  1. 导入需要的库:json、numpy、tqdm、re。
  2. 定义函数 find_chinese_text(),用于寻找文本中的中文字符。
  3. 使用 with 打开文件 “E:/data_sets/multiturn_chat_0.8M.json”,并逐行读取文件,将其转化为列表形式。
  4. 将读取到的json数据解析出instruction和output,并将instruction中的对话拆分成用户和Ash的对话,并将其存储到ins列表中,输出的对话存储到out列表中。
  5. 将ins列表中的对话合并成一整段对话,并在其中添加分割符 “<|User|>” 和 “<|Ash|>”。
  6. 将out列表添加到ins列表中,并将整段对话添加到data_list中。
  7. 使用 with 打开文件 “data_set.txt”,并迭代 data_list 中的每一段对话,将其中的每一个元素添加到 one_data 列表中,如果元素是 “<|User|>” 或者 “<|Ash|>”,则直接添加,否则将元素按空格分开,分开后的每个单词作为列表元素添加到 one_data 列表中。
  8. 将 one_data 列表转化为字符串,并将其写入到 “data_set.txt” 文件中。
  9. 使用 set() 函数将所有的词语添加到 voc_set 集合中,得到整个数据集中所有的单词。
http://www.lryc.cn/news/240703.html

相关文章:

  • 阿里云ECS服务器如何搭建并连接FTP,完整步骤
  • uni-app 使用uni.getLocation获取经纬度配合腾讯地图api获取当前地址
  • cocos2dx ​​Animate3D (一)
  • 2023年最新PyCharm环境搭建教程(含Python下载安装)
  • 3D火山图绘制教程
  • 跳跃游戏[中等]
  • 华为昇腾开发板共享Windows网络上网的方法
  • 【工具栏】热部署不生效
  • 一键去水印免费网站快速无痕处理图片、视频水印
  • 分片并不意味着分布式
  • Python中的函数
  • 推荐一款png图片打包plist工具pngPackerGUI_V2.0
  • Docker快速安装Mariadb11.1
  • CuratorFrameworkFactory.builder()方法可配置属性
  • 鸿蒙 ark ui 轮播图实现教程
  • 看不惯AI版权作品被白嫖!Stability AI副总裁选择了辞职,曾领导开发Stable Audio
  • 基于Python+OpenCV+Tensorflow图像迁移的艺术图片生成系统
  • leetcode 32最长有效括号 34在排序数组中查找元素的第一个和最后一个位置
  • 【附代码】判断线段是否相交算法(Python,C++)
  • PDF控件Spire.PDF for .NET【转换】演示:将 PDF 转换为 word、HTML、SVG、XPS
  • 【FLink】水位线(Watermark)
  • github访问不了问题
  • 【Java】认识String类
  • 算法——滑动窗口(Sliding Window)
  • Android异步之旅:探索AsyncTask
  • kibana 7安装
  • 为何内存不够用?微服务改造启动多个Spring Boot的陷阱与解决方案
  • 大模型变身双面人:虚假新闻制造机VS假新闻鉴别大师!
  • WordPress网站如何修复数千个帖子的SEO错误
  • Mac如何搭建Vue项目