姜滟稳,江自昊
(芜湖职业技术学院,安徽芜湖 241000)
随着信息科技的飞速发展,如何高效的分析处理数据同时利用分析结果提高程序性能对开发者来说尤为重要,常规数据一般存储在数据库中,用户通过计算机终端、web传输端口、URL等渠道对数据进行调用和获取,常规数据类型基本以结构化数据为主体.在进入人工智能时代,在Python、R语言等基于数据分析程序设计语言的发展下,大数据分析和机器学习等先进技术在各行各业开始生根发芽,数据处理从单一形态向多媒体、多视角、多结构的多模态数据融合方向转化,以图像、视频、语音、文本等类型的非结构化数据逐渐成为用户传递给计算机程序的主体数据.针对这类非结构化数据必须进行数据清洗和数据分析,进行结构化数据标记才能满足传统程序的算法需求.本文基于早期的研究成果和参与开发的程序系统为数据模型,针对目前程序运营中出现的问题,通过机器学习中的相关算法设计一套针对非结构数据处理的方法,通过此次设计,解决程序系统对非结构化数据处理不足的问题,掌握分析原理,为技术研究、项目开发提供全新的思路.
公益活动起源于欧洲工业革命时期,早期活动形式较为单一,表现为人道主义救援和贫民救济活动,发展到如今,国外已经形成了较为完备的志愿服务体系和志愿服务激励机制.与之相比,国内的公益服务发展速度较为缓慢.近几年在党和国家的高度重视下,公益服务活动开始进入人们的视野中,虽然部分城市结合自身经济发展的特点推出了志愿服务激励活动等相关政策,但从总体发展来看,公益行业依然面临缺乏宣传平台、公众意识淡薄、公益活动运营困难、公益活动缺少奖励机制、救助项目覆盖的群体较小等诸多问题,其中最主要的问题是管理和运营问题.
图1 公益联盟系统核心示意图Fig.1 Core schematic diagram of Public Welfare Alliance System
公益联盟系统是为解决公益活动推广和运营等问题而开发的程序系统,通过搭建系统化数据化的紧密协作程序平台,明确政府、企业、志愿者、公共服务机构、公益组织在公益活动的角色和职责.同时程序设计了基于公益权益积分池的核心算法,通过公益积分将联盟系统可以提供的资源数字化,企业和用户通过参与公益活动获得的积分,自己在积分池中兑换资源,同时也可以将自身可以提供的资源投入积分池,为其他需要的用户提供积分兑换.系统通过积分流通保证公益资源和商业资源互相兑换形成一个健康良性的公益生态圈(如图1所示).
(1)非结构化数据利用率低
公益联盟系统通过权益积分池算法很好地解决了公益活动中的运营成本问题,随着越来越多的用户参与公益活动,系统与用户交互的数据量越来越多,在这些数据中,通过手机平台产生的图片、语音、文本等非结构化数据的比例占整个数据量的85%,但系统本身采用的算法原理以线性回归算法为主,无法直接分析处理非结构化数据,导致程序对非结构化数据类型的使用率不高.
(2)活动事件缺少数据分析
公益活动是一种复杂的社会活动,政府和公共服务机构虽然是活动的发起者和组织者,活动的主体依然是居民和志愿者,个体的自我意识是活动的主导,公益联盟系统需要对活动的开展进行预估评测,在活动结束以后更需要进行用户情感分析和活动满意度分析来对用户的流失状态进行预测,才能保证系统运营的稳定.用户通过手机产生的非结构化数据产生于公益活动开展的中期和后期,通过解析这些实时数据可以为系统的预估提供数据模型.
明确系统的功能需求,才能确定基础数据的核心来源,系统数据主要包括公益活动相关信息和数据,比如近几年城市公益活动开展情况和政府颁布的相关政策,市民对公益事业的态度和公益活动的参与情况,政府、公益组织、企业对公益活动的经费投入,这些数据需要进行结构化和非结构化的筛选和划分,对二者之间的联系进行分析,并对各自在系统中的角色进行清晰的界定,形成最重要的基础数据.
本文中系统采用DataSet预测技术预测数据集的数据类型、数据范围、数据结构、数据属性等各项参数,用于提取和构建系统特征最重要的数据保障和网络传输信息,确定系统整体数据规范.
在形成基础数据之后,必须制定数据分类规则,因此需要分析公益联盟系统的核心算法—公益权益积分池.公益权益积分池是公益联盟的系统核心,也是维系整个系统框架良性循环和长久运营的主体机制,系统通过核心算法将系统中政府、企业、志愿者、公共服务机构、公益组织各方角色通过公益积分与积分池进行串联,按照系统算法制定的规则进行交流互通,因此本项目的数据标注规则必须以公益联盟框架中的核心算法为标注标准,标注后的数据必须满足系统的积分流通规则.
其中非结构化数据中图像、文本、音频、视频将依据项目中的数据标注规则进行采集[1],具体内容包括:
图像数据集:以公益活动的拍照对象进行采集,包括人脸数据、车牌数据和活动中特征物体数据等.
文本数据集:以公益联盟系统中各方角色为标准进行采集,包括人名、地名、命令词、常用引导词等.
音频采集:对公益活动的现场的声音数据进行采集,主体为身份识别.
视频采集:考虑分析成本,本系统不采集视频数据.
数据标注分类从不同维度进行,数据标注分类依据表1中列举的分类优缺点进行分类.
在完成基础数据收集工作后,系统对所有收集到的数据进行筛选,按照机器算法进行数据的清理,对数据的完整性进行分析,将重复的数据进行删除,保持数据的一致性;
其次检查数据集的错误数据和缺失数据,降低数据的复杂噪点;
最后将数据统一成适合标注且符合项目标注规则的数据集.
如表1所示,系统对非结构化数据进行清晰分类后,在添加标记的过程中,必须分析标注形式是结构化、非结构化还是半结构化,考虑研发成本,本文主体采用结构化标记分类.
表1 数据标注分类列表Tab.1 Classification List of data annotation
图2 HDFS分布式文件系统结构图Fig.2 Structure diagram of HDFS distributed file system
在数据管理阶段,通过不同应用程序调用接口将异构的数据导入分布式数据库中,利用Hadoop Distributed File System分布式文件系统[2](如图2所示)中的组件,可以将结构化数据和非结构化数据并行管理和存储.运用这种分布式云服务器存储技术,使大数据分析和计算的数据查询和检索功能能够快速可靠的完成.
本文重点分析如何对图像数据进行数据挖掘,为提高数据挖掘的利用率,拟采用YOLOv5s目标检测算法[3],对实时上传的图像数据通过自适应锚框计算与自适应图片缩放方法进行归一化处理(如图3所示).在进行锚框计算时,对图像数据分析并进行特征提取,例如人脸、车牌、社团旗帜、企业标志等,其中人脸识别作为个体数量集进行统计.数据挖掘采用Mosaic数据增强法则对4张照片进行拼接,并根据图片的拍摄时间建立测试集,提高图像数据的使用效率,降低数据模型的性能需求.
图3 Mosaic算法实验图Fig.3 Mosaic algorithm experiment chart
图4 非结构化数据挖掘展示图Fig.4 Unstructured data mining diagram
如图4所示,通过Mosaic算法对图像数据进行深度挖掘,将非结构化的数据进行数据转化,转化后的带有结构化标记的非结构化数据就可以运用二分类算法进行数据分类,并添加到系统的常规数据表中,大大提高数据的利用率.若需要拓展系统的核心功能,例如进行用户流失预警预测,则需要进一步搭建数据模型,建立训练集和测试集.
本文利用Python语言对数据集进行分类,代码如图5所示:
图5 数据集分类代码Fig.5 Classification code of data set
图5中的代码将数据集分成训练集和测试集两个部分,x,y分别对应特征变量(特征分类)和目标变量(采集数量),test_size的数值表示测试集所占的百分比.系统可以依据采集时间适度调整测试集的比例范围.
本文采用GBDT算法[4],依据表2的数据格式对用户是否流失进行数据分析测试,“图像最近采集时间”和“图像权重”两列是通过非结构化数据挖掘后产生的新数据列.
表2 用户流失预警数据示例表Tab.2 Example of user loss warning data
表格中包含1500组测试数据,“是否流失”列中1代表流失,0代表未流失,在原本的用户流失预警数据示例表中不包含“图像最近采集时间”和“图像权重”两列,系统通过分类决策树算法对用户流失进行了预估,但0和1的结果并不能帮助系统进行精准的预测,在添加新挖掘的数据列之后,系统可以采用更先进的人工智能算法对数据表进行测试.
GBDT算法通过迭代模型强化决策树的残差值获取更精细的数据,迭代模型公式[5]如下:
fm(x)=fm-1(x)+Tm(x)
(1)
公式(1)中fm-1(x)是第m-1次的迭代模型,Tm(x)是本次待搭建的决策树,同时也是上一个拟合模型残差值的决策树,fm(x)是经过本次迭代计算后,生成的新数据模型.通过“图像最近采集时间”列中不同的日期数据,就可以选择不同的初始切分点构建第一个初始决策树,通过反复迭代获取均方误差MSE,当MSE的值达到指定要求或者迭代次数达到指定条件就停止迭代,形成最终模型,本文拟MSE为0.075作为停止迭代标准,“图像权重”列作为图像识别获取用户参与度数据,将放入到最终结果中作为测试模型的评估标准之一.
从表3可以看出,拓展后的数据示例表采用GBDT算法可以获取更准确的预测数据.
与分类决策树产生的“0”“1”数值相比,GBDT算法获得的测试数据精度更高,“图像权重”列可以作为数据模型的命中率参考值[6],对测试结果进行评估,当不流失概率和命中率都低于30%,系统可以判定用户具有流失的风险,考虑到不同的图像采集时间作为迭代模型不同的初始切分点,30%的数值可以适当的提高或者降低,优化模型评估结果.
通过人工智能算法对非结构化数据进行处理可以强化拓展进行测试的数据集合,方便计算机系统使用更先进的算法对数据进行预测,程序系统可以依据自身的成本和决策树算法,在少量增加支出的条件下,利用数据挖掘得到的结构化数据,加强系统数据的功能扩展,增强系统的数据使用率.
猜你喜欢公益活动结构化数据挖掘公益活动证书安徽医学(2022年1期)2022-11-21手拉手,献爱心公益活动小读者(2021年4期)2021-06-11促进知识结构化的主题式复习初探河北理科教学研究(2021年4期)2021-04-19探讨人工智能与数据挖掘发展趋势大众投资指南(2021年35期)2021-02-16结构化面试方法在研究生复试中的应用计算机教育(2020年5期)2020-07-24左顾右盼 瞻前顾后 融会贯通——基于数学结构化的深度学习福建基础教育研究(2020年3期)2020-05-28“温暖寒冬”公益活动行(三)学生天地(2018年6期)2018-06-15“温暖寒冬”公益活动行(三)学生天地·小学低年级版(2018年2期)2018-05-13基于并行计算的大数据挖掘在电网中的应用电力与能源(2017年6期)2017-05-14一种基于Hadoop的大数据挖掘云服务及应用信息通信技术(2015年6期)2015-12-26扩展阅读文章
推荐阅读文章
老骥秘书网 https://www.round-online.com
Copyright © 2002-2018 . 老骥秘书网 版权所有