已阅读5页,还剩88页未读, 继续免费阅读
(计算机软件与理论专业论文)基于语义相似度分析的软构件聚类算法研究.pdf.pdf 免费下载
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
f ,私 中文摘要 随着软件技术的发展和复用概念的提出,软件复用作为提高软件丌发效率与质量的 有效途径,成为软件工程研究的热点。要真正实现软件复用的系统化、工程化,就需建 立一个完善、高效的构件库系统,加强对构件的有效管理。构件的合理分类表示是实现 构件高效检索的基础和前提,它与构件检索构成了构件管理中的两个核心问题。本文在 构件刻面分类表示的基础上,采用数据挖掘中的聚类分析技术并结合语义分析技术实现 对构件的更客观分类。 针对目前较常用的刻面分类表示法存在的术语空间依赖于专家经验、具有较强人为 主观因素等缺点,本文将基于刻面分类表示与正文检索相结合对构件进行描述,并提出 了一种基于潜在语义分析模型的构件聚类算法来实现对构件的分类。该算法不仅能在一 定语义程度上实现对构件的聚类分析,而且可以很好地克服传统的基于向量空问模型所 带来的高维稀疏等问题。实验表明该算法有效地提高了构件聚类的质量,获得了较合理 的构件分类,为构件的高效检索提供了有力的支持。 为进一步改善构件聚类的效果,本文基于自然语言处理中的语义分析技术和基于遗 传算法的优化策略,提出了一种基于语义相似度与优化的构件聚类算法。该算法利用语 义分析技术降低了人为的主观性,使构件的分类更为客观;同时,采用优化策略增强了 类内的紧凑度和耦合度,使构件的分类更加合理。在构件聚类过程中,为了更好的获得 特征词权重,针对传统的t f i d f 权重计算方法在获取特征词权重过程中假设特征词之间 是相互独立的、线性无关的不足,本文从特征词间语义联系的角度出发,给出了一种结 合语义改进的t f i d f 权重计算方法,并应用于基于语义相似度与优化的构件聚类算法 中,获得了更优的构件聚类结果。并将该聚类算法分别与基于向量空间模型和基于潜在 语义分析模型的构件聚类效果相比较,实验表明了该算法进一步改善了构件聚类的效 果,实现了构件的更客观、更合理的分类,为构件检索提供了更好的支持,达到了降低 软件复用成本,促进软件复用的目的。 构件分类作为构件库系统中的一个核心问题,得到了软件工程界广泛的研究。本文 采用了数据挖掘中的聚类分析技术对构件进行“无指导”的自动分类,并结合了自然语 义处理中的语义分析技术和遗传算法的优化策略,获得了构件更客观、更合理的分类效 果。但目前对构件聚类的研究较少,且语义分析技术还处于研究阶段,因此从语义角度 实现对构件的聚类分析,仍具有较大的研究与发展空间。 关键词:构件聚类;刻面分类;潜在语义分析;t f i d f ;语义相似度;聚类优化; a b s t r a c t w i t ht h ed e v e l o p m e n to fs o f t w a r et e c h n o l o g ya n dt h er i s eo fr e u s ec o n c e p t , s o f t w a r er e u s eh a sb e e nar e s e a r c hh o to fs o f t w a r ee n g i n e e r i n g a sa ne f f e c t i v e w a y ,s o f t w a r er e u s ec a ni m p r o v et h ee f f i c i e n c yo f s o f t w a r ed e v e l o p m e n ta n dt h e q u a l i t yo fs o f t w a r e i no r d e r t or e a l l yr e a l i z et h es y s t e m a t i z a t i o na n de n g i n e e r i n g o fs o f t w a r er e u s e ,ac o m p r e h e n s i v ea n de f f i c i e n tc o m p o n e n tl i b r a r ys y s t e mi s n e e d e dt oe s t a b l i s hs oa st om a n a g ec o m p o n e n t se f f e c t i v e l y t h er e a s o n a b l e c l a s s i f i c a t i o nr e p r e s e n t a t i o no fc o m p o n e n t si st h ef o u n d a t i o na n dp r e c o n d i t i o n o ft h eh i g h l ye 佑c i e n tc o m p o n e n tr e t r i e v a l ,w h i c ha n dc o m p o n e n tr e t r i e v a la r e t w oc o r ep r o b l e m si nt h ec o m p o n e n tm a n a g e m e n t i nt h i sp a p e r ,o nt h eb a s i so f t h ef a c e t e dc l a s s i f i c a t i o nr e p r e s e n t a t i o no fc o m p o n e n t s ,t h ec l u s t e ra n a l y s i s t e c h n o l o g ya n ds e m a n t i ca n a l y s i st e c h n o l o g y a r eu s e dt or e a l i z et h em o r e o b j e c t i v ec o m p o n e n t c l a s s i f i c a t i o n a sac u r r e n tc o m m o nu s e dm e t h o d ,t h ef a c e dc l a s s i f i c a t i o nr e p r e s e n t a t i o n m e t h o dh a ss o m es h o r t c o m i n g s ,w h i c ha r et h et e r ms p a c ed e p e n d i n go nt h e e x p e r t i s e ,t h es t r o n g e rs u b j e c t i v i t ya n ds oo n a i m i n ga tt h e s es h o r t c o m i n g s ,t h e f a c e t e dc l a s s i f i c a t i o nr e p r e s e n t a t i o nc o m b i n e dw i t ht h ef u l l t e x tr e t r i e v a li su s e d t od e s c r i b et h ec o m p o n e n t s ,a n dac o m p o n e n t c l u s t e r i n ga l g o r i t h mb a s e do n l a t e n ts e m a n t i ca n a l y s i sm o d e li sp r o p o s e dt oc l a s s i f yt h ec o m p o n e n t s t h i s a l g o r i t h mc a nr e a l i z ec o m p o n e n tc l u s t e r i n ga tc e r t a i ns e m a n t i cd e g r e e ,a n dc a n o v - r c o m et h eh i g h d i m e n s i o n a la n ds p a r s ep r o b l e mo fv e c t o rs p a c em o d e l t h e e x p e r i m e n t sp r o v e t h a tt h i s c o m p o n e n t c l u s t e r i n ga l g o r i t h m e t t e c t i v e l y 一 i m p r o v e s t h e c l u s t e r i n gq u a l i t y , o b t a i n s m o r er e a s o n a b l e c o m p o n e n t c l a s s i f i c a t i o n ,a n ds u p p o r t st h ec o m p o n e n t r e t r i e v a lm o r ep o w e r f u l l y i no r d e rt of u r t h e ri m p r o v et h ee f f e c to fc o m p o n e n tc l u s t e r i n g ,an e w c o m p o n e n tc l u s t e r i n ga l g o r i t h mb a s e d o ns e m a n t i cs i m i l a r i t ya n do p t i m i z a t i o ni s p r o p o s e db a s e do nt h es e m a n t i ca n a l y s i st e c h n o l o g yi nt h en a t u r a ll a n g u a g e p r o c e s s i n ga n dt h eo p t i m i z a t i o ns t r a t e g yo f g e n e t i ca l g o r i t h m b yt h eu s eo ft h e s e m a n t i ca n a l y s i st e c h n o l o g y , t h i sa l g o r i t h mc a nr e d u c et h es u b j e c t i v i t ya n d o b t a i nm o r eo b j e c t i v ec o m p o n e n tc l a s s i f i c a t i o n a n dm e a n w h i l e ,o n t h eb a s i so f i t h eo p t i m i z a t i o n s t r a t e g y , t h i sa l g o r i t h mc a ni n c r e a s et h ec o m p a c t n e s sa n d c o u p l e df a c t o rw i t h i nc l a s s ,i n c r e a s et h eq u a l i t yo fc o m p o n e n tc l u s t e r i n g ,a n d o b t a i nm o r er e a s o n a b l ec o m p o n e n tc l a s s i f i c a t i o n i nt h ep r o c e s so fc o m p o n e n t c l u s t e r i n g ,i no r d e rt og e tb e t t e rw e i g h to ft h ef e a t u r ew o r da n da i m i n ga tt h e s h o r t c o m i n go ft r a d i t i o n a lt f i d fm e t h o dw h i c hs u p p o s e st h a tt h ef e a t u r e w o r d sa r ei n d e p e n d e n ta n dn o n 1 i n e a rb e t w e e ne a c ho t h e ga ni m p r o v e dt f i d f m e t h o dc o m b i n e dw i t hs e m a n t i c si s p r o p o s e d t h e nt h i st f i d fm e t h o di s a p p l i e d t ot h e c o m p o n e n t c l u s t e r i n ga l g o r i t h m b a s e do n s i m i l a r i t y a n d o p t i m i z a t i o n ,w h i c ho b t a i n sb e t t e rc o m p o n e n tc l a s s i f i c a t i o n a n ds e p a r a t e l y c o m p a r e dw i t ht h ee f f e c to fc o m p o n e n tc l u s t e r i n gb a s e do nv e c t o rs p a c em o d e l a n dl a t e n ts e m a n t i ca n a l y s i sm o d e l ,o u rc o m p o n e n tc l u s t e r i n g a l g o r i t h mi s p r o v e dt h a ti tf u r t h e ri m p r o v e st h ee f f e c to fc o m p o n e n tc l u s t e r i n g ,r e a l i z e st h e c o m p o n e n tc l a s s i f i c a t i o nm o r eo b j e c t i v ea n dm o r er e a s o n a b l e ,p r o v i d e sb e t t e r s u p p o r tf o rc o m p o n e n tr e t r i e v a l ,a n dr e a c h e st h ep u r p o s eo fr e d u c i n gt h ec o s to f s o f t w a r er e u s ea n d p r o m o t i n gs o f t w a r er e u s e a sa c o r ep r o b l e mo ft h ec o m p o n e n tl i b r a r y , c o m p o n e n tc l a s s i f i c a t i o nh a s b e e nr e s e a r c h e dw i d e l yb yt h ey i e l do fs o f t w a r ee n g i n e e r i n g i nt h i sp a p e r , t h e c l u s t e ra n a l y s i s t e c h n o l o g y i nd a t am i n i n gh a sb e e nu s e dt o c l a s s i f yt h e c o m p o n e n t sa u t o m a t i c a l l y , a n dm e a n w h i l e ,t h es e m a n t i ca n a l y s i st e c h n o l o g y a n dt h eo p t i m i z a t i o n s t r a t e g y o fg e n e t i ca l g o r i t h mh a v eb e e na d o p t e dt o c l a s s i f yt h ec o m p o n e n t sm o r eo b j e c t i v e l ya n dm o r er e a s o n a b l y b u tc u r r e n t l y , t h er e s e a r c ho nc o m p o n e n tc l u s t e r i n gi sm u c hl e s s ,a n dt h es e m a n t i ca n a l y s i s t e c h n o l o g yi ss t i l li nt h er e s e a r c hp h a s e t h e r e f o r e ,t h ec o m p o n e n tc l u s t e r i n g a n a l y s i sf r o mt h ea n g l eo fs e m a n t i c sh a sm u c hs p a c ef o rf u r t h e rs t u d ya n d d e v e l o p m e n t k e yw o r d s :c o m p o n e n tc l u s t e r i n g ;f a c e dc l a s s i f i c a t i o n ;l a t e n ts e m a n t i ca n a 1 y s i s ;t f i d f ;s e m a n t i cs i m i l a r i t y ;c l u s t e r i n go p t i m i z a t i o n ; 1 v 目录 第一章绪论1 1 1 研究背景1 1 1 1 软件构件技术一1 1 1 2 基于构件的软件丌发方式2 1 2 国内外研究现状3 1 2 1 构件分类表示3 1 2 2 构件库系统4 1 2 3 构件聚类。6 1 3 论文研究内容及组织7 1 3 1 论文研究内容。7 1 3 2 论文各章内容组织7 第二章软构件的分类表示9 2 1 构件分类的必要性9 2 2 构件分类表示方法lo 2 3 刻面分类表示方法1 2 2 3 1 刻面分类方法的定义及特点1 2 2 3 2 基于刻面分类的构件检索算法1 3 2 3 3 刻面分类表示的优缺点1 4 2 4 软构件分类系统1 5 2 5 本章小结1 6 第三章基于潜在语义分析的构件聚类1 7 3 1 潜在语义分析17 3 。1 1l s a 的原理及特点1 7 3 1 2l s a 的关键技术s v d 2 1 3 1 3 利用s v d 计算各种相似关系2 4 3 2 特征词权重的计算2 5 3 3 聚类分析2 7 3 3 1 聚类分析的相关理论2 7 3 3 2k 均值聚类算法3 0 v 3 4 基于l s a 的构件聚类31 3 4 1 基于l s a 的构件聚类算法流程3 2 3 4 2 算法实现及结果分析3 3 3 5 本章小结3 5 第四章基于语义相似度与优化的构件聚类3 7 4 1 基于知网的词语语义相似度计算3 7 4 1 1 知网3 7 4 1 2 一种基于知网的词语语义相似度计算方法4 0 4 2 结合语义改进的特征词权重计算方法4 3 4 2 1 改进的t f i d f 权重计算方法4 3 4 2 2 算法实现及结果分析4 3 4 3 基于语义的文本相似度计算方法4 7 4 4 基于语义相似度与优化的构件聚类算法4 7 4 4 1 基于语义的最近邻聚类4 8 4 4 2 聚类优化5 0 4 4 3 算法实现及结果分析51 4 5 本章小节5 6 第五章总结与展望5 7 5 1 总结5 7 5 2 展望:j 一5 8 参考文献5 9 致 射。6 5 附录1t f - id f 权重计算方法实现代码6 7 附录2 结合语义改进的t f - id f 权重计算方法实现代码7 3 附录3 适应度函数实现代码7 9 读研期间取得的研究成果8 3 v i 第一章绪论 第一章绪论弟一早珀 l = 匕 1 1 研究背景 1 9 6 8 年秋季,针对“软件危机”,近5 0 名一流的计算机科学家、编程人员和工业界 巨头在北大西洋公约组织的软件工程会议上进行了讨论并制定了相应的对策。在那次会 议上,首次提出了可重用软件构件库的思想以及软件复用的概念。 软件复用就是对“为了复用而设计的软件”的重复使用【m 】,是软件开发过程中避 免重复劳动的一种解决方案【3 一钉。它使得对软件的丌发不再是一切“从零开始”,而是 集中于对已有的特有构成成份的复用上,从而可缩短软件的开发周期,提高软件生产效 率;而且通过高效的软件复用,可以避免在开发时可能导入的错误,从而提高软件的质 量。因此,软件复用的研究及其实现成为了目前研究的热点,它被视为是解决“软件危 机”的有效途径【5 9 1 。而要成功实现软件的复用,需要将众多技术因素以及各种非技术 因素结合起来共同完成,如图1 1 所示【i o j 。 图1 1 软件复用的重要因素 f i g u r e1 1i m p o r t a n tf a c t o r so fs o f t w a r er e u s e 从图1 1 中可以明显看出:软件构件技术是支持软件复用的核心技术,它被认为是有 效提高软件生产率、缩短软件产品交付时间和提高软件质量的新途径【1 1 啦】。 1 1 1 软件构件技术 从m c l l r o y 提出软件复用、软件构件等概念f 1 3 1 以来,软件构件至今还没有一个统一 的定义【1 4 】。目前具有影响力的构件定义有:美国卡内基梅隆大学的软件工程研究所的定 基于语义相似度分析的软构件聚类算法研究 义,国际第一部软件构件专著( s z y p e r s k i 所著) 中给出的构件定义以及计算机百科全书 中的构件定义。其中,计算机百科全书中的构件定义为“软件构件是软件系统中可 以明确辨识、接口由契约指定、和语境有明显依赖关系、可独立部署、可组装的、具有 相对独立功能的软件实体”。从一般意义上来讲,软件构件就是软件系统中相对独立的、 具有一定意义的、能够明确辨认的系统构成成份。目前研究的软件构件主要着眼于复用 意义即可复用软件构件,它是指具有相对独立功能的、可以被多个系统所复用的系统构 成成份。 软件构件技术的基本思想就是创建可复用软件构件,并利用这些构件来开发新的应 用软件。它是一种社会化的软件开发技术,使得丌发者通过将不同供应商开发的构件组 装在一起来构造新的软件i l 孓1 6 1 。近年来,软件构件技术得到了迅速发展,并取得了一定 的成果,如c o m 、e j b 、d c o m 以及w e bs e r v i c e 等已成为成熟的软件构件模型【1 7 19 1 。 1 1 2 基于构件的软件开发方式 在c o r b a1 2 0 - 2 3 】、e j b1 2 4 i 矛t - i c o m d c o m t 2 5 七6 1 等标准构件模型的支持下,基于构件的 软件丌发( c o m p o n e n t b a s e ds o f t w a r ed e v e l o p ,简称c b s d ) 2 7 - 2 9 1 成为了新一代的软件开 发方式,并得到了快速发展。在c b s d 中,软件开发人员只需要将一些标准构件组装起 来构成一个应用系统,开发的重点集中于构件的集成而不再是软件编程。 基于构件的软件开发过程大致分为三个主要部分:构件的生产,构件的存储、分类 和检索,以及基于构件的组装。其中,在c b s d 中起着重要作用的角色是构件库系统【3 0 1 。 它是所有构件的基础仓库,是分类和管理构件的基础设施;并在开发可复用构件和基于 构件丌发之间起着桥梁作用。围绕构件库,基于构件的软件开发过程可如图1 2 所示。 构件生产者 圃甲 圈 t , 7 ( 构件抽取、) 卒哟 ,活内桦修曲、 谳、 一、( 适应性修改) 石荔志赢 牟 ( 丝堡堡笙) 个 j 一构件库0 - - 一 ,、 一 叫构件查询) ( 塑堡坌耋一士 1 - - 。( r 构件库管理、) 构件管理者 v h 干吕8 构件复用者 图1 2 基于构件的软件开发 f i g u r e1 2c o m p o n e n t b a s e ds o f t w a r ed e v e l o p 在基于构件的软件丌发过程中,伴随着实践中构件数量的不断增长以及构件的不断 2 第一章绪论 演化更新,用户需要在构件库的众多构件中先找到所需构件,进而通过组装实现应用系 统的开发,因此检索就成为了构件库的基本功能。通过快速有效的构件检索,用户可以 迅速定位到所需构件3 m 3 1 ,并能够大大降低构件检索和构件理解成本,从而可提高构件 的复用率和软件产品的开发效率。而要实现对构件的高效检索,构件的合理分类是其基 础和关键【3 4 扔】。合理的构件分类可为构件检索提供更有力的支持以及更多样化的检索途 径。因此,构件的分类与检索成为了目前构件库系统中的两个核心问题,它们为实践中 的软件复用提供技术支持。很难想象,如果没有精确、丰富的构件分类表示与检索方法, 软件复用的工程将如何实施。本文就其中一个核心问题构件的分类进行研究。 目前对构件的分类基本都是通过事先预定好若干目标类,然后依据某分类模型对构 件进行分类。这样的分类明显带有人为主观因素,同时需投入大量的人力资源,代价大; 另外,缺乏必要的灵活性,不能全面准确地表达出构件特征。因此,本文采用“无指导 的聚类分析技术,同时引入自然语言处理的语义分析技术,从大量构件中找出语义相似 的构件并将其组成不同的组,从而从语义角度实现对构件的自动的、客观的分类。 1 2 国内外研究现状 1 2 1 构件分类表示 目前,已有很多种构件分类表示方法。h m i l i 从检索效果和复杂度的角度将其分为 了基于词法描述子的、基于文本的和基于规约的编码与检索方法【3 6 弓7 】。另外,w f r a k e s 3 8 】 从构件表示出发将其分为了人工智能方法 3 9 - 4 0 】、超文本方法【4 1 1 和信息科学方法【4 2 】三类。 其中,w f r a k e s 重点讨论了信息科学方法,它是目前复用项目中应用较为成功、较为广 泛的一类构件表示方法。图1 3 给出了信息科学的编目方法分类。在信息科学方法中,枚 举、关键词、属性值、刻面和j 下文检索这几种方法较为常见,又以关键词分类( k e y w o r d ) 和刻面分类( f a c e t e d ) 两种应用最为广泛。 图1 3 信息科学方法分类图 f i g u r e1 3c l a s s i f i e df i g u r eo fi n f o r m a t i o ns c i e n t i f i cm e t h o d 3 基丁语义相似度分析的软构件聚类算法研究 刻面分类方法是1 9 8 7 年,r u b e np r i e t o - - d i a z 等人在i e e es o f t w a r e 发表的题目为 ( ( c l a s s i f y i n gs o f t w a r ef o rr e u s a b i l t y ) ) 论文中被提出的,用来对可复用软构件进行分类 与组织。构件的刻面分类表示方法,具有对构件进行多视角分类描述的特点,能够表达 丰富的构件信息,易于修改且富有弹性;而且,比较适合大规模的构件管理,又是检索 代价、复杂性和检索质量三者比较均衡的方法【4 3 】。因此,刻面分类方法一直是构件分类 表示研究的一个热点,并得到了普遍的应用与研究。例如,n a t o 组织的软件复用标准 1 4 4 - 4 6 以及r e b o o t 项目中构件的表示方法都是采用了刻面分类表示方法;青鸟构件库系 统中的构件采用的也是以刻面分类为主、多种分类模式相结合的构件表示方法。 1 2 2 构件库系统 当前,国内外的软件学术界对构件库进行了比较深入的研究,己经出现了不少构件 库原型系统。在这些构件库系统中,都采取了一定的构件分类模式及其相应的检索机制, 并且取得了一定的成功。为了进一步了解构件分类表示方法的研究现状,下面给出目前 四种具有代表性的构件库系统。 1 r e b o o t 构件库 r e b o o t ( r e u s eb a s e do no b j e c to r i e m e dt e c h n i q u e s ) e 47 】是欧盟信息技术计划中的一 个项目,是国际上比较著名的构件库系统。它包括了一个可复用软件构件库和一组对可 复用构件进行操作的工具如产生、认证、插入、提取、评价和使用等,可实现对重用驱 动的和面向对象的软件技术进行研究、开发以及推广。该构件库采用了刻面分类表示方 法来描述系统中的源代码构件,其中定义了a b s t r a c t i o n ,o p e r a t i o n s , o p e r a t e so n , d e p e n d e n c i e s t 4 8 】四个刻面;并将基于刻面分类的构件检索方法作为其主要检索方法。总的 来说,r e b o o t 主要是对源代码级别的构件进行刻面分类描述,还不具备描述结构较复 杂的构件的能力。 2 a g o r a 构件库 a g o r a 4 9 是i 扫c m us e i 开发的,针对构件的一个搜索引擎。它通过对w e b 页面的搜 索来获得构件的相关信息,并采用普通搜索引擎的方式对构件信息进行管理。但是,通 过a g o r a 搜索的构件种类较少;而且没有语义层面上的构件功能描述信息,用户只能通 过方法、属性和事件名称实现构件的检索,这将不便于用户对构件的准确定位和使用。 3 c o d e b r o k e r 构件库 c o d e b r o k e r 5 0 1 是c o l o r a d o 大学所开发的一个构件库原型系统,无缝集成了构件库与 源程序编辑工具,并提供了主动检索服务功能。该构件库存储的足j a v a 类与方法,来辅 助j a v a 程序员的软件开发;且通过三个a g e n t ( l i s t e n e r 、f e t c h e r 、p r e s e n t e r ) 来实现构件的 4 第一章绪论 主动检索。l i s t e n e r 在后台对用户的输入进行实时监控,通过分析用户输入的文本来获得 检索的条件,并交由f e t c h e r 处理。f e t c h e r 从构件库中检索出满足条件的构件,并通过 p r e s e n t e r 动态地显示出来,从而使得程序员可以自动地、及时地获取所需构件。但是, c o d e b r o k e r 的检索条件完全取决于程序员输入的文本,因此检索的准确率较低。 4 青鸟构件库 青鸟构件库管理系统l s q ( j a d eb i r dc o m p o n e n tl i b r a r ym a n a g e m e n ts y s t e m ,j b c l m s ) 是一个基于因特网的软件资产库管理系统,是国家“九五”重点科技攻关项目一“软件 工程环境工业化生产技术及系统的研究开发”中的核心组成部分。j b c l m s 系统采用以 刻面分类为主,多种标准分类方法相结合对构件库中的构件进行有效管理。它选取了“使 用环境、功能、应用领域、表示方法、层次”等5 个刻面作为基本刻面,以满足多层次 多形态构件的描述需求。j b c l m s 使用者可以通过选择任意刻面的一个或多个术语,迅 速限定构件的范围;另外,还可根据构件的任意属性进行辅助检索;同时,可随时对构 件库中的构件进行层次浏览。 j b c l m s 的体系结构如图1 4 所示。 图1 4j b c l m s 体系结构 f i g u r e1 4a r c h i t e c t u r eo f j b c l m s 5 基于语义相似度分析的软构什聚类算法研究 除了以上四种构件库系统外,表1 1 中列出了其他部分构件库,可使我们进一步了 解构件库系统以及构件分类表示与检索方法的研究现状。 表1 1 部分构件库 t a b l ei 1s o m ec o m p o n e n tl i b r a r i e s 系统组织表示和检索构件类型状况 c a t a l o g b e l ll a b s 不受控关键词c 函数、t r o f f 宏块己部署 l a s s i eb e l ll a b s a l 框架c 构件 原型 p l a n e t e x t f i g m c c 超文本c 函数 原型 b a u h a u s i n f e r e n c e 公司a i 框架a d a 构件已部署 a s s e tl i b r a r yg t e 刻面f o r t r a n 构件已部署 m e s b e l ll a b s 基丁i 规则p l 1 构件 原型 r l f u n i s y s 语义网 a d a 构件 已部署 s e e ru n i v o fm a i n e 超文本 b o o c h 构件原犁 c a m p p e s 美国空间枚举、属性a d a 包己部署 r e u s e w e s t i n g h o u s e 枚举和刻面a d a 构件产品 r s li n t e r m e t r i c s 不受控关键词、枚举a d a 构什已部署 1 2 3 构件聚类 目前大多数的构件库系统和构件库原型都采用了基于刻面的分类表示以及相应的 检索方法,但是采用基于刻面分类表示的检索方法在对大规模的构件库进行检索时,其 检索效率以及查准率仍不能很好地满足用户的需求。所以,有很多研究者在构件刻面分 类表示的基础上,采用聚类分析技术对构件进行分类,从而在检索时缩小查询范围,提 高构件检索的效率和准确性。 国内,陈德华、韩忠明、乐嘉锦等研究者在论文基于相似度分析的软件构件聚类 研究中,通过x m l 编辑距离计算构件间相似度,并用模拟退火算法对构件进行聚类【5 2 1 ; 刘大听、王卓、冯晓宁、赵磊等研究人员在论文一种基于刻面分类和聚类分析的构 件分类检索方法中,利用向量空间模型表示构件,并采用k 一均值聚类算法对构件进行 了聚类【5 3 1 ;还有利用自组织映射神经网络对构件的聚类5 4 。5 5 1 等等。 国外,c h o 、e u ns o o k 、k i m 、 s o od o n g 、r h e w 、s u n gy u l 等研究者对构件聚类进 行了研究,他们通过构件间功能依赖性对构件进行了聚类,并对聚类结果进行了优化合 并1 5 6 - 5 9 1 。s o oh oc h a n g 、m a nj i bh a n 、s o od o n gk i m 等开发了一种构件自动聚类和进行 类标示的工具,使用户可以更容易得找到相似的构件f 6 0 1 。 但是,国内外学者对构件的聚类研究大都基于向量空间模型,对构件相似度的度量 是通过计算向量问的距离来获得的;同时,没有将构件的特征词置于一定的语境中,不 6 第一章绪论 能很好地表达构件的特征,从而影响到构件的聚类效果,最终影响到构件检索的效率和 准确性。另外,与构件分类相比较,目前对构件聚类的研究相对较少。因此,本文的主 要研究工作就是采用数据挖掘中的聚类分析技术来实现对构件的“无指导”自动分类, 从而获得合理的客观的构件分类结果。 1 3 论文研究内容及组织 1 3 1 论文研究内容 从国内外研究现状可以看出,近年来构件分类与构件聚类的研究均取得了比较可喜 的进展,但仍有很多探索空间,尤其是构件聚类方法,如构件的语义聚类研究等等。本 文就从聚类分析的角度出发,实现对构件的自动分类;同时引入语义相似度分析技术, 改善构件聚类质量,从而获得更合理的构件分类,为构件的检索提供更有力的支持,达 到促进构件检索的效率和准确性、提高软件复用率的目的。 论文的主要研究内容包括: 1 构件的分类表示研究 在对目前构件分类表示方法研究的基础上,针对应用较广泛的刻面分类表示方法存 在的缺点,本文采用了一种基于刻面分类表示与正文检索相结合的表示方法对构件进行 描述。 ? 2 构件间语义相似度的研究 ( 1 ) 在基于刻面分类表示与正文检索相结合的构件表示方法的基础上,从语义角度 出发实现对构件特征词间的相似度计算。 ( 2 ) 在对构件之间的语义相似度分析之前,获得每个构件特征词的权重是一个重要 环节。本文针对经典的t f i d f 权重计算方法存在的弊端,提出了一种结合语义改进的 t f i d f 权重计算方法。 ( 3 ) 利用构件特征词间的语义相似度以及特征词的权重,对构件问的语义相似度进 行了量化研究。 3 构件聚类的研究 ( 1 ) 针对传统的向量空间模型存在的高维稀疏等问题,本文提出了种基于潜在语 义分析模型的构件聚类算法。 ( 2 ) 为了进一步提高构件聚类的效果,提出了一种基于语义相似度与优化的构件聚 类算法来实现对构件的语义聚类分析。 1 3 2 论文各章内容组织 根据论文的主要研究内容,将其组织结构安排如下: 7 8 第二章软构件的分类表示 第二章软构件的分类表示 2 1 构件分类的必要性 软件复用技术作为一种提高软件质量和软件生产率的有效方法,己受到软件工程界 的高度重视,成为目前软件工程领域研究的重点之一。当前,许多软件机构和组织都在 努力构建自己的可复用构件库,而他们所面临的主要技术问题是如何在构件库中有效快 速地检索到大量可复用资源【6 。 构件的检索实际上就是对类似构件的定位,使用户只需理解少数构件就可以决定是 否直接复用构件。通常,在一个较小构件库中的构件检索是比较简单的;但在一个大构 件库中要想检索到所需的可复用构件就没有那么容易,其中存在着很多影响检索效率的 因素,比如索引策略、用户请求与所需构件的相似程度、使用的相似分析机制等等1 6 2 j 。 同时,实践中构件随着领域和技术的演化而不断更新,构件数量也不断增长,使得在大 量的构件中找到所需构件就变得更加困难。因此,对构件的检索,采用了首先对大量构 件进行分类,然后借助自动检索工具支持的方法。 构件的分类实质上就是建立和维护构件目录信息。通过对构件的分类,便于构件库 管理者组织管理构件,且有助于用户检索构件和理解构件【46 。图2 1 、图2 2 、图2 3 分别 给出了构件分类存储示意图、构件的检索模型以及对构件进行复用的示意图。 图2 1构件分类存储示意图 f i g u r e2 1c o m p o n e n tc l a s s
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 卷扬机(钢筋调直机)安全管理规定培训
- 造气厂压力容器管理制度培训课件
- 2026安监员面试题及参考答案
- 2026安徽建筑面试题目及答案
- 煤矿安全检查在防治煤矿灾害中的作用培训
- 任务二 认识新媒体和新媒体营销策划
- 倒残液和残液处理安全管理制度培训
- 2025年区块链溯源赋能供应链全球化
- 机械设计加工外包合同
- 长沙单位财务外包合同
- GB/T 41641-2022力学性能测量REBCO带材室温拉伸试验方法
- 发动机燃油和控制系统
- 2022年浙江省事业单位统考《综合应用能力》?题
- 战略分析报告从数据流量基本特征看数据流量收费模式的未来趋势
- 化工安全培训课件-教学课件化工安全生产技术3
- 与老年患者沟通技巧学习课件
- PCB常见不良品图片及改善措施汇总
- 沉井计算计算表
- 铸造缺陷分析课件
- 高填方专项施工方案
- GeoPlot地球化学数据投图软件使用说明
评论
0/150
提交评论