999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

利用關(guān)聯(lián)規(guī)則挖掘的Web API組合模式發(fā)現(xiàn)

2019-11-09 06:51:28夏艷敏唐明董曹步清
小型微型計算機(jī)系統(tǒng) 2019年10期
關(guān)鍵詞:關(guān)聯(lián)規(guī)則方法

夏艷敏,唐 兵,唐明董,2,曹步清,喬 帥

1(湖南科技大學(xué) 計算機(jī)科學(xué)與工程學(xué)院,湖南 湘潭 411201) 2(廣東外語外貿(mào)大學(xué) 信息科學(xué)與技術(shù)學(xué)院,廣州 510006)E-mail:btang@hnust.edu.cn

1 引 言

在API經(jīng)濟(jì)模式[1]的推動下,越來越多的企業(yè)紛紛以Web API的形式在互聯(lián)網(wǎng)上發(fā)布數(shù)據(jù)或服務(wù)以實現(xiàn)商業(yè)增值.通過有效組合不同功能的Web API,可以開發(fā)出功能強(qiáng)大、有創(chuàng)意的Web應(yīng)用,這成為了一種非常流行的軟件開發(fā)方式[2].然而,盡管現(xiàn)實中通過組合Web API開發(fā)軟件的方式越來越普遍,但是對于API組合中所蘊(yùn)含的規(guī)律和模式仍然缺乏認(rèn)識.如何根據(jù)API組合模式和API之間的關(guān)聯(lián)關(guān)系幫助開發(fā)者快速地從眾多的Web API中挑選合適的API去構(gòu)建新的應(yīng)用成為了一種重要的研究問題.目前,盡管有些工作已經(jīng)調(diào)研了Web API之間的關(guān)系,但對于Web API 組合模式的研究還很少見.

近年來,標(biāo)簽在對網(wǎng)絡(luò)資源進(jìn)行管理和檢索方面取得了巨大的發(fā)展,互聯(lián)網(wǎng)上的各種內(nèi)容都被標(biāo)注了標(biāo)簽[3,4].這些標(biāo)簽體現(xiàn)了對標(biāo)注資源的功能概括和描述,能夠方便用戶更好地理解、分類和檢索相關(guān)資源.由于Web API的標(biāo)簽代表著它自身的功能、用途等屬性,因此,可以將Web API的標(biāo)簽類比成關(guān)聯(lián)規(guī)則挖掘技術(shù)[5]的“購物籃分析”中的商品并結(jié)合Mashup中的Web API組合關(guān)系來發(fā)現(xiàn)API之間的關(guān)聯(lián)關(guān)系即API的標(biāo)簽關(guān)聯(lián)規(guī)則.這些標(biāo)簽關(guān)聯(lián)規(guī)則可以體現(xiàn)出哪些功能屬性的Web API經(jīng)常被組合在一起構(gòu)成Web應(yīng)用,能夠在一定程度上反映出Web API的組合模式.

挖掘標(biāo)簽關(guān)聯(lián)規(guī)則能夠更好地發(fā)現(xiàn)標(biāo)簽之間的潛在關(guān)系[6-8].Fernandez等人[9]基于標(biāo)簽云之間的相似性來建立Web服務(wù)之間的關(guān)聯(lián)規(guī)則.Wang等人[10]結(jié)合Web API和標(biāo)簽發(fā)現(xiàn)了Mashup用戶的行為模式.Goarany等人[11]得到了Web API的二項集標(biāo)簽關(guān)聯(lián)規(guī)則,并用這些規(guī)則來預(yù)測有趣的Mashup模式.聶規(guī)劃等人[12]運(yùn)用Apriori算法挖掘出了基于用戶行為的Web服務(wù)組合關(guān)聯(lián)規(guī)則.Ni等人[13]使用RuleTree算法得到Web API之間的正負(fù)標(biāo)簽關(guān)聯(lián)規(guī)則為Mashup推薦Web API.Tang等人[14]基于Web服務(wù)的關(guān)聯(lián)關(guān)系和它們的標(biāo)簽共現(xiàn)關(guān)系構(gòu)建了一個三層的Web服務(wù)網(wǎng)絡(luò)視圖模型.但是上述工作都沒有考慮標(biāo)簽用詞的不規(guī)范,形式不統(tǒng)一和同義詞問題帶來的影響,部分工作只考慮了標(biāo)簽的二項集,并且缺少對挖掘結(jié)果的真實評估.

本文提出了一種基于關(guān)聯(lián)規(guī)則挖掘的WACP方法來發(fā)現(xiàn)Web API的組合模式.該方法利用了Web API上代表功能屬性的標(biāo)簽以及歷史的Web API組合關(guān)系,先將Web API的標(biāo)簽結(jié)合Stanford CoreNLP(1)Stanford CoreNLP, https://stanfordnlp.github.io/CoreNLP/進(jìn)行詞形還原,再結(jié)合WordNet(2)WordNet, https://wordnet.princeton.edu/對標(biāo)簽進(jìn)行了同義詞統(tǒng)一等處理,然后使用基于FP-growth[15]的Web API標(biāo)簽關(guān)聯(lián)規(guī)則挖掘算法對Web API之間的標(biāo)簽進(jìn)行挖掘得到了具有強(qiáng)關(guān)聯(lián)性的Web API標(biāo)簽關(guān)聯(lián)規(guī)則.這些具有強(qiáng)關(guān)聯(lián)性的Web API標(biāo)簽關(guān)聯(lián)規(guī)則在一定程度上反映了Web API的組合模式.這些API組合模式可以幫助開發(fā)者快速、準(zhǔn)確地從眾多的Web API中選擇合適的Web API組合構(gòu)成新的Web應(yīng)用以滿足多樣化的功能需求.WACP方法不僅可以挖掘頻繁二項集,并且能夠得到所有項集的Web API組合模式.通過使用ProgrammableWeb(3)ProgrammableWeb, https://www.programmableweb.com/的真實數(shù)據(jù)集進(jìn)行實驗比較與分析,結(jié)果表明WACP方法相比于其它方法在查準(zhǔn)率、查全率和F值等指標(biāo)上都有所提高.

本文的組織結(jié)構(gòu)如下:第1節(jié)介紹Web API組合模式的背景和相關(guān)工作;第2節(jié)詳細(xì)講述Web API組合模式挖掘過程及相關(guān)算法;第3節(jié)為實驗結(jié)果與分析;第4節(jié)對全文內(nèi)容進(jìn)行總結(jié),并展望了下一步的工作.

2 Web API組合模式挖掘

本文提出了一種WACP方法來挖掘Web API組合模式,WACP的功能結(jié)構(gòu)如圖1所示,它主要包括4個功能模塊:

1)數(shù)據(jù)提取:從ProgrammableWeb上爬取數(shù)據(jù)集,從數(shù)據(jù)集中提取實驗所需要的Web API名稱、標(biāo)簽和Mashup名稱、Web API組合記錄等信息.

2)Web API標(biāo)簽處理:將Web API標(biāo)簽進(jìn)行去除無意義詞、詞形還原、同義詞統(tǒng)一等處理,提高標(biāo)簽的無異義性和準(zhǔn)確性.結(jié)合API標(biāo)簽以及Mashup中的API組合記錄生成Web API組合標(biāo)簽集.

3)Web API標(biāo)簽關(guān)聯(lián)規(guī)則挖掘:根據(jù)Web API組合的標(biāo)簽集,結(jié)合基于FP-growth的Web API標(biāo)簽關(guān)聯(lián)規(guī)則挖掘算法來挖掘具有強(qiáng)關(guān)聯(lián)性的Web API標(biāo)簽關(guān)聯(lián)規(guī)則.

圖1 WACP的功能結(jié)構(gòu)Fig.1 Framework of WACP

4)獲取Web API組合模式:將具有強(qiáng)關(guān)聯(lián)性的Web API標(biāo)簽關(guān)聯(lián)規(guī)則中的無意義規(guī)則進(jìn)行過濾得到Web API組合模式,這些模式能夠準(zhǔn)確反映出Web API之間的功能關(guān)聯(lián)關(guān)系.

2.1 數(shù)據(jù)提取

該過程主要是從ProgrammableWeb中提取實驗所需要的Web API的標(biāo)簽、歷史Web API組合記錄等信息.Web API、Mashup和tag的關(guān)聯(lián)關(guān)系如圖2所示.

2.2 數(shù)據(jù)預(yù)處理

