CN117688345A - 数据服务方法及系统 - Google Patents

数据服务方法及系统 Download PDF

Info

Publication number
CN117688345A
CN117688345A CN202311496024.6A CN202311496024A CN117688345A CN 117688345 A CN117688345 A CN 117688345A CN 202311496024 A CN202311496024 A CN 202311496024A CN 117688345 A CN117688345 A CN 117688345A
Authority
CN
China
Prior art keywords
data
model
labeling
user
annotation
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
CN202311496024.6A
Other languages
English (en)
Inventor
柳厅文
谢明轩
王玉斌
刘庆云
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Institute of Information Engineering of CAS
Original Assignee
Institute of Information Engineering of CAS
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Institute of Information Engineering of CAS filed Critical Institute of Information Engineering of CAS
Priority to CN202311496024.6A priority Critical patent/CN117688345A/zh
Publication of CN117688345A publication Critical patent/CN117688345A/zh
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F18/00Pattern recognition
    • G06F18/20Analysing
    • G06F18/21Design or setup of recognition systems or techniques; Extraction of features in feature space; Blind source separation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06NCOMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
    • G06N5/00Computing arrangements using knowledge-based models
    • G06N5/04Inference or reasoning models

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Data Mining & Analysis (AREA)
  • General Physics & Mathematics (AREA)
  • Evolutionary Computation (AREA)
  • Physics & Mathematics (AREA)
  • Artificial Intelligence (AREA)
  • General Engineering & Computer Science (AREA)
  • Software Systems (AREA)
  • Mathematical Physics (AREA)
  • Computational Linguistics (AREA)
  • Computing Systems (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Bioinformatics & Cheminformatics (AREA)
  • Bioinformatics & Computational Biology (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Evolutionary Biology (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种数据服务方法及系统,所述方法包括:通过用户行为来确定需要捕获的原始数据,并结合标注任务所确定的数据格式,得到原始数据集;基于原始数据集进行数据生成,以得到生成数据集;结合用户配置的标注任务,已训练的数据标注模型对原始数据集和生成数据集内的数据进行标注,以得到标注数据集;将数据标注模型、原始数据集、生成数据集和标注数据集存储到数据中心后,设置数据标注模型或数据的权限和检索标签;其中,数据中心设有一提供模型标注服务的数据标注接口和一提供模型管理服务的模型管理接口。本发明可以为数据提供全面服务的同时,能够高效的完成从数据采集到数据使用的完整工作。

Description

数据服务方法及系统
技术领域
本发明涉及数据服务技术领域,尤其涉及一种数据服务方法及系统。
背景技术
互联网时代发展迅猛,大数据背景下网络上的信息呈爆炸式增长,与此同时深度学习技术在工业界和学术界得到广泛应用和持续发展。深度学习在各行各业的应用都需要大量高质量有标注数据的支持,但面对不同的场景,数据总会是有限的,从数据的获取到标注数据的产生再到深度学习模型的训练往往需要经过多个步骤、其中困难重重,一个周期就会消耗大量的时间。因此如何围绕海量数据打造一个全面的数据服务系统,涵盖数据的全生命周期,面向多种类型的数据提供充分的服务,从而最大化数据价值,一直是业界的难题。
目前对于面向海量数据提供服务的系统主要有数据标注系统(Chinese-Annotator、Label-studio和Doccano等)、数据管理系统(“一种大数据综合管理系统”(CN202210564880)),另外面向数据采集的工具主要有八爪鱼、Content Grabber、Parsehub、Mozenda,该类系统或工具通常只负责数据生命周期的一部分,单一的功能无法为数据提供全面的服务,往往需要通过人工的衔接才能使多个系统或工具联合使用。
综上所述,目前的数据服务主流系统或工具仅提供了部分非可持续性的功能,无法覆盖数据的全生命周期,导致数据价值大打折扣。用户为了联合使用不同平台提供的数据服务功能,往往需要做许多衔接工作,花费大量时间在数据处理和整合上,导致工作效率低。
发明内容
针对上述问题,本发明提供一种数据服务方法及系统,该系统利用数据采集工具、数据关联子系统、数据生成服务、数据标注子系统和模型部署与调度服务,为数据提供全面的服务,且可以高效的完成从数据采集到数据使用的完整工作。
本发明的技术内容,包括:
一种数据服务方法,所述方法包括:
通过用户行为来确定需要捕获的原始数据,并结合标注任务所确定的数据格式,得到原始数据集;
基于所述原始数据集进行数据生成,以得到生成数据集;其中,所述生成数据集中的数据格式满足所述标注任务所确定的数据格式;
结合用户配置的标注任务,已训练的数据标注模型对所述原始数据集和所述生成数据集内的数据进行标注,以得到标注数据集;
将数据标注模型、原始数据集、生成数据集和标注数据集存储到数据中心后,设置数据标注模型或数据的权限和检索标签;其中,所述数据中心设有一提供模型标注服务的数据标注接口和一提供模型管理服务的模型管理接口。
进一步地,所述通过用户行为来确定需要捕获的原始数据,并结合标注任务所确定的数据格式,得到原始数据集,包括:
获取系统管理员创建的标注任务,所述标注任务包括数据格式和该标注任务对应的标注用户,所述数据格式包括:数据类型和数据条数;
在一标注用户登录时,校验该标注用户对应的用户身份并获取到该标注用户对应的所有标注任务;
基于该标注用户选择的标注任务,限制采集的数据类型和数据条数;
监测用户行为,并结合限制采集的数据类型和数据条数捕获网页区域和内容,以得到原始数据集。
进一步地,所述监测用户行为,并结合限制采集的数据类型和数据条数捕获网页区域和内容,以得到原始数据集,包括:
在所述数据类型为文本数据,且数据条数为单条的情况下,监测用户在使用鼠标划取一段文本内容后,相应的快捷键是否被按下,并在该相应的快捷键被按下时,捕获鼠标划取的文本内容;
在所述数据类型为图像数据,且数据条数为单条的情况下,监测预设的快捷键是否被按下,并在该预设的快捷键被按下时,捕获光标所在图像区域的图片或启动截屏功能;
在数据条数为批量的情况下,获取当前页面HTML源码,并在相应的快捷键被按下时,分析光标所在区域的元素在网页DOM中的xpath,且重新渲染网页,以将具有相同xpath的元素节点内容加高亮。
进一步地,所述数据生成的过程,包括:
基于数据伪造工具,对所述原始数据集中的数据进行数据增强;
和,
基于数据对抗生成工具,生成所述原始数据集中数据的对抗样本。
进一步地,所述结合用户配置的标注任务,已训练的数据标注模型对所述原始数据集和所述生成数据集内的数据进行标注,以得到标注数据集,包括:
结合用户配置的标注任务,调用大模型来实现数据预标注;其中,所述大模型包括:在线大模型ChatGPT或本地部署的大模型ChatGLM;
在标注用户对预标注结果核对后,基于核对后的结果完成数据标注模型的训练,得到已训练的数据标注模型;
基于已训练的数据标注模型对所述原始数据集和所述生成数据集内的数据进行标注,以得到标注数据集。
进一步地,所述结合用户配置的标注任务,调用大模型来实现数据预标注,包括:
获取用户输入的标注配置信息;其中,所述标注配置信息用于明确标注的数据和任务类型,以及标注过程中涉及到的各类属性;
基于所述标注配置信息,将待标注数据填充至预定义的prompt模板,以生成与所述任务对应的prompt;
将所述prompt翻译为若干种语言,并从用户手动标注的数据中抽取一条数据作为样例后,翻译成对应的语言;
将每一种语言的样例嵌入到prompt中后,作为引导信息输入给大模型,以使接收引导信息的大模型基于对应语言的prompt进行待标注数据的标注,并在处理所述大模型返回结果中的多余数据后,得到对应语言的标注结果;
将所述对应语言的标注结果翻译为待标注数据的语言,得到与待标注数据语言相同的若干条答案;
将所述与待标注数据语言相同的若干条答案和所述与待标注数据语言相同的prompt输入给大模型,以使所述大模型在所述与待标注数据语言相同的若干条答案中选择一个答案,作为待标注数据的标注结果。
进一步地,所述大模型在所述与待标注数据语言相同的若干条答案中选择一个答案,作为待标注数据的标注结果之后,还包括:
将待标注数据的标注结果展示给用户,以使用户进行修订;
将修订后的标注结果添加在下一个prompt里,以对下一个待标注数据进行标注。
进一步地,基于所述模型管理接口提供模型管理服务的过程,包括:
基于模型管理接口接收的管理请求,将已打包好的tar压缩包传给中间件;其中,所述已打包好的tar压缩包基于所述管理请求指定的模型文件、模型参数、控制文件、依赖文件以及配置文件压缩而成,所述模型文件指的是使用Pytorch定义的模型结构文件,所述模型参数是模型的序列化文件,所述控制文件定义了一个包含不同功能的Python方法的类,所述配置文件根据用户输入的模型文件名、模型参数名和模型版本生成;
后端组件中启动一个进程,以解压该已打包好的tar压缩包,并将所有文件提取到一个临时文件夹中;
后端组件读取所述配置文件,并根据所述配置文件中记录的模型文件名、模型参数名以及控制文件的名称来加载相关文件,以生成模型实例;
后端组件根据配置文件中记录的模型文件名在前端组件中启动一个线程,以进行模型注册;其中,前端组件中每一个线程都对应后端组件中的一个模型实例进程;
当前端组件接收到模型推理请求时,解析该模型推理请求,以得到输入数据;
根据控制文件中指定的预处理函数对所述输入数据进行处理,以得到预处理后数据;
将预处理后数据输入到模型中进行推理,并对推理结果进行数据后处理;
将数据后处理返回给用户。
进一步地,所述方法还包括:基于被动的全量训练和/或主动的学习迭代训练对模型进行训练。
一种数据服务系统,其特征在于,所述系统包括:
数据采集工具,用于通过用户行为来确定需要捕获的原始数据,并结合标注任务所确定的数据格式,得到原始数据集;
数据生成服务,用于基于所述原始数据集进行数据生成,以得到生成数据集;其中,所述生成数据集中的数据格式满足所述标注任务所确定的数据格式;
数据标注子系统,用于结合用户配置的标注任务,已训练的数据标注模型对所述原始数据集和所述生成数据集内的数据进行标注,以得到标注数据集;
数据管理子系统,用于将数据标注模型、原始数据集、生成数据集和标注数据集存储到数据中心后,设置数据标注模型或数据的权限和检索标签;其中,所述数据中心设有一提供模型标注服务的数据标注接口和一提供模型管理服务的模型管理接口。
与现有技术相比,使用本发明提供的方法对数据提供服务,具有以下优点:
1.互联网采集插件根据用户行为从互联网采集指定数据,对结构化网页存在的批量数据和稀疏数据均可精准采集,快捷高效。
2.浏览器采集插件和数据标注系统联动,采集到的内容自动转化成标注系统需要的数据格式,用户将数据推送至标注系统后可以直接在系统内开始标注,无需进行数据预处理,降低了用户的时间成本。
3.浏览器采集插件面向文本和图像数据,实现单文本、单图像、文本-图像的数据采集方式,可以用于文本标注、图像标注、图像-文本跨模态标注。
4.模型部署与调度服务提供了模型自动化部署和调度的功能,实现与数据管理系统的联动,用户可使用数据管理系统内的数据完成模型训练,并可将训练得到的模型一键部署,降低了用户模型开发的复杂工作,提高用户工作效率。
5.模型部署与调度服务和标注系统联动,实现了人机协同的标注模式,通过主动学习用户标注结果提升模型自身能力,并为标注过程提供预标注的支持,提高了用户的标注效率。标注完成后既得到了标注数据也得到了使用标注数据训练的模型,可使用预标注模型提供服务支撑相关业务。
6.数据生成服务面向图像、视频、音频、文本数据提供了全面的数据生成服务,用户可使用服务生成大量数据,达到扩充数据的目的,解决数据匮乏的问题。
7.标注系统为全类型的数据提供了多种标注工具和多种任务模板,可广泛支撑多种标注场景的工作。
8.采标造管用的数据服务体系涵盖从数据获取到数据标注、管理再到数据使用、生成的全套流程,最大限度的发挥数据价值。
附图说明
图1本发明数据服务系统的数据流图。
图2数据采集工具的架构图。
图3数据采集的数据流图。
图4数据标注子系统的架构图。
图5数据标注的数据流图。
图6大模型的跨语言能力和自洽性处理流程图。
图7基于大模型的辅助标注流图。
图8模型部署与调度服务的架构图。
图9主动学习迭代训练的数据流图。
图10TorchServe的架构图。
图11数据服务服务的数据流图。
具体实施方式
为使本发明的上述特征和优点能更明显易懂,下面通过具体实施例,对本发明的技术方案做进一步说明。
本发明的系统包括数据采集工具、数据标注子系统、数据生成服务、数据管理子系统、模型部署与调度服务,以覆盖数据“采、标、造、管、用”的全生命周期,从数据流的角度看,系统的数据流图如图1所示。
一.数据采集工具。
数据采集工具是面向数据生命周期中“采”的部分,其可以用于批量采集结构化网页广泛存在的数据,或单条采集互联网少量存在的数据。该数据采集工具和数据标注子系统互通,可将采集得到的数据经过格式化后推送到数据标注系统中,省去了采集数据的清洗和预处理过程。
一实施例中,数据采集工具可以为浏览器(Chrome)插件,如图2所示,该浏览器插件的架构包含用户登录模块、任务选择模块、行为检测模块和数据传输模块。
●用户登录模块。
用户登录模块用于校验用户在标注系统中的身份和用户所参与的标注任务。本实施例中,用户登录模块采用和数据标注系统同一套认证体系,共用同一套数据库且共享浏览器登录信息,用户只需在标注系统或插件中任选一个登录即可完成单点登录。
●任务选择模块。
任务选择模块用于插件选择数据采集面向的标注任务,由于面向不同任务需要不同的数据格式,所需要的数据数量也有所不同,例如文本分类需要一条文本,文本生成需要两条文本,图像分类需要一张图像等,因此该模块通过选择不同的标注任务来固定数据的输入格式,使采集得到的数据可以直接应用于数据标注。
●行为监测模块。
行为监测模块用于监测用户行为,用户可通过快捷键等方式唤醒插件,插件通过用户行为来确定需要捕获的网页区域和内容。
其中,行为监测模块提供两种数据采集方式:单条采集和批量采集。
在单条采集方式中:针对文本数据,用户使用鼠标划取一段文本内容后,模块监测预设的快捷键是否被按下,当用户通过快捷键唤醒插件时,模块自动捕获鼠标划取的内容;针对图像数据,提供两种采集方式:第一种是当用户把鼠标移动到图片区域,并按下预设的快捷键唤醒插件,插件捕获图片的原始地址并抓取图片;第二种是用户按下预设的快捷键唤醒插件截图功能,用户手动截取图像区域。
在批量采集方式中,模块自动获取当前页面HTML源码,用户通过快捷键唤醒插件,点击网页内容,模块自动分析光标所在区域的元素在网页DOM中的xpath,并重新渲染网页,将具有相同xpath的元素节点内容加高亮,便于向用户展示批量采集的结果,具有不同xpath元素的采集结果需要定义不同的字段。
●数据传输模块。
数据传输模块用于将采集好的数据以固定的数据格式传输给数据标注系统的数据存储模块,由于任务选择模块预先根据任务类型确定了数据的输入格式,因此传输的数据满足单条任务数据的格式要求,该数据可以直接用于数据标注流程。
本实施例使用数据采集工具完成数据采集的过程,如图3所示,包括:
1)系统管理员在标注系统中创建并配置标注任务,规定标注任务的数据格式(数据类型和数据条数),该配置决定了后续对采集数据的格式要求。
2)标注用户登录浏览器插件,插件校验用户身份并获取到用户所有的标注任务。
3)标注用户选择标注任务,不同的标注任务对数据格式有不同的要求,插件根据数据格式的要求限制了用户采集的数据类型和数据条数,不满足要求的数据无法插入到标注系统。
4)标注用户通过不同方式唤醒插件,采集文本或图像数据。
5)当采集的数据满足标注任务单条数据的格式要求时,用户可将数据插入到标注系统。
二.数据生成服务。
数据生成服务是面向数据生命周期中“造”的部分,提供多种类型的数据生成接口,用于使用数据管理子系统内的数据生成不同场景下的额外数据,用于扩充原始数据集。
一实施例中,本发明的数据生成服务可单独作为一个平台提供对抗攻防服务,也可内嵌于数据管理系统内,使用数据管理系统内的数据集调用服务生成额外数据,达到扩充数据的目的。该服务包括工具管理模块、工具状态监控模块、权限认证模块、数据生成模块:
●工具管理模块。
工具管理模块用于添加、删除数据生成工具,以及调整各个工具的上下线状态。
●工具状态监控模块。
工具状态监控模块用于对数据生成工具的运行状态进行监控,查看各个工具的使用情况。
●权限认证模块。
权限认证模块用于校验用户权限,该模块采用和数据管理子系统、数据标注子系统相同的认证体系,共享用户信息。
●数据生成模块。
数据生成模块是集成了图像、文本、视频、音频等所有数据生成工具,用于接收数据生成额外数据。
在数据生成模块中,考虑到两种使用场景,第一种是用户数据匮乏,本服务集成了数据伪造工具,用户可使用已有数据做数据增强,扩充数据集。第二种是用户使用已有数据在具体应用中构建的方法效果不好、鲁棒性差,本服务集成了数据对抗生成工具,用户可使用已有数据做对抗生成,增加数据集中对抗样本的数量,进而将对抗样本加入到方法的构建过程当中,使得该方法的鲁棒性得到提高。
三.数据标注子系统。
数据标注子系统是面向数据生命周期中“标”的部分,用于完成数据标注工作,其以用户上传和从数据管理导入为数据来源,支持文本、图像、视频和音频的文件格式,再经过多团队、多用户、多角色的标注工序,最后可将完成标注的数据下载到本地或存储到数据管理子系统。
一实施例中,该标注子系统的架构图,如图4所示,包括数据标注模块、数据验收模块、团队管理模块、任务管理模块、用户登录模块和数据存储模块。
●数据标注模块。
数据标注模块用于完成标注任务,当任务发布者将任务下发到团队或个人时,用户在该模块中完成数据标注工作。数据标注的数据流图如图5所示,其中已标注数据在该模块中完成审核和质检两道审查工序,审查方式支持全审和抽审,全审指全量审查,抽审指抽样审查。
在所述标注模块中,用户在执行标注过程时,模块前期将用户的标注结果传送给模型部署与调度服务,等待后台模型完成主动学习,后期用户在加载下一条数据之前,模块将未标注数据传给后台模型,得到模型预标注的结果并展示给用户,待用户完成更正之后再将标注结果回传给后台模型,通过这种方式不断提高后台模型的准确率,也会提高用户的标注效率,达到人机协同的标注模式。
除与模型部署与调度服务耦合来实现智能标注外,标注模块同时可使用调用大模型来实现数据预标注,大模型是指具有巨大参数规模和计算能力的深度学习模型,其具备更强大的表征能力和学习能力。这使得大模型在处理复杂任务、大规模数据集和广泛的领域中表现出色。本实例中使用在线大模型ChatGPT和本地部署的大模型ChatGLM为辅助标注的语言模型。
在大模型辅助标注的模式下,首先,需要定义标注任务,明确标注的数据和任务类型,以及标注过程中涉及到的各类属性。例如文本抽取任务,用户需配置实体、关系的类别。然后根据用户所配置的信息,将系统内预定义的prompt模板进行填充,自动生成与任务对应的prompt。在用户手动标注若干条数据后,系统将从中抽取出一条数据作为样例嵌入到prompt中,作为引导信息输入给大模型,以获得更为准确的标注结果。例如正在进行的关系抽取任务,Prompt可能会是这样的:
“我想让你担任数据标注工程师,我会输入一些待标注的文本数据,你的工作就是根据输入的文本来进行头实体和尾实体及关系的标注。工作可能包括命名实体识别,头实体和尾实体之间的关系的分类,标注结果格式如下:
[{
"head":"...",
"tail":"...",
"relation":"..."
}]
以下是我的文本内容:
美国人乔治·肯尼迪在2023年8月22日进行社区服务,服务地点是德克萨斯州达拉斯的德克萨斯书仓。”
通过将大模型返回的文本进行处理,剔除掉无效文本,可以得到标注结果为:
[{
"head":"乔治·肯尼迪",
"tail":"德克萨斯书仓",
"relation":"社区服务"
}]
为了提高大模型标注的准确率,本方法综合使用大模型的跨语言能力和自洽性来提升大模型的自然语言理解能力,从而使得标注结果更加准确,如图6所示,具体方法如下:
首先,由于现成大模型(例如ChatGPT)的训练语料通常由多种语言构成,其中越被广泛使用的语言其语料越多,大模型也就对更加广泛使用的语言拥有更强的理解能力,所以我们使用世界上语言使用率最高的几种语言作为备选语言,分别是中文、英语、西班牙语、法语、德语,本方法将输入给大模型的prompt分别翻译成以上五种语言,分五次输入给大模型,大模型将根据对不同类型语言的理解能力产生不同的思维方式,从而产生不同的答案。
然后,将不同语言的结果重新翻译回待标注文本的语言,即可得到与待标注文本相同语言的五条答案,再将五个答案和原始prompt构成一个选择题,输入给大模型让其做选择,等同于让大模型作为五条标注答案的审核员,从而选出更加优秀的答案作为最终结果,例如:
“我想让你担任数据标注审查员,我会输入一条待标注的文本数据,以及五条实体关系标注的标注结果,你的工作就是从五条标注结果中选出最为准确的一条作为最终结果,
待标注文本如下:
美国人乔治·肯尼迪在2023年8月22日进行社区服务,服务地点是德克萨斯州达拉斯的德克萨斯书仓。
五条标注结果如下:
(a)…
(b)…
(c)…
(d)…
(e)…
请直接给我标注结果的选项”
最后,系统将大模型选出的结果作为最终结果展示给用户,用户修订后,将作为引导信息添加在下一个prompt里。这样,通过在prompt中插入样例,会使大模型返回更加准确的结果。
基于大模型的辅助标注流程,如图7所示,包括:
1)用户配置标注任务;
2)系统获取标注配置;
3)系统获取当前待标注数据;
4)判断当前待标注数据是否为已标注数据;
5)若是,则获取已标注数据;
6)若不是,则构建Prompt,并将Prompt的结果输入给大模型后,处理返回结果中的多余数据,得到格式化结果。
●数据验收模块。
数据验收模块用于完成已标注数据的验收工作,当数据在标注模块完成标注和相关的质检工作后,在数据验收模块交由验收人员完成最终的验收。质检中的审查过程也包括全审和抽审,在任何一道审查工序中,不符合要求的数据都可以被驳回到标注员重新标注。其中验收人员应属于标注任务的甲方,标注人员应属于标注任务的乙方,当标注任务没有指定验收人员时,则不需要验收过程,在完成数据标注和相关审核工作后即结束标注任务。
●团队管理模块。
团队管理模块用于项目管理员创建和管理团队,项目管理员可为标注工序中所有成员创建账号,并将部分成员组合成一个团队,在为分配标注任务时可选择用户或团队参与标注任务。
在所述团队管理模块中,本系统将用户角色分成项目管理员、标注员、审核员、质检员、验收员,对应标注工序中的创建、标注、审核、质检、验收,用户可根据不同的任务体量选择不同的工序,如大规模标注任务可以涵盖全部工序,小规模标注任务可只进行标注和审核。
●任务管理模块。
任务管理模块用于项目管理员创建、修改、删除标注任务,本系统支持对文本、图像、视频、音频类数据进行标注,支持用户上传待标注数据和从数据管理系统导入待标注数据,并为多种类型的任务提供任务模板,使用户自由选择标注场景和详细配置标注任务。
在任务管理模块中,本系统为不同类型的数据提供了多种标注工具和任务模板,例如为图像类数据提供图像通用标注、目标检测等任务模板以及2D框、3D框、点云等标注工具,为文本提供了命名实体识别、实体关系标注等任务模板以及片段标注、关系标注、全局属性等标注工具。
●用户登录模块。
用户登录模块用于校验用户身份,为不同角色的用户展示不同的页面,该模块和数据采集工具采用同一套认证体系,共用同一套数据库且共享浏览器登录信息。
●数据存储模块。
数据存储模块用于暂存数据标注的结果,并定期将数据持久化存储在系统本地。
在数据存储模块中,考虑到系统对标注操作的响应需要及时,对效率要求很高,因此本模块使用redis暂存标注数据,将数据存储在缓存中,由于其读写速度快的特性,能够满足用户需求,并在数据达到一定量级后将缓存中的标注数据持久化存储在系统本地。
四.数据管理子系统。
数据管理子系统是面向数据生命周期中“管”的部分,作为系统的数据中心存储各个数据源的数据,包括用户通过采集工具采集得到的数据、用户上传的数据、标注系统完成标注的数据,以及数据生成服务生成得到的数据。该系统底层是一个对象存储服务,支持存储任意类型的数据,并支持对数据加权限,设置可见用户,以及对数据加标签,便于用户检索和浏览。
一实施例中,本发明的数据管理子系统是本发明数据服务系统的数据中心,和系统中各部分做数据交互,底层是MinIO搭建的高可用分布部署对象存储服务组件,用以存储任意类型的数据文件,并提供数据导入、导出和管理服务。该系统包含数据管理模块和用户登录模块。
●用户登录模块。
用户登录模块用于校验用户身份,采用和数据标注系统同一套认证体系,共用同一套数据库且共享浏览器登录信息,因此可用标注系统标注数据管理系统内的未标注数据。
●用户数据管理模块。
数据管理模块用于管理系统内的数据,包括数据上传、下载、删除、检索以及调用数据生成服务扩充数据。
在数据管理模块中,在调用MinIO接口存取文件的基础上,扩展数据检索功能,用户为上传数据定义标签,实现通过标签检索系统内数据的功能,并优化原有前端页面,提供数据可视化的功能。在该模块中内嵌数据生成功能,该功能通过调用数据生成服务,使用数据管理系统内的数据生成额外数据,并将生成得到的数据存储在数据管理系统内。
五.模型部署与调度服务。
模型部署与调度服务是面向数据生命周期中“用”的部分,用于自动化部署和训练深度学习模型,该服务和数据标注子系统耦合,用于为数据标注过程提供预标注,并且主动学习用户标注结果后自动训练提升自身效果。该服务也可以使用数据管理子系统内的数据训练已有模型,并支持将完成训练的模型一键部署后对外开放API供用户使用。该服务和数据标注子系统、数据管理子系统之间耦合,可以充分发挥已有数据的价值。
模型部署与调度服务的设计用于在生产中提供机器学习预测的现成的Web应用程序,在实现本服务的方案中,一共包含三个组件,分别是中间件、前端组件、后端组件,架构图如图10所示其前端组件负责接收模型的推理请求;后端组件使用python实现,集成Pytorch框架用于加载和调度模型,当用户每加载一个模型,前端组件就单独启动一个线程负责接收该模型的所有推理请求,同时后端使用Pytorch加载该模型,启动一个该模型的实例;中间件是一个单独的RESTful API服务器,用于接收用户对模型的管理请求,负责模型的注册、加载、调度、删除等请求。当使用本服务部署和托管模型时,它的技术实现步骤为以下几个部分:
1.模型打包
本服务提供了模型打包指令,通过执行该指令,用户可将指定的模型文件、模型参数、控制文件以及依赖文件压缩成一个tar压缩包,同时根据用户输入的参数,例如模型名称、模型版本等,生成一个配置文件一并放入压缩包,用于后续模型的加载。其中,模型文件指的是使用Pytorch定义的模型结构文件,模型参数是模型的序列化文件,控制文件是核心,其中定义了一个类,类下定义了不同功能的Python方法,包括数据预处理、数据推理、数据后处理、模型训练等方法,需要用户根据自己的模型手动改写,本服务会在模型加载后依次调用这些方法,从而完成一次数据请求-模型推理-数据返回的过程。
2.服务启动
当用户启动本服务时,本服务会根据用户配置,在两个端口分别启动中间件和前端组件,其中中间件负责模型的注册、加载、调度、删除等管理请求,前端组件负责模型推理的请求。
3.模型加载
当用户将已打包好的tar压缩包传给本服务中间件后,后端组件中启动一个进程,解压该压缩包,提取所有文件到一个临时文件夹中,读取配置文件,并根据配置文件中记录的模型文件名、模型参数名以及控制文件名来加载相关文件,生成模型实例,同时根据配置文件中的模型名称在前端组件中启动一个线程,用于注册该模型,便于后续管理和调度,其中,前端组件中每一个线程都对应后端组件中的一个模型实例进程。
4.模型推理
当本服务的前端组件接收到一个输入请求时,它会根据请求的路由将请求发送到对应的模型进行推理。本服务前端组件负责处理HTTP请求,解析请求的数据,并根据用户编写的控制文件中指定的预处理函数对输入数据进行处理,使其符合模型的输入要求。预处理完成后,本服务将处理后的数据输入到模型中进行推理。推理结果会输入数据后处理方法,并将后处理得到的数据作为最终结果返回给用户。
5.模型管理与扩展
本服务通过中间件实现了模型的管理与扩展功能,通过中间件、前端组件、后端组件三者的互通,可以根据用户请求新增模型或缩减模型实例,以达到模型的管理与扩展。
在一实施例中,本发明将所提模型部署与调度服务作为底层,经过二次开发接口,提供用户上传模型自动部署、模型主动学习和被动训练、模型调度和推理的功能,可单独使用服务部署模型,也可与标注系统联动,为标注系统提供预标注,实现人机协同智能标注。该服务架构设计如图8所示,包括:数据标注接口、模型管理接口、模型调度模块、模型管理模块、数据集存储模块、模型存储模块、标注结果存储模块和模型调度模块。
●数据标注接口。
数据标注接口用于提供模型标注服务接口,支持RESTful接口形式调用模型提供的标注服务用于实现数据预标注和质检等功能。
●模型管理接口。
模型管理接口用于提供模型管理服务接口,支持RESTful接口形式对训练好的标注模型进行统一部署和调度,提供模型管理接口,包括上线、下线、版本升级、扩容等操作。
●模型调度模块。
模型调度模块用于提供模型训练和模型推理功能,支持CLI命令行使用标注系统已有数据集和标注数据对模型进行全量迭代训练,也支持通过用户标注实时训练模型,进而辅助用户标注,提升用户标注效率;以及使用模型对已有数据进行推理。
模型调度模块为模型训练提供了两种训练方式,分别是被动的全量训练和主动学习迭代训练。
全量训练:对于需要训练的模型,系统后端加载用户的模型文件、控制文件和依赖文件,并使用用户提供的训练方法和加载标注系统已有的数据集和标注数据进行迭代训练。
主动学习迭代训练:在使用辅助模型的手动标注场景下,需要对模型进行实时训练,本发明采用主动学习的技术方案,主动学习技术实现了人与文本标注模型的互动,通过引入文本标注模型为标注者提供标注建议,通过标注者的标注训练更新文本标注模型。通过主动学习模型,我们就可以获得未标注数据的自动标注结果。标注结果存入Redis数据库中,并批量持久化到文件系统;在后续标注过程中,这些数据将传递回标注模型,对标注模型进行进一步的训练,提升模型性能。数据流图如图9所示。
●模型管理模块。
模型管理模块用于提供模型上传、删除、管理模型的功能,支持CLI命令行上传本地Pytorch格式的模型定义文件、参数文件、控制文件、依赖文件到服务器,系统加载模型自动化部署。也支持针对系统现有标注模型的删除。同时支持模型配置,实现模型上线、下线、版本升级、扩容等功能,通过扩容设置模型实例的个数,在高并发时扩容生成较多的实例满足流量需求,在低并发时设置较少的实例节省系统资源,也可以通过设置使系统根据当前流量自动调整实例个数。
本发明可便捷加载一个或多个模型,并自动创建由可扩展Web服务器提供支持的预测API。模型服务器还可以根据预测请求运行代码预处理和后处理。同时,模型服务器还提供例如日志记录、监控和安全性等功能用与维护。
本发明提供给用户规范的控制文件编写方案,通过用户上传模型文件、参数文件、依赖文件和控制文件,系统校验模型是否可以正常运行,将通过测试的模型文件打包传给模型部署服务的中间件,交由其部署和提供API,系统通过API和模型进行交互,将待标注数据传给模型,由API返回标注结果。
在服务提供上,本发明使用Flask作为server通过Web接口对外提供的服务,对模型部署与调度服务的API进行二次封装,支持RESTful接口形式和模型管理模块进行交互,用以调度模型实现数据标注和数据质检等功能。对于耗时任务,采用Redis存储消息队列,并使用Celery构建异步任务队列,对于已标注数据会通过此任务队列进行持久化。
通过本服务可与标注系统实现人机协同的智能标注模式,达到高效标注的目的。另外,可使用数据管理系统内有标注的数据或标注系统完成标注的数据全量训练系统内或自定义的Pytorch模型,并一键部署提供服务,省去模型开发、数据预处理和人工部署的复杂工序,提高研发人员的工作效率。
●数据集存储模块。
数据集存储模块用于用户上传和删除数据集,以及对数据集进行标注等操作。当用户使用数据管理系统内的数据训练模型时,无需使用此模块,服务通过数据管理系统提供的接口获取数据。
●模型存储模块。
模型存储模块用于将用户上传的模型信息记录到数据库,方便用户管理和调度。
●标注结果存储模块。
标注结果存储模块用于持久化存储用户在标注过程中回传的标注结果。
图11是本发明数据服务方法的数据流图。如图11所示,该数据服务方法包括以下步骤:
1.用户使用采集插件完成数据采集,将数据存入数据管理子系统;
2.用户在数据标注子系统中创建标注任务,配置好任务模板、团队人员等;
3.用户推送数据管理子系统中的采集数据到标注系统的标注任务中;
4.用户在标注系统中完成标注,标注过程中数据标注子系统会和模型部署与调度服务交互,构建人机协同标注模式;
5.如用户认为数据量不充足,则用户可使用标注完成的数据或采集得到的无标注数据生成额外数据;
6.如用户有自定义模型,可将模型上传到模型部署与调度服务;
7.用户可使用数据管理子系统内的数据训练已存在的模型;
8.用户可部署训练完成的模型,或直接部署标注过程中通过主动学习构建的模型。
综上所述,为了覆盖数据全生命周期,为数据提供全面的服务,高效完成从数据采集到数据使用的完整工作,本发明提出一种集成采集、标注、生成、管理、使用的一体化数据服务方法及系统。本发明适用多种类型的数据,面对结构化网页无法通过爬虫批量采集的数据提供数据采集插件,实现对数据的精准采集,并将数据格式化后推送至标注模块;标注模块提供数据标注功能,以严格的标注流程把控数据标注的质量,标注模块和数据管理模块互通,实现从数据管理模块推送到标注任务中,并将标注结果回传到数据管理模块存储;数据生成模块和数据管理模块互通,实现使用数据管理模块存储的数据生成多种场景下的伪造、对抗数据,从而达到扩充数据的目的;数据使用模块内含模型部署与调度功能,实现模型的自动化部署与调度,并提供预标注和模型主动学习的功能,结合标注模块实现人机协同的标注模式,大幅提升标注效率,此外,该模块提供使用数据管理模块内的数据训练内部模型的功能,并支持将完成训练的模型部署上线,对外提供服务,简化模型训练和部署的工作,大幅减少从基础数据到模型落地的时间成本。
最后应说明的是:以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照上述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对上述实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

