[发明专利]一种基于事件日志的软件开发活动聚类分析方法有效
申请号: | 201910042718.X | 申请日: | 2019-01-17 |
公开(公告)号: | CN109656545B | 公开(公告)日: | 2022-03-25 |
发明(设计)人: | 唐明靖;文斌;王俊;陈建兵;邹伟 | 申请(专利权)人: | 云南师范大学 |
主分类号: | G06F8/30 | 分类号: | G06F8/30;G06F16/35;G06F40/289 |
代理公司: | 昆明人从众知识产权代理有限公司 53204 | 代理人: | 王娟 |
地址: | 650500 云*** | 国省代码: | 云南;53 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 基于 事件 日志 软件 开发 活动 聚类分析 方法 | ||
1.一种基于事件日志的软件开发活动聚类分析方法,其特征在于:利用自然语言处理技术对软件开发过程版本控制系统的事件日志数据进行文本解析和特征词提取,并基于word2vec实现软件开发活动事件日志向量化,然后基于K-means聚类算法对向量化后的软件开发活动事件进行聚类,并利用轮廓系数法得到最优聚类簇数,最终获得软件开发活动以及事件与活动的关联关系;
具体步骤为:
Step1、事件日志特征词抽取;
Step1.1、解析xml文件,提取节点元素文本内容;
Step1.2、去除停用词,保留实体词汇,所述停用词包括介词、形容词和副词,所述实体词汇包括动词和名词;
Step1.3、把各种时态的词汇转化为一般形式,做词性还原;
Step2、事件日志向量化;
Step2.1、根据事件属性子节点与软件开发活动的相关性,分别对所属特征词赋不同权重值;
Step2.2、通过调用Word2vec接口,构建Continuous Bag-of-Words Model连续词袋模型,对软件开发事件日志特征词进行词向量训练;
Step2.3、将词向量训练后的软件开发活动事件日志特征向量归一化到[0,1]区间;
Step2.4、得到软件开发活动事件日志加权向量矩阵,假设整个事件日志具有n个事件,通过向量化后得到如下软件开发活动事件日志加权向量矩阵:
其中,n为软件开发活动事件日志中的事件个数,m为软件开发活动事件日志的特征词个数;
Step3、软件开发活动事件日志聚类;
Step3.1、设定一个聚类初始簇数k值,调用K-means聚类算法对软件开发活动事件日志向量矩阵进行聚类;
Step3.2、计算个体轮廓系数;
对于软件开发活动事件日志数据的个体轮廓系数Si通过公式计算:
其中,假设样本数据i被聚类到λ簇,ai为i到λ簇内其它样本的平均距离,bi为i到非λ簇其它样本的平均距离最小值;
Step3.3、计算整体轮廓系数;
对于软件开发活动事件日志数据的体轮廓系数SC通过公式计算:
其中,n为软件开发活动事件日志数据样本总数;
Step3.4、执行m次Step3.1-Step3.3步骤后,根据计算所得个体轮廓系数和整体轮廓系数确定最优聚类效果的簇数k值;
Step4、最后得到基于相似度的软件开发活动事件日志聚类结果。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于云南师范大学,未经云南师范大学许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201910042718.X/1.html,转载请声明来源钻瓜专利网。