jtyoui.neuralNetwork.communal.formatTo 源代码

#!/usr/bin/python3.7
# -*- coding: utf-8 -*-
# @Time  : 2019/9/23 16:20
# @Author: Jtyoui@qq.com
import os


[文档]def format_CRF_to_ERNIE(load_file, save_file, newline=os.linesep): """将CRF训练的格式转为ERNIE训练的格式 [CRF]\n 中 B-ORG\n 共 I-ORG\n 中 I-ORG\n 央 I-ORG\n 致 O\n 中 B-ORG\n 国 I-ORG\n 致 I-ORG\n 公 I-ORG\n 党 I-ORG\n 十 I-ORG\n 一 I-ORG\n 大 I-ORG\n 的 O\n 贺 O\n 词 O\n [ERNIE]\n 中\x02共\x02中\x02央\x02致\x02中\x02国\x02致\x02公\x02党\x02十\x02一\x02大\x02的\x02贺\x02词 B-ORG\x02I-ORG\x02I-ORG\x02I-ORG\x02O\x02B-ORG\x02I-ORG\x02I-ORG\x02I-ORG\x02I-ORG\x02I-ORG\x02I-ORG\x02I-ORG\x02O\x02O\x02O :param load_file: 加载数据的文件地址 :param save_file: 保存数据的文件地址 :param newline: 文件的换行符,默认是本机系统的换行符 :return: 文件地址 """ ws = open(save_file, encoding='utf-8', mode='w', newline='\n') ws.write('text_a\tlabel\n') with open(load_file, encoding='utf-8', newline=newline)as fp: data = fp.read().strip().split(newline + newline) for line in data: chars, labels = [], [] ls = line.split(newline) for c in ls: char, label = c.split() chars.append(char) labels.append(label) ws.write('\x02'.join(chars) + '\t' + '\x02'.join(labels) + '\n') ws.close()
if __name__ == '__main__': format_CRF_to_ERNIE('train_data.txt', 'train.tsv')