切分训练数据

切分的数据的格式如下:

"好 吧 、 谢谢 啊 !","你好     咱们 这个 机器人 有 收费 版本 没 ? 要个 功能 全面 点 的 。",0
"好 的     麻烦 你 了","可以 使唤 机器人 踢 人 出群 吗",0
"怎么 艾特 机器人 投诉 ?","噢 , 谢谢",0
"怎么 修改 聊天 助手 回复 @ 它 是 谁 的 内容 。","你好 , 定制 机器人 怎么弄 ?",0
"你好     我 给 群 里加 个 助手 , 怎么 没 通过 啊 ?","怎么 订阅",0
"你好   需要 转回 群主","机器人 咋 不 工作     都 设置 了 。 没 反应 咋",0
"北京 今天天气 怎样 ?","好 .   成功 了 谢谢",0
"好 .   成功 了 谢谢","怎么 机器人 聊天 功能 没有 生效   开启 了 咨询服务",0
"北京 今天天气 怎样 ?","好 的   谢谢",0
"好 的 , 谢谢 你   成功 后 怎么 设置 自动 回复 , 有人 加入 就 发 信息 呀","你好 ,",0
"怎么 修改 聊天 助手 回复 @ 它 是 谁 的 内容 。","好 啊",0
"萌萌 你好","好 的 , 谢谢 你   成功 后 怎么 设置 自动 回复 , 有人 加入 就 发 信息 呀",0
"你好   需要 转回 群主","有人 吗",0
"嗯 嗯     好 的     谢谢","哦 哦     我 试试看",0
"怎么 艾特 机器人 投诉 ?","哦 哦     我 试试看",0

python代码