為了獲得高質(zhì)量的數(shù)據(jù),減少實驗誤差,提高Web API組合模式的準(zhǔn)確性,本文將Web API的標(biāo)簽進(jìn)行了以下處理:

1)去除無意義詞.在數(shù)據(jù)處理過程中發(fā)現(xiàn)Web API的標(biāo)簽中存在一些無實際意義的單詞,例如不規(guī)則長字符串(如 referencemusicmusicbrainz).因此,本文定義了一個動態(tài)無意義詞表,用于去掉數(shù)據(jù)集中無實際意義的詞.

圖2 Mashup,Web API,Tag元素關(guān)聯(lián)圖Fig.2 Relationships among web APIs,mashups and tags

2)詞形還原.Web API的標(biāo)簽單詞存在許多不同的形態(tài),如ing、ed等.這些單詞的不同形態(tài)會造成挖掘出現(xiàn)僅詞性不同的、具有完全相同意義的標(biāo)簽關(guān)聯(lián)規(guī)則,如“blog→media”和“blogging→media”.為了使挖掘所得的標(biāo)簽關(guān)聯(lián)規(guī)則結(jié)果更為準(zhǔn)確,需要將標(biāo)簽單詞還原成一般形式并去重.本文結(jié)合Stanford CoreNLP工具實現(xiàn)對標(biāo)簽的詞形還原.

3)同義詞統(tǒng)一.在數(shù)據(jù)分析過程中發(fā)現(xiàn)Web API標(biāo)簽中存在許多意思相同或相近的標(biāo)簽,如bike和bicycle、phone和telephone等.由于不同開發(fā)者有不同的描述習(xí)慣,對同一事物的描述也有可能采用不同的單詞,從而會導(dǎo)致開發(fā)者在定義Web API時可能使用不同標(biāo)簽來表達(dá)同一含義.而這種同義詞情況會產(chǎn)生許多功能類似的標(biāo)簽關(guān)聯(lián)規(guī)則,如“telephone→webhook”和“phone→webhook”、“place→bicycle”和“place→bike”.Web API標(biāo)簽中的同義詞會影響Web API組合模式的準(zhǔn)確度和可靠性.本文結(jié)合WordNet對數(shù)據(jù)集中的標(biāo)簽進(jìn)行了同義詞統(tǒng)一處理,更能提升Web API組合模式的可靠性.

將處理后的Web API標(biāo)簽以及歷史API組合信息相結(jié)合,得到所有Web API組合的標(biāo)簽集,以進(jìn)行接下來的Web API標(biāo)簽關(guān)聯(lián)規(guī)則的挖掘.

2.3 Web API標(biāo)簽關(guān)聯(lián)規(guī)則挖掘

關(guān)聯(lián)規(guī)則挖掘技術(shù)[5]通常用于描述兩個或多個事物之間存在的某種潛在的關(guān)聯(lián)關(guān)系,下面是它的相關(guān)定義:

定義1.設(shè)L={l1,l2,…,lm}是項的集合,I是數(shù)據(jù)庫事務(wù)的集合,每個事務(wù)T是一個非空項集,T?L.設(shè)X是一個項集,事務(wù)T包含X,X?L,Y?L,X≠?,Y≠?,X∩Y=?.關(guān)聯(lián)規(guī)則是在I中成立的形如X→Y的蘊(yùn)涵式.

定義2.令num(I)表示數(shù)據(jù)庫事務(wù)I的總數(shù),num(X∪Y)表示I中包含X∪Y事務(wù)的個數(shù),關(guān)聯(lián)規(guī)則X→Y的支持度的計算公式為:

(1)

定義3.關(guān)聯(lián)規(guī)則X→Y的置信度指事務(wù)集中包含X事務(wù)中包含Y事務(wù)所占的百分比,計算公式為:

(2)

判斷一個關(guān)聯(lián)規(guī)則是否有用和準(zhǔn)確,即看它的支持度、置信度是否滿足最小支持度、最小置信度閾值,如果大于閾值則為有用的、正確的規(guī)則,否則為無用的規(guī)則.

本文提出一種“基于FP-growth的Web API標(biāo)簽關(guān)聯(lián)規(guī)則挖掘算法”用于挖掘形如“[tagi1,tagi2,…,tagin]→tagx”且具有強(qiáng)關(guān)聯(lián)性的Web API標(biāo)簽關(guān)聯(lián)規(guī)則,其中{tagi1,tagi2,…,tagin,tagx}?Tapi,Tapi為Web API組合的標(biāo)簽集合.該算法一共分為3個步驟:1、構(gòu)建FP-tree;2、挖掘FP-tree得到標(biāo)簽頻繁項集;3、挖掘Web API標(biāo)簽強(qiáng)關(guān)聯(lián)規(guī)則.

1)構(gòu)建FP-tree.根據(jù)Web API組合標(biāo)簽事務(wù)集,構(gòu)建Web API組合標(biāo)簽的FP-tree.該過程算法如下:

步驟1.構(gòu)建FP-tree

Imput:Web API 組合標(biāo)簽事務(wù)集W.

Output:FP-tree.

1)掃描W一次,收集標(biāo)簽頻繁項的集合B,將B按照支持度計數(shù)降序排序得到頻繁項列表Lfreq.

2)創(chuàng)建FP-tree的根節(jié)點“Null”,將W中的每個事務(wù)Trans執(zhí)行以下2個步驟:

a)得到Trans中的所有標(biāo)簽頻繁項,并按照Lfreq進(jìn)行排序.

b)設(shè)排序后Trans的頻繁項列表為[t|T],其中,t是頻繁項中的第一個標(biāo)簽,T是頻繁項中剩余的標(biāo)簽.如果存在結(jié)點F有子結(jié)點M,使得結(jié)點M的標(biāo)簽等于t標(biāo)簽,那么結(jié)點M的數(shù)目加1;否則創(chuàng)建一個新結(jié)點N并計數(shù)為1,鏈接到它的父結(jié)點F.

3)遞歸操作第2步,直到將W中的所有事務(wù)都添加到FP-tree中.

2)挖掘FP-tree得到標(biāo)簽頻繁項集.根據(jù)構(gòu)建的FP-tree,調(diào)用FP-growth函數(shù)得到Web API標(biāo)簽頻繁項集.該過程算法如下:

步驟2.挖掘FP-tree得到標(biāo)簽頻繁項集

Imput:FP-tree,最小支持度計數(shù)min_sup.

Output:Web API標(biāo)簽頻繁項集.

1)挖掘FP-tree通過調(diào)用FP-growth(FP-tree,Null)實現(xiàn).

1.ProcedureFP-growth(Tree,α):

2.ifTree包含路徑Pthen

3.for路徑P中結(jié)點的每個組合(記作β)do

4. 產(chǎn)生項集β∪α,支持度計數(shù)等于β中結(jié)點的min_sup

5.endfor

6.else

7.forFP-tree的頭表中的每個標(biāo)簽aido

8. 產(chǎn)生項集β=ai∪α,支持度計數(shù)等于ai的支持度計數(shù)

9. 構(gòu)造β的條件FP-treeTreeβ

10. ifTreeβ≠?then

11. 調(diào)用FP-growth(Treeβ,β)

12.endif

13.endfor

14.endif

2)根據(jù)FP-tree得到所有的Web API標(biāo)簽頻繁項集以及這些項集對應(yīng)的支持度計數(shù).

3)挖掘Web API標(biāo)簽強(qiáng)關(guān)聯(lián)規(guī)則.由Web API標(biāo)簽頻繁項集生成Web API標(biāo)簽強(qiáng)關(guān)聯(lián)規(guī)則.該過程算法如下:

步驟3.挖掘Web API標(biāo)簽強(qiáng)關(guān)聯(lián)規(guī)則

Imput:Web API標(biāo)簽頻繁項集,最小置信度min_sup.

Output:Web API標(biāo)簽關(guān)聯(lián)規(guī)則.

1)定義標(biāo)簽關(guān)聯(lián)規(guī)則組成元素,關(guān)聯(lián)規(guī)則前項用“condition”表示,后項用“result”表示,關(guān)聯(lián)規(guī)則的形式為“condition→result”.

2)對于每個滿足min_sup的標(biāo)簽頻繁項集Item生成對應(yīng)的標(biāo)簽關(guān)聯(lián)規(guī)則,過程如下:

1.FunctionListTagRuleMining(Item):

2.tagrules←?,i←0

3.ifItem≠?then

4.whilei

5.result←Item.get(i)

6.condition←condition∪Item.subList(0,i)

7.condition←condition∪Item.subList(i+1,Item.size)

