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读取word文档的方法
May 09 Python
Python Socket编程详细介绍
Mar 23 Python
CentOS7.3编译安装Python3.6.2的方法
Jan 22 Python
Python使用Phantomjs截屏网页的方法
May 17 Python
用Python将mysql数据导出成json的方法
Aug 21 Python
python实现windows倒计时锁屏功能
Jul 30 Python
python面向对象 反射原理解析
Aug 12 Python
python爬虫 urllib模块url编码处理详解
Aug 20 Python
python中数据库like模糊查询方式
Mar 02 Python
Python基于argparse与ConfigParser库进行入参解析与ini parser
Feb 02 Python
Python标准库pathlib操作目录和文件
Nov 20 Python
Python实现信息管理系统
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
PHP 获取客户端真实IP地址多种方法小结
2010/05/15 PHP
PHP写的求多项式导数的函数代码
2012/07/04 PHP
最准确的php截取字符串长度函数
2015/10/29 PHP
如何在PHP中生成随机数
2020/06/04 PHP
Nigma vs Alliance BO5 第三场2.14
2021/03/10 DOTA
JQuery里选择超链接的实现代码
2011/05/22 Javascript
『JavaScript』限制Input只能输入数字实现思路及代码
2013/04/22 Javascript
JS动态创建Table,Tr,Td并赋值的具体实现
2013/07/05 Javascript
JavaScript验证18位身份证号码最后一位正确性的实现代码
2014/08/07 Javascript
《JavaScript DOM 编程艺术》读书笔记之JavaScript 语法
2015/01/09 Javascript
jQuery实现鼠标单击网页文字后在文本框显示的方法
2015/05/06 Javascript
js基于cookie方式记住返回页面用法示例
2016/05/27 Javascript
解析ajaxFileUpload 异步上传文件简单使用
2016/12/30 Javascript
JavaScript常用正则验证函数实例小结【年龄,数字,Email,手机,URL,日期等】
2017/01/23 Javascript
html+javascript+bootstrap实现层级多选框全层全选和多选功能
2017/03/09 Javascript
jquery实现图片轮播器
2017/05/23 jQuery
layui select获取自定义属性方法
2018/08/15 Javascript
详解vscode中vue代码颜色插件
2018/10/11 Javascript
Bootstrap Paginator+PageHelper实现分页效果
2018/12/29 Javascript
解决python写的windows服务不能启动的问题
2014/04/15 Python
Python减少循环层次和缩进的技巧分析
2016/03/15 Python
Python机器学习之SVM支持向量机
2017/12/27 Python
python如何实现反向迭代
2018/03/20 Python
Django 中使用流响应处理视频的方法
2018/07/20 Python
详解python 爬取12306验证码
2019/05/10 Python
基于Python执行dos命令并获取输出的结果
2019/12/30 Python
python中with用法讲解
2020/02/07 Python
jupyter notebook参数化运行python方式
2020/04/10 Python
浅析CSS3中鲜为人知的属性:-webkit-tap-highlight-color
2017/01/12 HTML / CSS
迪拜航空官方网站:flydubai
2017/04/20 全球购物
环法自行车赛官方商店:Le Tour de France
2017/08/27 全球购物
优质美利奴羊毛袜,不只是徒步旅行:Darn Tough Vermont
2018/11/05 全球购物
硕士研究生个人求职信
2013/12/04 职场文书
教师岗位职责
2015/02/03 职场文书
2015年国庆晚会主持词
2015/07/01 职场文书
使用Python开发贪吃蛇游戏 SnakeGame
2022/04/30 Python