Claims (10)

1.一种数据服务方法,其特征在于,所述方法包括:
通过用户行为来确定需要捕获的原始数据,并结合标注任务所确定的数据格式,得到原始数据集;
基于所述原始数据集进行数据生成,以得到生成数据集;其中,所述生成数据集中的数据格式满足所述标注任务所确定的数据格式;
结合用户配置的标注任务,已训练的数据标注模型对所述原始数据集和所述生成数据集内的数据进行标注,以得到标注数据集;
将数据标注模型、原始数据集、生成数据集和标注数据集存储到数据中心后,设置数据标注模型或数据的权限和检索标签;其中,所述数据中心设有一提供模型标注服务的数据标注接口和一提供模型管理服务的模型管理接口。
2.如权利要求1所述的方法,其特征在于,所述通过用户行为来确定需要捕获的原始数据,并结合标注任务所确定的数据格式,得到原始数据集,包括:
获取系统管理员创建的标注任务,所述标注任务包括数据格式和该标注任务对应的标注用户,所述数据格式包括:数据类型和数据条数;
在一标注用户登录时,校验该标注用户对应的用户身份并获取到该标注用户对应的所有标注任务;
基于该标注用户选择的标注任务,限制采集的数据类型和数据条数;
监测用户行为,并结合限制采集的数据类型和数据条数捕获网页区域和内容,以得到原始数据集。
3.如权利要求2所述的方法,其特征在于,所述监测用户行为,并结合限制采集的数据类型和数据条数捕获网页区域和内容,以得到原始数据集,包括:
在所述数据类型为文本数据,且数据条数为单条的情况下,监测用户在使用鼠标划取一段文本内容后,相应的快捷键是否被按下,并在该相应的快捷键被按下时,捕获鼠标划取的文本内容;
在所述数据类型为图像数据,且数据条数为单条的情况下,监测预设的快捷键是否被按下,并在该预设的快捷键被按下时,捕获光标所在图像区域的图片或启动截屏功能;
在数据条数为批量的情况下,获取当前页面HTML源码,并在相应的快捷键被按下时,分析光标所在区域的元素在网页DOM中的xpath,且重新渲染网页,以将具有相同xpath的元素节点内容加高亮。
4.如权利要求1所述的方法,其特征在于,所述数据生成的过程,包括:
基于数据伪造工具,对所述原始数据集中的数据进行数据增强;
和,
基于数据对抗生成工具,生成所述原始数据集中数据的对抗样本。
5.如权利要求1所述的方法,其特征在于,所述结合用户配置的标注任务,已训练的数据标注模型对所述原始数据集和所述生成数据集内的数据进行标注,以得到标注数据集,包括:
结合用户配置的标注任务,调用大模型来实现数据预标注;其中,所述大模型包括:在线大模型ChatGPT或本地部署的大模型ChatGLM;
在标注用户对预标注结果核对后,基于核对后的结果完成数据标注模型的训练,得到已训练的数据标注模型;
基于已训练的数据标注模型对所述原始数据集和所述生成数据集内的数据进行标注,以得到标注数据集。
6.如权利要求5所述的方法,其特征在于,所述结合用户配置的标注任务,调用大模型来实现数据预标注,包括:
获取用户输入的标注配置信息;其中,所述标注配置信息用于明确标注的数据和任务类型,以及标注过程中涉及到的各类属性;
基于所述标注配置信息,将待标注数据填充至预定义的prompt模板,以生成与所述任务对应的prompt;
将所述prompt翻译为若干种语言,并从用户手动标注的数据中抽取一条数据作为样例后,翻译成对应的语言;
将每一种语言的样例嵌入到prompt中后,作为引导信息输入给大模型,以使接收引导信息的大模型基于对应语言的prompt进行待标注数据的标注,并在处理所述大模型返回结果中的多余数据后,得到对应语言的标注结果;
将所述对应语言的标注结果翻译为待标注数据的语言,得到与待标注数据语言相同的若干条答案;
将所述与待标注数据语言相同的若干条答案和所述与待标注数据语言相同的prompt输入给大模型,以使所述大模型在所述与待标注数据语言相同的若干条答案中选择一个答案,作为待标注数据的标注结果。
7.如权利要求6所述的方法,其特征在于,所述大模型在所述与待标注数据语言相同的若干条答案中选择一个答案,作为待标注数据的标注结果之后,还包括:
将待标注数据的标注结果展示给用户,以使用户进行修订;
将修订后的标注结果添加在下一个prompt里,以对下一个待标注数据进行标注。
8.如权利要求1所述的方法,其特征在于,基于所述模型管理接口提供模型管理服务的过程,包括:
基于模型管理接口接收的管理请求,将已打包好的tar压缩包传给中间件;其中,所述已打包好的tar压缩包基于所述管理请求指定的模型文件、模型参数、控制文件、依赖文件以及配置文件压缩而成,所述模型文件指的是使用Pytorch定义的模型结构文件,所述模型参数是模型的序列化文件,所述控制文件定义了一个包含不同功能的Python方法的类,所述配置文件根据用户输入的模型文件名、模型参数名和模型版本生成;
后端组件中启动一个进程,以解压该已打包好的tar压缩包,并将所有文件提取到一个临时文件夹中;
后端组件读取所述配置文件,并根据所述配置文件中记录的模型文件名、模型参数名以及控制文件的名称来加载相关文件,以生成模型实例;
后端组件根据配置文件中记录的模型文件名在前端组件中启动一个线程,以进行模型注册;其中,前端组件中每一个线程都对应后端组件中的一个模型实例进程;
当前端组件接收到模型推理请求时,解析该模型推理请求,以得到输入数据;
根据控制文件中指定的预处理函数对所述输入数据进行处理,以得到预处理后数据;
将预处理后数据输入到模型中进行推理,并对推理结果进行数据后处理;
将数据后处理返回给用户。
9.如权利要求8所述的方法,其特征在于,所述方法还包括:基于被动的全量训练和/或主动的学习迭代训练对模型进行训练。
10.一种数据服务系统,其特征在于,所述系统包括:
数据采集工具,用于通过用户行为来确定需要捕获的原始数据,并结合标注任务所确定的数据格式,得到原始数据集;
数据生成服务,用于基于所述原始数据集进行数据生成,以得到生成数据集;其中,所述生成数据集中的数据格式满足所述标注任务所确定的数据格式;
数据标注子系统,用于结合用户配置的标注任务,已训练的数据标注模型对所述原始数据集和所述生成数据集内的数据进行标注,以得到标注数据集;
数据管理子系统,用于将数据标注模型、原始数据集、生成数据集和标注数据集存储到数据中心后,设置数据标注模型或数据的权限和检索标签;其中,所述数据中心设有一提供模型标注服务的数据标注接口和一提供模型管理服务的模型管理接口。
CN202311496024.6A 2023-11-10 2023-11-10 数据服务方法及系统 Pending CN117688345A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202311496024.6A CN117688345A (zh) 2023-11-10 2023-11-10 数据服务方法及系统

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202311496024.6A CN117688345A (zh) 2023-11-10 2023-11-10 数据服务方法及系统