8. 產(chǎn)生規(guī)則 “condition→result”并將該規(guī)則放入tagrules中

9.i++

10.endwhile

11.endif

12.返回的tagrules即為由標(biāo)簽頻繁項集Item生成的標(biāo)簽關(guān)聯(lián)規(guī)則.

3)得到所有形如“condition→result”的Web API標(biāo)簽關(guān)聯(lián)規(guī)則.

通過設(shè)置min_conf閾值,得到滿足min_conf即具有強(qiáng)關(guān)聯(lián)性的所有Web API標(biāo)簽關(guān)聯(lián)規(guī)則.

2.4 獲取Web API組合模式

在得到的形如[tagi1,tagi2,…,tagin]→tagx的所有Web API標(biāo)簽強(qiáng)關(guān)聯(lián)規(guī)則中,如果tagi1,tagi2,…,tagin和tagx是屬于同一個Web API中的標(biāo)簽,則需要過濾掉這類規(guī)則.因為這樣的規(guī)則并不能反映Web API之間的功能關(guān)聯(lián)關(guān)系,這些來自于同一個Web API的標(biāo)簽僅僅只是一種相同或相似概念來描述相同的API資源.獲取Web API組合模式的過程如下所示:

1.得到所有Web API的自身標(biāo)簽集,并新建Web API標(biāo)簽關(guān)聯(lián)規(guī)則過濾列表filterRule.

2.將Web API的自身標(biāo)簽集結(jié)合FP-growth算法生成需要過濾掉的Web API標(biāo)簽關(guān)聯(lián)規(guī)則并放入filterRule中,這些規(guī)則的前項和后項都來自于相同的Web API.

3.將2.3中得到的所有Web API標(biāo)簽關(guān)聯(lián)規(guī)則與filterRule中的規(guī)則進(jìn)行匹配,如果規(guī)則存在于filterRule中,那么刪除該規(guī)則,如果不存在則保留該規(guī)則.

4.最終保留的Web API標(biāo)簽關(guān)聯(lián)規(guī)則即為得到的Web API組合模式.

經(jīng)過上述步驟得到的Web API組合模式正確反映了Web API之間的功能關(guān)聯(lián)關(guān)系,能夠體現(xiàn)什么功能屬性的Web API常被組合在一起開發(fā)新應(yīng)用.

3 實驗結(jié)果及分析

3.1 數(shù)據(jù)集

本實驗使用的數(shù)據(jù)集是從ProgrammableWeb上爬取的9135條Web API記錄以及6875條Mashup記錄.其中,Web API記錄包括API名稱、標(biāo)簽、類別、網(wǎng)址、描述文檔等信息.Mashup記錄包括Mashup名稱、標(biāo)簽、使用的Web API組合等信息.

3.2 實驗結(jié)果

3.2.1 Web API標(biāo)簽處理

將Web API的標(biāo)簽進(jìn)行詞形還原、同義詞統(tǒng)一等處理,表1展示了部分處理后的Web API標(biāo)簽數(shù)據(jù).

表1 Web API標(biāo)簽處理結(jié)果舉例Table 1 Examples of Web API tag processing

3.2.2 Web API標(biāo)簽頻繁項集

將處理后的Web API標(biāo)簽集作為基于FP-growth的Web API標(biāo)簽關(guān)聯(lián)規(guī)則挖掘算法的輸入,得到了Web API標(biāo)簽的頻繁項集.表2展示了部分Web API標(biāo)簽頻繁項集以及它們的頻數(shù).

表2 Web API標(biāo)簽頻繁項集結(jié)果舉例Table 2 Examples of tag frequent itemsets

3.2.3 Web API標(biāo)簽關(guān)聯(lián)規(guī)則挖掘

通過訓(xùn)練Web API之間的標(biāo)簽頻繁項集得到了Web API之間的標(biāo)簽關(guān)聯(lián)規(guī)則,通過設(shè)置最小支持度、最小置信度閾值來獲得具有強(qiáng)關(guān)聯(lián)性的規(guī)則.其中,最小支持度閾值設(shè)置為0.007(50/6875),即在6875條Mashup記錄中,規(guī)則出現(xiàn)的個數(shù)不少于50;最小置信度閾值設(shè)置為0.6.表3為2項集Web API標(biāo)簽關(guān)聯(lián)規(guī)則前10個最優(yōu)規(guī)則.

