[發明專利]基于標簽遷移的跨域推薦方法有效
| 申請號: | 202010462560.4 | 申請日: | 2020-05-27 |
| 公開(公告)號: | CN111708937B | 公開(公告)日: | 2022-12-16 |
| 發明(設計)人: | 姚全珠;呂鵬;費蓉;陳晨 | 申請(專利權)人: | 北京閱視無限科技有限公司 |
| 主分類號: | G06F16/9535 | 分類號: | G06F16/9535;G06F16/9536;G06F16/906;G06N3/04 |
| 代理公司: | 深圳峰誠志合知識產權代理有限公司 44525 | 代理人: | 趙愛婷 |
| 地址: | 100000 北京市石景*** | 國省代碼: | 北京;11 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 基于 標簽 遷移 推薦 方法 | ||
1.基于標簽遷移的跨域推薦方法,其特征在于,具體按照以下步驟實施:
步驟1、假設A領域為源領域,B領域為目標領域,實現A領域與B領域之間的跨域推薦的前提條件如下:A領域與B領域存在重疊的用戶,所述用戶共用一套相同的標簽系統并且A領域和B領域中都有對應的用戶物品評分信息,通過遷移共享的標簽信息,實現以A領域為源領域輔助目標領域B領域完成推薦任務,或者以B領域為源領域輔助目標領域A領域完成推薦任務;
步驟2、利用用戶對A領域的評分信息構建A領域用戶評分矩陣;
所述步驟2具體如下:
步驟2.1、利用Pandas庫中的read_table函數讀入用戶物品評分表,該表中包括的字段有用戶ID、物品ID和評分,該函數指定要打開文件的位置、用作列名的行號、用作行索引的列編號或列名,并設置python引擎來對用戶物品評分表進行解析;
步驟2.2、利用讀到的用戶物品評分表,使用Pandas的unique函數獲取用戶列名和物品列名的所有唯一值,然后使用len函數得到唯一的用戶和物品的個數,結合numpy的zeros函數,創建行為用戶數,列為物品數的全零二維數組;
步驟2.3、按元組的方式遍歷用戶物品評分表,使用pandas的loc函數和python的內建函數getattr,將每個用戶對每部物品的評分值對應起來并填充到創建的全零二維數組的對應位置,從而得到用戶對物品的評分矩陣user_item_matrix,并保存為user_item_matrix.csv;
步驟3、對A領域用戶評分矩陣進行分解,得到用戶潛在特征矩陣Usrc和物品潛在特征矩陣Vsrc;
所述步驟3具體如下:
步驟3.1、利用Pandas庫中的read_csv函數讀入步驟2得到的用戶物品評分矩陣user_item_matrix.csv,通過設置用戶潛在評分因子k和物品潛在評分因子l的大小以及最大迭代次數max_iter約束矩陣的分解;
步驟3.2、不斷調整用戶潛在評分因子k和物品潛在評分因子l以及最大迭代次數max_iter的值以最小化目標函數,目標函數達到最小值,得到源領域中的用戶潛在特征矩陣Usrc、物品潛在特征矩陣Vsrc以及集群級的用戶和物品評分矩陣S;
所述步驟3.2具體如下:
通過不斷地迭代以最小化目標函數:
其中,m代表源領域中的用戶數,k代表用戶潛在評分因子,n代表源領域中物品的個數,l代表物品潛在評分因子,Usrc的大小為m×k,表示源領域中m個用戶對k個用戶潛在評分因子的用戶潛在特征矩陣,同樣,Vsrc的大小為n×l,表示源領域中n個物品對l個物品潛在評分因子的物品潛在特征矩陣;
所述步驟3.2中當k=l=40,max_iter=200時,目標函數達到最小值;
步驟4、基于用戶潛在特征矩陣對用戶進行聚類,聚類采用K-Means聚類方法,得到每一類別下的用戶;
所述步驟4具體如下:
步驟4.1、設聚類個數為K,即對應K個初始的類簇,然后由用戶潛在特征矩陣Usrc和聚類個數K,隨機初始化質心矩陣centroids,再將用戶特征矩陣Usrc中的每一行和質心矩陣centroids中的每一個質心之間計算歐氏距離,按照距離最短原則,將用戶特征矩陣中的每一行劃分到距離最近的類簇中,形成K個類簇;
所述步驟4.1中計算用戶特征矩陣中的每一行和質心矩陣中的每一個質心之間的歐氏距離,計算公式為:
其中,X表示用戶特征矩陣中的某一個數據,Y表示質心矩陣中的某一個數據,xi表示用戶特征矩陣中的某一個數據點的坐標,yi表示某一個質心點的坐標,f為用戶特征矩陣中所有數據的個數,i代表用戶特征矩陣中的某一個數據;
步驟4.2、更新每個類簇的中心,對每個簇內的數據求均值,得到新的質心矩陣centroids,再重新計算用戶特征矩陣Usrc中的每一行和新的質心矩陣centroids中的每一個質心之間的歐氏距離,直到質心不再發生改變或者達到設定的迭代次數,最終得到了質心矩陣centroids和對應的類簇矩陣clusterAssment,這樣就得到了每一類別下的用戶;
步驟5、構建神經網絡模型,對步驟4得到的不同類型下的用戶使用的標簽進行學習,并訓練神經網絡,得到能根據用戶使用標簽的特征對用戶進行分類的神經網絡模型,經過不斷地訓練得到最優網絡模型;
所述步驟5具體如下:
步驟5.1、結合用戶的屬性標簽和行為標簽,通過量化處理后作為神經網絡的輸入,用戶的屬性標簽包括用戶的年齡、性別、職業,將用戶的性別字段進行量化處理,假設用M表示男性,量化后用0表示,F表示女性,量化后用1表示,對于用戶的職業字段,分別用0~6七個值表示,用戶的行為標簽包括用戶使用每個物品所屬標簽的次數,通過統計得到;
步驟5.2、將用戶的屬性標簽和行為標簽作為網絡的輸入特征經過隱藏層進行特征提取,設置隱藏層的神經元個數為h;
隱藏層的神經元個數h由下面的公式確定:
其中,p為神經網絡輸入的神經元個數,q為神經網絡輸出的神經元個數,a為1~10的常數;
步驟5.3、將隱藏層h個神經元的輸出作為全連接層的輸入,再經過softmax函數后得到分類結果,最終對應L個概率值,其中,L=K,再將L個概率值和1~K個類簇對應,判斷屬于哪個類別的概率值最大,則屬于哪個類別;
其中,softmax函數表示為:
其中,w表示分類數,z屬于1~w,yz表示全連接層第z個神經元的輸出,將w個輸出分別經過softmax函數,得到符合概率分布的分類結果;
步驟6、對每一類下的用戶進行跨域推薦,
所述步驟6具體如下:
步驟6.1、將所述步驟5得到的在同一類下的所有用戶在B領域中的評分矩陣進行重組,即將同一類別下的每一個用戶的評分矩陣按行放置,得到新的用戶在B領域中的評分矩陣user_item_matrix_tar;
步驟6.2、使用近鄰評分預測方法對步驟6.1得到的評分矩陣user_item_matrix_tar進行填充:
近鄰評分預測公式為:
其中,Au是B領域中目標用戶u對所有評分物品的平均分,Rvt是B領域中用戶v對物品t的評分值,Av是B領域中用戶u的鄰居用戶v對所有評分物品的平均分,sim(u,v)是B領域中目標用戶u和u的鄰居用戶v之間的相似度數值,c是B領域中目標用戶u的最近鄰個數,j代表1~c中某一個最近鄰;
步驟6.3、構造對照評分矩陣contrast_score_matrix:對評分矩陣user_item_matrix_tar按列求平均值,得到對照評分矩陣contrast_score_matrix;
步驟6.4、將需要進行跨域推薦的用戶在B領域中的評分矩陣user_item_matrix_tar與該用戶所屬類別下的對照評分矩陣contrast_score_matrix進行對比,利用閾值比較的方法,如果對應位置的評分大于閾值,則對用戶推薦B領域內的物品,如果對應位置評分小于閾值,則不給用戶推薦B領域內的物品,即實現A領域和B領域的跨域推薦。
2.根據權利要求1所述的基于標簽遷移的跨域推薦方法,其特征在于,所述步驟1中A領域與B領域重疊的用戶共用一套相同的標簽,標簽包括屬性標簽和行為標簽,其中屬性標簽包括性別、年齡、職業,行為標簽包括用戶對物品所屬標簽的使用次數。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于北京閱視無限科技有限公司,未經北京閱視無限科技有限公司許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010462560.4/1.html,轉載請聲明來源鉆瓜專利網。





