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 相关文章推荐
pip 错误unused-command-line-argument-hard-error-in-future解决办法
Jun 01 Python
Python实现保证只能运行一个脚本实例
Jun 24 Python
深入讲解Python编程中的字符串
Oct 14 Python
Python hashlib模块用法实例分析
Jun 12 Python
Python File(文件) 方法整理
Feb 18 Python
解决Python找不到ssl模块问题 No module named _ssl的方法
Apr 29 Python
pytorch 实现查看网络中的参数
Jan 06 Python
Python log模块logging记录打印用法解析
Jan 20 Python
Windows+Anaconda3+PyTorch+PyCharm的安装教程图文详解
Apr 03 Python
python 实现分组求和与分组累加求和代码
May 18 Python
JAVA及PYTHON质数计算代码对比解析
Jun 10 Python
一篇文章弄懂Python中的内建函数
Aug 07 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中使用Oracle数据库(3)
2006/10/09 PHP
php反弹shell实现代码
2009/04/22 PHP
PHP文件上传主要代码讲解
2013/09/30 PHP
PHP提取字符串中的手机号正则表达式怎么写
2017/07/17 PHP
PHP获取ttf格式文件字体名的方法示例
2019/03/06 PHP
JSON扫盲帖 JSON.as类教程
2009/02/16 Javascript
海量经典的jQuery插件集合
2010/01/12 Javascript
js原生态函数中使用jQuery中的 $(this)无效的解决方法
2011/05/25 Javascript
Document:getElementsByName()使用方法及示例
2013/10/28 Javascript
基于Bootstrap实现Material Design风格表单插件 附源码下载
2016/04/18 Javascript
Bootstrap基本样式学习笔记之标签(5)
2016/12/07 Javascript
Angular4.0动画操作实例详解
2019/05/10 Javascript
浅谈一个webpack构建速度优化误区
2019/06/24 Javascript
原生JS实现留言板
2020/03/26 Javascript
详解javascript脚本何时会被执行
2021/02/05 Javascript
WebStorm无法正确识别Vue3组合式API的解决方案
2021/02/18 Vue.js
[57:16]2014 DOTA2华西杯精英邀请赛 5 25 LGD VS VG第二场
2014/05/26 DOTA
python逐行读取文件内容的三种方法
2014/01/20 Python
python list转dict示例分享
2014/01/28 Python
Python中的对象,方法,类,实例,函数用法分析
2015/01/15 Python
Python 专题二 条件语句和循环语句的基础知识
2017/03/19 Python
Python爬取十篇新闻统计TF-IDF
2018/01/03 Python
Python实现抢购IPhone手机
2018/02/07 Python
python中从str中提取元素到list以及将list转换为str的方法
2018/06/26 Python
详解Python3定时器任务代码
2019/09/23 Python
使用OpenCV校准鱼眼镜头的方法
2020/11/26 Python
windows系统Tensorflow2.x简单安装记录(图文)
2021/01/18 Python
使用CSS3滤镜的filter:blur属性制作毛玻璃模糊效果的方法
2016/07/08 HTML / CSS
泰坦健身器材:Titan Fitness
2018/02/13 全球购物
一套带网友答案的.NET笔试题
2016/12/06 面试题
培训班主持词
2014/03/28 职场文书
家长会演讲稿
2014/04/26 职场文书
小学生学习雷锋倡议书
2014/05/15 职场文书
教师批评与自我批评材料
2014/10/16 职场文书
2016学校先进集体事迹材料
2016/02/29 职场文书
SQL Server2019安装的详细步骤实战记录(亲测可用)
2022/06/10 SQL Server