[發明專利]一種面向完全冷啟動的上下文自動編碼推薦方法及系統有效
| 申請號: | 201910077281.3 | 申請日: | 2019-01-25 |
| 公開(公告)號: | CN109918564B | 公開(公告)日: | 2023-05-09 |
| 發明(設計)人: | 鄭麟 | 申請(專利權)人: | 汕頭大學 |
| 主分類號: | G06F16/9535 | 分類號: | G06F16/9535 |
| 代理公司: | 廣州三環專利商標代理有限公司 44202 | 代理人: | 張澤思 |
| 地址: | 515000 *** | 國省代碼: | 廣東;44 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 一種 面向 完全 冷啟動 上下文 自動 編碼 推薦 方法 系統 | ||
1.一種面向完全冷啟動的上下文自動編碼推薦方法,其特征在于,包括:
按照預設的順序,依次對若干個老用戶的各類上下文信息進行編碼,獲得每類上下文信息的編碼向量,并將同一個老用戶的各編碼向量按照預設的方式串聯起來,分別獲得所有老用戶的輸入向量;其中,所述各類上下文信息包括用戶檔案、用戶反饋信息、反饋相關的物品上下文;所述按照預設的順序,依次對若干個老用戶的各類上下文信息進行編碼,獲得每類上下文信息的編碼向量,具體為:
按照用戶檔案、用戶反饋信息、反饋相關的物品上下文的順序,分別將各類上下文信息作為輸入,采用以下的編解碼公式依次對若干個老用戶的各類上下文信息進行編碼,將輸出信息作為每類上下文信息對應的編碼向量;
所述編解碼公式為:;
其中,是輸出矩陣,而是輸入矩陣,表示的是老用戶的數量并且代表原始向量的維度,為一維向量空間;激活函數和都被設置為sigmoid函數,即;
所述編解碼公式包含第一隱藏層和第二隱藏層;第一隱藏層和第二隱藏層的權重和偏移分別被定義為和;
在編碼時,;
在解碼時,;
每類上下文信息的編碼向量通過所述編解碼公式解碼后,能獲得相應的上下文信息;
將所有老用戶的輸入向量作為輸入,為每個老用戶的每個鄰居設置一個局部矩陣;所述局部矩陣用于表達所述各類上下文信息之間的關聯,使得每個老用戶的反饋信息,能夠根據用戶檔案和所述局部矩陣而計算獲得;
所述將所有老用戶的輸入向量作為輸入,為每個老用戶的每個鄰居設置一個局部矩陣,具體為:
若每個老用戶共有n個鄰居,則包含n個子模型,第n個子模型的目標函數定義為:;
其中,使用下標指示老用戶,并設定有個老用戶和個物品,則表示老用戶的用戶反饋信息;表示老用戶的輸入向量;是輸入向量的向量長度;表示第n個子模型中的局部矩陣;上標既表示第n個子模型,又表示第n個鄰居;
通過對所述目標函數訓練,得到每個老用戶的每個鄰居的局部矩陣:;
其中,是-2規范化因子,是一個單位矩陣;
計算所有老用戶和新用戶之間的用戶檔案關聯度,得到所述新用戶的n個鄰居老用戶;n為正整數;
所述計算所有老用戶和新用戶之間的用戶檔案關聯度,得到所述新用戶的n個鄰居老用戶,具體為:
提取新用戶的用戶檔案,并根據所有老用戶的用戶檔案與所述新用戶的用戶檔案,采用余弦相似度計算方法,計算所有老用戶和新用戶之間的用戶檔案關聯度,并根據所述用戶檔案關聯度,得到所述新用戶的n個鄰居老用戶;
以新老用戶檔案關聯來約束n個鄰居老用戶的反饋信息,計算新用戶反饋信息并得到新用戶的冷啟動推薦列表;
所述以新老用戶檔案關聯來約束n個鄰居老用戶的反饋信息,計算新用戶反饋信息并得到新用戶的冷啟動推薦列表,具體為:
以新老用戶檔案關聯來約束n個鄰居老用戶的反饋信息,采用以下公式,計算新用戶反饋信息;
;
其中,為新用戶的反饋信息,為第n個鄰居老用戶與新用戶之間的用戶檔案關聯度;為第n個鄰居老用戶的上下文信息;為第n個鄰居老用戶的局部矩陣;即為老用戶的反饋信息;
降序排列中代表一個新用戶的每一行的值,得到用戶從高到低的反饋預測,選取前個反饋值高的物品即可得到的冷啟動推薦列表。
2.一種面向完全冷啟動的上下文自動編碼推薦系統,其特征在于,包括:上下文編碼器和上下文感知推薦器;其中,所述上下文感知推薦器包括局部矩陣設置模塊、第一計算模塊和第二計算模塊;
所述上下文編碼器用于按照預設的順序,依次對若干個老用戶的各類上下文信息進行編碼,獲得每類上下文信息的編碼向量,并將同一個老用戶的各編碼向量按照預設的方式串聯起來,分別獲得所有老用戶的輸入向量;其中,所述各類上下文信息包括用戶檔案、用戶反饋信息、反饋相關的物品上下文;
所述上下文編碼器具體用于:
按照用戶檔案、用戶反饋信息、反饋相關的物品上下文的順序,分別將各類上下文信息作為輸入,采用以下的編解碼公式依次對若干個老用戶的各類上下文信息進行編碼,將輸出信息作為每類上下文信息對應的編碼向量;
所述編解碼公式為:;
其中,是輸出矩陣,而是輸入矩陣,表示的是老用戶的數量并且代表原始向量的維度,為一維向量空間;激活函數和都被設置為sigmoid函數,即;
所述編解碼公式包含第一隱藏層和第二隱藏層;第一隱藏層和第二隱藏層的權重和偏移分別被定義為和;
在編碼時,;
在解碼時,;
所述局部矩陣設置模塊用于將所有老用戶的輸入向量作為輸入,為每個老用戶的每個鄰居設置一個局部矩陣;所述局部矩陣用于表達所述各類上下文信息之間的關聯,使得每個老用戶的反饋信息,能夠根據用戶檔案和所述局部矩陣而計算獲得;
所述局部矩陣設置模塊具體用于:
若每個老用戶共有n個鄰居,則包含n個子模型,第n個子模型的目標函數定義為:;
其中,使用下標指示老用戶,并設定有個用戶和個物品,則表示老用戶的用戶反饋信息;表示老用戶的輸入向量;是輸入向量的向量長度;表示第n個子模型中的局部矩陣;上標既表示第n個子模型,又表示第n個鄰居;
通過對所述目標函數訓練,得到每個老用戶的每個鄰居的局部矩陣:;
其中,是-2規范化因子,是一個單位矩陣;
所述第一計算模塊用于計算所有老用戶和新用戶之間的用戶檔案關聯度,得到所述新用戶的n個鄰居老用戶;n為正整數;
所述第二計算模塊用于以新老用戶檔案關聯來約束n個鄰居老用戶的反饋信息,計算新用戶反饋信息并得到新用戶的冷啟動推薦列表;
所述第一計算模塊具體用于:提取新用戶的用戶檔案,并根據所有老用戶的用戶檔案與所述新用戶的用戶檔案,采用余弦相似度計算方法,計算所有老用戶和新用戶之間的用戶檔案關聯度,并根據所述用戶檔案關聯度,得到所述新用戶的n個鄰居老用戶;
所述第二計算模塊具體用于:以新老用戶檔案關聯來約束n個鄰居老用戶的反饋信息,采用以下公式,計算新用戶反饋信息;
;
其中,為新用戶的反饋信息,為第n個鄰居老用戶與新用戶之間的用戶檔案關聯度;為第n個鄰居老用戶的上下文信息;為第n個鄰居老用戶的局部矩陣;即為老用戶的反饋信息;
降序排列中代表一個新用戶的每一行的值,得到用戶從高到低的反饋預測,選取前個反饋值高的物品即可得到的冷啟動推薦列表。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于汕頭大學,未經汕頭大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/201910077281.3/1.html,轉載請聲明來源鉆瓜專利網。