f=open(‘/home/xingyuzhou/Downloads/scen_train_sim.csv‘)
while True:
    line=f.readline()
    if line==None:
        break
    a=line.split(‘",‘)
    if len(a) >= 3:
        print(line)
        b=a[0][1:]
        #print(b)
        fl1=open(‘/home/xingyuzhou/Desktop/a.txt‘,‘a‘)
        fl1.write(b + ‘\n‘)
        c=a[1][1:]
        print(c)
        fl2=open(‘/home/xingyuzhou/Desktop/b.txt‘,‘a‘)
        fl2.write(c + ‘\n‘)
        d=a[2][:1]
        fl3=open(‘/home/xingyuzhou/Desktop/sim.txt‘,‘a‘)
        fl3.write(d + ‘\n‘)

如果没有if len(a) >= 3,就会报错,因为有些行可能分割出来不够b,c,d三个。

中间调试过程中不断添加print语句,这样能看见到底哪里出错,注意这种调试的方法。

Context,Ground Truth,Distractor_0,Distractor_1,Distractor_2,Distractor_3,Distractor_4,Distractor_5,Distractor_6,Distractor_7,Distractor_8
"天津 天气 如何","今天 武汉 的 天气 怎样 ?","好 吧","好 .   成功 了 谢谢","怎么 添加 官方 机器人","我 的 机器人 不好 使 了","在 吗 ?","嗯 嗯     好 的     谢谢","恩恩     怎么 看 统计 呢","谢谢 亲","在"
"天津 天气 如何","北京 今天天气 怎样 ?","好 的 , 谢谢 你   成功 后 怎么 设置 自动 回复 , 有人 加入 就 发 信息 呀","小涛 要 怎样 才 可以 拉 进群","你好 , 定制 机器人 怎么弄 ?","你 这 是 什么     有 什么 功能   怎么 用","怎么 购买 机器人","好 的 , 谢谢 你   成功 后 怎么 设置 自动 回复 , 有人 加入 就 发 信息 呀","在 吗   我 机器人 在 群里 一天 就 没有 用 了   然后 我 重新 关注 公众 号   现在 机器人 进不了 群","怎么 换 头像 呀","天气 ?"
"天津 天气 如何","北京 天气 怎么样 ?","怎么 换 头像 呀","哦     谢谢","怎么 艾特 机器人 投诉 ?","在 吗","好 的 , 谢谢 你","怎么 创建","好 啊","你 这 是 什么     有 什么 功能   怎么 用","你好"
"天津 天气 如何","天气 ?","怎么 换 头像 呀","怎么 添加 机器人","好 的 , 谢谢 你","好 吧     希望 快 一点 呢","好     我先 试试","知道 了   麻烦 尽快 哦   谢谢","哦       我 试试       谢谢 了   微友 助手 的 公众 号 是 多少","我 的 机器人 不好 使 了","创建 机器人 的 那个 微 信号 还 能 抢红包 吗"
"恩好 的","好 的","好 的 , 谢谢","在 吗 ?","好 的 , 谢谢","怎么 换 头像 呀","请问 机器人 不 工作 是 怎么回事 的 呢","专用 助手 怎么 用","你好     我 给 群 里加 个 助手 , 怎么 没 通过 啊 ?","怎么 机器人 聊天 功能 没有 生效   开启 了 咨询服务","定制 机器人 怎么弄 ?"
"恩好 的","好 的 ~","在 吗","好 的 ~","怎么 换 头像 呀","怎么 添加 机器人","我 的 微友 小浩 怎么 不 进群","怎么 添加 官方 机器人","好 的 , 谢谢","好 的 ~","在 么 萌萌"
"恩好 的","好 啊","嗯 嗯     明白   谢谢","在 吗 ?","可以 使唤 机器人 踢 人 出群 吗","你好 , 帮忙 把 群主 转给 我 , 好 吗","哦 哦     我 试试看","定制 机器人 怎么弄 ?","好 的     我 试试","好 的 , 谢谢 你   成功 后 怎么 设置 自动 回复 , 有人 加入 就 发 信息 呀","在 吗   我 机器人 在 群里 一天 就 没有 用 了   然后 我 重新 关注 公众 号   现在 机器人 进不了 群"
"你好 啊","你好","怎么 创建","好 , 试试 , 谢谢 !","在 不 在 啊","在 吗 ?","踢 人 失败 是 怎么回事","好 , 试试 , 谢谢 !","踢 人 失败 是 怎么回事","怎么 拉小涛 进群","好 的     我 试试看"
"你好 啊","你好 ,","哦       我 试试       谢谢 了   微友 助手 的 公众 号 是 多少","天气 ?","好 的   谢谢","怎么 添加 官方 机器人","专用 助手 怎么 用","在 吗","怎么 添加 专属 机器人 呢 ?","你好 … 我 的 微信 机器 助手 为什么 不 可以 使用 了 ? 有 什么 解决方案 吗","怎么 订阅"
"你好 啊","萌萌 你好","恩恩     怎么 看 统计 呢","可以 使唤 机器人 踢 人 出群 吗","好 .   成功 了 谢谢","机器人 咋 不 工作     都 设置 了 。 没 反应 咋","怎么 添加 机器人","哦     谢谢","我 的 微友 小浩 怎么 不 进群","专用 助手 怎么 用","在 不 在 啊"
"把 小黑 拉 进群","小涛 要 怎样 才 可以 拉 进群","在","天气 ?","你好 , 帮忙 把 群主 转给 我 , 好 吗","怎么 订阅","我 的 微友 小浩 怎么 不 进群","好 吧","哦 哦     我 试试看","谢谢 你","小涛 要 怎样 才 可以 拉 进群"

上面是测试集的数据,也需要分割,可以看到出有的一组数据是一行,有的占两行。对于有两行的,如果用readline读出来难道也要分成两行吗?实际上并不是,出来的结果是一组对应一行。为什么占两行那几组也能按一行去读取数据呢?实际上,你所看到的两行是因为屏幕不够大或者编辑器的宽度不够大,导致视觉上分成两行,但这两行之间并没有出现换行符’\n‘。readline读取每一行不是按照视觉上的一行一行读取,而是根据换行符确定这一行结束。

以下为分割代码:

f=open(‘/home/xbwang/Desktop/scen_test_sim.csv‘,‘r‘)
while True:
    line=f.readline()
    if line==None:
        break
    a=line.split(‘","‘)
    if len(a) >= 11:
        con=a[0][1:]
        fl1=open(‘/home/xbwang/Desktop/aa1.txt‘,‘a‘)
        fl1.write(con + ‘\n‘)
        gt=a[1]
        fl2=open(‘/home/xbwang/Desktop/aa2.txt‘,‘a‘)
        fl2.write(gt + ‘\n‘)
        d0=a[2]
        fl2=open(‘/home/xbwang/Desktop/aa2.txt‘,‘a‘)
        fl2.write(d0 + ‘\n‘)
        d1=a[3]
        fl2=open(‘/home/xbwang/Desktop/aa2.txt‘,‘a‘)
        fl2.write(d1 + ‘\n‘)
        d2=a[4]
        fl2=open(‘/home/xbwang/Desktop/aa2.txt‘,‘a‘)
        fl2.write(d2 + ‘\n‘)
        d3=a[5]
        fl2=open(‘/home/xbwang/Desktop/aa2.txt‘,‘a‘)
        fl2.write(d3 + ‘\n‘)
        d4=a[6]
        fl2=open(‘/home/xbwang/Desktop/aa2.txt‘,‘a‘)
        fl2.write(d4 + ‘\n‘)
        d5=a[7]
        fl2=open(‘/home/xbwang/Desktop/aa2.txt‘,‘a‘)
        fl2.write(d5 + ‘\n‘)
        d6=a[8]
        fl2=open(‘/home/xbwang/Desktop/aa2.txt‘,‘a‘)
        fl2.write(d6 + ‘\n‘)
        d7=a[9]
        fl2=open(‘/home/xbwang/Desktop/aa2.txt‘,‘a‘)
        fl2.write(d7 + ‘\n‘)
        d8=a[10][:-1]
        fl2=open(‘/home/xbwang/Desktop/aa2.txt‘,‘a‘)
        fl2.write(d8 + ‘\n‘)
 
时间: 2024-08-26 08:30:47

切分训练数据的相关文章

如何解决python训练数据内存泄露问题?

Python语言 越来越广泛的应用于机器学习/ 深度学习领域,是目前最火的该领域编程语言,各大深度学习框架基本都支持 python 接口. 在TensorFlow 训练模型的过程中,一般数据加载分情景各有不同. 1.  当数据量能直接全部载入内存时,当然最是方便,直接全部载入内存,然后训练即可. 2.  数据无法全部载入内存时,有多种方法.介绍其中 2 种用的多的,其一是边训练边读取(可以用多线程进行优化),其二是随机打乱所有训练数据的索引然后随机选择部分数据进行训练测试. 第2 类情景中,有可

pytorch:EDSR 生成训练数据的方法

Pytorch:EDSR 生成训练数据的方法 引言 Winter is coming 正文 pytorch提供的DataLoader 是用来包装你的数据的工具. 所以你要将自己的 (numpy array 或其他) 数据形式装换成 Tensor, 然后再放进这个包装器中. 使用 DataLoader 有什么好处呢? 就是他们帮你有效地迭代数据, 举例: import torch import torch.utils.data as Data #utils是torch中的一个模块,Data是进行小

模式识别之分类器knn---c语言实现带训练数据

邻近算法   KNN算法的决策过程 k-Nearest Neighbor algorithm是K最邻近结点算法(k-Nearest Neighbor algorithm)的缩写形式,是电子信息分类器算法的一种 该算法的基本思路是:在给定新文本后,考虑在训练文本集中与该新文本距离最近(最相似)的 K 篇文本,根据这 K 篇文本所属的类别判定新文本所属的类别 左图中,绿色圆要被决定赋予哪个类,是红色三角形还是蓝色四方形?如果K=3,由于红色三角形所占比例为2/3,绿色圆将被赋予红色三角形那个类,如果

TensorFlow多线程输入数据处理框架(三)——组合训练数据

参考书 <TensorFlow:实战Google深度学习框架>(第2版) 通过TensorFlow提供的tf.train.batch和tf.train.shuffle_batch函数来将单个的样例组织成batch的形式输出. #!/usr/bin/env python # -*- coding: UTF-8 -*- # coding=utf-8 """ @author: Li Tian @contact: [email protected] @software:

关于bert+lstm+crf实体识别训练数据的构建(一)

一.在实体识别中,bert+lstm+crf也是近来常用的方法.这里的bert可以充当固定的embedding层,也可以用来和其它模型一起训练fine-tune.大家知道输入到bert中的数据需要一定的格式,如在单个句子的前后需要加入"[CLS]"和“[SEP]”,需要mask等.下面构造训练集并利用albert抽取句子的embedding. 1 import torch 2 from configs.base import config 3 from model.modeling_a

caffe学习笔记(一),ubuntu14.04+GPU (用Pascal VOC2007训练数据,并测试)

把源代码跑起来了,将实验过程记录如下,用于新手入门. 今天和师兄师姐才跑通,来分享下心得.(预训练网络:ImageNet,训练集:PASCAL VOC2007, GPU) 首先,整个train and test过程不是唯一的,理解的越深才能越熟练. 下来,进入正题: 1.git clone源代码.一定要选recursive模式.(否者caffe这个包不在源代码里,编译会报错) 2.进入lib文件夹,make一下下. 3.下来在caffe的目录下,cp Makefile.config.exampl

应用程序内嵌资源文件[训练数据]

Windows exe/dll内嵌数据 ? 调用资源的方式 exe/dll有对应的入口函数main/_tmain/winmain/_dllmain等:透过这些入口函数可以获取exe文件路径或者文件的handle[exe通过入口函数拿到路径后调用LoadLibrary得到句柄,dll直接从入口函数得到句柄]:静态库没有入口函数拿不到句柄不能进行资源嵌入; ? 调用代码示例: [纯数据文件,如果是media文件{音视频文件}或者数据库db文件等需要用专门库解析的文件则可以考虑将读取的数据指针的内容写

Labeled Faces in the Wild 人脸识别数据集 部分训练数据

development training set Note: images displayed are original (non-aligned/funneled) images. match pairs   mismatch pairs Aaron Peirsol, 1 Aaron Peirsol, 2   AJ Cook, 1 Marsha Thomason, 1 Aaron Peirsol, 3 Aaron Peirsol, 4   Aaron Sorkin, 2 Frank Solic

pandas dataframe 做机器学习训练数据=》直接使用iloc或者as_matrix即可

样本示意,为kdd99数据源: 0,udp,private,SF,105,146,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0.00,0.00,0.00,0.00,1.00,0.00,0.00,255,254,1.00,0.01,0.00,0.00,0.00,0.00,0.00,0.00,normal. 0,udp,private,SF,105,146,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,1,1,0.00,0.00,0.00,0.00,1