飞桨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行业 ...
随机推荐
- python 的sys.argv 和 sys.path.append() 用法和PYTHONPATH环境变量
sys.argv 我们编写一个测试用例test.py ,内容如下 imoprt sys a = sys.argv b = len(sys.argv) c = sys.argv[0] d = sys.a ...
- redhat用unbound配置DNS
redhat配置unbound 1.配置IP地址 2.配置本地yum 3.安装unbound,没有nslookup命令自行安装bind-utlis 4.配置unbound.conf(vi /etc/u ...
- 将字符串数组String[]转换成List的三种方法
通过 Arrays.asList(strArray) 方式,将数组转换List后,不能对List增删,只能查改,否则抛异常. String[] strArray = new String[2]; Li ...
- TypeScript - 配置文件 tsconfig.json
tsconfig.json 文件 创建两种方式: 1. 直接在根目录新建tsconfig.config.json (配置文件需要自己配置) 2. 执行tsc --init (会自动创建相关配置) t ...
- 【SSO单点系列】(2):CAS4.0 之 跨域 Ajax 登录实践
CAS4.0 之 跨域 Ajax 登录实践 一.问题描述 CAS实现单点 实现一处登录 可访问多个应用 . 但是原登录是CAS默认登录页面和登出页面是无法重定向到自定义页面的 此处使用Ajax+I ...
- 学习lua-05,io.open 读取输出修改文件,以及io.read的参数运用,读所有,读一行多行
-- 以附加的方式打开只写文件.若文件不存在,则会建立该文件,如果文件存在,写入的数据会被加到文件尾,即文件原先的内容会被保留.(EOF符保留) file = io.open("D:\\Pr ...
- 【Qt】汇总Qt坑若干
1..pro里添加了类以后调用时还是报错? solution:注意添加或者修改以后要保存保存保存,否则Qt是不会自己更新的! 2.在ui界面修改了类的成员名,保存了以后.cpp里调用,成员名还是不更新 ...
- 深入理解snp-calling流程——转载
------------恢复内容开始------------ GATK4流程 准备配套数据 明确参考基因组版本!!!b36/b37/hg18/hg19/hg38,记住b37和hg19并不是完全一样的, ...
- 搭建react项目
1.打开新建的项目空文件夹,终端输入命令:npm init,文件夹生成package.json文件: 2.安装webpack.webpack-cli和cross-env:npm install web ...
- 【逆向】x64dbg设置条件断点 比较内存字符串是否相等
前言 在OD中可以设置条件断点,通过表达式对字符串数据进行比较,比如在CreateFile打开某个特定文件的时候让调试器中断.但是在x32dbg.x64dbg中因为表达式只支持整数,不支持字符串和其它 ...