飞桨AI 文本实体抽取 数据准备(excel 文本标注)
网纸: https://ai.baidu.com/easydl/app/deploy/tee/public

#!/usr/bin/env python3
# -*- coding: utf-8 -*-
# @mail : lshan523@163.com
# @Time : 2022/9/7 11:53
# @Author : Sea
# @File : 文本抽取.py
# @history:
# ****************************
import time
import random
import pandas as pd
from datetime import datetime, timedelta # time: 2021-03-26 10:20:12 operator : Sea milestone : SAD bookingNo : 222231321212
def gen_no():
tail = str(random.randint(1, 9)) + str(random.randint(1000, 9999))
return time.strftime('%Y%m%d%H%M%S', time.localtime(time.time())) + tail def gen_time():
randint = random.randint(-100000000, 100000000)
return time.strftime('%Y-%m-%d %H:%M:%S', time.localtime(time.time() + randint)) def gen_miles():
pass
mile = ["BKD", "DEP", "RCF", "DDL", "DL1", "RCS", "OTH", "CCD", "EXP"]
return mile[random.randint(0, len(mile) - 1)] def gen_operator():
mile = ["Sea", "Jeff", "Zero", "Dana", "stiff", "jack", "Ryan", "Tom", "Jerry", "happy", "Mini", "Syan", "Joan"]
return mile[random.randint(0, len(mile) - 1)] # time: 2021-03-26 10:20:12 operator : Sea milestone : SAD bookingNo : 222231321212
def prepare_data():
return "time:" + gen_time() + " operator:" + gen_operator() + " milestone:" + gen_miles() + " bookingNo:" + gen_no() def write_data():
with open("xxx.txt", mode='a+', encoding="utf-8") as file:
for i in range(10):
file.write(str(prepare_data() + "\n"))
file.close() def write_date_to_excel_marked():
t = datetime.now().date() - timedelta(days=1)
mark1_name = "时间"
mark2_name = "操作者"
mark3_name = "里程碑"
mark4_name = "单号"
# excel col
data_set = {'文本内容': [],
'实体标注1': [],
'实体标注2': [],
'实体标注3': [],
'实体标注4': []
} for i in range(1000):
# time:2019-08-09 07:41:16 stiff DDL 2022091318272387597
mark1 = gen_time()
mark2 = gen_operator()
mark3 = gen_miles()
mark4 = gen_no()
data = ""
data += mark1_name + ":" + mark1 + " " * 3
start1 = data.find(mark1)
mark1_loc = "[" + str(start1) + "," + str(start1 + len(mark1) - 1) + "]" + "," + mark1_name
data += mark2_name + ":" + mark2 + " " * 3
start2 = data.find(mark2)
mark2_loc = "[" + str(start2) + "," + str(start2 + len(mark2) - 1) + "]" + "," + mark2_name
data += mark3_name + ":" + mark3 + " " * 3
start3 = data.find(mark3)
mark3_loc = "[" + str(start3) + "," + str(start3 + len(mark3) - 1) + "]" + "," + mark3_name
data += mark4_name + ":" + mark4 + " " * 3
start4 = data.find(mark4)
mark4_loc = "[" + str(start4) + "," + str(start4 + len(mark4) - 1) + "]" + "," + mark4_name
data_set["文本内容"].append(data)
data_set["实体标注1"].append(mark1_loc)
data_set["实体标注2"].append(mark2_loc)
data_set["实体标注3"].append(mark3_loc)
data_set["实体标注4"].append(mark4_loc)
writer = pd.ExcelWriter(path='demo-%d%02d%02d.xlsx' % (t.year, t.month, t.day), mode="w", engine='xlsxwriter')
pd.DataFrame(data_set).to_excel(writer, sheet_name='Sheet1', index=False, header=True, startrow=0)
# add format
workbook = writer.book
worksheet1 = writer.sheets['Sheet1']
fmt = workbook.add_format({"font_name": u"宋体"})
# 设置列宽行宽
worksheet1.set_column('B:F', 20, fmt)
worksheet1.set_column('A:B', 70, fmt) writer.save() if __name__ == '__main__':
# data = "012345678"
# print(data.find("67"))
write_date_to_excel_marked()
飞桨AI 文本实体抽取 数据准备(excel 文本标注)的更多相关文章
- 【百度飞桨】手写数字识别模型部署Paddle Inference
从完成一个简单的『手写数字识别任务』开始,快速了解飞桨框架 API 的使用方法. 模型开发 『手写数字识别』是深度学习里的 Hello World 任务,用于对 0 ~ 9 的十类数字进行分类,即输入 ...
- 提速1000倍,预测延迟少于1ms,百度飞桨发布基于ERNIE的语义理解开发套件
提速1000倍,预测延迟少于1ms,百度飞桨发布基于ERNIE的语义理解开发套件 11月5日,在『WAVE Summit+』2019 深度学习开发者秋季峰会上,百度对外发布基于 ERNIE 的语义理解 ...
- 【一】ERNIE:飞桨开源开发套件,入门学习,看看行业顶尖持续学习语义理解框架,如何取得世界多个实战的SOTA效果?
参考文章: 深度剖析知识增强语义表示模型--ERNIE_财神Childe的博客-CSDN博客_ernie模型 ERNIE_ERNIE开源开发套件_飞桨 https://github.com/Pad ...
- [开源]开放域实体抽取泛用工具 NetCore2.1
开放域实体抽取泛用工具 https://github.com/magicdict/FDDC 更新时间 2018年7月16日 By 带着兔子去旅行 开发这个工具的起源是天池大数据竞赛,FDDC2018金 ...
- scrapy爬虫成长日记之创建工程-抽取数据-保存为json格式的数据
在安装完scrapy以后,相信大家都会跃跃欲试想定制一个自己的爬虫吧?我也不例外,下面详细记录一下定制一个scrapy工程都需要哪些步骤.如果你还没有安装好scrapy,又或者为scrapy的安装感到 ...
- 【AI in 美团】深度学习在文本领域的应用
背景 近几年以深度学习技术为核心的人工智能得到广泛的关注,无论是学术界还是工业界,它们都把深度学习作为研究应用的焦点.而深度学习技术突飞猛进的发展离不开海量数据的积累.计算能力的提升和算法模型的改进. ...
- ASP.NET MVC 表单提交多层子级实体集合数据到控制器中
于遇到了项目中实体类嵌套多层子级实体集合,并且子级实体集合的数据需要提交保存到数据库中的问题.针对此情况需要进行一些特殊的处理才可以将整个 实体类及子级实体集合数据提交表单到控制器中,解决的方法是根据 ...
- 文本主题抽取:用gensim训练LDA模型
得知李航老师的<统计学习方法>出了第二版,我第一时间就买了.看了这本书的目录,非常高兴,好家伙,居然把主题模型都写了,还有pagerank.一路看到了马尔科夫蒙特卡罗方法和LDA主题模型这 ...
- 数据仓库之抽取数据:openrowset函数带bulk操作符的用法
原文:数据仓库之抽取数据:openrowset函数带bulk操作符的用法 在做数据仓库时,最重要的就是ETL的开发,而在ETL开发中的第一步,就是要从原OLTP系统中抽取数据到过渡区中,再对这个过渡区 ...
- 破局AI落地难,数据标注行业需率先变革丨曼孚科技
2019年,国内人工智能领域的投融资热情大幅降低,相当数量的AI企业彻底消失在了历史的长河中,“人工智能寒潮已至”甚至成为行业年度热词. 与前几年创业与投资热情齐头并进的盛况相比,近段时间的AI行业 ...
随机推荐
- AD9834配置
SPI设置 注意,虽然手册上CPOL(CLK空闲时电平)为低,但实测是是高电平 连接 SYNC 为片选引脚,使用时拉低 FSE/PSE为频率与相位寄存器选择,均拉低即可 void SPI_Write_ ...
- WPF Binding表达式
前言: WPF BindingBinding表达式的使用,可以很方便的绑定参数和更新界面数据. 1.界面添加控件,并设置对应属性的Binding表达式,例如: <Window x:Class=& ...
- Java 基础(二)
类的初始 类中包括:属性,方法. 快速使用 我们都是人,而人的共同特点有很多. 比如:名字,年龄,性别,吃饭,睡觉... // 定义类 public class Person { // 定义属性 St ...
- mybatis批量更新的几种方式和性能对比
https://blog.csdn.net/csdnbeyoung/article/details/106258611
- Java中double保留2位小数(精度丢失)的两种方式
Java中double保留2位小数(精度丢失)的两种方式 在我们日常开发中,使用double数据类型进行计算,偶尔会出现精度丢失的情况,例如实际结果是0.75,就可能出现0.7500000000000 ...
- LSP原则中的逆变和协变
在复习过程中,LSP原则是个很重要的内容.这里先给出LSP原则的定义. LSP定义Functions that use pointers or referrnces to base classes m ...
- Spring系列之面向切面编程-15
目录 AOP 概念 AOP 代理 @AspectJ 支持 启用@AspectJ 支持 使用 Java 配置启用 @AspectJ 支持 通过 XML 配置启用 @AspectJ 支持 声明一个方面 声 ...
- 10s后再次获取手机验证码
一般手机验证码获取都会加个间隔时间 js代码如下: function getDxCode(btn){ var reg = /^1[3|4|5|7|8][0-9]{9}$/; //验证规则 var mo ...
- C#.NET系列●接口抽象类
一.接口基本概念 (1)接口:是把公共方法和属性组合起来,以封装特定功能的一个集合.创建接口时,一般一大写的I开头,接口中的成员都是公有的. 接口定义如下: interface IClown //写一 ...
- 理解 Shell
理解 Shell shell 的父子关系 用于登录的某个虚拟控制器终端,或在 GUI 中运行终端仿真器时所启动的默认的交互 shell,是一个父 shell.本书到目前为止都是父 shell 提供 C ...