将conll-2003格式的语料按句子切分

最近在做ner,需要随机抽取语料划分训练集和测试集,没有找到现成方法,自己写了一个。
Conll-2003格式用空行区别句子

EU NNP B-NP B-ORG
rejects VBZ B-VP O
German JJ B-NP B-MISC
call NN I-NP O
to TO B-VP O
boycott VB I-VP O
British JJ B-NP B-MISC
lamb NN I-NP O
. . O O

Peter NNP B-NP B-PER
Blackburn NNP I-NP I-PER

BRUSSELS NNP B-NP B-LOC
1996-08-22 CD I-NP O

用pandas读取空行元素会被识别的NAN,所以重点就是找到NAN,以其作为切分点,这里使用numpy的split函数。第一个参数是DataFrame,第二个参数是一个List,List中放置切割点(index)。pandas.isna输出一个Series存储布尔值。nan为True其他False,numpy.where输出[[p1,p2,p3]]其中P是na的index,所以需要找其第一个元素。
完整代码如下

"""
Created on Sun Mar 21 17:28:56 2021

@author: KaireyX1C6th
"""
    # 切割为句子
    sentences = np.split(dataset,np.where(pd.isna(dataset[0])==1)[0
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值