首页 > 其他分享 >利用hf datasets库包构建自己的数据集

利用hf datasets库包构建自己的数据集

时间:2023-05-05 10:44:15浏览次数:32  
标签:tmp datasets tags ner replace tokens append hf 库包

!wget https://raw.githubusercontent.com/zhangbo2008/data_ner/main/aomanyupianjian -O aaaa
!pip install datasets


#=======加载自己数据集

with open('aaaa') as f:
    t=f.readlines()
save1=[]
save2=[]
a=''
b=''
for i in t:

    if i=='\n':
        save1.append(a[:-1])
        save2.append(b[:-1])
        a=''
        b=''
    else:
        a+=i.split(' ')[0]+' '
        b+=i.split(' ')[1].replace('\n',' ')
print(3)
all2=[]
import copy


aaa=['O', 'B-PER', 'I-PER', 'B-ORG', 'I-ORG', 'B-LOC', 'I-LOC', 'B-MISC', 'I-MISC']
tmp={'tokens':[], 'ner_tags':[]}
for i,j in zip(save1,save2):
  if i:

    tmp=tmp.copy()
    # tmp=copy.deepcopy(tmp) #没有多级数组所以可以用浅拷贝.
    tmp['tokens']=i.split(' ')
    tmp['ner_tags']=j.split(' ')#末尾句号一般也要进行独立设置O
    if '.' in tmp['tokens'][-1] and '.' !=tmp['tokens'][-1]:
        tmp['tokens'][-1]=tmp['tokens'][-1][:-1]
        tmp['tokens'].append('.')
        tmp['ner_tags'].append('O')
    if ',' in tmp['tokens'][-1] and ',' !=tmp['tokens'][-1]:
        tmp['tokens'][-1]=tmp['tokens'][-1][:-1]
        tmp['tokens'].append(',')
        tmp['ner_tags'].append('O')

    for kkk in range(len(tmp['ner_tags'])):
         tmp['ner_tags'][kkk]=tmp['ner_tags'][kkk].replace('B-Person','B-PER').replace('I-Person','I-PER').replace('B-Location','B-LOC').replace('I-Location','I-LOC').replace('B-Misc','B-MISC').replace('I-Misc','I-MISC')
    for i1 in range(len(tmp['ner_tags'])):
        for j1 in range(len(aaa)):
            if tmp['ner_tags'][i1]==aaa[j1]:
                tmp['ner_tags'][i1]=j1
    all2.append(tmp)
    print(111)


from datasets import Dataset
ds = Dataset.from_list(all2)
#===========tag进行编码
#'O', 'B-PER', 'I-PER', 'B-ORG', 'I-ORG', 'B-LOC', 'I-LOC', 'B-MISC', 'I-MISC'






ds[0]
ds2=ds.train_test_split(test_size=0.3)#下面我们使用ds2即可.
ds2

 

标签:tmp,datasets,tags,ner,replace,tokens,append,hf,库包
From: https://www.cnblogs.com/zhangbo2008/p/17373454.html

相关文章

  • 通过sshfs 方便mac 进行utm 虚拟机的文件共享
    基于utm进行vm管理,在mac系统中是一个很不错的工具,但是默认因为一些vm内核的问题,不能直接共享,很不方便使用mac系统开发好,然后通过scp是一种方法,但是很多是否并不是很方便参考集成玩法简单说明:mac系统安装fuse包,之后直接将vm中的目录通过sshfs挂载到mac系统中参......
  • 抱抱脸:ChatGPT背后的算法——RLHF | 附12篇RLHF必刷论文
    文|卖萌酱大家好,我是卖萌酱。前几天,抱抱脸公司(HuggingFace)发表了一篇博客[1],详细讲解了ChatGPT背后的技术原理——RLHF。笔者读过之后,觉得讲解的还是蛮清晰的,因此提炼了一下核心脉络,希望给对ChatGPT技术原理感兴趣的小伙伴带来帮助。此外,文末整理了几篇关于RLHF最热门的12篇必......
  • “蔚来杯“2022牛客暑期多校训练营3,签到题CAJHF
    题号标题已通过代码通过率团队的状态AAncestor点击查看1383/3940BBoss点击查看54/734CConcatenation点击查看2603/9404DDirected点击查看62/157EElectrician点击查看18/38FFief点击查看378/2528GGeometry点击查看73/1076HHacker点击查看468......
  • LengthFieldPrepender和LengthFieldBasedFrameDecoder
    1,使用LengthFieldPrepender编码,LengthFieldBasedFrameDecoder解码的netty传输......
  • 使用FlashFxp sftp无法连接Linux处理
    sftp无法连接[18:32:41]FlashFXP5.4.0(build3970)[18:32:41]SupportForumshttps://www.flashfxp.com/forum/[18:32:41]...[18:33:03][R]SSH错误:协商认证模式失败[18:33:03][R]SSH连接已关闭[18:33:03][R]连接失败处理:/etc/ssh/sshd_config文件夹的一......
  • Vulnhub之HF 2019靶机详细测试过程
    HF2019作者:jasonhuawen靶机信息名称:HackerFest:2019地址:https://www.vulnhub.com/entry/hacker-fest-2019,378/识别目标主机IP地址将虚拟机镜像导入到VirtualBox中,并设置网络模式为host-only,然后启动KaliLinux以及目标主机(虚拟机):(kali㉿kali)-[~/Vulnhub/HF2019]......
  • SSHFS
    SSHFS(SSHFilesystem)是一种通过普通ssh连接来挂载和与远程服务器或工作站上的目录和文件交互的文件系统客户端。sshfs-p1822\[email protected]:/home/test/compile/slave/Project/images\/root/test/slave/\-ouid=0-ogid=0 ......
  • 微信小程序Image标签 mode=“widthFix” 问题
    微信小程序中加载图片时,如果只设定图片宽度,希望添加mode='widthFix'来自适应<Imagemode="widthFix"className={s.img]}src={ImgSource.iconLogin}/>.img{width:100%;}但是这时会出现一个问题:当页面刚打开时,会闪动一瞬间,之后才会变成自适应的高度,很影响体......
  • FlashFXP命令行
    FlashFXP是一个非常好用的FTP工具,同时也是可以使用命令行进行操作。格式:flashfxp.exe-uploadftp://user:pass@ip:port-localpath="本地路径"-remotepath="远程FTP上的路径"上传使用FlashFXP上传文件(夹)的命令行语法:flashfxp.exe-uploadftp://user:pass@ip:port-localpa......
  • SelfDefinedDataset显示没有属性get_datasets
    get_datasets是一个PyTorchLightning框架中的方法,用于返回数据加载器中包含的训练、验证和测试数据集。如果你的自定义数据集类没有该方法,则会出现AttributeError:'YourDataset'objecthasnoattribute'get_datasets'错误。要解决这个问题,你需要在自定义数据集类中实现g......