[發明專利]一種基于云平臺的上下文感知實時推薦服務的方法有效
| 申請號: | 201911064443.6 | 申請日: | 2019-10-31 |
| 公開(公告)號: | CN110807051B | 公開(公告)日: | 2021-03-26 |
| 發明(設計)人: | 荀亞玲;李卓航;楊海峰;李俊吉 | 申請(專利權)人: | 太原科技大學 |
| 主分類號: | G06F16/2458 | 分類號: | G06F16/2458;G06F16/29;G06F16/9535;H04L29/08 |
| 代理公司: | 太原高欣科創專利代理事務所(普通合伙) 14109 | 代理人: | 崔浩;冷錦超 |
| 地址: | 030024 山*** | 國省代碼: | 山西;14 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 基于 平臺 上下文 感知 實時 推薦 服務 方法 | ||
1.一種基于云平臺的上下文感知實時推薦服務的方法,其特征在于:包括如下步驟:
步驟一:采用向量模型對上下文模型進行如下定義:
上下文模型:C=(C1,C2,…,Cn);
上式中C是由n個上下文屬性組成的上下文,Ci表示一個特定類型的上下文,其中,ci為上下文屬性Ci的一個具體屬性值,i=1,2,…,n,則每一組屬性的具體取值為上下文C的一個實例,表示為:c=(c1,c2,...,cn);
步驟二:定義上下文后,對數據的關聯規則進行挖掘,采用基于滑動窗口的分布式關聯規則挖掘方法:
將用戶的上下文C和所選擇的服務S記為一條事物,關聯規則需要挖掘出C和S之間具有較強聯系的規則,記做C→S;
當用戶處于上下文環境C′時,構造符合C′的可組合候選服務集,將所有規則中的C與C′進行匹配,為用戶在C′環境下提供可選的服務;
關聯規則的挖掘與服務推薦的匹配過程步驟如下:
步驟2.1:對云端的歷史數據庫進行遍歷,將數據進行水平分割存儲在Spark RDD中,由各個節點對各自的數據片進行局部計數,待所有數據片計算完成后,由reduce匯總得出頻繁1-項集FList;
步驟2.2:對Flist進行分割,采用多項式時間度算法解決Fp-Growth算法負載均衡問題;以頻繁項集的支持度作為負載衡量的指標,將所有節點運行的時間大致保持一致,將Flist分為k組,每一組的平均時間為上式中m為頻繁項目的個數,sup(i(q))為第q個項目i(q)的支持度,使每一個節點的處理負載大致為
將Flist中項目分組后,形成每個分組的投影數據庫,將數據庫廣播至各對應節點;
步驟2.3:對各節點將投影數據庫劃分成大小相等的k個數據塊,得到基本滑動窗口:
BSW1,BSW2......BSWk;
對每個節點上分組投影數據庫進行第二次掃描;
步驟2.4:對每個節點使用擴展的FP-Growth算法構建模式樹,為每一個項設計支持度:
對于重要但出現頻率較低的上下文設置相對較低的支持度;
對于不重要但出現頻率較高的上下文設置相對較高的支持度;
使每一個節點都建立自己節點的模式樹;
步驟2.5:基于步驟2.3中得到的基本滑動窗口,進行上下文更新后的增量式更新挖掘:
當數據庫新增時,將新增事務作為新的基本滑動窗口,窗口大小與原始數據庫基本滑動窗口的大小相等;
基于擴展的Fp-Growth得到新基本滑動窗口BSWm+1和上一個滑動窗口BSWm的頻繁項集,記原頻繁項集為F1,現頻繁項集為F2,將新的頻繁項集與原始數據庫中的頻繁項集對比,根據如下情形更新模式樹:
情形一、當頻繁項既存在原始數據庫中又存在新增數據庫中F1∩F2時,將兩者項集計數相加,然后更新模式樹;
情形二、當頻繁項存在原始數據庫中而不存在新增數據庫中F1-(F1∩F2),需根據相似度估計該項在新增數據庫的支持度計數,并將該估計值與原始頻繁項集計數相加,然后更新模式樹;
情形三、頻繁項在原始數據庫中不存在而在新增數據庫中存在F2-(F1∩F2),需要在候選信息表中查找是否有該項,若有直接讀取其計數,若沒有則需要根據相似度估計出原始基本滑動窗口該項的計數,并將該估計值與現頻繁項集計數相加,然后更新模式樹;
上述情形二和情形三中相似度估計采用局部敏感哈希算法進行計算:
將上一個滑動窗口BSWm的高維向量定義為Fwi,維數為n,將其漢明化操作變為一個維數為n的向量x′;
再將新基本滑動窗口BSWm+1對應的高維向量定義為Fwj,將其漢明化操作變為一個維數為n的向量y;
采用公式計算y與x′之間的jaccard距離,得出相似概率;
步驟2.6:基于步驟2.5的計算結果進行服務匹配:
在所有節點的模式樹中,每一條路徑都包含上下文C和該上下文對應的服務集合S,當用戶的手機傳回當前用戶所處上下文c′時,需通過當前用戶上下文c′構造符合當前c′的服務集合,構造服務集合的步驟如下:
步驟2.6.1:對用戶傳來的上下文c′進行數據處理,將c′中不在Flist中的項進行過濾,將剩下的未被過濾項按照Flist的支持度進行降序排序,形成新的上下文c″;
步驟2.6.2:對新的上下文c″進行漢明化變成一個維數為n的向量X″,從向量X″中抽取其中的t位作為其hash值,并與已經處理好的k組節點hash值進行比較,并將上下文c″發送至相似度較高的節點;
步驟2.6.3:對上下文c″與所在節點的模式樹中的路徑p求交集,根據交集的結果對每條路徑賦予不同的權重系數,具體的權值計算公式為:
其中,表示路徑本身的權重,|p|表示路徑p的長度;
步驟2.6.4:根據權重向用戶推薦服務,將服務按支持度排序,將支持度最大的前幾個服務推薦給用戶,記該服務的集合為s;
步驟2.6.5:將用戶選擇后的c→s事件數據返回云端并存儲在云端數據庫中待下次挖掘使用。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于太原科技大學,未經太原科技大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201911064443.6/1.html,轉載請聲明來源鉆瓜專利網。
- 上一篇:一種智能除草系統及除草方法
- 下一篇:一種節能型抽煙罩





