Anda di halaman 1dari 6

第 22 卷第 3 期 合 肥 工 业 大 学 学 报 ( 自然科学版) V o l.

22№3
1999 年 6 月 JOU RNAL O F H EFE I U N IV ER S IT Y O F T ECHNOLO GY J un. 1999

软构件检索的效率分析

秦宗贵  蔡智明  李 锐  刘宗田
( 合肥工业大学计算机与信息学院 合肥 230009)

摘 要 可复用软件库中存放着各种类型的构件, 随着库的增大, 构件的检索将变得愈加困难, 影响检索效率的因素也更加


复杂。文章基于信息检索系统的两种标准: 查全率、查准率, 讨论了影响构件检索系统效率的主要因素, 并提出了改善这些因
素的策略。
关键词 构件检索; 检索效率; 查全率; 查准率
中图法分类号 T P311 α

ANAL YS IS O F R ETR IEVAL EF F ECT IV EN ESS FO R


SO F TW A R E COM PON EN T S

Q in Z ong g u i   C a i Z h im ing   L i R u i   L iu Z ong tian


( Schoo l of Com p u ter Science and Info rm ation Eng ineering, H efei U n iversity of T echno logy, H efei 230009)

Abstract   Softw a re lib ra ries a re repo sito ries w h ich con ta in softw a re com ponen t s. A s softw a re li2
b ra ries g row in size, it becom es increa sing ly d ifficu lt to ret rieve com ponen t s and the facto rs affect ing
ret rieva l effect iveness becom e m o re com p lex. T h is p ap er d iscu sses m a in facto rs affect ing ret rieva l ef2
fect iveness and som e st ra teg ies to con t ro l them ba sed on tw o criteria —— reca ll and p recision in info r2
m a t ion ret rieva l sy stem.
Key words com ponen t ret rieva l, ret rieva l effect iveness, reca ll, p recision

软件复用是软件工程研究的重点之一, 其本质是重复使用已有的软件开发成果来构造新的软件。软
[1]
件复用可以提高软件生产率和软件质量, 降低软件生产成本 。 当前, 许多软件机构和组织正在构建自
[ 2~ 3 ]
己的可复用软件库, 他们面临的主要技术问题是如何有效检索库中大量的可复用资源 。
通常, 在本地较小的软件库中的构件检索是比较简单的, 用户能够很容易地检索到所需的构件, 并

α 收稿日期: 1998212217
国家教委博士点课题基金资助项目 ( 编号: 97035903) , 国家重点实验室开放课题基金项目 ( 编号: 961601B 2)
秦宗贵: 男, 1971 年生, 硕士生.
刘宗田: 男, 1946 年生, 研究员, 博士生导师.
© 1995-2004 Tsinghua Tongfang Optical Disc Co., Ltd. All rights reserved.
第 3 期             秦宗贵等: 软构件检索的效率分析 27

可通过它们的名字或通过浏览库来选择它们; 但在一个大的软件库中检索可复用的构件就没有这么简
单, 存在很多影响检索效率的因素, 一般包括:
( 1) 用户的请求与所需构件信息的相近程度;
( 2) 搜寻和索引策略;
( 3) 索引方法的详尽性和具体性;
( 4) 使用的匹配和相似分析机制。
本文将主要讨论这些因素并提出了改善这些因素的策略, 其中构件表示和检索采用的是文献 [ 4 ] 中
的方案。

1 构件检索效率的度量

检索效率是用来度量一种检索方法在构件库中找到相关构件的匹配程度, 即检索的结果集中包含
有用的和无用构件信息的多少。 通常使用查全率 (R eca ll) 和查准率 ( P recision ) 来对检索效率进行度量,
这 2 种方法是一般用户对检索过程的基本评估。 R eca ll 用来度量输出的完全性, 即系统检索有用 ( 或相
关) 构件信息的能力。P recision 用来度量输出的正确性, 即系统抵制无用 ( 不相关或干扰) 构件信息的能
力。 一个好的检索系统应具有较高的 R eca ll 和 P recision 。
图 1 为 R eca ll 和 P recision 度量的计算。集合 C 由 2 个集合组成: 集合 R + 表示相关构件信息; 集合
R 表示不相关构件信息。 r 表示检索到的构件信息, 它也是由 2 部分组成: 其中, 集合 A 表示相关构件
-

信息 (A Α R + ) , 集合 B 表示不相关构件信息 (B Α R - ) 。 由此可定义 R eca ll 和 P recision 如下:


R eca ll 是指检索返回项中相关的构件项与软件库中存储的相关构件项的比值。R eca ll 在 0~ 1 之间
取值, 该指标越接近 1, 表示效果越好。
P recision 是指检索返回构件项中相关项与检索返回的所有项的比值。 P recision 也在 0~ 1 之间取
值, 该指标越接近 1, 表示效果越好。

