首页 > 代码库 > 切分训练数据

切分训练数据

切分的数据的格式如下:

"好 吧 、 谢谢 啊 !","你好     咱们 这个 机器人 有 收费 版本 没 ? 要个 功能 全面 点 的 。",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)

 

 

切分训练数据