3.2.4 獲取Web API組合模式

去除Web API標(biāo)簽強(qiáng)關(guān)聯(lián)規(guī)則中不能反映出API之間的組合關(guān)系的規(guī)則得到Web API組合模式,這些Web API組合模式能夠準(zhǔn)確反映出API之間的功能組合關(guān)系.表4展示了2、3、4項集的前5個最優(yōu)的Web API組合模式.

這15條記錄是從Web API組合模式中選擇的二項集、三項集、四項集支持度、置信度最高的前5條組合模式以及它們的支持度、置信度.這些Web API組合模式是由代表功能屬性的API的標(biāo)簽訓(xùn)練得到的標(biāo)簽關(guān)聯(lián)規(guī)則,并且通過了規(guī)則的篩選過濾,它們能夠準(zhǔn)確反映出API之間在功能上的關(guān)聯(lián)關(guān)系以及API之間的組合模式.當(dāng)然,Web API最優(yōu)組合模式也可以根據(jù)其他指標(biāo)來選擇,如設(shè)置不同的模式長度、支持度閾值、置信度閾值等.

表3 2項集Web API標(biāo)簽關(guān)聯(lián)規(guī)則前10個最優(yōu)規(guī)則Table 3 Top 10 Web API tag association rules for 2-itemsets

表4 多項集Web API組合模式中前5個最優(yōu)模式Table 4 Top 5 Web API tag association rules for multi-itemsets

以表4的第6條組合模式為例,“[display,video]→map”表示“display”、“video”標(biāo)簽通常與“map”標(biāo)簽存在于不同API中,并且這些不同的API能夠通過組合形成Web應(yīng)用.從“bigsity”Mashup的API組合關(guān)系中發(fā)現(xiàn),該mashup中的“yahoo local search”API包含“display”標(biāo)簽,“youtube”API包含“video”標(biāo)簽,“google maps”API包含“map”標(biāo)簽,這三個標(biāo)簽同時存在于Web API組合中并且“display,video”和“map”來自于不同的API,說明“[display,video]→map”反映出了API在功能上的關(guān)聯(lián)關(guān)系且為正確的Web API的組合模式.

結(jié)合Web API的組合模式,開發(fā)者可以更加準(zhǔn)確、快捷地構(gòu)建最合理的Web 服務(wù).例如,當(dāng)開發(fā)者已擁有包含“geolocation”標(biāo)簽屬性的Web API并需要結(jié)合新的API組成Mashup時,這時可以根據(jù)“[geolocation]→display”組合模式推薦包含“display”標(biāo)簽的Web API組成新的Mashup.

3.3 方法比較

1)WACP:該方法首先去除Web API標(biāo)簽中的無意義詞,再對標(biāo)簽進(jìn)行詞形還原和同義詞統(tǒng)一等處理得到Web API組合標(biāo)簽事務(wù)集,通過使用基于FP-growth的Web API標(biāo)簽關(guān)聯(lián)規(guī)則挖掘算法得到所有項集的Web API標(biāo)簽強(qiáng)關(guān)聯(lián)規(guī)則,過濾掉不能準(zhǔn)確反映Web API之間功能關(guān)聯(lián)關(guān)系的規(guī)則得到Web API組合模式.

2)Goarany等方法[11]:該方法直接使用Web API的標(biāo)簽以及API之間的歷史組合關(guān)系得到形如“(tagm,tagn)”的二項集Web API標(biāo)簽對,將每個標(biāo)簽對中的兩個標(biāo)簽共同歷史調(diào)用次數(shù)進(jìn)行統(tǒng)計得到支持度和置信度,過濾掉兩個標(biāo)簽同時存在于相同Web API的標(biāo)簽對,每個標(biāo)簽對可以生成兩條形如“tagm→tagn”和“tagn→tagm”的規(guī)則,對所有標(biāo)簽對進(jìn)行該操作得到所有Web API二項集標(biāo)簽關(guān)聯(lián)規(guī)則.

3.4 評價指標(biāo)

由于Web API組合模式個數(shù)較多,本文選取Web API的所有二項集組合模式進(jìn)行實驗評價.實驗采用了數(shù)據(jù)挖掘中常用的評估指標(biāo):查準(zhǔn)率(Precision)、查全率(Recall)和二者綜合評價的F值(F-measure).

