paddlehub序列标注任务数据集转化

任务

由“列数据集”转化“行数据集”
即由列标注数据转化为百度PaddleHub平台的nlp序列标注任务的数据集类型

首先,看一下数据样例:
在这里插入图片描述
注1:训练集数据格式:单词 \t 词性标签 \n
即每行包含单词及其词性标签,如Jawa NNP
注2:每句话用\n隔开

转换代码

import os
from itertools import groupby

file = open("Ind_train.txt",encoding="utf-8")
sig_data = file.readlines()
dic = {}
#将字符和标注拆成两个列表
stack_1 = []
stack_2 = []
for i in sig_data:
        if i =="\n":
            stack_1.append(i)
            stack_2.append(i)
        else:
            _f1 = i.split("	")[0]
            _f2 = i.split("	")[1].replace("\n","")
            stack_1.append(_f1)
            stack_2.append(_f2)

zifu_res = [list(g) for k, g in groupby(stack_1, lambda x: x == '\n') if not k]
biao_res = [list(g) for k, g in groupby(stack_2, lambda x: x == '\n') if not k]

for i in biao_res:
    i.insert(0,"\t")
# 做成行标注
list_new = []
for x,y in zip(zifu_res,biao_res):
    for item in y:
        x.append(item)
    list_new.append(x)
print(list_new)

for i in list_new:
    text = " ".join(i)
    # print(text)
    with open('train1234.txt', 'a') as file_handle:  # .txt可以不自己新建,代码会自动新建
        file_handle.write(text)  # 写入
        file_handle.write('\n')

结果示例:

Namun aparat yang berjaga langsung sigap dan menangkap kedua orang itu . 	 CC NN PRL VB RB NN CC VB NN NN DT Z
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值