• <tr id="yyy80"></tr>
  • <sup id="yyy80"></sup>
  • <tfoot id="yyy80"><noscript id="yyy80"></noscript></tfoot>
  • 99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看 ?

    一種基于用戶(hù)需求協(xié)作修正的構(gòu)件檢索方法

    2011-02-06 05:26:28鐘鳴張堯?qū)W周悅芝田鵬偉翁林開(kāi)
    關(guān)鍵詞:修正協(xié)作檢索

    鐘鳴,張堯?qū)W,周悅芝,田鵬偉,翁林開(kāi)

    (1. 清華大學(xué) 信息科學(xué)與技術(shù)國(guó)家實(shí)驗(yàn)室,北京,100084;2. 清華大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)系,北京,100084)

    一種基于用戶(hù)需求協(xié)作修正的構(gòu)件檢索方法

    鐘鳴1,2,張堯?qū)W1,2,周悅芝1,2,田鵬偉1,2,翁林開(kāi)1,2

    (1. 清華大學(xué) 信息科學(xué)與技術(shù)國(guó)家實(shí)驗(yàn)室,北京,100084;2. 清華大學(xué) 計(jì)算機(jī)科學(xué)與技術(shù)系,北京,100084)

    針對(duì)當(dāng)前主流的構(gòu)件檢索方法只從構(gòu)件分類(lèi)和索引的角度出發(fā)研究提高構(gòu)件檢索效率,卻忽略用戶(hù)理解與構(gòu)件描述之間差異的現(xiàn)狀,提出一種基于用戶(hù)需求協(xié)作修正的構(gòu)件檢索方法。該方法采用向量對(duì)構(gòu)件功能和用戶(hù)需求進(jìn)行統(tǒng)一描述,并基于向量?jī)?nèi)積相似度實(shí)現(xiàn)構(gòu)件檢索;并在此基礎(chǔ)上引入反饋機(jī)制,根據(jù)用戶(hù)的歷史檢索記錄創(chuàng)建和維護(hù)用戶(hù)需求協(xié)作修正模型,通過(guò)該模型來(lái)對(duì)新的用戶(hù)需求進(jìn)行協(xié)作修正,以此縮小用戶(hù)理解與構(gòu)件分類(lèi)描述之間的差異,提高構(gòu)件檢索效率。在構(gòu)件庫(kù)原型系統(tǒng)中分別以平均檢索時(shí)間和平均目標(biāo)位置為標(biāo)準(zhǔn)對(duì)該方法進(jìn)行性能評(píng)測(cè)。研究結(jié)果表明:在基于向量的構(gòu)件檢索方法中,對(duì)用戶(hù)需求進(jìn)行協(xié)作修正能有效提高構(gòu)件檢索的準(zhǔn)確度,縮短構(gòu)件檢索時(shí)間。

    軟件復(fù)用;構(gòu)件檢索;向量;協(xié)作修正

    隨著計(jì)算機(jī)技術(shù)的發(fā)展,軟件開(kāi)發(fā)的模式逐漸由“以計(jì)算機(jī)為中心”向“以人為中心”轉(zhuǎn)變。用戶(hù)對(duì)各種程序和服務(wù)提出了更加智能化、個(gè)性化、綜合化的需求。從這種發(fā)展趨勢(shì)中可以看出,面向終端用戶(hù)的應(yīng)用程序個(gè)性化定制將是未來(lái)主要的軟件和服務(wù)開(kāi)發(fā)模式之一,因此,軟件復(fù)用[1]和基于構(gòu)件的軟件開(kāi)發(fā)技術(shù)[2]以及主動(dòng)服務(wù)的思想[3]逐漸成為軟件工程的主流。軟件復(fù)用過(guò)程中的一個(gè)重要環(huán)節(jié)是構(gòu)件檢索,快速準(zhǔn)確的構(gòu)件檢索技術(shù)能大大提高軟件復(fù)用的效率。傳統(tǒng)的構(gòu)件檢索方法[4?8]主要基于刻面分類(lèi)[9]與匹配來(lái)實(shí)現(xiàn),在 REBOOT等[10?12]上都被采納使用,能保證一定的查全率和查準(zhǔn)率。Gibb等[13]在可復(fù)用軟件構(gòu)件研究項(xiàng)目中引進(jìn)了 XML作為構(gòu)件描述的標(biāo)記語(yǔ)言,并應(yīng)用XML檢索語(yǔ)言XML-SQL來(lái)完成構(gòu)件檢索的任務(wù)。王淵峰等[14]將樹(shù)匹配的方法結(jié)合進(jìn)構(gòu)件刻面描述的匹配,提出了一個(gè)包含3 個(gè)層次和5 種匹配類(lèi)型的可復(fù)用構(gòu)件刻面描述的匹配模型,擴(kuò)展了刻面檢索的匹配空間。上述方法雖然在一定程度上能滿(mǎn)足用戶(hù)的構(gòu)件檢索需求,但仍存在一些問(wèn)題。一方面,現(xiàn)有方法大都只注重于將滿(mǎn)足用戶(hù)需求的構(gòu)件返回給用戶(hù),由于刻面分類(lèi)的粒度較大,對(duì)用戶(hù)需求的描述也不夠細(xì)化,所以構(gòu)件檢索系統(tǒng)無(wú)法根據(jù)用戶(hù)需求對(duì)檢索結(jié)果集合中的構(gòu)件進(jìn)行有效的區(qū)分;另一方面,上述方法默認(rèn)構(gòu)件庫(kù)的構(gòu)件分類(lèi)描述模式與大眾用戶(hù)的理解方式是完全一致的,沒(méi)有采用用戶(hù)反饋機(jī)制來(lái)對(duì)構(gòu)件描述或者用戶(hù)需求進(jìn)行引導(dǎo)修正,當(dāng)出現(xiàn)用戶(hù)理解與構(gòu)件功能描述模式出現(xiàn)差異時(shí),用戶(hù)將很難從大量的返回結(jié)果中檢索到自己真正想要的構(gòu)件。隨著構(gòu)件數(shù)目逐漸增多,構(gòu)件功能逐漸細(xì)化,使得上述問(wèn)題日趨嚴(yán)重。因此,為了細(xì)化構(gòu)件功能和用戶(hù)需求的描述粒度,增加各個(gè)構(gòu)件之間的功能區(qū)分度,同時(shí)縮小用戶(hù)理解與構(gòu)件功能描述模式出現(xiàn)差異,以提高構(gòu)件檢索的準(zhǔn)確率,本文作者提出一種基于用戶(hù)需求協(xié)作修正的構(gòu)件檢索方法。采用向量空間模型[15]對(duì)構(gòu)件和用戶(hù)需求進(jìn)行功能描述,以向量之間的內(nèi)積相似度作為判斷構(gòu)件是否滿(mǎn)足用戶(hù)需求的標(biāo)準(zhǔn)。在此基礎(chǔ)上,為了盡可能提高用戶(hù)需求描述的準(zhǔn)確性,設(shè)計(jì)了基于用戶(hù)檢索歷史的用戶(hù)需求協(xié)作修正算法,通過(guò)記錄構(gòu)件庫(kù)的歷史檢索信息并從中提取協(xié)作修正模型,對(duì)新到來(lái)的檢索需求進(jìn)行協(xié)作修正,以達(dá)到縮小用戶(hù)需求和實(shí)際目標(biāo)構(gòu)件描述之間的自然語(yǔ)言理解共性差異的目的,便于用戶(hù)快速定位和篩選所需要的構(gòu)件。

    1 構(gòu)件檢索總體框架

    要實(shí)現(xiàn)基于構(gòu)件的軟件復(fù)用,最基本的因素是有豐富的構(gòu)件資源和快速準(zhǔn)確的構(gòu)件檢索方法,保證在構(gòu)件檢索過(guò)程中有較高的查全率和查準(zhǔn)率。構(gòu)件檢索的過(guò)程一般包括 3步:1) 用戶(hù)提交檢索請(qǐng)求;2) 檢索系統(tǒng)逐個(gè)匹配構(gòu)件判斷是否滿(mǎn)足用戶(hù)需求;3) 系統(tǒng)返回檢索結(jié)果列表并由用戶(hù)挑選所需要的構(gòu)件進(jìn)行復(fù)用。顯然,其中最關(guān)鍵的就是將用戶(hù)需求與各個(gè)構(gòu)件進(jìn)行匹配的過(guò)程。構(gòu)件分類(lèi)與描述是否準(zhǔn)確、是否能被用戶(hù)理解,用戶(hù)所提出的需求是否完善合理,這些都會(huì)直接影響系統(tǒng)查全率和查準(zhǔn)率的高低。為解決上述問(wèn)題,作者主要采用基于向量空間模型的構(gòu)件檢索方法,通過(guò)專(zhuān)家評(píng)估和實(shí)踐檢驗(yàn)的方式,不斷完善用于構(gòu)件分類(lèi)與描述的功能特征關(guān)鍵詞體系,使之盡量合理準(zhǔn)確;在此基礎(chǔ)上引入反饋機(jī)制,依據(jù)用戶(hù)的歷史有效檢索記錄對(duì)用戶(hù)的新檢索需求進(jìn)行協(xié)作修正,以此提高用戶(hù)需求描述相對(duì)于構(gòu)件分類(lèi)體系的準(zhǔn)確性。引入用戶(hù)需求協(xié)作修正機(jī)制后的構(gòu)件檢索過(guò)程如圖1所示。

    圖1 基于用戶(hù)需求協(xié)作修正的構(gòu)件檢索流程圖Fig.1 Process of component retrieval based on collaborative revision of user requirement

    1.1 基于向量空間模型的構(gòu)件檢索過(guò)程

    構(gòu)件功能是構(gòu)件檢索的重要指標(biāo),也是用戶(hù)理解構(gòu)件的基礎(chǔ)。這里主要采用向量空間模型來(lái)表示構(gòu)件功能描述和用戶(hù)需求。用 1組功能特征關(guān)鍵詞f1,f2,…,fn作為空間的基準(zhǔn),則構(gòu)件庫(kù)的構(gòu)件功能向量空間F可以表示為:F=(f1,f2,…,fn)(其中,n為關(guān)鍵詞向量的維度)。根據(jù)每個(gè)構(gòu)件的功能描述文本信息,采用歸一化詞頻統(tǒng)計(jì)規(guī)則可以計(jì)算各個(gè)功能特征關(guān)鍵詞的權(quán)重,在經(jīng)過(guò)歸一化處理以后就形成構(gòu)件的功能描述向量ci=(ci1,ci2,…,cin)(其中,cij為構(gòu)件ci與第j個(gè)功能特征關(guān)鍵詞fi的相關(guān)度)。同樣,每次用戶(hù)提出的檢索需求也可以用向量來(lái)表示:q0=(q01,q02,…,q0n)(其中,q0i為用戶(hù)在第i個(gè)功能特征關(guān)鍵詞fi下的需求強(qiáng)度)。顯然,所有構(gòu)件描述向量和用戶(hù)需求向量的維度為n。用向量?jī)?nèi)積計(jì)算向量之間的相似度,設(shè)vi=(vi1,vi2,…,vjn),vj=(vj1,vj2,…,vjn)分別表示構(gòu)件功能描述向量和用戶(hù)需求向量,則兩者之間的向量相似度為:

    構(gòu)件功能向量和用戶(hù)需求向量之間的向量相似度可以作為判斷構(gòu)件是否滿(mǎn)足用戶(hù)需求的標(biāo)準(zhǔn),以此實(shí)現(xiàn)構(gòu)件檢索。對(duì)于每個(gè)構(gòu)件ci,相對(duì)于當(dāng)前用戶(hù)需求q0的匹配度Yi的計(jì)算公式為:

    對(duì)于匹配度大于一定閾值的構(gòu)件,認(rèn)為滿(mǎn)足用戶(hù)需求,將這些構(gòu)件與用戶(hù)需求的匹配度按從大到小排序。排在前面的構(gòu)件,表示其與用戶(hù)的復(fù)用需求更接近,被用戶(hù)選擇的可能性越大。

    1.2 用戶(hù)需求協(xié)作修正過(guò)程

    采用向量空間模型來(lái)表示構(gòu)件和用戶(hù)需求并實(shí)現(xiàn)構(gòu)件檢索的方法,能比較準(zhǔn)確地提取出構(gòu)件的功能特征,在功能層面上對(duì)構(gòu)件和用戶(hù)需求進(jìn)行量化表示,在一定程度上細(xì)化了兩者的描述粒度,以此在構(gòu)件檢索時(shí)增加各個(gè)構(gòu)件之間的功能區(qū)分度,提高構(gòu)件的檢索效率。但是,在基于向量空間模型的構(gòu)件檢索過(guò)程中,用戶(hù)最終所選擇的構(gòu)件,其功能描述向量一般不會(huì)與用戶(hù)需求向量完全一致,這反映了用戶(hù)對(duì)構(gòu)件功能的理解和構(gòu)件實(shí)際功能描述之間的差異。這種差異越大,構(gòu)件檢索的效率就會(huì)越低。因此,為了盡可能提高構(gòu)件描述和用戶(hù)需求描述的準(zhǔn)確性,從而提高構(gòu)件檢索的效率,在基于向量空間模型的構(gòu)件檢索方法基礎(chǔ)上增加了對(duì)用戶(hù)需求進(jìn)行協(xié)作修正的模塊,根據(jù)構(gòu)件庫(kù)的歷史有效檢索信息,對(duì)用戶(hù)檢索需求進(jìn)行協(xié)作修正,以縮小用戶(hù)需求和實(shí)際目標(biāo)構(gòu)件之間的差異。用戶(hù)需求協(xié)作修正模塊主要由檢索日志庫(kù)、協(xié)作修正模型和協(xié)作修正引擎3部分組成。

    檢索日志庫(kù)主要對(duì)構(gòu)件庫(kù)進(jìn)行的有效檢索操作進(jìn)行記錄。用戶(hù)每一次成功的構(gòu)件檢索操作都包括提出構(gòu)件檢索需求和篩選提取構(gòu)件2個(gè)動(dòng)作。檢索系統(tǒng)會(huì)將最匹配用戶(hù)需求的構(gòu)件按照向量匹配程度從高到低列出,用戶(hù)從中選擇所需要的構(gòu)件;因此,用戶(hù)的需求和所挑選的構(gòu)件就作為1條反饋記錄被保存到檢索日志庫(kù)中。

    協(xié)作修正模型是根據(jù)檢索日志庫(kù)中的歷史記錄信息所提取出來(lái)的,其核心思想是用統(tǒng)計(jì)大眾用戶(hù)在檢索構(gòu)件過(guò)程中所反映出來(lái)的需求描述與構(gòu)件描述之間的差異,以便于在今后的檢索中消除這種差異,提高構(gòu)件檢索的準(zhǔn)確度。

    協(xié)作修正引擎負(fù)責(zé)對(duì)用戶(hù)新需求進(jìn)行協(xié)作修正。將協(xié)作修正模型作用到用戶(hù)新需求中,得到1個(gè)協(xié)作修正向量,按照一定的權(quán)重融合到用戶(hù)需求中,使用戶(hù)檢索需求更加貼近用戶(hù)實(shí)際所需構(gòu)件。

    2 基于檢索歷史的需求協(xié)作修正方法

    2.1 用戶(hù)需求協(xié)作修正模型

    在基于向量空間模型的構(gòu)件檢索過(guò)程中,用戶(hù)每次成功檢索都會(huì)產(chǎn)生用戶(hù)需求向量和最終用戶(hù)所提取構(gòu)件的構(gòu)件功能描述向量。在構(gòu)件檢索系統(tǒng)中,將上述信息記錄下來(lái),創(chuàng)建 1個(gè)檢索日志庫(kù),記為R={r1,r2,…,rm}(其中,m為歷史檢索記錄的數(shù)目)。日志中的每項(xiàng)ri(i=1,2,…,m)均是 1條有效的歷史檢索記錄,定義為:ri=(qi,wi)(其中,qi=qi1,qi2,…,qin),是第i條記錄中的用戶(hù)需求向量;wi=(wi1,wi2,…,win),是第i條記錄中的構(gòu)件描述向量)。

    為了避免將無(wú)意義的檢索記錄添加到檢索日志庫(kù)中,規(guī)定:如果用戶(hù)在其檢索需求所對(duì)應(yīng)的檢索結(jié)果的前100個(gè)構(gòu)件中篩選出所需要的構(gòu)件,則是一次有效的構(gòu)件檢索過(guò)程;否則,表示用戶(hù)并不是真正依靠其所提出的檢索需求找到的構(gòu)件,這樣的檢索記錄會(huì)影響日志庫(kù)的總體參考價(jià)值,不能被添加到檢索日志庫(kù)中。另外,在構(gòu)件檢索過(guò)程中,用戶(hù)需求向量是否歸一化都不會(huì)影響檢索結(jié)果的排序,但是在將檢索記錄放入檢索日志庫(kù)之前,每個(gè)歷史需求向量都必須進(jìn)行歸一化處理,以保證各個(gè)記錄重要程度的一致性。

    用戶(hù)需求協(xié)作修正是根據(jù)檢索日志庫(kù)中的記錄對(duì)新到來(lái)的用戶(hù)需求進(jìn)行修正改進(jìn),使其更加接近實(shí)際目標(biāo)構(gòu)件。其設(shè)計(jì)思想是從構(gòu)件庫(kù)的歷史檢索記錄中找出用戶(hù)共性的檢索習(xí)慣,統(tǒng)計(jì)用戶(hù)各類(lèi)檢索需求與目標(biāo)構(gòu)件之間的平均差異,并作用到新的檢索需求中以削弱這種差異。記用戶(hù)提出的新檢索需求為q0=(q01,q02,…,q0n)。通過(guò)向量?jī)?nèi)積計(jì)算,將q0與記錄表中的所有歷史用戶(hù)需求進(jìn)行相似度比較。若新用戶(hù)需求與歷史記錄中的需求向量相似度越高,則表示該歷史用戶(hù)需求向量所對(duì)應(yīng)的構(gòu)件功能描述向量越接近用戶(hù)的真實(shí)需求,也就越具有構(gòu)件檢索的參考價(jià)值。將新檢索需求與各個(gè)歷史需求進(jìn)行相似度計(jì)算,其結(jié)果作為權(quán)重用于對(duì)應(yīng)的構(gòu)件描述向量中,再將所得向量全部累加起來(lái),就可以得到1個(gè)新的用戶(hù)檢索需求向量,定義為修正需求向量qrev,其計(jì)算公式如下:

    這里需要將用戶(hù)原始需求向量q0和修正需求向量qrev分別進(jìn)行歸一化,得到q′0和q′rev。最后,將歸一化修正需求向量以一定的比例t整合到用戶(hù)原始?xì)w一化需求向量中,得到最終的用戶(hù)檢索需求向量q′rev。

    其中:t是 0~1之間的一個(gè)數(shù)字,代表修正需求向量在最終檢索請(qǐng)求中的權(quán)重,其取值范圍為 0~1,可以由用戶(hù)根據(jù)實(shí)際情況決定。若用戶(hù)對(duì)當(dāng)前所需要的構(gòu)件比較熟悉,能提出比較準(zhǔn)確的檢索需求,則可以將t設(shè)置得較小,甚至為0;而當(dāng)用戶(hù)對(duì)當(dāng)前構(gòu)件庫(kù)的功能特征關(guān)鍵詞分類(lèi)不熟悉,無(wú)法確定自己所提出的需求是否合適時(shí),一般將t設(shè)置得比較高,可獲得較大程度的協(xié)作修正。

    上述對(duì)用戶(hù)檢索需求進(jìn)行協(xié)作修正的過(guò)程,在每次用戶(hù)檢索時(shí)都需要與庫(kù)中的所有記錄進(jìn)行比較,這樣,當(dāng)檢索歷史逐漸增多時(shí),計(jì)算修正向量qrev所需要的時(shí)間會(huì)越來(lái)越長(zhǎng),不滿(mǎn)足實(shí)際操作的實(shí)時(shí)性,因此,對(duì)上述計(jì)算公式進(jìn)行推導(dǎo)和演化,從中提取用戶(hù)需求協(xié)作修正模型。過(guò)程如下:

    因此,得到向量集合U={uj,j=1,2,…,n}為用戶(hù)需求的協(xié)作修正模型??梢园l(fā)現(xiàn),模型U與歷史檢索記錄數(shù)目m無(wú)關(guān),其規(guī)模只與向量的維度n相關(guān)。這意味著將歷史檢索記錄進(jìn)行建模以后,能有效地降低用戶(hù)需求協(xié)作修正的計(jì)算量,使操作時(shí)間保持在一個(gè)恒定較短的時(shí)間內(nèi),且模型占用的空間也不會(huì)變大。

    2.2 模型維護(hù)

    用戶(hù)需求協(xié)作修正模型U根據(jù)構(gòu)件庫(kù)的檢索歷史記錄創(chuàng)建,當(dāng)構(gòu)件庫(kù)完成1次新的有效檢索過(guò)程之后,需要將新的檢索記錄融合到協(xié)作修正模型中,保證該模型實(shí)時(shí)更新。采用增量學(xué)習(xí)機(jī)制對(duì)用戶(hù)需求協(xié)作修正模型U進(jìn)行維護(hù)。步驟及證明過(guò)程如下。

    (1) 假設(shè)原始模型U根據(jù)m條歷史檢索記錄創(chuàng)建,新出現(xiàn)p條有效檢索記錄R′={rm+1,rm+2,…,rm+p}。則需要根據(jù)這p條新的檢索記錄,采用上述建模方法創(chuàng)建協(xié)作修正增量模型U′={uj′,j=1,2,…,n},其中第j個(gè)分量為:

    (2) 將增量模型中的每一項(xiàng)uj′以向量加法的形式,加到相應(yīng)的原始模型各項(xiàng)中,得到新的協(xié)作修正模型Unew。對(duì)于Unew中的第j個(gè)分量unew?j,可得:

    由上述推導(dǎo)可知:該模型U具有可加性,可以采用增量學(xué)習(xí)機(jī)制對(duì)用戶(hù)需求協(xié)作修正模型進(jìn)行維護(hù),只針對(duì)新保存下來(lái)的用戶(hù)有效檢索記錄創(chuàng)建增量模型,將增量模型直接疊加到原有模型上以得到新的協(xié)作修正模型。這樣,就不需要在新記錄到來(lái)時(shí)對(duì)整個(gè)模型重新計(jì)算,能有效地控制模型維護(hù)代價(jià)。

    3 實(shí)驗(yàn)分析

    設(shè)計(jì)了一個(gè)構(gòu)件庫(kù)原型系統(tǒng) LCRS(Local component retrieval system)(Microsoft NET 2003 +SQL2000),實(shí)現(xiàn)了本文所提出的基于向量空間模型的構(gòu)件檢索方法,并根據(jù)歷史檢索記錄對(duì)新到來(lái)的用戶(hù)需求的協(xié)作進(jìn)行修正。該構(gòu)件庫(kù)選擇了構(gòu)件功能描述中常用的且區(qū)分度較明顯的500多個(gè)詞作為功能特征關(guān)鍵詞,對(duì)從 Active-X,Alphaworks,ComponentSource以及MFC和STL等庫(kù)中選取出來(lái)的14 061個(gè)構(gòu)件進(jìn)行了統(tǒng)一的向量化功能描述。

    實(shí)驗(yàn)設(shè)計(jì)為:參與實(shí)驗(yàn)的10人分別在基于向量空間模型的構(gòu)件檢索系統(tǒng)中完成對(duì) 10個(gè)目標(biāo)構(gòu)件的 2組檢索。這10個(gè)構(gòu)件的概要描述都提供給這些實(shí)驗(yàn)人員。第1組實(shí)驗(yàn)中,系統(tǒng)不支持對(duì)用戶(hù)需求的協(xié)作修正,直接用實(shí)驗(yàn)人員提出的檢索需求查找相關(guān)構(gòu)件,并排序返回給用戶(hù)篩選目標(biāo)構(gòu)件;第2組實(shí)驗(yàn)中,系統(tǒng)開(kāi)啟用戶(hù)需求協(xié)作修正功能,該系統(tǒng)的檢索日志庫(kù)中已經(jīng)保存8 000多條歷史檢索記錄信息,并創(chuàng)建協(xié)作修正模型。實(shí)驗(yàn)人員用同樣的檢索需求重新查找這10個(gè)目標(biāo)構(gòu)件,系統(tǒng)在進(jìn)行構(gòu)件檢索之前會(huì)將實(shí)驗(yàn)人員的需求進(jìn)行協(xié)作修正。

    在實(shí)驗(yàn)中,主要記錄以下2個(gè)方面信息作為實(shí)驗(yàn)比較的指標(biāo):

    (1) 用戶(hù)檢索目標(biāo)構(gòu)件所需要的平均時(shí)間(ART)。用戶(hù)檢索到目標(biāo)構(gòu)件的過(guò)程,包括用戶(hù)提出檢索需求、檢索系統(tǒng)匹配計(jì)算并反饋結(jié)果以及用戶(hù)從結(jié)果中順序查找目標(biāo)構(gòu)件。通過(guò)統(tǒng)計(jì)用戶(hù)找到目標(biāo)構(gòu)件的平均時(shí)間,可以比較構(gòu)件檢索方法的檢索效率;平均時(shí)間越短,則檢索效率越高。

    (2) 目標(biāo)構(gòu)件在用戶(hù)檢索結(jié)果中所處的平均位置(ATP)。在不同的檢索方法下,當(dāng)用戶(hù)提出針對(duì)同一目標(biāo)構(gòu)件的檢索需求時(shí),目標(biāo)構(gòu)件會(huì)出現(xiàn)在檢索結(jié)果序列的不同位置。目標(biāo)構(gòu)件位置越靠前,越容易被用戶(hù)找到,則表示該檢索方法的準(zhǔn)確度越高。

    在實(shí)驗(yàn)中,根據(jù)實(shí)踐經(jīng)驗(yàn),將協(xié)作修正的參數(shù)t設(shè)為0.3。10名實(shí)驗(yàn)人員分別用無(wú)協(xié)作修正的方法和有協(xié)作修正的方法檢索10個(gè)構(gòu)件,將每個(gè)構(gòu)件的平均位置和平均檢索時(shí)間記錄下來(lái),實(shí)驗(yàn)結(jié)果如圖2和圖3所示。

    從圖2和圖3可見(jiàn):經(jīng)過(guò)對(duì)用戶(hù)需求進(jìn)行協(xié)作修正操作以后,構(gòu)件檢索的平均時(shí)間明顯縮短,由原來(lái)的40~80 s范圍減少到30~50 s;同時(shí),目標(biāo)構(gòu)件在檢索結(jié)果列表中的位置也大大提前,由原來(lái)的平均排名4~7位提高到2~4位。這說(shuō)明有協(xié)作修正構(gòu)件檢索與沒(méi)有協(xié)作修正的構(gòu)件檢索準(zhǔn)確度相比提高幅度較大。對(duì)于上述實(shí)驗(yàn)結(jié)果,在增加了用戶(hù)需求協(xié)作修正操作的檢索實(shí)驗(yàn)中,系統(tǒng)進(jìn)行檢索操作前需要先對(duì)用戶(hù)需求進(jìn)行修正,這個(gè)過(guò)程需要多消耗一個(gè)恒定的時(shí)間;但修正后的用戶(hù)需求使得目標(biāo)構(gòu)件在檢索結(jié)果列表中的位置提前,基本出現(xiàn)在列表的前10位,有利于用戶(hù)快速定位目標(biāo)構(gòu)件,有效縮短了整個(gè)構(gòu)件檢索過(guò)程的時(shí)間。

    圖2 2種方法的平均檢索時(shí)間比較Fig.2 Comparisons of ART between two methods

    圖3 2種方法的目標(biāo)構(gòu)件位置比較Fig.3 Comparisons of ATP between two methods

    實(shí)驗(yàn)結(jié)果還表明:用戶(hù)在不十分了解構(gòu)件的分類(lèi)與描述機(jī)制時(shí),所提出的檢索需求向量會(huì)與其實(shí)際所需要的構(gòu)件向量存在一定的差異。這種差異導(dǎo)致并非用戶(hù)需要的構(gòu)件排名靠前,影響用戶(hù)最終從結(jié)果列表中篩選構(gòu)件的效率。而本文作者所提出的用戶(hù)需求協(xié)作修正方法有效地削弱了這種差異,使得用戶(hù)需求更加接近目標(biāo)構(gòu)件,目標(biāo)構(gòu)件在結(jié)果列表中的排名明顯提升,大大提高了構(gòu)件的檢索效率。

    4 結(jié)論

    (1) 為了提高軟件復(fù)用過(guò)程中構(gòu)件檢索的效率,提出了一種基于用戶(hù)需求協(xié)作修正的構(gòu)件檢索方法。

    (2) 采用向量對(duì)構(gòu)件功能和用戶(hù)需求進(jìn)行描述,以向量之間的內(nèi)積相似度來(lái)檢索構(gòu)件,并對(duì)檢索結(jié)果進(jìn)行排序。在此基礎(chǔ)上,引入檢索反饋機(jī)制,基于用戶(hù)檢索歷史對(duì)用戶(hù)需求進(jìn)行協(xié)作修正,并針對(duì)協(xié)作修正過(guò)程計(jì)算開(kāi)銷(xiāo)較大的情況,推導(dǎo)和提取了用戶(hù)需求協(xié)作修正模型,通過(guò)增量學(xué)習(xí)機(jī)制對(duì)該模型進(jìn)行維護(hù)。

    (3) 基于用戶(hù)需求協(xié)作修正的構(gòu)件檢索方法能明顯縮短構(gòu)件檢索的時(shí)間,有效提高了構(gòu)件檢索準(zhǔn)確率,便于用戶(hù)快速定位所需構(gòu)件,為構(gòu)件檢索提供了新的思路。

    [1]Mili H, Mili F, MILI A. Reusing software: Issues and research direction[J]. IEEE Transactions on Software Engineering, 1995,21(6): 222?232.

    [2]Wolfgang P. Component-based software development: A new paradigm in software engineering?[C]//Proceedings of the 4th Asia-Pacific Software Engineering and International Computer Science Conference. Hong Kong: Springer Verlag, 1997:523?524.

    [3]張堯?qū)W, 方存好. 主動(dòng)服務(wù): 概念、結(jié)構(gòu)與實(shí)現(xiàn)[M]. 北京: 科學(xué)出版社, 2004: 29?41.

    ZHANG Yao-xue, FANG Cun-hao. Active service: Concept,architecture and implementation[M]. Beijing: Science Press,2004: 29?41.

    [4]Frakes W B, Pole TP. An empirical study of representation methods for reusable software components[J]. IEEE Transactions on Software Engineering. 1994, 120(8): 617?630.

    [5]DOU Yu-hong, ZHANG Yao-xue, LI Xing: An XML-based software component description method for program mining[J].Chinese Journal of Electronics, 2004, 13(1): 100?104.

    [6]YANG Yong, ZHANG Wei-shi, ZHANG Xiu-guo, et al. A weighted ranking algorithm for facet-based component retrieval system[C]//Proceedings of the 25th International Conference on Software Engineering. Portland: IEEE Computer Society, 2006:274?279.

    [7]Shasha D, Tsong J, Wang L. Exact and approximate algorithm for unordered tree matching[J]. IEEE Trans on Systems Man and Cybernetics, 1994, 24(4): 668?678.

    [8]姚全珠, 丁新村, 雷西玲, 等. 基于遺傳算法的刻面權(quán)重構(gòu)件檢索方法的實(shí)現(xiàn)[J]. 計(jì)算機(jī)工程與應(yīng)用, 2008, 44(6): 127?129.

    YAO Quan-zhu, DING Xin-cun, LEI Xi-ling, et al. Implement of component retrieval method based on genetic algorithm with facet-weight[J]. Computer Engineering and Applications, 2008,44 (6): 127?129.

    [9]Poulin J S, Yglesias K P. Organization and component classification in the IBM reuse library[R]. New York:Technology Support Center International Business Machines Corporation, 1993: 6?20.

    [10]Morel J M, Faget J. The REBOOT environment[C]//Proceedings of the 2nd International Workshop on Software Reusability Advances in Software. Lucca: IEEE Computer Society Press,1993: 80?88.

    [11]NEC Software Engineering Laboratory. NATO standard for management of a reusable software component library[C]//NATO Communications and Information Systems Agency.Tokyo, 1991: 32?43.

    [12]常繼傳, 李克勤, 郭立峰, 等. 青鳥(niǎo)系統(tǒng)中可復(fù)用軟件構(gòu)件的表示與檢索[J]. 電子學(xué)報(bào), 2000, 28(8): 20?24.

    CHANG Ji-chuan, LI Ke-qin, GUO Li-feng, et al. Representing and retrieving reusable software components in JB (Jadebird)system[J]. Electronica Journal, 2000, 28(8): 20?24.

    [13]Gibb K, McCartan C, O’Donnell R, et al. The integration of information retrieval techniques within a software reuse environment[J]. Journal of Information Science, 2000, 26(4):520?539.

    [14]王淵峰, 薛云皎, 張涌, 等. 刻面分類(lèi)構(gòu)件的匹配模型 [J].軟件學(xué)報(bào), 2003, 14(3): 401?408.

    WANG Yuan-feng, XUE Yun-jiao, ZHANG Yong, et al. A matching model for software component classified in faceted scheme[J]. Journal of Software, 2003, 14(3): 401?408.

    [15]Salton G, Lesk M E. Computer evaluation of indexing and text processing[J]. Journal of ACM, 1968, 15(1): 8?36.

    (編輯 陳愛(ài)華)

    A novel component retrieval method based on collaborative revision of user requirement

    ZHONG Ming1,2, ZHANG Yao-xue1,2, ZHOU Yue-zhi1,2, TIAN Peng-wei1,2, WENG Lin-kai1,2

    (1. Tsinghua National Laboratory of Information Science and Technology, Tsinghua University, Beijing 100084, China;2. Department of Computer Science and Technology, Tsinghua University, Beijing 100084, China)

    Current methods of component retrieval focus mainly on improving the retrieval efficiency by using advanced classification and index, but ignores the discrepancy between user understanding and component description, thus a novel method for component retrieval based on collaborative revision of user requirement was proposed, which describes both components and user requirements in the format of vectors, and calculates their inner product to get the matching degree of each component. Furthermore, a model of collaborative revision was presented to collaboratively revise user’s new requirement according to the feed-back of user retrieval history, leading to minifying the discrepancy between user understanding and component description and improving the efficiency of component retrieval. Several experiments were made on the component repository prototype by the metrics of average retrieval time and average target position. The results show that, using the user requirement of collaborative revision, the vector based component retrieval method has higher retrieval accuracy and takes shorter time to find the target component.

    software reuse; component retrieval; vector; collaborative revision

    TP311

    A

    1672?7207(2011)02?0398?06

    2009?11?07;

    2010?03?25

    國(guó)家自然科學(xué)基金資助項(xiàng)目(90604027);國(guó)家“十五”計(jì)劃項(xiàng)目(2005BA115A02)

    鐘鳴(1983?),男,浙江紹興人,博士研究生,從事軟件復(fù)用和軟構(gòu)件技術(shù)研究;電話:13810091575;E-mail:zhongm83@gmail.com

    book=403,ebook=97

    猜你喜歡
    修正協(xié)作檢索
    Some new thoughts of definitions of terms of sedimentary facies: Based on Miall's paper(1985)
    修正這一天
    合同解釋、合同補(bǔ)充與合同修正
    法律方法(2019年4期)2019-11-16 01:07:28
    團(tuán)結(jié)協(xié)作成功易
    2019年第4-6期便捷檢索目錄
    軟件修正
    協(xié)作
    讀者(2017年14期)2017-06-27 12:27:06
    專(zhuān)利檢索中“語(yǔ)義”的表現(xiàn)
    協(xié)作
    可與您并肩協(xié)作的UR3
    延边| 临安市| 收藏| 莎车县| 长沙市| 长汀县| 延川县| 华阴市| 青海省| 故城县| 石林| 明光市| 永修县| 墨竹工卡县| 泰安市| 惠东县| 亚东县| 诸暨市| 如皋市| 凉城县| 滦平县| 教育| 光泽县| 突泉县| 西乌珠穆沁旗| 通州市| 周口市| 义乌市| 彭山县| 梁山县| 东台市| 广昌县| 阜新| 延庆县| 甘南县| 昭通市| 贵溪市| 景泰县| 郁南县| 永嘉县| 晋中市|