Mashup的標(biāo)簽描述了Web API組合和Mashup兩者的功能情況,它能從一定程度上反映出Web API之間的關(guān)系[11].在本實驗中,假定根據(jù)Mashup自身標(biāo)簽挖掘出的標(biāo)簽關(guān)聯(lián)規(guī)則為正確規(guī)則,若Web API組合模式存在于Mashup標(biāo)簽關(guān)聯(lián)規(guī)則中,那么認(rèn)為這條Web API組合模式為正確模式,反之則為不正確模式.以下為查準(zhǔn)率、查全率、F值的公式:

查準(zhǔn)率公式:

(3)

查全率公式:

(4)

F值公式:

(5)

其中,findtrue為檢索到的Web API組合模式中的正確模式數(shù)目,findfalse為檢索到的Web API組合模式中的不正確模式數(shù)目,unfindtrue為未檢索到但卻是正確的Web API組合模式數(shù)目.

3.5 評價結(jié)果

圖3為本文所提出的WACP方法與Goarany等提出的方法在支持度閾值下的Web API組合模式的查準(zhǔn)率、查全率、F值性能對比圖.圖4為本文所提出的WACP方法與Goarany等提出的方法在置信度閾值下的Web API組合模式的查準(zhǔn)率、查全率、F值性能對比圖.

從圖中可以看出,對于本實驗使用的3種評估標(biāo)準(zhǔn),不管是從支持度閾值還是置信度閾值的角度去評估,WACP方法都要優(yōu)于Goarany等提出的方法.當(dāng)支持度閾值從0.0002到0.0012時,WACP方法的F值分別高于對比方法 1.6%、1.7%、1.5%、1.3%、1.4%、1%,當(dāng)置信度閾值從0.005到0.03時,WACP方法的F值分別高于對比方法 1.6%、1.6%、1.7%、1.6%、1.5%、1.6%.

由于Web API的標(biāo)簽存在無意義詞、詞性不統(tǒng)一和同義詞等現(xiàn)象,Web API標(biāo)簽質(zhì)量并不是特別高,在這些情況下容易產(chǎn)生不正確的Web API組合模式和能夠表達(dá)相同API功能關(guān)聯(lián)關(guān)系的許多重復(fù)模式,使得Web API組合模式的準(zhǔn)確性并不高.另外,Web API標(biāo)簽關(guān)聯(lián)規(guī)則中存在許多不能反映出API之間功能關(guān)聯(lián)關(guān)系的規(guī)則,這也會影響到Web API組合模式的準(zhǔn)確性.

本文提出的WACP方法考慮到了對Web API標(biāo)簽進(jìn)行詞形還原、同義詞統(tǒng)一等處理,提高了標(biāo)簽的質(zhì)量.另外,將Web API標(biāo)簽關(guān)聯(lián)規(guī)則中的不合理規(guī)則的進(jìn)行了過濾,使得每個Web API組合模式都能夠準(zhǔn)確地反映API之間的功能關(guān)聯(lián)關(guān)系.相比于Goarany等提出的方法只得到了API之間的二項集關(guān)聯(lián)規(guī)則,本文使用的基于FP-growth的Web API標(biāo)簽關(guān)聯(lián)規(guī)則挖掘算法挖掘得到了所有項集的Web API組合模式,另外,該算法在性能上也優(yōu)于Goarany等提出的方法和Apriori等.因此,使用WACP方法得到的Web API組合模式更加準(zhǔn)確,Precision、recall和F-measure值也有明顯提高.

圖3 不同支持度閾值下的實驗結(jié)果Fig.3 Experiment results in different support threshold

圖4 不同置信度閾值下的實驗結(jié)果Fig.4 Experiment results in different confidence threshold

4 總結(jié)與討論

本文為發(fā)現(xiàn)Web API生態(tài)系統(tǒng)中的API組合模式,提出了一種基于關(guān)聯(lián)規(guī)則挖掘的方法—WACP.該方法通過結(jié)合Web API的標(biāo)簽以及歷史的API組合關(guān)系,先將API標(biāo)簽進(jìn)行了詞形還原、同義詞統(tǒng)一等處理,再使用基于FP-growth的標(biāo)簽關(guān)聯(lián)規(guī)則挖掘算法得到了Web API之間的標(biāo)簽強(qiáng)關(guān)聯(lián)規(guī)則,最后對規(guī)則進(jìn)行過濾得到了Web API組合模式.Web API組合模式的發(fā)現(xiàn)可以為開發(fā)者從眾多的Web API中挑選合適的Web API組合提供支持.實驗結(jié)果表明了WACP方法的有效性.

