NER--《人民日报》语料库预处理

NER--《人民日报》语料库预处理

转成标准BIEO格式

# -*- coding: utf-8 -*-
"""
Created on Fri Jul 31 16:16:58 2020
将《人民日报》中的标签转成标准的BIEO格式
@author: jpcheng2
"""
import codecs
def text_map(texts: [str]) -> [str]:
    mapping = {'O': 'O',
               'B_nr': 'B-PER',
               'M_nr': 'I-PER',
               'E_nr': 'E-PER',
               'B_ns': 'O',
               'M_ns': 'O',
               'E_ns': 'O',
               'B_nt': 'O',
               'M_nt': 'O',
               'E_nt': 'O'
              }
    deal_texts = []
    for line in texts:
        sub_line = str(line).split(' ')
        for item in sub_line:
            item_list = str(item).split('/')
            if len(item_list) == 2:
                a = item_list[0]
                b = item_list[1]
                flag = mapping.get(b, 'O')
                deal_texts.append(f"{a}\t{flag}\n")
        deal_texts.append('\n')
    return deal_texts
input_data = codecs.open('renmin4.txt', 'r', 'utf-8')
texts = input_data.read().split('\n')
#print(texts)
texts_transfer = text_map(texts)
output_data = codecs.open('renmin000.txt', 'w+', 'utf-8')
output_data.write(''.join(texts_transfer))

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值