基于Apriori算法的煤矿事故隐患短文本关联分析
2024-02-23赵科
赵 科
(长治学院, 山西 长治 046000)
为准确把握安全生产的特点和规律,2016年,国务院安委会出台印发了《标本兼治遏制重特大事故工作指南》,要求煤矿在内企业构建安全风险分级管控和隐患排查治理双重预防机制,提升安全生产整体预控能力,从而有效遏制事故发生。其中,建立完善隐患排查治理体系,要“明确和细化隐患排查的事项、内容”,还要达到“实现隐患排查治理的闭环管理”的目标。自双重预防机制实施以来,事故隐患排查治理的信息化管理系统几乎成为煤矿企业的“标配”,管理平台在长期的使用中积累了大量的煤矿事故隐患数据。由于对隐患数据缺乏有效的研究手段,难以将隐患数据充分利用并形成良性反馈机制,导致煤矿企业长期陷入“数据爆炸但知识匮乏”的尴尬局面,隐患数据无法为隐患排查治理的闭环管理提供相关决策支持,煤矿生产安全依旧存在“认识不深刻、管理不周到”的突出问题[1].
如何从大量的不断增长的煤矿事故隐患数据中有效挖掘事故隐患背后隐藏的规律、规则和特点,提升对事故隐患的认识并反馈到煤矿事故隐患排查治理闭环管理成为当下煤矿事故隐患领域的一个研究热点。有部分学者围绕煤矿事故隐患数据进行了研究。李仕琼[2]利用Fp-Crowth 算法对煤矿安全隐患的属性数据进行规律总结;张大伟[3]基于OLAM方法通过微软SSIS对煤矿隐患数据进行挖掘;张长鲁[4]运用六何分析法实现煤矿文本型隐患数据的知识显性化;谭章禄等[5-6]基于LDA挖掘煤矿安全隐患记录数据的隐患主题,构建煤矿安全隐患语义网络后进行聚类分析;毛瑞军等[7]通过采用时间序列分析模型挖掘煤矿历史隐患数据;高晓旭等[8]借助算法挖掘煤矿隐患数据多维度间的关联关系;彭德军等[9]基于卷积神经网络有效提取煤矿隐患信息关键语义;田水承等[10]对煤矿顶板事故调查报告进行网络中心性分析和核心边缘结构分析。
上述研究为煤矿事故隐患数据的挖掘利用提供了参考思路,但是鲜有对煤矿事故隐患数据特征属性的针对性研究。本文利用关联规则数据挖掘方法,充分考虑煤矿事故隐患数据特性,对隐患文本数据进行研究分析,为发掘事故隐患信息的规律联系和揭示煤矿事故隐患整体态势提供了一种新的思路和手段,以期为煤矿事故隐患排查治理闭环管理提供决策信息支持。
1 数据来源及预处理
1.1 数据来源
以宏源集团富家凹煤矿2017—2018年共3958条事故隐患数据作为研究对象,根据双重预防机制要求,每条事故隐患数据中包含了隐患描述、责任单位、隐患位置、整改措施、资金、时限等字段内容。在对煤矿事故隐患数据进行关联规则挖掘时,针对隐患描述、责任单位、隐患位置3个字段信息进行研究分析。部分隐患数据见表1.
表1 煤矿事故隐患部分数据
煤矿事故隐患数据采用自然语言记录,由汉字、数字、英文字母及标点符号组成,是中文文本数据。从表1可以看出,煤矿事故隐患文本数据记录较口语化、专业词汇多,同时,每条隐患文本数据中隐患多维信息常常是几个词语的简单组合,这是典型的中文“短文本”数据[11],以上煤矿事故隐患文本数据的特点属性都为其研究利用增加了难度。
1.2 数据预处理
在实际工作中,煤矿事故隐患短文本数据由现场工作人员手工输入,内容采用中文常用习惯表达,是非结构化的中文文本信息。在煤矿事故隐患短文本关联规则挖掘前,需要进行文本预处理操作,将非结构化数据转化为计算机可以识别的结构化数据。文本预处理通常包括分词、去停用词、文本表示等内容[12].
1.2.1 分词
中文分词是将连续的中文句式按照一定的规范切分后,重新组合成词的序列的过程。煤矿事故隐患短文本数据是以汉字为主的连贯表达,不像英文句式中单词用空格区分,所以需要将隐患中文句子准确分隔成一个个词。
R是一种软件语言和操作环境,常用于数据挖掘和可视化研究领域。jiebaR是R语言在文本数据挖掘中最常使用的中文分词工具包。由于分词使用场景不同,因此,在实际应用中的分词效果也取决于分词词库的好坏。通过总结搜狗细胞词库中的公共词库和手动添加专业词汇的方式建立了煤矿事故隐患用户词典,见图1,丰富了中文分词词库,提高了中文词汇拆分的准确性,保障了后续研究的顺利进行。例如隐患短文本数据为“1236轨道巷皮带有两处接头不合格”,分词后得到的结果是:“1236轨道巷”“皮带”“有”“两”“处”“接头”“不合格”。此处的“1236轨道巷”实现准确分词,正是在分词词库中手动添加专业词汇的结果。
图1 煤矿事故隐患用户词典
1.2.2 去停用词
停用词是指在文本中无实际意义,去掉后不影响主旨的词、字符。常见的中文停用词可以分为两类,一是表达中常用,在语句中发挥结构功能,主要包括数词、量词、介词、连词、助词、意义有限的动词等,如“的”“与”等词;二是标点符号和无意义的数[13].
分词之后,删除停用词的操作称之为去停用词。以隐患短文本数据 “1236轨道巷皮带有两处接头不合格”为例,经分词和去停用词的操作后,得到结果为:“1236轨道巷”“皮带”“接头”“不合格”,去停用词删去了“有”“两”“处”3个字符,均属于中文停用词中的第一类情形。
1.2.3 文本表示
文本表示是采用模型将非结构化数据转化为计算机可以识别和处理的结构化数据,目前通常采用向量空间模型。
向量空间模型是由Salton等人提出,现被广泛应用于文本数据挖掘中的文本表示[14]. 在煤矿事故隐患短文本数据研究中,将每条隐患数据看作一个文档,隐患短文本经过分词和去停用词后的结果成为隐患文档的特征项,每个文档均由特征项构成,隐患文档空间向量模型即可表示为:
Document=D(t1,t2,…,tn)
(1)
式中:tk是特征项,其中1≤k≤n.
2 关联规则及算法
2.1 关联规则
关联规则起源于美国沃尔玛超市购物篮分析,超市管理者通过分析顾客购买商品习惯和偏好,在此基础上实施更加精准的产品优化、推荐销售等营销策略,提高超市的产品销量和经济效益[15]. 关联规则作为数据挖掘的关键技术之一,其目标就是在大量数据集中寻找对象集合之间存在的关联性和因果性,为管理者提供参考建议。
在关联规则中,一个事件的发生,很可能会引起另一个事件的发生,将煤矿事故隐患数据文本预处理后的结果看作不同事件,例如“1236轨道巷”“皮带”“接头”“不合格”,那么事件“皮带”的出现,就有可能推测事件“接头”出现。将关联规则挖掘用于煤矿事故隐患短文本数据研究,能够快速精准地从数量庞大的煤矿事故隐患数据中得到煤矿事故隐患问题的概况和细节,为煤矿经营者针对事故隐患排查治理工作提供参考。
关联规则的度量方式包括支持度、置信度和提升度[16]. 在关联规则挖掘中将每条煤矿事故隐患数据看作一个事务,事务里记录了事故隐患的多维信息,全部的事务组成了事务集D.
D={d1,d2,…,di,…,dn}
(2)
式中:di是煤矿事故隐患数据,其中1≤i≤n.
将每条隐患短文本预处理后的特征项看作事务的属性,称之为项,总项集是所有项的集合。
I={i1,i2,…,ij,…,im}
(3)
式中:ij是项,其中1≤j≤m.
隐患短文本预处理后的项或项集X和Y属于总项集I,且两者无交集,蕴含式X⟹Y表示X和Y同时出现的规则。
在事务集D中,X和Y在总项集I出现的概率称为支持度。
(4)
式中:X和Y表示没有交集的项或项集。
当X出现时,若能以一定的概率推测出Y,则在事务集D中同时含有X和Y的事务总量除以只有X的事务总量的商为置信度。
(5)
关联规则中支持度和置信度的值同时高于对应分析期望值称为强关联,否则为弱关联。
在X条件下Y发生概率除以Y单独发生的概率的商称为提升度。
(6)
提升度大于1则为有效强关联规则,具有分析价值;提升度等于1则说明X和Y相互独立;提升度小于1,关联规则无效。
2.2 Apriori算法
Apriori算法由Agrawal等人提出,是基于频繁项集和强关联规则搜索过程的递归算法[17]. 基础思想是在设定支持度的前提下,不断寻找事物集中的频繁项集,从频繁1项集一直搜索到频繁(k+1)项集不存在,结果中最高为频繁k项集,然后再根据置信度过滤掉以上结果中不符合的弱关联规则。目前主要运用在市场推销、互联网个性推荐等领域。
将Apriori算法思想转化为实现计算过程,见图2流程图。在算法开始之前设置最小支持度和最小置信度,然后从事物集中开始寻找候选项集,从最小候选1项集开始根据最小支持度判断是否为频繁1项集,以此类推,直到得出最大频繁k项集。在每生成一个频繁项集后,对置信度进行计算,值大于最小置信度的输出为强关联规则,否则将非强关联规则舍弃。
图2 Apriori算法流程
3 试验及结果分析
3.1 关联规则挖掘
使用R语言环境对“隐患描述”短文本数据进行Apriori算法关联规则挖掘。在算法运行前,支持度和置信度参数需要根据实验数据进行调整,由于3958条事故隐患短文本分词之后数量是以万为单位,因此支持度和置信度参数设置不能过大。经过反复试验,当支持度的值为0.005,置信度的值为0.5,Apriori算法挖掘结果良好。将得到的关联规则部分输出,见表2.
表2 煤矿事故隐患部分关联规则
结合关联规则原理,可以对该试验输出结果进行解读:
1) 支持度分析。由定义可知,支持度这项参数用来度量没有交集的两项事务在总事务集中出现的概率。在试验的3958条煤矿事故隐患数据中,出现频率较高的隐患内容有积水影响行人、支架漏液、淤泥多、风筒脱节、皮带跑偏等,分别出现了57次、44次、32次、29次、29次。
2) 置信度分析。置信度越高,表示前项事务推断后项事务出现的概率越大。表中第一条规则,当隐患内容中出现“下浮煤”时,这条隐患一定是与“皮带”有关的;在{液压管}⟹{漏液}这条规则中,当隐患内容中出现“液压管”时,该隐患有76.67%的可能是在描述液压管漏液。
在试验中,将置信度参数设置为0.5,从结果看来,甚至出现了100%,这是因为在记录隐患内容时的表达描述方式简易,体现在置信度中就是事务间联系密切度高。
3) 提升度分析。提升度大于1表示强关联规则。在挖掘结果中,{码放}⟹{材料}、{破碎}⟹{顶板}、{液压管}⟹{漏液}这3条规则的提升度明显较高,说明“材料”“顶板”“漏液”等特征项单独出现的概率较小,而常常分别在隐患内容中提到“码放”“破碎”“液压管”时出现。
3.2 关联规则可视化
R语言是一个统计计算和制图的优秀工具,善于将数据挖掘结果进行可视化呈现。将煤矿事故隐患数据基于Apriori算法进行关联规则挖掘后通过图像的方式能够全面直观展示隐患信息关联规则细节,使煤矿经营管理者迅速掌握事故隐患信息中存在的薄弱环节和工作短板,明确煤矿现场隐患排查治理的工作重心。
图3是使用R语言对“隐患描述”短文本数据进行Apriori算法关联规则挖掘可视化输出结果。图中支持度越大,圆圈的面积越大;提升度越大,圆圈的颜色越深。
图3 隐患描述关联规则
将关联规则输出为可视化图像后能够看出,“隐患描述”内容信息成簇状聚集呈现,簇中心有支架、皮带、风筒、积水、排水管路、迎头、顶板等事务,围绕簇中心出现的事务作为特征词,对隐患内容的形式作出全面说明。以支架隐患为例,图2以“支架”为簇中心展示了支架隐患高频出现的具体形式,包括“支架错茬”“支架漏液”“支架十字头坏”“支架咬架”“支架液压管接头”等。
在对“隐患描述”关联规则可视化图像分析的基础上,增加了“隐患位置”和“责任单位”进行关联规则分析,并将结果可视化输出,分别得到图4和图5.
图4 隐患描述和隐患位置关联规则
图5 隐患信息关联规则
由图4可以看出,在关联规则挖掘中增加了“隐患位置”后,隐患发生形式与隐患位置之间存在明确的关联性,也就是说,不同位置的隐患有着各自的特征。1234工作面、1238工作面的支架隐患比较突出,形式多样,包括支架错茬、十字头坏、支架压力不足、咬架、接顶不实、支架漏液等。在1238轨道巷、三采区轨道巷、三采区皮带巷中,隐患问题主要集中在风筒、皮带、帮锚、迎头支护等方面。
图5隐患信息关联规则挖掘中包含了隐患描述、隐患位置和责任单位3项信息,输出图片暴露出相关责任单位在生产工作中高频常见的容易造成的事故隐患。综采队的工作隐患集中在工作面,有支架操作管理隐患和工作面积水隐患;掘一队集中在轨道巷,常见隐患涉及到风筒、帮锚、钢棚支护;掘二队问题暴露在皮带巷和联巷,隐患涉及到材料码放、皮带、钢棚支护等方面。煤矿经营管理者可以根据这些信息对相关责任单位和队组加强工作技能培训,提高工作生产水平,严格规范施工要求,从而在源头上降低隐患发生的几率。
4 结 论
Apriori算法模型研究对象与煤矿事故隐患短文本数据特征高度契合,为煤矿事故隐患短文本分析利用提供了理论支持和实践途径。结果表明,Apriori算法揭示了蕴藏在煤矿隐患数据中的关联规则,通过可视化图像直观展示出煤矿事故隐患中存在的薄弱环节和短板,对煤矿现场的隐患管理工作有重要的启示和指导意义。