許多Web API上標(biāo)注的標(biāo)簽數(shù)很少甚至沒有,這種數(shù)據(jù)稀疏性可能會影響Web API組合模式發(fā)現(xiàn)的效果.未來工作將考慮Web API的標(biāo)簽擴(kuò)展,如從Web API的描述文檔中提取關(guān)鍵字推薦新的標(biāo)簽,以進(jìn)一步提高標(biāo)簽關(guān)聯(lián)挖掘和Web API組合模式發(fā)現(xiàn)的性能.

猜你喜歡
關(guān)聯(lián)規(guī)則方法
撐竿跳規(guī)則的制定
“苦”的關(guān)聯(lián)
數(shù)獨(dú)的規(guī)則和演變
奇趣搭配
讓規(guī)則不規(guī)則
Coco薇(2017年11期)2018-01-03 20:59:57
智趣
讀者(2017年5期)2017-02-15 18:04:18
TPP反腐敗規(guī)則對我國的啟示
用對方法才能瘦
Coco薇(2016年2期)2016-03-22 02:42:52
四大方法 教你不再“坐以待病”!
Coco薇(2015年1期)2015-08-13 02:47:34
捕魚
主站蜘蛛池模板: 久久综合五月婷婷| 亚洲天堂区| 亚洲一区网站| 思思热在线视频精品| 黄色网站在线观看无码| 国产成人精品视频一区二区电影| 伊人成人在线| 国产亚洲精品97AA片在线播放| 日本一本正道综合久久dvd | 国产原创第一页在线观看| 美女高潮全身流白浆福利区| 五月激激激综合网色播免费| 国产真实乱人视频| 无码精品国产VA在线观看DVD| 日本亚洲欧美在线| 国产免费福利网站| 四虎综合网| 国产成+人+综合+亚洲欧美| 婷婷激情亚洲| 在线国产91| 九九热视频在线免费观看| 成年人国产网站| 亚洲成综合人影院在院播放| 午夜精品久久久久久久99热下载 | 国产18在线播放| 色综合久久久久8天国| 国产精品爆乳99久久| 欧美五月婷婷| 中文字幕欧美成人免费| 四虎亚洲国产成人久久精品| 国产一区二区人大臿蕉香蕉| 九色视频最新网址| 国产真实乱子伦精品视手机观看 | 亚洲欧洲免费视频| 欧美日韩激情在线| 亚洲狠狠婷婷综合久久久久| 精品亚洲国产成人AV| 亚洲无码一区在线观看| 久久天天躁狠狠躁夜夜躁| 午夜毛片福利| 国产精品女主播| 18黑白丝水手服自慰喷水网站| 日本人妻丰满熟妇区| 色综合久久综合网| 激情综合婷婷丁香五月尤物| 国产一区二区三区精品久久呦| 欧美a级完整在线观看| 国产99视频在线| 亚洲精品桃花岛av在线| 国产精品自拍露脸视频| 欧美综合区自拍亚洲综合天堂 | 97久久精品人人做人人爽| 亚洲最大福利网站| 亚洲综合片| 亚洲中文字幕无码爆乳| 成人亚洲国产| 国产精品污视频| 国产一在线观看| 精品国产www| 精品视频在线观看你懂的一区 | 精品国产美女福到在线不卡f| 极品av一区二区| 91久久偷偷做嫩草影院电| 97无码免费人妻超级碰碰碰| 久草视频精品| 国产激情无码一区二区三区免费| 无遮挡一级毛片呦女视频| 91久久精品日日躁夜夜躁欧美| 久久综合亚洲色一区二区三区| 免费看av在线网站网址| 国产美女在线观看| 免费一级毛片| 亚洲欧洲日韩综合色天使| 亚洲国产成人麻豆精品| 国产欧美自拍视频| 男女男免费视频网站国产| 亚洲大尺度在线| 成人欧美在线观看| 欧美精品H在线播放| 97视频在线精品国自产拍| 91美女视频在线| 97亚洲色综久久精品|