陳華燁,汪海濤,姜 瑛,陳 星
(昆明理工大學(xué)信息工程與自動化學(xué)院,云南 昆明 650500)
隨著軟件復(fù)用技術(shù)的快速發(fā)展,通過構(gòu)件進(jìn)行軟件開發(fā)的方法已經(jīng)成為了廣大軟件開發(fā)人員的主流開發(fā)手段。目前對構(gòu)件的最新定義為在軟件系統(tǒng)中構(gòu)件具有獨(dú)立功能,并且可以通過遵循相同接口規(guī)范來進(jìn)行連接,從而實現(xiàn)復(fù)用。而實現(xiàn)復(fù)用最大的依賴對象是構(gòu)件庫,因此,構(gòu)件庫管理問題已成為構(gòu)件技術(shù)中的研究熱點(diǎn)。對構(gòu)件進(jìn)行描述和檢索的方法很多,目前主流的構(gòu)件描述方法都是采用基于特征或者XML的刻面描述方法[1]。然而,基于特征的方法缺少對特征模型組織框架的詳細(xì)研究和解釋,這在一定程度上導(dǎo)致了特征模型的冗余和混亂。針對通過特征模型產(chǎn)生的多維空間的向量,本文提出了一個使用潛在語義分析[2]對多維空間進(jìn)行降維的方法,在去除了原始向量空間中“噪音”問題的同時,還凸顯了文本的語義特征。
近年來,排序?qū)W習(xí)方法的出現(xiàn)受到了越來越多的研究者關(guān)注,其優(yōu)點(diǎn)是:結(jié)合并優(yōu)化了大量的排序特征,同時自動進(jìn)行參數(shù)的學(xué)習(xí),最終得到一個高效精準(zhǔn)的排序模型。并且此方法已很好地應(yīng)用于信息檢索的檢索模型中[3]。在信息檢索中排序?qū)W習(xí)的訓(xùn)練實例是用戶的特征標(biāo)簽,所以更多復(fù)雜的特征被應(yīng)用到檢索中,比如可通過網(wǎng)頁的PageRank值、查詢和文檔匹配的單詞個數(shù)、網(wǎng)頁URL鏈接地址長度等特征來供排序模型進(jìn)行訓(xùn)練。通過研究發(fā)現(xiàn),目前具有代表性的構(gòu)件檢索技術(shù)主要集中于基于信息科學(xué)的構(gòu)件檢索技術(shù),比如基于刻面的構(gòu)件檢索方法[4]、基于本體的構(gòu)件檢索方法[5]和基于規(guī)約描述的構(gòu)件檢索方法等,但構(gòu)件檢索在人工智能中的研究并不多。所以,本文通過研究機(jī)器學(xué)習(xí)中的排序?qū)W習(xí)方法發(fā)現(xiàn),排序?qū)W習(xí)不僅可以用于信息檢索,其特點(diǎn)及優(yōu)勢也適用于構(gòu)件檢索。因此,本文提出一種構(gòu)件檢索方法,以進(jìn)行基于排序?qū)W習(xí)的構(gòu)件檢索方面的研究。
傳統(tǒng)的檢索模型是依靠人工標(biāo)注來擬合排序公式,并通過大量的實驗來確定模型參數(shù)。而排序?qū)W習(xí)的方法與此不同,排序?qū)W習(xí)只需要提供訓(xùn)練數(shù)據(jù)給排序模型,排序模型使用訓(xùn)練數(shù)據(jù)和排序?qū)W習(xí)方法自動學(xué)習(xí)獲得一個合理的排序模型,通過訓(xùn)練好的排序模型實現(xiàn)檢索。排序模型的實現(xiàn)分為3個步驟:標(biāo)注訓(xùn)練數(shù)據(jù)、文檔特征抽取和訓(xùn)練排序模型。
在排序?qū)W習(xí)中,輸入是查詢和一系列標(biāo)注好相關(guān)性的構(gòu)件,每個構(gòu)件由若干特征構(gòu)成,所以每個構(gòu)件進(jìn)入排序?qū)W習(xí)模型之前先將其轉(zhuǎn)換成特征向量,具體的構(gòu)件特征將在下文展開。在信息檢索中是通過利用用戶點(diǎn)擊記錄來模擬人工標(biāo)注機(jī)制得到標(biāo)注訓(xùn)練數(shù)據(jù)[6]。本文先將構(gòu)件轉(zhuǎn)換成構(gòu)件特征向量空間,將用向量空間模型表示的特征通過潛在語義分析映射到低維的空間中,這個映射是通過對構(gòu)件-特征矩陣進(jìn)行奇異值分解來實現(xiàn)的。然后通過余弦相似度計算來得到標(biāo)注構(gòu)件訓(xùn)練數(shù)據(jù)集。
在確定了構(gòu)件的訓(xùn)練數(shù)據(jù)后,將構(gòu)件轉(zhuǎn)換為〈x,y〉的形式,x為構(gòu)件的特征向量,y為特征向量對應(yīng)的標(biāo)注好的相關(guān)性得分,這樣就形成了一個具體的構(gòu)件訓(xùn)練實例。得到構(gòu)件的訓(xùn)練實例后,通過訓(xùn)練數(shù)據(jù)及排序?qū)W習(xí)中的Listwise方法來訓(xùn)練模型的參數(shù),從而訓(xùn)練出最優(yōu)構(gòu)件排序模型。在構(gòu)件檢索中,可以使用這個構(gòu)件排序模型根據(jù)查詢對構(gòu)件庫中構(gòu)件的特征進(jìn)行打分,得到檢索結(jié)果。利用排序?qū)W習(xí)的優(yōu)勢改進(jìn)構(gòu)件檢索方法,從而得到高效準(zhǔn)確的構(gòu)件檢索方法。本文所提方法的整體框架如圖1和圖2所示。
Figure 1 Flow chart of component scheduling model training
Figure 2 Flow chart of component retrieval system
本文采用刻面描述的方法,將刻面分為功能語義刻面和非功能語義刻面對構(gòu)件進(jìn)行全面描述。刻面分類方案需要遵循4個準(zhǔn)則:全面性、一致性、刻面正交和精簡原則[7]?;谝陨蠝?zhǔn)則參考3C模型、北大青鳥構(gòu)件模型[8],選定以下3個刻面:功能刻面、環(huán)境刻面和性能刻面,其中功能刻面屬于功能語義刻面,環(huán)境刻面和性能刻面屬于非功能語義刻面。這3個刻面由它們的子刻面構(gòu)成,每個刻面相互無影響,任意2個刻面之間是相互正交的,其術(shù)語之間也是相互正交的,本文所用刻面可以描述任意一個構(gòu)件。具體刻面如圖3所示。
Figure 3 Detailed description of three facets
功能語義刻面描述了構(gòu)件的詳細(xì)功能及其應(yīng)用領(lǐng)域,如表1中的構(gòu)件描述信息,出現(xiàn)的形式是一些對構(gòu)件功能和領(lǐng)域進(jìn)行描述的具有語義邏輯的自然語言文本段落。傳統(tǒng)的刻面描述只是通過有經(jīng)驗的專家對文本段落建立構(gòu)件的刻面值,但隨著構(gòu)件規(guī)模的擴(kuò)大,越來越多的構(gòu)件需要分類和檢索,人工建立刻面值的方法越來越不現(xiàn)實和不準(zhǔn)確。功能語義刻面也是用戶查詢構(gòu)件條件的最主要依據(jù)。因此,為了減少人為主觀因素,本文提出采用word2vec模型來提取構(gòu)件的功能語義刻面特征,利用word2vec模型對功能語義刻面中的構(gòu)件描述信息進(jìn)行處理轉(zhuǎn)換成詞向量作為構(gòu)件特征。而非功能語義刻面是一些特定術(shù)語,可應(yīng)用于多個領(lǐng)域,通過權(quán)威文獻(xiàn)[7,8]來設(shè)定非功能語義刻面的權(quán)重作為構(gòu)件的非功能語義刻面特征。從構(gòu)件庫中獲取構(gòu)件的相關(guān)屬性,部分構(gòu)件表示如表1所示。
對每個構(gòu)件進(jìn)行刻面描述后,生成構(gòu)件刻面描述的特征向量空間。每個構(gòu)件被描述成由特征詞組成的特征向量,然而此特征向量空間具有高維性和稀疏性,并且構(gòu)件與構(gòu)件間的描述特征通常存在一定的相關(guān)性,所以向量空間無法解決同義詞和多義詞引起的數(shù)據(jù)集冗余和詞性歧義的問題[9]。因此,本文引入潛在語義分析中奇異值分解的方法,從而降低向量空間的稀疏性。將提取構(gòu)件描述文本的特征向量[10]后生成的數(shù)據(jù)集稱為構(gòu)件數(shù)據(jù)集,對構(gòu)件數(shù)據(jù)集進(jìn)行潛在語義分析[6]的具體過程如下所示:
(1)將構(gòu)件數(shù)據(jù)集X用成一個v×n的構(gòu)件-特征矩陣來表示,如式(1)所示:
Table 1 List of component-related attributes
A[aij],v?n,1≤i≤v,1≤j≤n
(1)
其中,矩陣A中v為構(gòu)件的刻面?zhèn)€數(shù),n為同一個刻面下的不同構(gòu)件的特征向量個數(shù);aij代表矩陣A中構(gòu)件的特征值的權(quán)重。
(2)根據(jù)奇異值分解的性質(zhì),將矩陣A進(jìn)行奇異值分解,可表示為:
A=USVT
(2)
其中,U和VT是左奇異向量和右奇異向量構(gòu)成的矩陣,兩兩相互正交;S是奇異值構(gòu)成的對角矩陣。
(3)將(2)中分解后的矩陣U、S、V進(jìn)行降維,使用UK、SK、VK重建構(gòu)件-特征矩陣:
AK=UKSKVKT
(3)
其中,SK表示矩陣S的前K個奇異值,UK、VK表示相應(yīng)的保留矩陣U、V的前K個列向量。
使用構(gòu)件數(shù)據(jù)集中的一部分?jǐn)?shù)據(jù)作為查詢條件數(shù)據(jù)集Q={q1,q2,…,qq},其中,q1,q2,…,qq為q個構(gòu)件,將查詢條件數(shù)據(jù)集也映射到潛在語義空間中。再利用余弦相似度計算查詢條件數(shù)據(jù)集中的每個查詢條件與構(gòu)件數(shù)據(jù)集中的所有構(gòu)件的相似度。采用余弦相似度的具體計算過程如下所示:
(1)將查詢條件通過潛在語義分析的方式構(gòu)造查詢向量,并映射到語義空間:
(4)
其中,q*是映射到語義空間的查詢條件向量。
(2)計算q*和xj的相似度:
(5)
其中,xj是第j個構(gòu)件的特征向量,k是向量空間的維數(shù),aqm,ajm分別為q*、xj中的第m維權(quán)值。
使用潛在語義分析與余弦相似度得到排序?qū)W習(xí)中準(zhǔn)確度高的構(gòu)件訓(xùn)練數(shù)據(jù)集,以利于排序模型訓(xùn)練得到高精確性的排序模型。當(dāng)?shù)玫疥P(guān)于查詢條件數(shù)據(jù)集與構(gòu)件數(shù)據(jù)集中的相對關(guān)系后,將該關(guān)系進(jìn)行標(biāo)注。例如:若Sim(q*,xj) σ∈Ω,且σ={σq1,σq2,…,σqi},1 (6) 其包含T個獨(dú)立查詢條件數(shù)據(jù)集,Ω為構(gòu)件數(shù)據(jù)集的全排序集合。 常見的排序?qū)W習(xí)方法分為3種,即逐點(diǎn)方法(Pointwise Approach)、成對方法(Pairwise Approach)和列表方法(Listwise Approach)[11]。其中,Pointwise方法將訓(xùn)練集中每一個文檔視為一個訓(xùn)練實例;Pairwise方法將同一個査詢的搜索結(jié)果中任意2個文檔對作為一個訓(xùn)練實例;而本文采用的Listwise方法是將每一個查詢的所有搜索結(jié)果列表整體作為一個訓(xùn)練實例[8]。 本文提出的構(gòu)件排序?qū)W習(xí)模型,使用Listwise方法把訓(xùn)練的樣本空間定義為對構(gòu)件數(shù)據(jù)集的所有可能的排列,而每個排列出現(xiàn)的概率是在構(gòu)件特征選擇過程中對構(gòu)件特征的打分決定的,所以可以合理地使用概率模型定義一個構(gòu)件排序之后任意排序所出現(xiàn)的概率。因此,本文使用P-L(Plackett-Luce)概率排序模型[12]來訓(xùn)練構(gòu)件排序模型,通過Listwise方法對P-L模型構(gòu)造排序模型的損失函數(shù),同時,通過增加次要函數(shù)對預(yù)測的特征得分進(jìn)行約束,并將最大似然估計MM(Minorize-Maximization)算法用于P-L模型的參數(shù)估計,從而提高排序性能,得到最優(yōu)構(gòu)件排序模型。 Plackett和Luce提出的P-L模型是一種典型的基于分?jǐn)?shù)的概率排序模型,本文采用Plackett-Luce概率排序模型進(jìn)行模型訓(xùn)練。而P-L模型的另一個特點(diǎn)是可以處理訓(xùn)練實例的不完整信息的排序。 (7) 其中,M是評分向量的個數(shù)。 構(gòu)件訓(xùn)練數(shù)據(jù)集并不是具有完整構(gòu)件信息的排序,構(gòu)件與查詢條件相似度閾值的設(shè)置去除了相似度太低的構(gòu)件排序信息。但是,P-L模型可以處理不完整信息的排序,基于式(7)表示如下: Boys enjoy rugby,but the most popular sport for girls is netball(無擋板籃球).It is similar(相似的)to basketball,but players don’t run with the ball. (8) 其中,k表示構(gòu)件訓(xùn)練數(shù)據(jù)的排序構(gòu)件數(shù)量,由式(8)可以看出,構(gòu)件的排序數(shù)量是影響其概率分布的唯一要素。 通過Listwise方法來定義關(guān)于真實排序y(i)和預(yù)測排序的損失函數(shù)[13],并通過訓(xùn)練損失最小化來學(xué)習(xí)排序函數(shù)的參數(shù)。將所有構(gòu)件訓(xùn)練數(shù)據(jù)集的可能性損失之和最小化,即可將似然損失函數(shù)定義如式(9)所示: l(〈w,x(i)〉,y(i))=-logP(y(i)|x(i),w) (9) 其中,logP(y(i)|x(i),w)可以通過P-L模型計算得到,所以,根據(jù)P-L模型得到以下關(guān)系: (10) 其中,y(i)表示真實排序,〈w,x(i)〉為u的分解向量,x(i)為構(gòu)件訓(xùn)練數(shù)據(jù)集中的構(gòu)件排序,R為構(gòu)件訓(xùn)練數(shù)據(jù)集中每個構(gòu)件排序中的排序數(shù)量,x(i,y-1(l))為當(dāng)排序在y-1(l)時x(i)的排序,l和k′為計數(shù)變量,最大似然估計由最大化對數(shù)似然函數(shù)給出: (11) 為了擬合L(u),本文采用不等式來構(gòu)造次要函數(shù): -lna≥1-lna-a/b (12) 其中,向量a和b中各元素都大于0。使用w和w(t)來替換a和b,并采用MM 算法來求解P-L模型的最大似然估計參數(shù)[14],通過每次迭代最大化一個初始函數(shù)求解式(12)。通過構(gòu)造次要函數(shù)改進(jìn)P-L模型的對數(shù)似然函數(shù),得到以下改進(jìn)的對數(shù)似然函數(shù): Qt(w|w(t))= (13) (14) 可以由排序空間Ω上的概率分布P(·|u*)得到與查詢文本相關(guān)的預(yù)測排序,即具有最高后驗概率的排序: x*∈arg maxx∈Ωp(x|u*) (15) 算法1構(gòu)件排序模型 輸入:查詢條件集qi,構(gòu)件數(shù)據(jù)集X。 輸出:最優(yōu)排序x*。 步驟1使用刻面描述方法得到構(gòu)件信息文本集,通過word2vec模型和權(quán)重設(shè)定來提取構(gòu)件信息文本集的特征向量作為構(gòu)件數(shù)據(jù)集,將其作為輸入數(shù)據(jù),對構(gòu)件數(shù)據(jù)集生成的特征向量矩陣使用奇異值分解構(gòu)造潛在語義空間。 步驟5使用MM算法對改進(jìn)的對數(shù)似然函數(shù)Qt(w|w(t))進(jìn)行迭代更新參數(shù)wt+1,直到得到最大化參數(shù)w*,最后通過得到的參數(shù)w*按降序的關(guān)系對構(gòu)件進(jìn)行排序,得到最優(yōu)構(gòu)件排序模型。 實驗分為2步,第1步是構(gòu)件排序模型訓(xùn)練,使用潛在語義分析與余弦相似度得到的標(biāo)注構(gòu)件訓(xùn)練數(shù)據(jù)集,結(jié)合構(gòu)件數(shù)據(jù)集通過P-L概率排序模型進(jìn)行排序模型訓(xùn)練。第2步是實現(xiàn)構(gòu)件檢索系統(tǒng),以構(gòu)件排序模型為核心開發(fā)實現(xiàn)一個構(gòu)件檢索系統(tǒng)。 模型訓(xùn)練所用數(shù)據(jù)集為RepoReapers公開數(shù)據(jù)集,其中包含100多萬條離線的GitHub數(shù)據(jù)鏡像。本文在RepoReapers上隨機(jī)收集了大約10萬條構(gòu)件數(shù)據(jù)集,采用word2vec模型將功能語義刻面的構(gòu)件描述信息文本轉(zhuǎn)換成詞向量,所用的語料庫是中文維基百科與構(gòu)件訓(xùn)練數(shù)據(jù)中的描述信息語料。對每個構(gòu)件描述信息文本的輸入長度進(jìn)行處理,設(shè)置輸入序列長度為500,長度小于500的序列補(bǔ)零。通過word2vec模型和權(quán)重設(shè)定提取構(gòu)件的特征向量作為構(gòu)件數(shù)據(jù)集。設(shè)置數(shù)據(jù)集上的五折交叉驗證范圍,將構(gòu)件數(shù)據(jù)集分為5個部分,在每次實驗中,3/5用于訓(xùn)練,1/5用于驗證,1/5用于測試,并將3/5的訓(xùn)練數(shù)據(jù)中的1/4的數(shù)據(jù)作為查詢條件數(shù)據(jù)集。進(jìn)行余弦相似度計算時設(shè)置相似度閾值為Ths。 本文使用改進(jìn)的P-L模型(model1)、Mallows模型[15](model2)和廣義線性模型[16](model3)進(jìn)行性能對比。采用NDCG(Normalized Discounted Cumulative Gain)作為評估指標(biāo)。NDCG是用來衡量排序質(zhì)量的指標(biāo),實驗設(shè)置排序列表中序列k分別為{5,10,15,20}的值進(jìn)行評估。 該實驗基于構(gòu)件排序模型實現(xiàn)了一個構(gòu)件檢索系統(tǒng),其開發(fā)環(huán)境為CPU:i7-9750H 2.60 GHz,操作系統(tǒng)為Windows 10,開發(fā)語言為Python,數(shù)據(jù)庫使用MySQL;開發(fā)工具是PyCHarm,實驗數(shù)據(jù)從CodeProject、GitHub網(wǎng)站和中國BIM構(gòu)件庫網(wǎng)上下載相關(guān)構(gòu)件285個,其中包含以下幾個領(lǐng)域:教育系統(tǒng)76個、網(wǎng)購系統(tǒng)82個、電子商務(wù)43個和高校學(xué)生管理系統(tǒng)84個。將285個構(gòu)件通過刻面進(jìn)行描述后入庫,利用Python進(jìn)行文本分詞及關(guān)鍵字提取,采用TF-IDF方法計算構(gòu)件描述文本中關(guān)鍵詞權(quán)重。 實驗中,主要使用基于刻面的構(gòu)件檢索方法(method1)、基于本體的構(gòu)件檢索方法(method2)和本文提出的基于排序?qū)W習(xí)的構(gòu)件檢索方法(method3)進(jìn)行對比實驗,評估標(biāo)準(zhǔn)主要是查全率(查全率=檢索到的相關(guān)構(gòu)件數(shù)/所有相關(guān)構(gòu)件數(shù))、查準(zhǔn)率(查準(zhǔn)率=檢索到的相關(guān)構(gòu)件數(shù)/檢索到的構(gòu)件數(shù))[17]和檢索效率。 對各個模型的排序準(zhǔn)確度評估如圖4所示,由圖4可以看出,本文提出的排序模型在構(gòu)件中的使用是有效的,采用3種概率模型對構(gòu)件訓(xùn)練實例進(jìn)行排序評估。圖4中,Mallows模型(model2)與改進(jìn)的P-L模型(model1)具有一定的競爭力。因為Mallows模型善于解決構(gòu)件完整信息的模型分布,而P-L模型可以很好地處理不完整的排序信息,所以當(dāng)設(shè)置相似度閾值后,出現(xiàn)不完整的標(biāo)注信息時,P-L模型的準(zhǔn)確度高于Mallows模型的。廣義線性模型(model3)首先對訓(xùn)練數(shù)據(jù)進(jìn)行分類,在預(yù)測每個構(gòu)件的類別概率后進(jìn)行排序,僅使用廣義線性模型不能很好地處理復(fù)雜決策邊界問題,因為線性方法的強(qiáng)偏差妨礙了數(shù)據(jù)的良好分離。因此,model3的排序性能低于model1和model2的。 Figure 4 Comparison of NDCG sorting accuracy 在大量實驗的基礎(chǔ)之上,本文將幾個領(lǐng)域內(nèi)的構(gòu)件進(jìn)行多次測試檢索實驗并與傳統(tǒng)檢索方法對比,綜合數(shù)據(jù)統(tǒng)計檢索結(jié)果如圖5~圖7所示。 Figure 5 Comparison of the recall Figure 6 Comparison of precision 從圖5和圖6可以看出,本文提出的基于排序?qū)W習(xí)的構(gòu)件檢索方法(method3)的查全率和查準(zhǔn)率高于傳統(tǒng)的基于刻面的構(gòu)件檢索方法(method1)和基于本體的構(gòu)件檢索方法(method2)。因為相比于基于刻面的構(gòu)件檢索方法和基于本體的構(gòu)件檢索方法,本文采用的潛在語義分析彌補(bǔ)了刻面描述的單一性,有效地改善了一詞多義或者詞性發(fā)生歧義的情況。在排序?qū)W習(xí)階段,通過余弦相似度計算得到了高準(zhǔn)確度的構(gòu)件訓(xùn)練數(shù)據(jù),在排序模型訓(xùn)練時訓(xùn)練數(shù)據(jù)集的數(shù)據(jù)越準(zhǔn)確,訓(xùn)練出的排序模型的準(zhǔn)確度就越高,所以使用排序模型也提高了構(gòu)件檢索的查準(zhǔn)率。當(dāng)構(gòu)件檢索系統(tǒng)根據(jù)用戶查詢條件進(jìn)行檢索時,每個領(lǐng)域的所有構(gòu)件在通過構(gòu)件排序模型時,都需要經(jīng)過特征提取從而與查詢相關(guān)的特征進(jìn)行概率預(yù)測,因此也提高了構(gòu)件檢索的查全率。 從圖7可以看出,本文提出的方法在時間性能上也優(yōu)于傳統(tǒng)的2個方法。將訓(xùn)練好的模型應(yīng)用于構(gòu)件檢索,實現(xiàn)了訓(xùn)練模型與使用模型的分離,構(gòu)件檢索時使用訓(xùn)練好的模型不需要再次進(jìn)行復(fù)雜的相似度比較,所以相對于傳統(tǒng)的方法降低了時間復(fù)雜度,從而提高了檢索效率。 Figure 7 Comparison of retrieval efficiency 本文提出了一種基于排序?qū)W習(xí)的構(gòu)件檢索方法,實驗結(jié)果顯示,本文將排序?qū)W習(xí)算法應(yīng)用于構(gòu)件檢索的方法具有明顯的優(yōu)越性。在排序模型訓(xùn)練中,使用潛在語義分析和余弦相似度來為排序?qū)W習(xí)提供準(zhǔn)確的標(biāo)注信息;在排序?qū)W習(xí)中,為了減少模型估計時存在的偏差,將P-L模型進(jìn)行改進(jìn)并采用最大似然估計的方法補(bǔ)充標(biāo)準(zhǔn)擬合模型,進(jìn)一步提高了排序模型的準(zhǔn)確度。在構(gòu)件檢索實驗中,用戶查詢條件直接通過排序模型進(jìn)行構(gòu)件檢索,將所有構(gòu)件都加入排序,與傳統(tǒng)的基于刻面的構(gòu)件檢索方法和基于本體的構(gòu)件檢索方法相比,本文所提方法提高了檢索的查準(zhǔn)率、查全率和效率。 本文方法為構(gòu)件檢索研究提供了新方法,但仍有不足之處需要改進(jìn)。例如,在得到構(gòu)件相關(guān)性時,可使用現(xiàn)在最新的語義推理方法進(jìn)行構(gòu)件相關(guān)性判斷,這樣就不需要使用余弦相似度進(jìn)行特征向量計算,從而降低得到訓(xùn)練數(shù)據(jù)的時間復(fù)雜度。因此,下一步將對構(gòu)件的訓(xùn)練數(shù)據(jù)進(jìn)行更深層次的研究。4 基于排序?qū)W習(xí)的構(gòu)件檢索方法
4.1 排序?qū)W習(xí)方法
4.2 Plackett-Luce概率排序模型
5 實驗
5.1 構(gòu)件排序模型訓(xùn)練
5.2 構(gòu)件檢索系統(tǒng)
5.3 實驗結(jié)果及分析
6 結(jié)束語