Publications (1)

Publication Number Publication Date
CN117688345A true CN117688345A (zh) 2024-03-12

Family

ID=90137954

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202311496024.6A Pending CN117688345A (zh) 2023-11-10 2023-11-10 数据服务方法及系统

Country Status (1)

Country Link
CN (1) CN117688345A (zh)

Similar Documents

Publication Publication Date Title
CN103294475B (zh) 基于图形化业务场景和领域模板的业务自动生成系统和方法
US8683324B2 (en) Dynamic generation of target files from template files and tracking of the processing of target files
US20040205598A1 (en) Method and system for management of structured document and medium having processing program therefor
CN101661512A (zh) 一种识别传统表单信息并创建对应Web表单的系统及方法
CN105095449A (zh) 一种将html网页转换为移动终端页面的方法
CN111309313A (zh) 一种快速生成html以及存储表单数据的方法
CN111552665A (zh) 标注信息格式转换方法、装置、设备和介质
CN115438740A (zh) 一种多源数据的汇聚融合方法和系统
CN113962597A (zh) 一种数据分析方法、装置、电子设备及存储介质
CN110162301B (zh) 一种表单渲染方法、装置和存储介质
WO2007081017A1 (ja) 文書処理装置
CN111311461A (zh) 基于b-s的结构化动态病历表单的编辑器及生成方法
CN101315629B (zh) 网页动态内容的下载方法及其系统
CN117873486A (zh) 一种前后端代码自动生成方法、装置、设备及存储介质
CN113900629A (zh) 一种计算机流程自动化的引擎实现系统
KR100762712B1 (ko) 규칙기반의 전자문서 변환방법 및 그 시스템
CN102411498A (zh) 一种实现数据模型的方法及图形化设计器
CN115796140B (zh) 报告自动生成、报告模板配置方法和装置
CN116303359A (zh) 一种数据库结构多类型文档导出的实现方法
CN116400914A (zh) 一种基于数据模型快速构建web应用的方法
JP2006065467A (ja) データ抽出定義情報生成装置およびデータ抽出定義情報生成方法
CN117688345A (zh) 数据服务方法及系统
CN115454382A (zh) 需求处理方法和装置、电子设备、存储介质
CN115169578A (zh) 一种基于元宇宙数据标记的ai模型生产方法及系统
KR102282159B1 (ko) Xml 기반 다국어 매뉴얼 저작 장치 및 그 방법

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination