python 利用已有Ner模型进行数据清洗合并代码


Posted in Python onDecember 24, 2019

我就废话不多说了,直接上代码吧!

# -*- coding: utf-8 -*-
from kashgari.corpus import DataReader
import re
from tqdm import tqdm


def cut_text(text, lenth):
  textArr = re.findall('.{' + str(lenth) + '}', text)
  textArr.append(text[(len(textArr) * lenth):])
  return textArr


def clean_data(source_file, target_file, ner_model):
  
  data_x, data_y = DataReader().read_conll_format_file(source_file)

  with tqdm(total=len(data_x)) as pbar:
    for idx, text_array in enumerate(data_x):
      if len(text_array) <= 100:
        ners = ner_model.predict([text_array])
        ner = ners[0]
      else:
        texts = cut_text(''.join(text_array), 100)
        ners = []
        for text in texts:
          ner = ner_model.predict([[char for char in text]])
          ners = ners + ner[0]
        ner = ners     
      # print('[-----------------------', idx, len(data_x))
      # print(data_y[idx])
      # print(ner)
    
      for jdx, t in enumerate(text_array):
        if ner[jdx].startswith('B') or ner[jdx].startswith('I') :
          if data_y[idx][jdx] == 'O':
            data_y[idx][jdx] = ner[jdx]
      
      # print(data_y[idx])
      # print('-----------------------]') 
      pbar.update(1)
      
  f = open(target_file, 'a', encoding="utf-8")  
  for idx, text_array in enumerate(data_x):
    if idx != 0:
      f.writelines(['\n'])  
    for jdx, t in enumerate(text_array):
      text = t + ' ' + data_y[idx][jdx] 
      if idx == 0 and jdx == 0:
        text = text
      else:
        text = '\n' + text
      f.writelines([text])  
  
  f.close()  
  
  data_x2, data_y2 = DataReader().read_conll_format_file(source_file)
  print(data_x == data_x2, len(data_y) == len(data_y2), '数据清洗完成')
# -*- coding: utf-8 -*-
import kashgari
from data_tools import clean_data
time_ner = kashgari.utils.load_model('time_ner.h5')
clean_data('./data/example.dev', 'example.dev', time_ner)

以上这篇python 利用已有Ner模型进行数据清洗合并代码就是小编分享给大家的全部内容了,希望能给大家一个参考,也希望大家多多支持三水点靠木。

Python 相关文章推荐
用python实现面向对像的ASP程序实例
Nov 10 Python
Django的HttpRequest和HttpResponse对象详解
Jan 26 Python
Python绘制正余弦函数图像的方法
Aug 28 Python
python学生信息管理系统(初级版)
Oct 17 Python
python实现RabbitMQ的消息队列的示例代码
Nov 08 Python
Python数据类型之List列表实例详解
May 08 Python
12个Python程序员面试必备问题与答案(小结)
Jun 24 Python
Django中celery执行任务结果的保存方法
Jul 12 Python
python opencv根据颜色进行目标检测的方法示例
Jan 15 Python
python GUI库图形界面开发之PyQt5控件QTableWidget详细使用方法与属性
Feb 25 Python
Python中无限循环需要什么条件
May 27 Python
写一个Python脚本自动爬取Bilibili小视频
Apr 24 Python
Python迷宫生成和迷宫破解算法实例
Dec 24 #Python
Python3 A*寻路算法实现方式
Dec 24 #Python
python logging添加filter教程
Dec 24 #Python
python打印异常信息的两种实现方式
Dec 24 #Python
numpy实现神经网络反向传播算法的步骤
Dec 24 #Python
python异常处理和日志处理方式
Dec 24 #Python
Python 音频生成器的实现示例
Dec 24 #Python
You might like
解析MySql与Java的时间类型
2013/06/22 PHP
解析php下载远程图片函数 可伪造来路
2013/06/25 PHP
几个优化WordPress中JavaScript加载体验的插件介绍
2015/12/17 PHP
Thinkphp自定义生成缩略图尺寸的方法
2019/08/05 PHP
PHP常用函数之base64图片上传功能详解
2019/10/21 PHP
javascript 火狐(firefox)不显示本地图片问题解决
2008/07/05 Javascript
javascript中删除指定数组中指定的元素的代码
2011/02/12 Javascript
jquery访问ashx文件示例代码
2014/08/11 Javascript
innerHTML动态添加html代码和脚本兼容多个浏览器
2014/10/11 Javascript
关于延迟加载JavaScript
2015/05/05 Javascript
包含中国城市的javascript对象实例
2015/08/03 Javascript
基于javascript实现根据身份证号码识别性别和年龄
2016/01/22 Javascript
基于JavaScript的操作系统你听说过吗?
2016/01/28 Javascript
JavaScript基本类型值-Number类型
2017/02/24 Javascript
JavaScript Uploadify文件上传实例
2017/02/28 Javascript
利用vue + koa2 + mockjs模拟数据的方法教程
2017/11/22 Javascript
微信小程序实现鼠标拖动效果示例
2017/12/01 Javascript
在vue中使用SockJS实现webSocket通信的过程
2018/08/29 Javascript
jQuery实现的五星点评功能【案例】
2019/02/18 jQuery
JS求解两数之和算法详解
2020/04/28 Javascript
python3对接mysql数据库实例详解
2019/04/30 Python
详解Python3 中的字符串格式化语法
2020/01/15 Python
pytorch 状态字典:state_dict使用详解
2020/01/17 Python
Python模块/包/库安装的六种方法及区别
2020/02/24 Python
Python优秀开源项目Rich源码解析的流程分析
2020/07/06 Python
Brasty波兰:香水、化妆品、手表网上商店
2019/04/15 全球购物
送给程序员的20个Java集合面试问题
2014/08/06 面试题
2014年道德讲堂实施方案
2014/03/05 职场文书
教师考核评语
2014/04/28 职场文书
开展批评与自我批评心得体会
2014/10/17 职场文书
2014年外贸业务员工作总结
2014/12/11 职场文书
小学音乐教师个人工作总结
2015/02/05 职场文书
保送生自荐信
2015/03/06 职场文书
2016年清明节红领巾广播稿
2015/12/17 职场文书
宪法宣传标语100条
2019/10/15 职场文书
python 开心网和豆瓣日记爬取的小爬虫
2021/05/29 Python