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实现的概率分布运算操作示例
Aug 14 Python
python tkinter界面居中显示的方法
Oct 11 Python
python模糊图片过滤的方法
Dec 14 Python
Django-Model数据库操作(增删改查、连表结构)详解
Jul 17 Python
django创建简单的页面响应实例教程
Sep 06 Python
python selenium实现发送带附件的邮件代码实例
Dec 10 Python
linux 下selenium chrome使用详解
Apr 02 Python
keras .h5转移动端的.tflite文件实现方式
May 25 Python
Python中无限循环需要什么条件
May 27 Python
详解如何在pyqt中通过OpenCV实现对窗口的透视变换
Sep 20 Python
使用Python的开发框架Brownie部署以太坊智能合约
May 28 Python
Python使用pyecharts控件绘制图表
Jun 05 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
WordPress开发中用于获取近期文章的PHP函数使用解析
2016/01/05 PHP
php+html5+ajax实现上传图片的方法
2016/05/14 PHP
Laravel自定义 封装便捷返回Json数据格式的引用方法
2019/09/29 PHP
laravel-admin自动生成模块,及相关基础配置方法
2019/10/08 PHP
JavaScript 无符号右移赋值操作
2009/04/17 Javascript
JS阻止冒泡事件以及默认事件发生的简单方法
2014/01/17 Javascript
button没写type=button会导致点击时提交
2014/03/06 Javascript
JavaScript弹出新窗口后向父窗口输出内容的方法
2015/04/06 Javascript
javascript中clipboardData对象用法详解
2015/05/13 Javascript
JS+JSP通过img标签调用实现静态页面访问次数统计的方法
2015/12/14 Javascript
javascript对象的创建和访问
2016/03/08 Javascript
原生js封装的一些jquery方法(详解)
2016/09/20 Javascript
angular双向绑定模拟探索
2016/12/26 Javascript
jQuery中each循环的跳出和结束实例
2017/08/16 jQuery
解决Mac node版本升级失败的问题
2018/05/16 Javascript
如何将百度地图包装成Vue的组件的方法步骤
2019/02/12 Javascript
javascrit中undefined和null的区别详解
2019/04/07 Javascript
微信小程序实现多选框全选与取消全选功能示例
2019/05/14 Javascript
js中addEventListener()与removeEventListener()用法案例分析
2020/03/02 Javascript
基于小程序请求接口wx.request封装的类axios请求
2020/07/02 Javascript
vue-cli3自动消除console.log()的调试信息方式
2020/10/21 Javascript
Python高级应用实例对比:高效计算大文件中的最长行的长度
2014/06/08 Python
Python OpenCV处理图像之图像像素点操作
2018/07/10 Python
给 TensorFlow 变量进行赋值的方式
2020/02/10 Python
使用python图形模块turtle库绘制樱花、玫瑰、圣诞树代码实例
2020/03/16 Python
Python多个装饰器的调用顺序实例解析
2020/05/22 Python
基于python 取余问题(%)详解
2020/06/03 Python
HTML5之语义标签介绍
2016/07/07 HTML / CSS
Steve Madden官网:美国鞋类品牌
2017/01/29 全球购物
应届大学生求职的自我评价
2013/11/17 职场文书
总经理职责
2013/12/22 职场文书
《胡杨》教学反思
2014/02/16 职场文书
美术教学感言
2014/02/22 职场文书
社区服务活动总结
2014/05/07 职场文书
小学综合实践活动总结
2014/07/07 职场文书
企业群众路线教育实践活动心得体会
2014/11/03 职场文书