[0046] 下面根据附图以及具体实施例对本发明作详细说明。
[0047] 本发明一种基于微信小程序的数据采集平台,如图1所示,包括如下步骤:
[0048] 步骤1:建立任务系统,该系统包括任务发布、任务查询、任务追踪;
[0049] 步骤1中建立任务系统的过程为:
[0050] 步骤1.1:搭建前端模块
[0051] 前端模块由微信小程序官方提供的页面标签和javascript接口;
[0052] 步骤1.2:搭建后端模块
[0053] 后端模块主要以springboot为主的技术栈进行搭建,构成有springboot+mybatis+mysql的框架,内嵌已配置好的tomcat服务,通过springboot提供的服务支持,以及mybatis提供的数据库支持,搭建一套后端应用提供相应的后端服务;
[0054] 步骤1.3:在mysql中建立相应数据表,在springboot中创建与表中数据类型,结构相同的java实体类;
[0055] 步骤1.4:利用mybatis的映射能力在DAO层写入以实体类作为参数的java接口与数据库语句达成相应的映射关系,创建相应的数据库语句;
[0056] 步骤1.5:利用springboot的注入能力创建绑定了不同URL路径的java方法,接收不同的从微信小程序前端发送来的data数据,调用绑定数据库语句的java方法,实现对微信小程序各种功能的后端支持。
[0057] 其中,任务发布:通过表单实现前端部分的任务发布模块。实现定义表单、获取用户输入数据与图片数据、获取用户上传音频、获取用户输入的大文本数据,同时令用户选择需要的任务类型;
[0058] 任务查询:任务查询与任务主页同时使用后端接受到的JSON字符串进行渲染,根据用户不同的搜索条件,wx.request()函数中的data属性将包含不同的任务类型参数,后台将返回不同的查询数据,实现任务的多方位查询;
[0059] 任务追踪:任务的追踪功能在用户的个人主页中,渲染功能与查询功能类似,个人中心的data属性为固定的,通过固定的数据发送,任务追踪功能利用后端中reddis的缓存功能同时可加大页面的并发量,在后台数据更新时调用wx.onShow()接口进行页面的刷新,随时更新用户的任务进度。
[0060] 步骤2:启用高并发方案,避免多用户在本平台同时进行活动时,产生的卡顿、线程阻塞而导致服务器的宕机;
[0061] 步骤2的具体过程为:
[0062] 步骤2.1:进行HTML静态化处理,即将前端请求后的结果保存为一个静态的HTML文件,令用户访问生成的静态页面,减少前端访问,缓解服务器压力;
[0063] 步骤2.2:实现资源服务器分离,即将图片、音频等数据与页面进行分离,将其放到独立的资源服务器中;
[0064] 步骤2.3:进行服务器资源缓存,即在任务状态的更新后,在服务端将缓存该数据,并在用户访问时直接返回该缓存中记录的结果。如图3所示,是本发明服务器资源缓存过程:务状态更新后,于服务器端缓存该数据,再次访问时直接返回缓存的结果,一定时间后更新缓存,提高了单个请求的响应速度,降低服务层及数据库层的压力。
[0065] 步骤3:进行任务审核,如图2所示,通过自动审核与人工审核相结合的方式,提高审核的细致程度;
[0066] 步骤3的过程为:
[0067] 步骤3.1:自动审核
[0068] 利用机器学习的识别能力对图像,文字,语音进行识别,排除简单的错误提交,利用SDK进行处理,自定义配置接口参数,方便开发与操作;
[0069] 步骤3.2:人工审核
[0070] 搭建审核网站页面,审核系统搭建在别于任务系统的服务器上,同步资源服务器的数据资源;
[0071] 搭建专用于审核的网站页面,审核系统搭建在别于任务系统的服务器上,同步位于资源服务器的数据资源。其中,审核网站页面利用B/S模式通过以下方法搭建。在MyEclipse的平台搭建该客户端系统,利用MySQL实现数据库的相关设计。通过MyEclipse创建一个JavaWeb项目Check,建立DataBase.java文件实现连接数据库的操作。此处需要导入mysql驱动包实现MyEclipse与MySQL数据库的连接。数据库连接成功后根据功能需求分析对各模块进行分析与设计并实现其功能。对于本专利,人工审核网站包括任务发布审核及任务提交审核两个系统,以实现对任务发布及提交后任务内容的审核。在所有功能实现后,将JavaWeb项目加载到Tomcat中,启动服务器,在浏览器网址栏中输入网址http://localhost:8089/Check/adminMain.jsp能够看到界面成果展示,并测试功能的完成度。
[0072] 步骤3.3:审核反馈
[0073] 审核完成后,同步用户服务器数据库数据,更新用户状态。同时给用户发送站内信息,通知任务审核结果。
[0074] 步骤4:根据用户要求对图片及音频文件进行数据标注。
[0075] 步骤4具体包括以下步骤:
[0076] 步骤4.1:文字素材标注。在情感分析,命名实体识别,文本摘要三个方面进行文字标注。主要使用Doccano来处理。其中,Doccano是一个在Github上开源的自然语言处理的标注工具,支持合作标注,可以进行多人合作。对一个文本进行了一部分标注后,后台通过学习,能自动对文本进行标注,提高标注效率。
[0077] 步骤4.1:文字素材标注。在情感分析,命名实体识别,文本摘要三个方面进行文字标注。主要使用Doccano来处理。本发明对一个文本进行了一部分标注后,通过Doccano利用后台通过学习,能够自动对文本进行标注,提高标注效率。其中,Doccano是一个在Github上开源的自然语言处理的标注工具,支持合作标注,可以进行多人合作。
[0078] 步骤4.2:图片素材标注。对图像的某一部分进行标注处理,主要使用labelimg来进行标注处理。其中,labelimg为Github上开源的一款图像标注工具,支持图像分割直接而生成可以使用的数据集,同时支持自动标注,避免了人工重复工作。
[0079] 步骤4.2:图片素材标注。对图像的某一部分进行标注处理,主要使用labelimg来进行标注处理。其中,labelimg为Github上开源的一款图像标注工具。本发明通过利用labelimg所支持的图像分割直接而生成可以使用的数据集的功能,同时通过其支持的自动标注方法,避免了人工重复工作。
[0080] 步骤4.3:音频素材标记。利用机器学习的语音识别方向,将语音进行分割,进一步进行语音标注与转写。主要使用Praat进行处理。
[0081] 步骤4.3:音频素材标记。利用机器学习的语音识别方向,将语音进行分割,进一步进行语音标注与转写。主要使用Praat进行处理。其中,Praat是一款能够对数字化的语音信号进行分析、标注等操作的多功能专业语音学软件。本发明利用Praat对语音信号的分析与标注这一的基本功能,实现对音频的标记。
[0082] 本发明主要搭建了一个针对可定制性数据进行采集的AI数据采集平台。用户通过使用微信小程序在本平台上发布数据采集任务,并设定任务要求,以约束所需数据的类型与内容,实现数据的可定制性。同时平台要求任务设定截止时间、领取人数及任务奖励。任务的截止日期和领取人数的限定提高了信息采集的高效性与有效性,实现了发布任务、完成任务、获得奖励的正反馈机制,能够积极调动用户参与数据采集的程度。.[0083] 例如,当用户需要特定的信息,如生活类信息数据、食品、医疗等,可以进入小程序,通过小程序任务主页进入发布大厅进行任务的发布,在发布任务过程中,设置任务的标题及任务大采集类型(目前支持的采集类型为图片、音频、文字),设定任务截止时间、可参与任务的人数、任务奖励,最为重要的是描述采集任务的要求并可以添加标准样例。通过以上要求的设置,在参与数据采集的用户提交数据后,通过进一步的审核,能够获得并提供符合任务发布的用户所需求的特定要求的数据,提高了数据的有效率与准确率,实现可定制性数据采集。
[0084] 本发明作为一个开放的数据采集平台,所有互联网用户都可参与其中。每个用户都可以是数据的拥有者或者数据的贡献者。通过特有的定制任务系统,可以根据用户的需求定制发布任务,快捷的查看任务进度,精准的定位到符合自己需求的数据。