图 1 构件检索效率的度量 (R ecall 和 P recision )

2 用户请求与构件信息
构件检索的效率是受用户请求与所需构件信息的接近程度影响的。在实际使用中, 存在许多因素影
响用户请求的质量:
( 1) 用户自己定义所需构件信息能力;
( 2) 用户自身表达能力;
© 1995-2004 Tsinghua Tongfang Optical Disc Co., Ltd. All rights reserved.
28      合肥工业大学学报 ( 自然科学版)       1999 年第 22 卷 ( 3)

( 3) 用户对系统能力的期望;
( 4) 系统提供的辅助交互作用 ( 例如, 自然语言界面、需求表格) 等等。
图 2 给出了用户在表达请求时, 出现的 2 种情况。

图 2 用户请求与所需构件信息以及它们对构件检索效率的影响

( a ) 情形为请求信息的范围比所需构件信息大。 因此, 检索的结果会出现许多不相关的构件项, 从


而失去 P recision 。这种情况通常发生的频率较高, 因为用户希望系统在更广的层次上操作, 而不是在一
个更加具体的层次上。
( b ) 情形不常发生, 即用户请求信息比所需构件信息范围小, 这样会失去 R eca ll, 因为许多相关构
件项将无法被检索出来。
在简单的基于关键词法中, 当用户不能找到合适的关键词、关键词的逻辑组合、同义词或相近术语
来充分表达它们所需构件的信息时, 将既失去 R eca ll 又失去 P recision 。

3 搜寻与索引策略

为了提高构件检索效率, 可以考虑在搜寻和索引策略中引入以下机制:
( 1) 单词标准形式
通过比较单词标准形式, R eca ll 能够获得增加。 例如, 如果将单词标准形式用于比较中, F iles 与
F ile 之间的匹配是可行的。传统的信息检索经常使用一个词干工具, 即删除前缀和后缀的算法来提取词
干或词根部分。
( 2) 词的搭配
通过词的搭配, 可改善 P recision。例如, 2 个或更多个单词在搜寻和索引策略期间频繁搭配出现, 为
了方便处理, 可将其看作为单一的术语, 将词的搭配放在系统字典中, 从而可在需求表达和描述文档中
通过简单的相似机制进行识别。
( 3) 广义与狭义请求
广义请求能够改善 R eca ll, 即增加了检索构件项的数量和相关构件项的数量。 相反, 狭义需求改善
了 P recision, 因为大多数相关构件项都将被检索到。
在基于关键词信息检索中增加广义或狭义的请求方法可称为逐层搜寻机制。在此方法中, 一个原包
含 n 个术语的布尔请求被一个新的包含 n 个术语序列的布尔请求代替, 此序列的范围将从最狭义的形
式, 即所有 n 个术语包含在单一的 and 子句中, 到最广义的形式, 即所有 n 个术语包含在单一的 o r 子句
中。例如, 有关 softw a re ret rieva l 信息需求将产生包含 softw a re 和 ret rieva l 术语的请求。最狭义的请求
形式表示为 softw a re and ret rieva l, 而最广义的请求形式表示为 softw a re o r ret rieva l, 广义请求与狭义
© 1995-2004 Tsinghua Tongfang Optical Disc Co., Ltd. All rights reserved.
第 3 期             秦宗贵等: 软构件检索的效率分析 29

请求形式如下:

