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 re正则表达式模块(Regular Expression)
Jul 16 Python
实例说明Python中比较运算符的使用
May 13 Python
Python入门之modf()方法的使用
May 15 Python
Python检测字符串中是否包含某字符集合中的字符
May 21 Python
开源软件包和环境管理系统Anaconda的安装使用
Sep 04 Python
python使用tensorflow保存、加载和使用模型的方法
Jan 31 Python
python3字符串操作总结
Jul 24 Python
python字典通过值反查键的实现(简洁写法)
Sep 30 Python
浅析Python 中的 WSGI 接口和 WSGI 服务的运行
Dec 09 Python
python基础之爬虫入门
May 10 Python
68行Python代码实现带难度升级的贪吃蛇
Jan 18 Python
Python装饰器详细介绍
Mar 25 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
浅析Yii中使用RBAC的完全指南(用户角色权限控制)
2013/06/20 PHP
学习JavaScript的最佳方法分享
2011/10/21 Javascript
JS使用for循环遍历Table的所有单元格内容
2014/08/21 Javascript
jQuery实现的感应鼠标悬停图片色彩渐显效果
2015/03/03 Javascript
javascript Array 数组常用方法
2015/04/05 Javascript
Underscore源码分析
2015/12/30 Javascript
AngularJS  $on、$emit和$broadcast的使用
2016/09/05 Javascript
jQuery的deferred对象使用详解
2016/09/25 Javascript
基于angularJS的表单验证指令介绍
2016/10/21 Javascript
JavaScript通过改变文字透明度实现的文字闪烁效果实例
2017/04/27 Javascript
JS实现瀑布流布局
2017/10/21 Javascript
js中el表达式的使用和非空判断方法
2018/03/28 Javascript
微信小程序实现人脸检测功能
2018/05/25 Javascript
vue返回上一页面时回到原先滚动的位置的方法
2018/12/20 Javascript
详解webpack4.x之搭建前端开发环境
2019/03/28 Javascript
Laravel 如何在blade文件中使用Vue组件的示例代码
2020/06/28 Javascript
结合axios对项目中的api请求进行封装操作
2020/09/21 Javascript
tornado捕获和处理404错误的方法
2014/02/26 Python
Python基于matplotlib实现绘制三维图形功能示例
2018/01/18 Python
一百多行python代码实现抢票助手
2018/09/25 Python
Pycharm设置utf-8自动显示方法
2019/01/17 Python
django组合搜索实现过程详解(附代码)
2019/08/06 Python
python opencv 检测移动物体并截图保存实例
2020/03/10 Python
使用python批量转换文件编码为UTF-8的实现
2020/04/03 Python
Python-jenkins 获取job构建信息方式
2020/05/12 Python
Python基于BeautifulSoup爬取京东商品信息
2020/06/01 Python
python中tab键是什么意思
2020/06/18 Python
Eagle Eyes Optics鹰眼光学:高性能太阳镜
2018/12/07 全球购物
西安当代医院管理研究院笔试题
2015/12/11 面试题
施工安全协议书
2013/12/11 职场文书
参观考察邀请函范文
2014/01/29 职场文书
自动一体化专业求职信
2014/03/15 职场文书
协议书的格式
2014/04/23 职场文书
相亲大会策划方案
2014/06/05 职场文书
增员口号大全
2014/06/18 职场文书
公司年会主持词范文!
2019/05/07 职场文书