基于正反屬性知識(shí)庫的個(gè)性化推薦方法和系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及推薦技術(shù)領(lǐng)域,特別是涉及一種基于正反屬性知識(shí)庫的個(gè)性化推薦方 法和系統(tǒng)。
【背景技術(shù)】
[0002] 隨著電子商務(wù)規(guī)模的不斷擴(kuò)大,商品個(gè)數(shù)和種類快速增長,用戶需要花費(fèi)大量的 時(shí)間才能找到自己想買的商品。瀏覽大量無關(guān)信息和產(chǎn)品的過程無疑會(huì)使消費(fèi)者不斷流 失。為了解決這些問題,個(gè)性化推薦技術(shù)應(yīng)運(yùn)而生。個(gè)性化推薦技術(shù)是建立在海量數(shù)據(jù)挖掘 基礎(chǔ)上的一種高級(jí)商務(wù)智能平臺(tái),以幫助電子商務(wù)網(wǎng)站為其顧客購物提供完全個(gè)性化的決 策支持和?目息服務(wù)。
[0003] 但是現(xiàn)有個(gè)性化推薦系統(tǒng)在用戶購買商品的歷史數(shù)據(jù)的分析基礎(chǔ)上進(jìn)行推薦時(shí), 可能出現(xiàn)錯(cuò)誤推薦。譬如,推薦系統(tǒng)發(fā)現(xiàn)Α用戶和Β用戶的以往興趣特點(diǎn)和購買行為都很類 似,最近A用戶購買了衛(wèi)生巾,結(jié)果推薦系統(tǒng)就把衛(wèi)生巾推薦給了B用戶,這個(gè)推薦是否準(zhǔn) 確?A用戶和B用戶之所以在過去的時(shí)間內(nèi)興趣特點(diǎn)和購買行為都很類似,是因?yàn)锳用戶和B 用戶是親姐弟,但A用戶是女性,最近來月經(jīng)初潮了,所以開始第一次買衛(wèi)生巾,但B用戶是 男性,把衛(wèi)生巾推薦給B用戶,顯然是錯(cuò)誤的推薦??梢?,現(xiàn)有推薦技術(shù)得到的推薦結(jié)果常常 與用戶想買的商品不吻合,導(dǎo)致錯(cuò)誤的推薦,進(jìn)而降低用戶對(duì)推薦結(jié)果的采納率,降低推薦 系統(tǒng)對(duì)用戶的價(jià)值。
【發(fā)明內(nèi)容】
[0004] 基于上述情況,本發(fā)明提出了一種個(gè)性化推薦方法和系統(tǒng),提高對(duì)用戶進(jìn)行推薦 的準(zhǔn)確率,進(jìn)而提高用戶對(duì)推薦結(jié)果的采納率,提升推薦系統(tǒng)對(duì)用戶的價(jià)值。
[0005] 為了實(shí)現(xiàn)上述目的,本發(fā)明技術(shù)方案的實(shí)施例為:
[0006] -種個(gè)性化推薦方法,包括以下步驟:
[0007] 獲取當(dāng)前推薦系統(tǒng)向用戶推薦的推薦結(jié)果序列;
[0008]在所述推薦結(jié)果序列中獲取預(yù)設(shè)方向的預(yù)設(shè)推薦個(gè)數(shù)個(gè)推薦結(jié)果作為初次推薦 結(jié)果序列,所述預(yù)設(shè)推薦個(gè)數(shù)小于或等于所述推薦結(jié)果序列中的推薦結(jié)果總數(shù);
[0009]根據(jù)所述用戶的身份信息在正反屬性知識(shí)庫預(yù)先存儲(chǔ)的用戶正反屬性表中查詢 是否存儲(chǔ)所述用戶的屬性和相反屬性;
[0010]當(dāng)查詢結(jié)果為是時(shí),分別將所述初次推薦結(jié)果序列中的各個(gè)推薦結(jié)果與所述用戶 的屬性進(jìn)行匹配,且分別將所述初次推薦結(jié)果序列中的各個(gè)推薦結(jié)果與所述用戶的相反屬 性進(jìn)行匹配;
[0011] 刪除所述初次推薦結(jié)果序列中與所述用戶的屬性的匹配結(jié)果不符合預(yù)設(shè)第一條 件且與所述用戶的相反屬性的匹配結(jié)果符合預(yù)設(shè)第二條件的推薦結(jié)果;
[0012] 根據(jù)所述初次推薦結(jié)果序列剩余的推薦結(jié)果得到最終推薦結(jié)果序列;
[0013] 輸出所述最終推薦結(jié)果序列。
[0014] 一種個(gè)性化推薦系統(tǒng),包括:
[0015] 推薦結(jié)果序列獲取模塊,用于獲取當(dāng)前推薦系統(tǒng)向用戶推薦的推薦結(jié)果序列;
[0016] 初次推薦結(jié)果序列獲取模塊,用于在所述推薦結(jié)果序列中獲取預(yù)設(shè)方向的預(yù)設(shè)推 薦個(gè)數(shù)個(gè)推薦結(jié)果作為初次推薦結(jié)果序列,所述預(yù)設(shè)推薦個(gè)數(shù)小于或等于所述推薦結(jié)果序 列中的推薦結(jié)果總數(shù);
[0017] 屬性查詢模塊,用于根據(jù)所述用戶的身份信息在正反屬性知識(shí)庫預(yù)先存儲(chǔ)的用戶 正反屬性表中查詢是否存儲(chǔ)所述用戶的屬性和相反屬性;
[0018] 結(jié)果匹配模塊,用于當(dāng)查詢結(jié)果為是時(shí),分別將所述初次推薦結(jié)果序列中的各個(gè) 推薦結(jié)果與所述用戶的屬性進(jìn)行匹配,且分別將所述初次推薦結(jié)果序列中的各個(gè)推薦結(jié)果 與所述用戶的相反屬性進(jìn)行匹配;
[0019] 結(jié)果刪除模塊,用于刪除所述初次推薦結(jié)果序列中與所述用戶的屬性的匹配結(jié)果 不符合預(yù)設(shè)第一條件且與所述用戶的相反屬性的匹配結(jié)果符合預(yù)設(shè)第二條件的推薦結(jié)果;
[0020] 最終推薦結(jié)果序列獲取模塊,用于根據(jù)所述初次推薦結(jié)果序列剩余的推薦結(jié)果得 到最終推薦結(jié)果序列;
[0021] 序列輸出模塊,用于輸出所述最終推薦結(jié)果序列。
[0022]與現(xiàn)有技術(shù)相比,本發(fā)明的有益效果為:本發(fā)明個(gè)性化推薦方法和系統(tǒng),基于正反 屬性知識(shí)庫,通過將當(dāng)前推薦系統(tǒng)向用戶推薦的預(yù)設(shè)個(gè)數(shù)個(gè)推薦結(jié)果與預(yù)先存儲(chǔ)在正反屬 性知識(shí)庫中的用戶的屬性和相反屬性進(jìn)行匹配,根據(jù)匹配結(jié)果獲取最終推薦結(jié)果序列,提 高對(duì)用戶進(jìn)行推薦的準(zhǔn)確率,滿足用戶的個(gè)性化推薦需要,提高用戶對(duì)推薦結(jié)果的采納率, 提升推薦系統(tǒng)對(duì)用戶的價(jià)值,適合應(yīng)用。
【附圖說明】
[0023] 圖1為本發(fā)明一個(gè)實(shí)施例中個(gè)性化推薦方法流程示意圖;
[0024] 圖2為基于圖1所示方法一個(gè)具體示例中個(gè)性化推薦方法流程圖;
[0025] 圖3為本發(fā)明一個(gè)實(shí)施例中個(gè)性化推薦系統(tǒng)結(jié)構(gòu)示意圖。
【具體實(shí)施方式】
[0026] 為使本發(fā)明的目的、技術(shù)方案及優(yōu)點(diǎn)更加清楚明白,以下結(jié)合附圖及實(shí)施例,對(duì)本 發(fā)明進(jìn)行進(jìn)一步的詳細(xì)說明。應(yīng)當(dāng)理解,此處所描述的【具體實(shí)施方式】僅僅用以解釋本發(fā)明, 并不限定本發(fā)明的保護(hù)范圍。
[0027] -個(gè)實(shí)施例中個(gè)性化推薦方法,如圖1所示,包括以下步驟:
[0028] 步驟S101:獲取當(dāng)前推薦系統(tǒng)向用戶推薦的推薦結(jié)果序列;
[0029] 其中,當(dāng)前推薦系統(tǒng)可以是現(xiàn)有的各種推薦系統(tǒng),也可以是新開發(fā)的推薦系統(tǒng);推 薦系統(tǒng)向用戶推薦的推薦結(jié)果可以是各種類型的推薦結(jié)果,譬如,商品的推薦、衣服的推 薦、圖書的推薦、視頻的推薦、圖片的推薦、論文的推薦或好友的推薦等;
[0030] 步驟S102:在所述推薦結(jié)果序列中獲取預(yù)設(shè)方向的預(yù)設(shè)推薦個(gè)數(shù)個(gè)推薦結(jié)果作為 初次推薦結(jié)果序列,所述預(yù)設(shè)推薦個(gè)數(shù)小于或等于所述推薦結(jié)果序列中的推薦結(jié)果總數(shù);
[0031] 例如推薦系統(tǒng)向一個(gè)用戶推薦的推薦結(jié)果數(shù)記為p,將這p個(gè)推薦結(jié)果中的前η個(gè) 推薦結(jié)果作為η個(gè)第一推薦結(jié)果,得到初次推薦結(jié)果序列,其中,ρ可以是自然數(shù),推薦系統(tǒng) 會(huì)向用戶推薦至少一個(gè)推薦結(jié)果,選取推薦系統(tǒng)向一個(gè)用戶推薦的所有推薦結(jié)果中的全部 或部分作為第一推薦結(jié)果;
[0032]步驟S103:根據(jù)所述用戶的身份信息在正反屬性知識(shí)庫預(yù)先存儲(chǔ)的用戶正反屬性 表中查詢是否存儲(chǔ)所述用戶的屬性和相反屬性;
[0033]例如從正反屬性知識(shí)庫中的用戶正反屬性表中檢索該個(gè)用戶的屬性和相反屬性, 通過用戶的身份信息對(duì)用戶正反屬性表進(jìn)行檢索,當(dāng)檢索到相應(yīng)用戶的身份信息時(shí),則取 出該用戶的身份信息對(duì)應(yīng)的用戶的屬性和相反屬性;可以事先采集用戶的屬性和相反屬性 存儲(chǔ)在正反屬性知識(shí)庫中;
[0034] 步驟S104:當(dāng)查詢結(jié)果為是時(shí),分別將所述初次推薦結(jié)果序列中的各個(gè)推薦結(jié)果 與所述用戶的屬性進(jìn)行匹配,且分別將所述初次推薦結(jié)果序列中的各個(gè)推薦結(jié)果與所述用 戶的相反屬性進(jìn)行匹配;
[0035] -個(gè)推薦結(jié)果與正反屬性知識(shí)庫中該個(gè)用戶的屬性的匹配度,本質(zhì)上是該個(gè)推薦 結(jié)果與用戶屬性的符合程度;從一個(gè)推薦結(jié)果與該個(gè)用戶的屬性的匹配度的大小,可以看 出該個(gè)推薦結(jié)果與該個(gè)用戶的屬性的吻合度,一個(gè)推薦結(jié)果與該個(gè)用戶的屬性的匹配度越 大,則表明該個(gè)推薦結(jié)果與該個(gè)用戶的屬性的吻合度越高;
[0036] -個(gè)推薦結(jié)果與正反屬性知識(shí)庫中該個(gè)用戶的相反屬性的匹配度,本質(zhì)上是該個(gè) 推薦結(jié)果與用戶屬性的矛盾程度;從一個(gè)推薦結(jié)果與該個(gè)用戶的相反屬性的匹配度的大 小,可以看出該個(gè)推薦結(jié)果與該個(gè)用戶的屬性的矛盾程度,一個(gè)推薦結(jié)果與該個(gè)用戶的相 反屬性的匹配度越大,則表明該個(gè)推薦結(jié)果與該個(gè)用戶的屬性的矛盾程度越高;
[0037] 步驟S105:刪除所述初次推薦結(jié)果序列中與所述用戶的屬性的匹配結(jié)果不符合預(yù) 設(shè)第一條件且與所述用戶的相反屬性的匹配結(jié)果符合預(yù)設(shè)第二條件的推薦結(jié)果;
[0038] 例如預(yù)設(shè)第一條件為一個(gè)推薦結(jié)果與該個(gè)用戶的屬性的匹配度大于或等于第一 預(yù)設(shè)值(可以根據(jù)實(shí)際需要設(shè)置第一預(yù)設(shè)值,例如第一預(yù)設(shè)值為1),不符合第一預(yù)設(shè)條件 即:一個(gè)推薦結(jié)果與該個(gè)用戶的屬性的匹配度小于第一預(yù)設(shè)值,預(yù)設(shè)第二條件為一個(gè)推薦 結(jié)果與該個(gè)用戶的相反屬性的匹配度大于第二預(yù)設(shè)值(可以根據(jù)實(shí)際需要設(shè)置第二預(yù)設(shè) 值,例如第二預(yù)設(shè)值為2),符合第二預(yù)設(shè)條件即:一個(gè)推薦結(jié)果與該個(gè)用戶的相反屬性的匹 配度大于第二預(yù)設(shè)值。當(dāng)一個(gè)推薦結(jié)果與該個(gè)用戶的屬性的匹配度小于第一預(yù)設(shè)值且與該 個(gè)用戶的相反屬性的匹配度大于第二預(yù)設(shè)值時(shí),表示該個(gè)推薦結(jié)果與該個(gè)用戶的屬性是有 矛盾的,刪除該個(gè)推薦結(jié)果;
[0039] 當(dāng)一個(gè)推薦結(jié)果與該個(gè)用戶的相反屬性的匹配度大于第二預(yù)設(shè)值但與該個(gè)用戶 的屬性的匹配度大于第一預(yù)設(shè)值時(shí),則該個(gè)推薦結(jié)果既含有該個(gè)用戶的相反屬性又含有用 戶的屬性,則說明該個(gè)推薦結(jié)果既適用于與該個(gè)用戶屬性相反的用戶,也適用于該個(gè)用戶, 所以不應(yīng)刪除;當(dāng)一個(gè)推薦結(jié)果與該個(gè)用戶的相反屬性的匹配度小于第二預(yù)設(shè)值且與該個(gè) 用戶的屬性的匹配度小于第一預(yù)設(shè)值時(shí),則該個(gè)推薦結(jié)果既不含有該個(gè)用戶的相反屬性也 不含有用戶的屬性,則說明該個(gè)推薦結(jié)果中沒有明確指出是否適用于相應(yīng)屬性的該個(gè)用 戶,也就是說該個(gè)推薦結(jié)果可能不適用于該個(gè)用戶,但可能適用于該個(gè)用戶,所以不應(yīng)刪 除;當(dāng)一個(gè)推薦結(jié)果與該個(gè)用戶的相反屬性的匹配度小于第二預(yù)設(shè)值且與該個(gè)用戶的屬性 的匹配度大于第一預(yù)設(shè)值時(shí),則該個(gè)推薦結(jié)果不含有該個(gè)用戶的相反屬性,但含有用戶