亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

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

        2019-11-09 06:51:28夏艷敏唐明董曹步清
        關(guān)鍵詞:項(xiàng)集置信度關(guān)聯(lián)

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

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

        1 引 言

        在API經(jīng)濟(jì)模式[1]的推動(dòng)下,越來越多的企業(yè)紛紛以Web API的形式在互聯(lián)網(wǎng)上發(fā)布數(shù)據(jù)或服務(wù)以實(shí)現(xiàn)商業(yè)增值.通過有效組合不同功能的Web API,可以開發(fā)出功能強(qiáng)大、有創(chuàng)意的Web應(yīng)用,這成為了一種非常流行的軟件開發(fā)方式[2].然而,盡管現(xiàn)實(shí)中通過組合Web API開發(fā)軟件的方式越來越普遍,但是對于API組合中所蘊(yùn)含的規(guī)律和模式仍然缺乏認(rèn)識(shí).如何根據(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的二項(xiàng)集標(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)建了一個(gè)三層的Web服務(wù)網(wǎng)絡(luò)視圖模型.但是上述工作都沒有考慮標(biāo)簽用詞的不規(guī)范,形式不統(tǒng)一和同義詞問題帶來的影響,部分工作只考慮了標(biāo)簽的二項(xiàng)集,并且缺少對挖掘結(jié)果的真實(shí)評估.

        本文提出了一種基于關(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方法不僅可以挖掘頻繁二項(xiàng)集,并且能夠得到所有項(xiàng)集的Web API組合模式.通過使用ProgrammableWeb(3)ProgrammableWeb, https://www.programmableweb.com/的真實(shí)數(shù)據(jù)集進(jìn)行實(shí)驗(yà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é)為實(shí)驗(yàn)結(jié)果與分析;第4節(jié)對全文內(nèi)容進(jìn)行總結(jié),并展望了下一步的工作.

        2 Web API組合模式挖掘

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

        1)數(shù)據(jù)提取:從ProgrammableWeb上爬取數(shù)據(jù)集,從數(shù)據(jù)集中提取實(shí)驗(yàn)所需要的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中提取實(shí)驗(yàn)所需要的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ù),減少實(shí)驗(yàn)誤差,提高Web API組合模式的準(zhǔn)確性,本文將Web API的標(biāo)簽進(jìn)行了以下處理:

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

        圖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)會(huì)造成挖掘出現(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工具實(shí)現(xiàn)對標(biāo)簽的詞形還原.

        3)同義詞統(tǒng)一.在數(shù)據(jù)分析過程中發(fā)現(xiàn)Web API標(biāo)簽中存在許多意思相同或相近的標(biāo)簽,如bike和bicycle、phone和telephone等.由于不同開發(fā)者有不同的描述習(xí)慣,對同一事物的描述也有可能采用不同的單詞,從而會(huì)導(dǎo)致開發(fā)者在定義Web API時(shí)可能使用不同標(biāo)簽來表達(dá)同一含義.而這種同義詞情況會(huì)產(chǎn)生許多功能類似的標(biāo)簽關(guān)聯(lián)規(guī)則,如“telephone→webhook”和“phone→webhook”、“place→bicycle”和“place→bike”.Web API標(biāo)簽中的同義詞會(huì)影響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]通常用于描述兩個(gè)或多個(gè)事物之間存在的某種潛在的關(guān)聯(lián)關(guān)系,下面是它的相關(guān)定義:

        定義1.設(shè)L={l1,l2,…,lm}是項(xiàng)的集合,I是數(shù)據(jù)庫事務(wù)的集合,每個(gè)事務(wù)T是一個(gè)非空項(xiàng)集,T?L.設(shè)X是一個(gè)項(xiàng)集,事務(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ù)的個(gè)數(shù),關(guān)聯(lián)規(guī)則X→Y的支持度的計(jì)算公式為:

        (1)

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

        (2)

        判斷一個(gè)關(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個(gè)步驟:1、構(gòu)建FP-tree;2、挖掘FP-tree得到標(biāo)簽頻繁項(xiàng)集;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)簽頻繁項(xiàng)的集合B,將B按照支持度計(jì)數(shù)降序排序得到頻繁項(xiàng)列表Lfreq.

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

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

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

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

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

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

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

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

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

        1.ProcedureFP-growth(Tree,α):

        2.ifTree包含路徑Pthen

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

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

        5.endfor

        6.else

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

        8. 產(chǎn)生項(xiàng)集β=ai∪α,支持度計(jì)數(shù)等于ai的支持度計(jì)數(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)簽頻繁項(xiàng)集以及這些項(xiàng)集對應(yīng)的支持度計(jì)數(shù).

        3)挖掘Web API標(biāo)簽強(qiáng)關(guān)聯(lián)規(guī)則.由Web API標(biāo)簽頻繁項(xiàng)集生成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)簽頻繁項(xiàng)集,最小置信度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ī)則前項(xiàng)用“condition”表示,后項(xiàng)用“result”表示,關(guān)聯(lián)規(guī)則的形式為“condition→result”.

        2)對于每個(gè)滿足min_sup的標(biāo)簽頻繁項(xiàng)集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)簽頻繁項(xiàng)集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是屬于同一個(gè)Web API中的標(biāo)簽,則需要過濾掉這類規(guī)則.因?yàn)檫@樣的規(guī)則并不能反映Web API之間的功能關(guān)聯(lián)關(guān)系,這些來自于同一個(gè)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ī)則的前項(xiàng)和后項(xiàng)都來自于相同的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 實(shí)驗(yàn)結(jié)果及分析

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

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

        3.2 實(shí)驗(yàn)結(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)簽頻繁項(xiàng)集

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

        表2 Web API標(biāo)簽頻繁項(xiàng)集結(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)簽頻繁項(xiàng)集得到了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)的個(gè)數(shù)不少于50;最小置信度閾值設(shè)置為0.6.表3為2項(xiàng)集Web API標(biāo)簽關(guān)聯(lián)規(guī)則前10個(gè)最優(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項(xiàng)集的前5個(gè)最優(yōu)的Web API組合模式.

        這15條記錄是從Web API組合模式中選擇的二項(xiàng)集、三項(xiàng)集、四項(xiàng)集支持度、置信度最高的前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項(xiàng)集Web API標(biāo)簽關(guān)聯(lián)規(guī)則前10個(gè)最優(yōu)規(guī)則Table 3 Top 10 Web API tag association rules for 2-itemsets

        表4 多項(xiàng)集Web API組合模式中前5個(gè)最優(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)簽,這三個(gè)標(biāo)簽同時(shí)存在于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時(shí),這時(shí)可以根據(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ī)則挖掘算法得到所有項(xiàng)集的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)”的二項(xiàng)集Web API標(biāo)簽對,將每個(gè)標(biāo)簽對中的兩個(gè)標(biāo)簽共同歷史調(diào)用次數(shù)進(jìn)行統(tǒng)計(jì)得到支持度和置信度,過濾掉兩個(gè)標(biāo)簽同時(shí)存在于相同Web API的標(biāo)簽對,每個(gè)標(biāo)簽對可以生成兩條形如“tagm→tagn”和“tagn→tagm”的規(guī)則,對所有標(biāo)簽對進(jìn)行該操作得到所有Web API二項(xiàng)集標(biāo)簽關(guān)聯(lián)規(guī)則.

        3.4 評價(jià)指標(biāo)

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

        Mashup的標(biāo)簽描述了Web API組合和Mashup兩者的功能情況,它能從一定程度上反映出Web API之間的關(guān)系[11].在本實(shí)驗(yàn)中,假定根據(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à)結(jié)果

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

        從圖中可以看出,對于本實(shí)驗(yàn)使用的3種評估標(biāo)準(zhǔn),不管是從支持度閾值還是置信度閾值的角度去評估,WACP方法都要優(yōu)于Goarany等提出的方法.當(dāng)支持度閾值從0.0002到0.0012時(shí),WACP方法的F值分別高于對比方法 1.6%、1.7%、1.5%、1.3%、1.4%、1%,當(dāng)置信度閾值從0.005到0.03時(shí),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ī)則,這也會(huì)影響到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)行了過濾,使得每個(gè)Web API組合模式都能夠準(zhǔn)確地反映API之間的功能關(guān)聯(lián)關(guān)系.相比于Goarany等提出的方法只得到了API之間的二項(xiàng)集關(guān)聯(lián)規(guī)則,本文使用的基于FP-growth的Web API標(biāo)簽關(guān)聯(lián)規(guī)則挖掘算法挖掘得到了所有項(xiàng)集的Web API組合模式,另外,該算法在性能上也優(yōu)于Goarany等提出的方法和Apriori等.因此,使用WACP方法得到的Web API組合模式更加準(zhǔn)確,Precision、recall和F-measure值也有明顯提高.

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

        圖4 不同置信度閾值下的實(shí)驗(yàn)結(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組合提供支持.實(shí)驗(yàn)結(jié)果表明了WACP方法的有效性.

        許多Web API上標(biāo)注的標(biāo)簽數(shù)很少甚至沒有,這種數(shù)據(jù)稀疏性可能會(huì)影響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)的性能.

        猜你喜歡
        項(xiàng)集置信度關(guān)聯(lián)
        硼鋁復(fù)合材料硼含量置信度臨界安全分析研究
        “一帶一路”遞進(jìn),關(guān)聯(lián)民生更緊
        正負(fù)關(guān)聯(lián)規(guī)則兩級置信度閾值設(shè)置方法
        奇趣搭配
        智趣
        讀者(2017年5期)2017-02-15 18:04:18
        置信度條件下軸承壽命的可靠度分析
        軸承(2015年2期)2015-07-25 03:51:04
        關(guān)聯(lián)規(guī)則中經(jīng)典的Apriori算法研究
        卷宗(2014年5期)2014-07-15 07:47:08
        一種頻繁核心項(xiàng)集的快速挖掘算法
        多假設(shè)用于同一結(jié)論時(shí)綜合置信度計(jì)算的新方法?
        語言學(xué)與修辭學(xué):關(guān)聯(lián)與互動(dòng)
        国产在线一区二区三区av| 亚洲精品tv久久久久久久久久| 国产乱子伦农村叉叉叉| 国产精品23p| 视频一区中文字幕亚洲| 精品在线视频在线视频在线视频| 芒果乱码国色天香| 亚洲国产美女精品久久| 蜜桃视频中文字幕一区二区三区| 精品国产一区二区三区av麻| 99久久精品免费观看国产| 极品粉嫩嫩模大尺度无码| jiZZ国产在线女人水多| 日本人妻系列中文字幕| 99精品国产丝袜在线拍国语| 亚洲人成网站免费播放| 视频女同久久久一区二区三区| 国产精品亚洲一区二区三区16 | 日韩AVAV天堂AV在线| 亚洲中文字幕人妻诱惑| 一本久道高清视频在线观看| 欧洲熟妇色xxxx欧美老妇多毛| 99久久综合精品五月天| av天堂一区二区三区| 亚洲国产a∨无码中文777| 亚洲av无码潮喷在线观看| 91亚洲国产三上悠亚在线播放| 国产精品视频一区二区久久| 永久天堂网av手机版| 狠狠躁夜夜躁人人爽天天不卡软件| 免费国产调教视频在线观看 | 亚洲乱码日产精品bd| 狠狠色噜噜狠狠狠狠97俺也去| 中国亚洲av第一精品| 亚洲综合色婷婷七月丁香| 日本不卡视频免费的| 精品女同一区二区三区免费播放 | 成人影院视频在线播放| 97se狠狠狠狠狼鲁亚洲综合色| 日韩精品大片在线观看| 91麻豆精品一区二区三区|