当前位置: 首页 > 专利查询>云南大学专利>正文

一种基于信息检索的多索引集成软件构件检索方法及系统技术方案

技术编号:17007777 阅读:35 留言:0更新日期:2018-01-11 04:02
本发明专利技术属于软件构件检索领域,公开了一种基于信息检索的多索引集成软件构件检索方法及系统,本发明专利技术引入词性过滤对软件源代码关键词进行预处理,通过对特定词性词汇的过滤,在缩减索引空间内源代码向量的稀疏性的同时,提高了相似性计算的准确度,提升了软件构件检索的性能。本发明专利技术构件检索是建立在索引空间内的相似度计算基础之上的。本发明专利技术提出了一种集成“词袋”模型索引与词嵌入模型索引的相似性计算方法,该方法以源代码构件自身结构的“内聚度”和“耦合度”作为评价指标,将“词袋”模型索引方法与词嵌入模型索引方法所计算出的相似度进行集成,获得了更为精确的相似性度量,从而获得更为精准的构件检索结果。

【技术实现步骤摘要】
一种基于信息检索的多索引集成软件构件检索方法及系统
本专利技术属于软件构件检索领域,尤其涉及一种基于信息检索的多索引集成软件构件检索方法及系统。
技术介绍
目前,由于软件构件库规模的日益增长,如何快速地从现有软件构件库中检索出需要的源代码构件,成为了当前各软件公司、构件库平台亟待解决的问题。软件构件是软件系统中实际存在的可更换部分,它实现特定的软件功能,符合一套接口标准并实现一组接口。软件构件检索是指,建立需求功能与构件库中软件构件源代码实体之间的映射关系。随着软件行业的爆炸式增长,软件系统规模、开发成本呈大幅度增长态势,几乎所有软件公司都构件了自己的构件库,以期通过软件复用的方式提高构件的重用性,降低软件开发成本。同时,也出现了以GitHub、SourceForge等为代表的开源软件构件库,这些构件库内存储了巨量可供软件开发人员复用的软件构件,为软件开发人员提供了极为丰富的构件资源。软件构件检索技术是提高软件源代码可重用性,降低软件开发和维护成本的重要方法。在当前软件构件库大规模环境下,如何快速、精确的从软件构件库中检索出软件开发、维护人员所需求的软件构件成为了一个亟待解决的关键问本文档来自技高网...
一种基于信息检索的多索引集成软件构件检索方法及系统

【技术保护点】
一种基于信息检索的多索引集成软件构件检索方法,其特征在于,所述基于信息检索的多索引集成软件构件检索方法,包括:在预处理步骤引入词性过滤对构件源代码关键词进行处理;通过对特定词性词汇的过滤,缩减索引空间内向量的稀疏性;利用集成词袋模型与词嵌入模型进行相似性计算;以构件源代码数据自身结构的内聚度和耦合度作为评价指标,将词袋模型索引方法与词嵌入模型索引方法所计算出的相似度进行集成,使不同索引模型优势互补,获得相似性度量;生成构件检索结果。

【技术特征摘要】
1.一种基于信息检索的多索引集成软件构件检索方法,其特征在于,所述基于信息检索的多索引集成软件构件检索方法,包括:在预处理步骤引入词性过滤对构件源代码关键词进行处理;通过对特定词性词汇的过滤,缩减索引空间内向量的稀疏性;利用集成词袋模型与词嵌入模型进行相似性计算;以构件源代码数据自身结构的内聚度和耦合度作为评价指标,将词袋模型索引方法与词嵌入模型索引方法所计算出的相似度进行集成,使不同索引模型优势互补,获得相似性度量;生成构件检索结果。2.如权利要求1所述的基于信息检索的多索引集成软件构件检索方法,其特征在于,所述词性过滤仅保留语料库中的名词、名词性词组、动词、动词性词组、形容词、形容词性词组、副词及副词词组成分作为关键词,建立基于词性的关键词筛选方法,降低关键词的数量;具体包括:初始化存储结果用的集合Dc为空,同时定义另一个集合T={tag1,tag2,…,tagn}用于标记每个关键词的词性;T中的元素与Da中的元素存在一一对应关系,Da中关键词wi对应于T中的tagi,由于Da中共有n个源代码关键词,T的元素个数也为n;先对T中的所有元素进行初始化,将其初始值设为null;识别Da中每个源代码关键词wi的词性,并将识别的结果存储于对应的tagi,函数posTaging(wi)的返回值为集合post={tn,tpron,tadj,tnum,tv,tadv,tart,tprep,tconj,tinterj}中的一个元素,词性的标注通过人工标注,或者使用相关工具处理包实现;检查T中的每一个元素tagi,若tagi∈postin={tn,tadj,tv,tadv},则将对应的wi插入到结果集合Dc中;最后返回结果Dc;其中,输入为所有构件源代码关键词集合Da以及蕴含语义知识的词性集合postin,输出为过滤掉不蕴含语义知识词性关键词后的语料库Dc;源代码语料库Da是所有源代码关键词w的集合Da={w1,w2,…,wi,…,wn},其中wi代表语料库中的第i个源代码关键词,该语料库共由n个源代码关键词组成;词性是由10个元所组成的集合post={tn,tpron,tadj,tnum,tv,tadv,tart,tprep,tconj,tinterj},其中tn,tpron,tadj,tnum,tv,tadv,tart,tprep,tconj,tinterj分别代表词性:名词、代词、形容词、数词、副词、冠...

【专利技术属性】
技术研发人员:王炜何云李彤杨云
申请(专利权)人:云南大学
类型:发明
国别省市:云南,53

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1