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)
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 表示相关构件
-
2 用户请求与构件信息
构件检索的效率是受用户请求与所需构件信息的接近程度影响的。在实际使用中, 存在许多因素影
响用户请求的质量:
( 1) 用户自己定义所需构件信息能力;
( 2) 用户自身表达能力;
© 1995-2004 Tsinghua Tongfang Optical Disc Co., Ltd. All rights reserved.
28 合肥工业大学学报 ( 自然科学版) 1999 年第 22 卷 ( 3)
( 3) 用户对系统能力的期望;
( 4) 系统提供的辅助交互作用 ( 例如, 自然语言界面、需求表格) 等等。
图 2 给出了用户在表达请求时, 出现的 2 种情况。
图 2 用户请求与所需构件信息以及它们对构件检索效率的影响
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}
表 1 逐层搜寻机制的构件检索情况
检索到的 检索到的相关
序号 请求层次 ( 狭义至广义)
构件数 构件数
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)
另一方面, 索引具体性也影响 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。索引详尽
性对检索效率的影响实例如下:
5 结束语
除了上述效率因素以外, 匹配和相似性分析也是影响效率的可能因素。相似性分析允许将与请求相
匹配的构件信息进行排列, 根据它们各自与所需构件信息的相关程度, 最相似的构件将被列在检索表的
前面, 以供用户首先分析。 因此, 相似性度量的质量是控制检索效率的重要因素。 好的相似性度量能够
© 1995-2004 Tsinghua Tongfang Optical Disc Co., Ltd. All rights reserved.
第 3 期 秦宗贵等: 软构件检索的效率分析 31
参 考 文 献
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)
( 责任编辑 张和平)
△消 息△
注: 摘编自中国科技信息研究所《中国科技期刊引证报告》
。
© 1995-2004 Tsinghua Tongfang Optical Disc Co., Ltd. All rights reserved.