高 R eca ll               广义请求
低 P recision      ( 例如, q1= Softw a re o r R et rieva l; q2= {Softw a re, R et rieva l}
↑ ↑
g g
低 R eca ll               狭义请求
高 P recision      ( 例如, q1= Softw a re and R et rieva l; q2= {Softw a re R et rieva l}

在序列中, 紧随最狭义请求的为中介请求, 它的术语序列是由 n 个 and 子句通过析取构成的, 其中


每个 and 子句是通过从最狭义请求的 and 子句每次移去一项产生的; 接下来的另一个请求的术语序列
也是通过将 and 子句析取构成的, 其中每个 and 子句是通过从最狭义请求的 and 子句中每次移去 2 项
产生的; 以此类推, 直至每个 and 子句中只包含单一术语项。在表 1 中列出了针对某构件库, 由 4 种术语
A、
B、C、
D 组成的不同请求序列所得到的不同检索试验结果, 其中请求范围最小的为仅有 and 连接的子
句, 将其标为 0; 第 i 个请求是由所有可行的 and 子句通过 o r 操作符来连接的。由此可见, 随着请求范围
的扩大, 检索到的构件数也在增加, 从而增加了 R eca ll, 因为更多的相关构件项将被检索到。 然而, 却有
更多的不相关的构件项被检索出来, 从而降低了 P recision。

表 1 逐层搜寻机制的构件检索情况

检索到的 检索到的相关
序号 请求层次 ( 狭义至广义)
构件数 构件数

0 (A and B and C and D ) 2 2

1 (A and B and C ) o r (A and B and D ) o r (A and C and D ) o r (B and C and D ) 6 5

2 (A and B ) o r (A and C ) o r (A and D ) o r (B and C ) o r (B and D ) o r (C and D ) 23 15

3 A or B or C or D 86 25

( 4) 短语中的单术语与多术语
试验表明, 在构件检索系统中请求短语中的术语个数越少, 越能改善 R eca ll; 术语的个数越多, 越能
改善 P recision 。范围越广的短语, 将获得比较好的 R eca ll。例如, 寻找关于 softw a re ret rieva l 的条目, 如
仅使用单术语 softw a re 和 ret rieva l, 能够检索到许多与 softw a re ret rieva l 相关的构件。同时, P recision
将受到影响, 例如, 一些与 softw a re 相关而与 ret rieva l 无关的构件也将被检索出来。
另一方面, 狭义的短语 ( 多术语短语) 使用将增加 P recision 。例如, 使用多术语 softw a re ret rieva l 能
防止仅检索与 softw a re 有关, 而与 ret rieva l 无关的情况出现。 同时, R eca ll 将受影响, 因为相关的构件
项 ( 如包含 ret rieva l of softw a re 的短语) 将被忽视。

4 索引方法的详尽性和具体性

构件检索的有效性也依赖于构件信息通过索引操作被识别和表示的完全性和正确性。 在此引进 2
个度量索引质量的概念: 索引详尽性和索引具体性。
索引详尽性是指索引方法通过索引术语表示构件信息项所涉及的所有概念的能力。 索引具体性是
指索引方法精确地表示这些概念的能力。
4. 1 索引具体性对检索效率的影响
© 1995-2004 Tsinghua Tongfang Optical Disc Co., Ltd. All rights reserved.
30      合肥工业大学学报 ( 自然科学版)       1999 年第 22 卷 ( 3)

具体性可以提高 P recision 。 例如, 如果与 softw a re ret rieva l 相关术语都被索引成 Softw a re R e2


t rieva l, 则对具体请求的检索结果将显示很高的 P recision 。另一方面, 如果这些项被索引成更一般的形
式, 如 R et rieva l o r Softw a re R eu se, 则对具体请求将显示很低的 P recision , 因为将有很多不相关构件
项被检索出来。
索引具体性对检索效率的影响实例如下:

低 P recision                 R et rieva l o r Softw a re R eu se


↑ ↑
g g
高 P recision                 Softw a re R et rieva l

  另一方面, 索引具体性也影响 R eca ll。 例如, 现有一信息用来寻找与 ret rieva l 相关构件项, 现将与
softw a re ret rieva l 相关构件项索引成 R et rieva l 和 Softw a re R et rieva l, 在不允许部分匹配的情况下, 将
能够检索出索引为 R et rieva l 的相关构件, 而失去了术语为 Softw a re R et rieva l 的相关构件。 类似地, 一
个用来寻找与 softw a re reu se 相关构件的信息, 将能够检索出与 softw a re ret rieva l 相关的构件, 若其被
索引成通常术语 Softw a re R eu se, 但失去了具体索引术语为 Softw a re R et rieva l 的项。 这种潜在的 R e2
ca ll 丢失应该设法避免, 为此, 在匹配操作时可考虑术语间的依赖和语义关系。 例如, 将术语 Softw a re
R et rieva l 看作是 R et rieva l 的特殊情况, 在查询 R et rieva l 时, 将允许检索被索引成 Softw a re R et rieva l
的相关构件。 类似地, 考虑术语 Softw a re R et rieva l 和 Softw a re R eu se 之间具有语义关联, 从而在查询
Softw a re R eu se 时可以考虑索引为 Softw a re R et rieva l 的相关构件。
4. 2 索引详尽性对检索效率的影响
索引详尽性能够增加 R eca ll。例如, 一条用来查询与 softw a re reu se 相关的构件信息, 也将能够检索
与 softw a re ret rieva l 相关的构件。如与 softw a re ret rieva l 相关的构件同时也被索引成 Softw a re R eu se,
就能够检索出所需的构件。如这些构件信息项没有被索引为 Softw a re R eu se ( 假设在 softw a re ret rieva l
与 softw a re reu se 之间无法建立一定的关系) , 这样将检索不到这些构件, 从而降低了 R eca ll。索引详尽
性对检索效率的影响实例如下:

低 R eca ll                    Softw a re R et rieva l


↑ ↑
g g
高 R eca ll                   Softw a re R eu se
Softw a re R et rieva l

  索引详尽性的增加可能导致 P recision 的降低。当构件信息的索引术语表示的是该构件的另一概念


时, 请求信息寻找此概念时, 将检索到许多与此构件信息基本概念相关的构件项, 从而降低 P recision 。
这种情况可以采取一些策略来进行控制, 例如, 可以通过对表示构件信息的其它概念赋予较小的权值来
进行控制。

5 结束语

除了上述效率因素以外, 匹配和相似性分析也是影响效率的可能因素。相似性分析允许将与请求相
匹配的构件信息进行排列, 根据它们各自与所需构件信息的相关程度, 最相似的构件将被列在检索表的
前面, 以供用户首先分析。 因此, 相似性度量的质量是控制检索效率的重要因素。 好的相似性度量能够
© 1995-2004 Tsinghua Tongfang Optical Disc Co., Ltd. All rights reserved.
第 3 期             秦宗贵等: 软构件检索的效率分析 31

保证 P recision 。 同样, 通过内部结构比较时允许部分匹配可以保证 R eca ll。


通过对以上构件检索效率的因素分析, 找到了改善这些因素的策略。在以上构件检索效率因素分析
[5]
研究的基础上, 将之应用于一个基于框架的构件表示与检索系统 中, 由于综合考虑了影响检索效率的
各种因素, 从而提高了 R eca ll 和 P recision, 改善了系统的检索性能。

参 考 文 献

1 F rakes W. Softw are reu se as indu strial exp erim en t. Am er. P rog ramm er, 1993, 6
2  F rakes W. A n em p irical study of reP resen tation m ethod s fo r reu sab le softw are com ponen ts. IEEE T ran saction s on Softw are Eng i2
neering, 1994, 20 (8)
3  M ili R. Sto ring and retrieving softw are com ponen ts: A refinem en t based system. IEEE T ran saction s on Softw are Eng ineering, 1997,
23 (7)
4 鲍敢峰, 袁兆山, 刘宗田. 软件复用库的模糊表示和查询方法. 小型微型计算机系统, 1997, 18 (4)
5 蔡智明, 刘宗田, 袁兆山等. W eb 上的组件化柔性 CA SE 研究. 计算机科学, 1999, 27 (3)

( 责任编辑 张和平)

△消  息△

全国 87 所重点高校自科版学报 1997 年影响因子前 60 强排序表


位次 学报名称 影响因子 位次 学报名称 影响因子 位次 学报名称 影响因子
1 华中农业大学学报 0. 276 21 浙江大学学报 0. 178 41 北京理工大学学报 0. 126

2 武汉测绘科技大学学报 0. 269 22 南京气象学院学报 0. 169 41 电子科技大学学报 0. 126

3 西北大学学报 0. 241 22 华中理工大学学报 0. 169 43 东南大学学报 0. 118

4 北京师范大学学报 0. 235 24 兰州大学学报 0. 163 44 内蒙古大学学报 0. 116

5 北京大学学报 0. 231 24 西安交通大学学报 0. 163 45 哈尔滨工业大学学报 0. 115

6 华西医科大学学报 0. 217 26 上海交通大学学报 0. 158 46 重庆建筑大学学报 0. 114

7 长春地质学院学报 0. 211 27 华南理工大学学报 0. 152 47 西北工业大学学报 0. 113

8 南京农业大学学报 0. 210 28 东北大学学报 0. 149 48 北京化工大学学报 0. 110

9 厦门大学学报 0. 209 29 华东师范大学学报 48 武汉水电大学学报 0. 110

10 清华大学学报 0. 205 29 武汉工业大学学报 0. 148 50 华北电力大学学报 0. 109

11 四川联合大学学报 0. 203 29 西南交通大学学报 0. 148 51 青岛海洋大学学报 0. 108

12 武汉大学学报 0. 201 32 北京科技大学学报 0. 146 52 北京航空航天大学学报 0. 106

12 北京林业大学学报 0. 201 33 华南农业大学学报 0. 144 53 上海医科大学学报 0. 105

14 同济大学学报 0. 193 34 大连理工大学学报 0. 141 54 西南农业大学学报 0. 102

15 吉林大学学报 0. 189 35 中山医科大学学报 0. 140 54 江西农业大学学报 0. 102


16 中山大学学报 0. 186 36 复旦大学学报 0. 137 56 中国科学技术大学学报 0. 098
16 西北农业大学学报 0. 186 36 北京农业大学学报 0. 137 57 新疆大学学报 0. 097
18 中国矿业大学学报 0. 185 38 合肥工业大学学报 0. 135 57 湖南大学学报 0. 097
19 中南工业大学学报 0. 184 39 华东理工大学学报 0. 133 59 重庆大学学报 0. 094
20 南京大学学报 0. 179 40 北京医科大学学报 0. 132 60 中国纺织大学学报 0. 089

    注: 摘编自中国科技信息研究所《中国科技期刊引证报告》

© 1995-2004 Tsinghua Tongfang Optical Disc Co., Ltd. All rights reserved.

Anda mungkin juga menyukai