本發明專利技術公開了一種基于超圖神經網絡的第三方API推薦方法,所述方法包括以下步驟:獲取用戶信息、API信息以及用戶與API之間的交互信息;根據所獲得的信息構建用戶和API之間的異構圖和關系矩陣;將用戶信息和API信息轉換為稠密的嵌入向量矩陣;將關系矩陣轉換為用戶超圖和多種API超圖挖掘共現關系;對多種API超圖進行特征融合得到最終的API超圖;基于圖神經網絡,學習融入了語義信息的用戶特征向量和API特征向量;將用戶特征向量和API特征向量進行點積計算得到用戶對API的喜好程度,按照從高到低的排序給用戶進行API推薦。本發明專利技術克服了現有方法無法充分利用用戶和API數據中的隱含特征信息,導致推薦性能不高的問題。導致推薦性能不高的問題。導致推薦性能不高的問題。
【技術實現步驟摘要】
一種基于超圖神經網絡的第三方API推薦方法
[0001]本專利技術涉及服務計算以及數據分析
,具體涉及一種基于超圖神經網絡的第三方API推薦方法。
技術介紹
[0002]API是指獨立于平臺、基于可編程的應用程序。隨著Web2.0的快速發展,越來越多的第三方API被發布到互聯網上,例如比較流行的Twitter API和Google Maps API等。API用戶(即開發人員,以下簡稱為用戶)可以根據自己的需求直接調用以及組合這些API來開發新的應用,從而簡化API的復用過程,極大地提高應用開發的效率。據最大的第三方API門戶網站ProgrammableWeb.com統計,截止至2022年11月,ProgrammableWeb平臺上第三方API的數量已經多達24700多個,并且這個數量還在快速增長。數量龐大的API讓用戶在尋找滿足自己需求的API時面臨著嚴重的信息過載問題。因此,將推薦系統運用到服務計算領域上是非常有必要的。給用戶推薦API不僅一定程度上緩解了信息過載問題,并且給用戶推薦一些意想不到的API有助于用戶開發創新型的應用,從而推動整個API生態系統的發展。
[0003]由于用戶與API之間歷史交互記錄的稀疏性,傳統的協同過濾推薦方法和矩陣分解方法很難較好地學習到用戶和API的隱含特征信息,導致推薦性能不高。
技術實現思路
[0004]針對現有技術的不足,本專利技術旨在提供一種基于超圖神經網絡的第三方API推薦方法,用以克服現有方法無法充分利用用戶和API數據中的隱含特征信息,導致推薦性能不高的問題。
[0005]為了實現上述目的,本專利技術采用如下技術方案:
[0006]一種基于超圖神經網絡的第三方API推薦方法,所述方法包括以下步驟:
[0007]S1獲取用戶信息、API信息以及用戶與API之間的交互信息;
[0008]S2根據所獲得的信息構建用戶和API之間的異構圖和關系矩陣;;
[0009]S3將用戶信息和API信息轉換為稠密的嵌入向量矩陣;
[0010]S4將關系矩陣轉換為用戶超圖和多種API超圖挖掘共現關系;
[0011]S5對多種API超圖進行特征融合得到最終的API超圖;
[0012]S6基于圖神經網絡,學習融入了語義信息的用戶特征向量和API特征向量;
[0013]S7將用戶特征向量和API特征向量進行點積計算得到用戶對API的喜好程度,按照從高到低的排序給用戶進行API推薦。
[0014]需要說明的是,所述步驟S1中的信息是從第三方API門戶網站上爬取用戶信息、API信息和關于API的異構信息包括API的類別信息、調用該API的Mashup信息和API的提供商信息。
[0015]需要說明的是,所述步驟S2中,將獲取到的各種關于用戶和API的信息根據它們之間的關系構建出對應的異構圖,其中,用戶、API、Mashup、類別和提供商五種類型的實體以
及四種實體關系為:用戶和API之間存在著關注關系;Mashup和API之間存在著調用關系;API和類別之間存在著屬于關系;Provider和API之間存在著提供關系。
[0016]需要說明的是,根據這四種實體關系構建出API與其他實體之間的關系矩陣,其中,關系矩陣中的值只有0和1兩種情況;取1則表示存在關系,取0則表示沒有關系。
[0017]需要說明的是,所述步驟S3中,使用深度學習中的嵌入層將用戶和API的稀疏向量表示轉換為特征空間中連續且稠密的嵌入向量矩陣,其中,每個用戶u(API a)都被映射成一個嵌入向量e
u
∈R
d
(e
a
∈R
d
),其中d表示嵌入向量的維度;而嵌入向量矩陣可以看成是一個嵌入向量的查找表:
[0018][0019]其中E∈R
(N+M)
×
d
為嵌入向量矩陣,M表示用戶的總數量,N表示API的總數量,表示用戶u1對應的嵌入向量,表示用戶u
M
對應的嵌入向量。表示API a1對應的嵌入向量,表示API a
N
對應的嵌入向量。
[0020]需要說明的是,所述步驟S5中,其融合公式為:
[0021][0022]其中i表示超圖中的第i行,
⊙
表示元素積,即對應維度的元素進行乘積;且通過上式可以得到最終的API超圖A
A
∈R
N
×
N
。
[0023]需要說明的是,所述步驟S6中,通過圖卷積方法得到更新后的用戶向量和API向量,其計算公式為:
[0024][0025][0026][0027][0028]其中H表示圖卷積迭代的層數,W表示權重矩陣,σ表示sigmoid激活函數。第H+1層的用戶向量和API向量都是由前面第H層的用戶向量和API向量進行鄰居聚合所更新得到的。更新結束后得到最終的用戶特征向量和API特征向量
[0029]需要說明的是,所述步驟S7中,將步驟S6得到的用戶特征向量和API特征向量進行點積計算出預測分數
[0030][0031]經過模型的學習與優化之后,根據模型預測出來的用戶對API的喜好分數,將其從高到低進行排序,進而給用戶推薦API。
[0032]需要指出的是,所述步驟S4中,為了挖掘用戶和API之間的共現關系,將用戶和API的關系矩陣,以及API與Mashup、類別和提供商的關系矩陣轉換為對應的超圖。用戶和API超圖的計算公式如下::
[0033][0034][0035][0036][0037][0038]其中D
u
,D
a
,D
m
,D
c
和D
p
分別表示用戶,API,Mashup,類別和提供商的對角度矩陣。R
f
,R
r
,R
b
和R
p
分別表示用戶和API,API和Mashup,API和類別,API和提供商的關系矩陣。A
U
表示用戶超圖,而A
Af
,A
Ar
,A
Ab
和A
Ap
表示根據API的不同關系所構建出來的API超圖。
[0039]在超圖的定義中,超邊可以將任意多個節點進行連接。在用戶超圖A
U
中,其超邊是根據API進行構建的。例如用戶1、用戶2和用戶3都交互過同一個API 1,則API 1就可以當作是一條超邊將用戶1、用戶2和用戶3進行連接,說明用戶1、用戶2和用戶3存在共現關系;余下的API超圖也是同理,表示API之間可能在某種關系中存在著共現關系。
[0040]本專利技術的有益效果在于:
[0041]1、不僅使用了用戶的信息和API的信息,還使用了API中的異構信息,用以解決現有技術推薦效果不佳的問題。
[0042]2、利用本文檔來自技高網...
【技術保護點】
【技術特征摘要】
1.一種基于超圖神經網絡的第三方API推薦方法,其特征在于,所述方法包括以下步驟:S1獲取用戶信息、API信息以及用戶與API之間的交互信息;S2根據所獲得的信息構建用戶和API之間的異構圖和關系矩陣;;S3將用戶信息和API信息轉換為稠密的嵌入向量矩陣;S4將關系矩陣轉換為用戶超圖和多種API超圖挖掘共現關系;S5對多種API超圖進行特征融合得到最終的API超圖;S6基于圖神經網絡,學習融入了語義信息的用戶特征向量和API特征向量;S7將用戶特征向量和API特征向量進行點積計算得到用戶對API的喜好程度,按照從高到低的排序給用戶進行API推薦。2.根據權利要求1所述的基于超圖神經網絡的第三方API推薦方法,其特征在于,所述步驟S1中的信息是從第三方API門戶網站上爬取用戶信息、API信息和關于API的異構信息包括API的類別信息、調用該API的Mashup信息和API的提供商信息。3.根據權利要求1所述的基于超圖神經網絡的第三方API推薦方法,其特征在于,所述步驟S2中,將獲取到的各種關于用戶和API的信息根據它們之間的關系構建出對應的異構圖,其中,用戶、API、Mashup、類別和提供商五種類型的實體以及四種實體關系為:用戶和API之間存在著關注關系;Mashup和API之間存在著調用關系;API和類別之間存在著屬于關系;Provider和API之間存在著提供關系。4.根據權利要求1所述的基于超圖神經網絡的第三方API推薦方法,其特征在于,根據這四種實體關系構建出API與其他實體之間的關系矩陣,其中,關系矩陣中的值只有0和1兩種情況;取1則表示存在關系,取0則表示沒有關系。5.根據權利要求1所述的基于超圖神經網絡的第三方API推薦方法,其特征在于,所述步驟S3中,使用深度學習中的嵌入層將用戶和API的稀疏向量表示轉換為特征空間中連續且稠密的嵌入向量矩陣,其中,每...
【專利技術屬性】
技術研發人員:謝芬方,麥嘉晉,唐明董,
申請(專利權)人:廣東外語外貿大學,
類型:發明
國別省市:
還沒有人留言評論。發表了對其他瀏覽者有用的留言會獲得科技券。