一種基于標(biāo)簽稀疏學(xué)習(xí)的Web服務(wù)發(fā)現(xiàn)方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明屬于計(jì)算機(jī)服務(wù)技術(shù)領(lǐng)域,具體涉及一種基于標(biāo)簽稀疏學(xué)習(xí)的Web服務(wù)發(fā) 現(xiàn)方法。
【背景技術(shù)】
[0002] 隨著Web 2. 0時(shí)代科技革命的不斷發(fā)展,互聯(lián)網(wǎng)軟件生產(chǎn)方法的主要形態(tài)、運(yùn)行 方式、生產(chǎn)方式和使用方式正發(fā)生著巨大的變化?;赪eb服務(wù)動態(tài)聚合,自動組合和彈性 伸縮的分布式服務(wù)發(fā)現(xiàn)成為了未來網(wǎng)絡(luò)應(yīng)用開發(fā)的重要趨勢。這些Web服務(wù)技術(shù)應(yīng)用都建 立在服務(wù)搜索引擎發(fā)現(xiàn)和管理服務(wù)的基礎(chǔ)上展開的。近年來,使用搜索引擎發(fā)現(xiàn)服務(wù)成為 了工業(yè)界和學(xué)術(shù)界關(guān)注的重點(diǎn)。
[0003]目前關(guān)于Web服務(wù)主要是通過搜索引擎進(jìn)行聚合和管理的。在實(shí)際操作中,用戶 提交搜索關(guān)鍵詞,搜索引擎通過字符串匹配WSDL (網(wǎng)絡(luò)服務(wù)描述語言)文件內(nèi)容進(jìn)行服務(wù) 搜索和發(fā)現(xiàn)的。然而,這種方案的效率非常低下,原因如下:(1)當(dāng)代企業(yè)組織的Web服務(wù)架 構(gòu)復(fù)雜,導(dǎo)致普通的WSDL包含非常多冗余的文本信息,直接進(jìn)行字符串匹配造成資源浪費(fèi) 的問題。⑵當(dāng)代互聯(lián)網(wǎng)在蓬勃發(fā)展,Web服務(wù)呈指數(shù)型增長。匹配所有WSDL文件造成效 率過低的問題。在真實(shí)情況下,工業(yè)界需要一種高效的服務(wù)索引策略,單純使用WSDL的文 本信息所造成的問題嚴(yán)重阻礙了服務(wù)計(jì)算領(lǐng)域發(fā)展。因此,新型的服務(wù)發(fā)現(xiàn)技術(shù)是Web服 務(wù)研究的助推器。
[0004] 現(xiàn)有技術(shù)中,學(xué)術(shù)界在探索使用標(biāo)簽進(jìn)行服務(wù)索引并取得了長足的進(jìn)步。然而,學(xué) 術(shù)界普遍假設(shè)標(biāo)記WSDL的服務(wù)標(biāo)簽是充足和準(zhǔn)確的,這種前提在實(shí)際中存在幾點(diǎn)不足:
[0005] 1.事實(shí)上,標(biāo)簽是稀缺的。標(biāo)簽主要依賴于人工標(biāo)記,和大數(shù)據(jù)服務(wù)增長相比,這 樣的標(biāo)記顯得過于低效,致使標(biāo)簽總是稀缺的。
[0006] 2.由于標(biāo)簽是人工標(biāo)記的,存在任意性和不規(guī)范化等缺點(diǎn),單純使用查詢請求和 標(biāo)簽進(jìn)行匹配將直接降低服務(wù)發(fā)現(xiàn)效果。
【發(fā)明內(nèi)容】
[0007] 針對現(xiàn)有技術(shù)所存在的上述技術(shù)問題,本發(fā)明提出了一種基于標(biāo)簽稀疏學(xué)習(xí)的 Web服務(wù)發(fā)現(xiàn)方法,能夠有效地提高標(biāo)簽預(yù)測的準(zhǔn)確性,進(jìn)一步提高Web服務(wù)發(fā)現(xiàn)的效能。
[0008] -種基于標(biāo)簽稀疏學(xué)習(xí)的Web服務(wù)發(fā)現(xiàn)方法,包括如下步驟:
[0009] (1)收集服務(wù)集中各Web服務(wù)的WSDL文件以及人工標(biāo)記的服務(wù)標(biāo)簽;
[0010] (2)對每個(gè)Web服務(wù)的WSDL文件和服務(wù)標(biāo)簽進(jìn)行預(yù)處理;
[0011] (3)對于標(biāo)簽庫中的任一標(biāo)簽,通過對以下目標(biāo)函數(shù)L進(jìn)行最小化求解,以求得該 標(biāo)簽相對于服務(wù)集的權(quán)重向量w ;
[0012]
[0013] 其中:vd為服務(wù)集中第d個(gè)Web服務(wù)WSDL文件的文本特征向量,D為服務(wù)集中所 有Web服務(wù)的總個(gè)數(shù);若該標(biāo)簽已被人工標(biāo)記為第d個(gè)Web服務(wù)的服務(wù)標(biāo)簽,則yd= 1,否 則yd= 〇 ; α為預(yù)設(shè)的規(guī)則因子,τ為向量轉(zhuǎn)置;
[0014] (4)對于標(biāo)簽庫中的任一標(biāo)簽,使該標(biāo)簽的權(quán)重向量w與服務(wù)集中每個(gè)Web服務(wù) WSDL文件的文本特征向量進(jìn)行內(nèi)積運(yùn)算,對應(yīng)得到該標(biāo)簽相對于每個(gè)Web服務(wù)的標(biāo)記概 率;
[0015] 通過設(shè)定概率閾值,從服務(wù)集中提取出標(biāo)記概率大于該概率閾值的Web服務(wù),且 使該標(biāo)簽作為這些Web服務(wù)的預(yù)測標(biāo)簽;
[0016] (5)由服務(wù)搜索引擎接受用戶的目標(biāo)查詢請求,若服務(wù)集小于一定數(shù)量規(guī)模,則 服務(wù)搜索引擎直接將目標(biāo)查詢請求與服務(wù)集中每個(gè)Web服務(wù)的WSDL文件信息進(jìn)行字符串 匹配;若服務(wù)集大于一定數(shù)量規(guī)模,則服務(wù)搜索引擎直接將目標(biāo)查詢請求與服務(wù)集中每個(gè) Web服務(wù)的預(yù)測標(biāo)簽進(jìn)行字符串匹配;最后將匹配上的Web服務(wù)展現(xiàn)給用戶。
[0017] 所述的步驟(2)中對每個(gè)Web服務(wù)的WSDL文件和服務(wù)標(biāo)簽進(jìn)行預(yù)處理,其中對于 WSDL文件,則利用XML (可擴(kuò)展標(biāo)記語言)工具提取WSDL文件的特征信息并建立對應(yīng)的文 本特征向量;對于服務(wù)標(biāo)簽,則利用自然語言處理中常用的開源文本規(guī)整化工具(如word stemming技術(shù))對服務(wù)標(biāo)簽進(jìn)行規(guī)整化處理。
[0018] 所述的步驟(3)中通過以下迭代算法對目標(biāo)函數(shù)L進(jìn)行最小化求解:
[0019]
[0020]
[0021] 其中:wJP w t+1分別為第t次迭代和第t+Ι次迭代標(biāo)簽相對于服務(wù)集的權(quán)重向量, 4為Wt經(jīng)梯度下降后的權(quán)重向量,w t+1⑴為權(quán)重向量wt+1中的第i個(gè)元素值,Hf⑴為權(quán) 重向量W纟中的第i個(gè)元素值,t為迭代次數(shù),i為自然數(shù)且I < i < N,N為權(quán)重向量w的 維度,Θ為預(yù)設(shè)的迭代因子。
[0022] 所述的步驟(5)中最后將匹配上的Web服務(wù)包裝成html頁面格式,進(jìn)而通過服務(wù) 搜索引擎展現(xiàn)給用戶。
[0023] 本發(fā)明充分挖掘WSDL文本特征以有效地提高標(biāo)簽預(yù)測的準(zhǔn)確性;另外,本發(fā)明通 過使用二階段混合智能算法可實(shí)時(shí)響應(yīng)多用戶的個(gè)性化服務(wù)查詢請求,產(chǎn)生的標(biāo)簽預(yù)測列 表有助于提尚Web服務(wù)發(fā)現(xiàn)的效能。
【附圖說明】
[0024] 圖1為本發(fā)明基于標(biāo)簽稀疏學(xué)習(xí)服務(wù)發(fā)現(xiàn)方法的流程示意圖。
[0025] 圖2是標(biāo)簽稀疏學(xué)習(xí)核心模塊WTLearning (Web Service Tag Learning,網(wǎng)絡(luò)服務(wù) 標(biāo)簽學(xué)習(xí))的內(nèi)部流程示意圖。
【具體實(shí)施方式】
[0026] 為了更為具體地描述本發(fā)明,下面結(jié)合附圖及【具體實(shí)施方式】對本發(fā)明的技術(shù)方案 進(jìn)行詳細(xì)說明。
[0027] 如圖1所示,本發(fā)明基于標(biāo)簽稀疏學(xué)習(xí)的Web服務(wù)發(fā)現(xiàn)方法包括以下部分:
[0028] 步驟1 :服務(wù)搜索引擎收集服務(wù)開發(fā)者提供的WSDL文件。相對每個(gè)服務(wù)文件,弓丨 擎管理著用戶提供標(biāo)簽信息。假設(shè)開發(fā)者共提供D個(gè)服務(wù)作搜索引擎候選集,那么則共有 D個(gè)WSDL文件描述對應(yīng)服務(wù)。在初始化階段,用戶對D個(gè)服務(wù)文件標(biāo)記標(biāo)簽以說明服務(wù)的 作用,過程由服務(wù)搜索引擎機(jī)制保證標(biāo)簽的質(zhì)量。經(jīng)過采集后,D個(gè)WSDL文件和標(biāo)簽建立 了"一對多"的映射關(guān)系。
[0029] 步驟2 :搜索引擎對收集的WSDL文件和標(biāo)簽進(jìn)行預(yù)處理。
[0030] 對于WSDL文件,引擎用XML工具抽取文本信息建立Bag-of-words (BoW)字典模 型,該模型忽略了文本的語法和語序,用一組無序的單詞來表達(dá)WSDL文件內(nèi)容。具體地, 對于WSDL文件d,引擎使用字典模型建立對應(yīng)的,長度是WSDL的單詞總數(shù)。本向量的 取值為〇或1 :若對應(yīng)單詞出現(xiàn)了,則取值為1反之為0。經(jīng)過處理后,引擎把D個(gè)WSDL文 件轉(zhuǎn)化成D個(gè)文本特征向量。
[0031] 對于標(biāo)簽,引擎使用自然語言處理中常用的word stemming技術(shù)把標(biāo)簽規(guī)整化,該 技術(shù)把單詞的符號和停用詞隔離掉,保證輸入文本的質(zhì)量。
[0032] 步驟3 :服務(wù)搜索引擎接受目標(biāo)用戶查詢請求q,后臺進(jìn)行服務(wù)搜索處理。
[0033] 步驟4 :對步驟3接受的查詢請求作分析:
[0034] (1)假若候選服務(wù)集D少于1000,那么服務(wù)搜索引擎將直接將WSDL文本信息和查 詢請求進(jìn)行字符串匹配。
[0035] (2)假若候選服務(wù)集D大于等于1000,那么服務(wù)搜索引擎將進(jìn)行步驟5的在線 WTLearning模塊進(jìn)行標(biāo)簽預(yù)測,結(jié)果把標(biāo)簽和對應(yīng)的WSDL文件進(jìn)行聯(lián)立,方便搜索引擎進(jìn) 行標(biāo)簽和查詢請求進(jìn)行字符串匹配。
[0036] 步驟5 :核心模塊WTLearning在線標(biāo)簽稀疏學(xué)習(xí)的執(zhí)行實(shí)體。如圖2所示, WTLearning模塊的子流程包括以下幾部分:
[0037] 5. 1根據(jù)步驟3接收到目標(biāo)用戶查詢請求選擇合適的目標(biāo)函數(shù)核。一般地,模塊允 許用戶自定義目標(biāo)函數(shù),如經(jīng)典的0-1損失函數(shù)和邏輯斯蒂目標(biāo)函數(shù)。為了方便用戶進(jìn)行 簡易操作,系統(tǒng)提供默認(rèn)的log目標(biāo)函數(shù)如下:
[0038]
(1)
[0039] 其中:D是WSDL文件總數(shù)。對于標(biāo)簽t,如果WSDL文件被標(biāo)記為t,則yd= 1反之 則為0。υ 3為對應(yīng)的WSDL文本特征向量,長度為單詞總數(shù)目V。W為針對標(biāo)簽t的目標(biāo)權(quán) 重向量。
[