基于問題引導(dǎo)的個性化推薦方法及系統(tǒng)的制作方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及物品推薦技術(shù)領(lǐng)域,更為具體地,涉及一種基于問題引導(dǎo)的個性化推 薦方法及系統(tǒng)。
【背景技術(shù)】
[0002] 目前,個性化推薦系統(tǒng)在互聯(lián)網(wǎng)應(yīng)用中得到了廣泛的使用,其中,個性化推薦算法 往往都依賴于用戶交互過程中產(chǎn)生的點擊流量數(shù)據(jù)以及產(chǎn)生的文本內(nèi)容數(shù)據(jù),根據(jù)這些海 量數(shù)據(jù)挖掘出用戶的潛在喜好以及需求。
[0003]由于個性化推薦算法的這一特點,在針對新用戶進行推薦時都會面臨用戶冷啟動 這一行業(yè)共性問題,由于新用戶沒有或者僅有很少的交互數(shù)據(jù),在實際應(yīng)用過程中,往往都 是新用戶更需要推薦系統(tǒng)的輔助,老用戶對應(yīng)用更加了解反而不太依賴于機器推薦。
[0004] 對于新用戶的冷啟動問題,通常采用傳統(tǒng)的群體策略,利用排名補足的方法把最 熱門評分最高的物品作為推薦選項,這種采用全局排名的推薦方法損失了個性化的特點, 導(dǎo)致所有人看到內(nèi)容都是一樣的,很難滿足長尾用戶的需求。
[0005] 另一個針對新用戶的冷啟動問題的解決方法是:通過引導(dǎo)問題的方式,在用戶注 冊后通過強制回答問題的方式來采集用戶的第一手?jǐn)?shù)據(jù),從而基于這些數(shù)據(jù)來進行個性化 推薦。目前對引導(dǎo)問題的數(shù)據(jù)處理方式是采用信息量(Entropy)算法,使得通過最少數(shù)量 的問題獲得最大的信息量。其具體實現(xiàn)思路是通過對已知用戶對物品的評價數(shù)據(jù)集進行分 析,比如通過圖1所示的兩層問題引導(dǎo)樹作為選取合適的物品來構(gòu)建問題引導(dǎo)樹。
[0006] 如圖1所示,每個節(jié)點對應(yīng)的物品A-物品M為最佳提問的物品,引導(dǎo)樹中的邊代 表用戶的對上層物品的反饋(喜歡、不喜歡以及不知道)。例如問題引導(dǎo)樹會首先詢問用戶 是否喜歡物品A,如果用戶回答不知道,引導(dǎo)樹會接著提問用戶是否喜歡物品C,如果用戶 回答不喜歡,則引導(dǎo)樹會接著詢問物品J,以此類推。
[0007] 引導(dǎo)樹構(gòu)建的過程實際上是對用戶群的分群分組的過程,假設(shè)已知用戶對物品的 評價數(shù)據(jù)集中有n個用戶,根據(jù)用戶對物品A的打分,分成三組用戶作為決策樹的候選子節(jié) 點。通過分析每組組內(nèi)用戶評價的相似性(方差),評估物品A作為分組問題的優(yōu)劣(每 組組內(nèi)評價越相似越好),以此類推,對于每一個子節(jié)點,需要針對當(dāng)前組內(nèi)的用戶群進行 迭代分組,直到引導(dǎo)樹層級達(dá)到一定的閥值。按照引導(dǎo)樹的節(jié)點進行提問就可以快速的找 到與當(dāng)前用戶行為相似的用戶群的共同喜好,從而能夠解決推薦系統(tǒng)中的冷啟動問題。圖 2示出了問題引導(dǎo)流程,如圖2所示,其具體的問題引導(dǎo)過程為:
[0008] 在推薦系統(tǒng)構(gòu)建之后,根據(jù)站內(nèi)用戶評分?jǐn)?shù)據(jù)和站外評價數(shù)據(jù)對每一個物品按照 評價分?jǐn)?shù)進行用戶分組,然后計算組內(nèi)用戶評分方差,進而得出多組方差之和;選取最小方 差和的物品作為當(dāng)前決策樹節(jié)點,并按照評分構(gòu)建其子節(jié)點。在決策樹構(gòu)建的過程中,判斷 決策樹深度是否超過預(yù)設(shè)閥值,如果所構(gòu)建的決策樹的深度超過預(yù)設(shè)閥值,則完成決策樹 的構(gòu)建;否則進一步對每個子節(jié)點數(shù)據(jù)集進行重復(fù)前述"分組?構(gòu)建子節(jié)點"的處理過程, 直至完成決策樹的構(gòu)建。在決策樹構(gòu)建完畢,就可以根據(jù)該構(gòu)建的決策樹在用戶登錄網(wǎng)站 /應(yīng)用(步驟S202)后詢問用戶對物品的評價。
[0009] 根據(jù)上述流程的描述,目前的問題引導(dǎo)方法主要存在下三個問題:
[0010] 1.引導(dǎo)模式不靈活。該類引導(dǎo)方法往往都是捆綁在用戶的注冊流程中,用戶需要 按照流程對每一個問題進行回答,用戶在流程中沒有任何的主導(dǎo)權(quán),無法針對某一類問題 進行選擇作答。
[0011] 2.問題缺乏關(guān)聯(lián)性。在問題選擇上采用了全局物品,由于追求過度信息量最大話, 問題之間缺乏關(guān)聯(lián)性,這種方式導(dǎo)致類似算法只能用在初始用戶上,無法持續(xù)跟用戶進行 交互。例如,如果用戶在商城只想購買合適的服裝,該類算法無法只提問關(guān)于服裝相關(guān)的問 題進行分類問題引導(dǎo)。
[0012] 3.稀疏矩陣支持度低。在問題選擇上都是基于對于一個物品打分的分類進行分群 分組(例如"喜歡"、"不喜歡"以及"不知道"三個類別),由于用戶評價評分矩陣在大多數(shù) 應(yīng)用場景中都是極度稀疏的,用戶評價的物品只占總物品數(shù)的很小部分,所以隨著群組細(xì) 化數(shù)據(jù)減少,"不知道"類別的用戶數(shù)量會遠(yuǎn)遠(yuǎn)超過其他類別數(shù)量,導(dǎo)致所有可選物品的信 息量都較小從而沒有合適的問題進行提問,算法提前終止。
[0013] 為了解決以上所述問題,需要提供一種有效的問題引導(dǎo)的方法,從而解決用戶冷 啟動問題以及提高用戶體驗。
【發(fā)明內(nèi)容】
[0014] 鑒于上述問題,本發(fā)明的目的是提供一種基于問題引導(dǎo)的個性化推薦方法及系 統(tǒng),以解決用戶冷啟動問題,提高用戶體驗。
[0015] 根據(jù)本發(fā)明的一個方面,提供一種基于問題引導(dǎo)的個性化推薦方法,包括兩個步 驟;
[0016] 第一步驟:獲取語義主題或行為主題以及構(gòu)建多個問題引導(dǎo)樹;其中,
[0017] 根據(jù)用戶輸入的問題獲取語義主題;
[0018] 根據(jù)用戶的瀏覽內(nèi)容獲取行為主題;
[0019] 對用戶行為數(shù)據(jù)、用戶評分?jǐn)?shù)據(jù)和物品元數(shù)據(jù)進行數(shù)據(jù)過濾,獲取用戶、物品和喜 好程度三元關(guān)系的多個物品主題,并基于遺傳算法構(gòu)建與所獲取的多個物品主題一一對應(yīng) 的問題引導(dǎo)樹;
[0020] 第二步驟:通過主題匹配確定問題引導(dǎo)樹;其中,
[0021] 根據(jù)語義主題或行為主題獲取喜好主題;
[0022] 將喜好主題與問題引導(dǎo)樹進行匹配,確定與喜好主題相匹配的問題引導(dǎo)樹,根據(jù) 確定的問題引導(dǎo)樹向用戶進行問題輸出,獲取用戶喜好數(shù)據(jù)從而進行個性化推薦。
[0023] 此外,優(yōu)選的方案是,在根據(jù)用戶輸入的問題獲取語義主題的過程中,
[0024] 將用戶輸入的問題進行中文分詞和語義分析,獲取語義主題;其中,
[0025] 在中文分詞的過程中,利用中文分詞算法將自然語言描述文本中的段落句子拆分 為詞語;中文分詞算法包括最大匹配算法、最長均詞算法和最小方差算法;
[0026] 在語義分析的過程中,統(tǒng)計用戶輸入的段落句子中的每個詞語與物品主題的相似 程度;
[0027] 在獲取語義主題的過程中,選取最大相似度主題為該語句的語義主題。
[0028] 此外,優(yōu)選的方案是,在根據(jù)用戶的瀏覽內(nèi)容獲取行為主題的過程中,
[0029] 根據(jù)用戶的瀏覽內(nèi)容獲取用戶行為,根據(jù)用戶行為獲取用戶對物品主題的喜好程 度,將用戶喜好程度最大并且超過預(yù)設(shè)閥值的物品主題作為行為主題。
[0030] 此外,優(yōu)選的方案是,根據(jù)用戶對含有多個物品的列表中各物品的選擇,獲取用戶 最喜好的物品。
[0031] 此外,優(yōu)選的方案是,在基于遺傳算法構(gòu)建與所獲取的多個物品主題 對應(yīng)的 問題引導(dǎo)樹的過程中,
[0032] 對獲取的每個物品主題所對應(yīng)的用戶評價數(shù)據(jù)集進行種群選擇運算、交叉運算、 變異運算生成問題引導(dǎo)樹;其中,
[0033] 在種群選擇運算的過程中,從群體中選擇優(yōu)勝的個體,淘汰劣質(zhì)個體;其中,在種 群選擇運算的初始的階段采用隨機生成N個物品集進行交叉運算,在每次完成交叉運算與 所述變異運算后,從候選物品集隨機選取N個物品集,并計算種群選擇運算中的物品集種 群的平均適應(yīng)度,其中,N大于1 ;
[0034] 在交叉運算的過程中,每次隨機選取任意兩個物品集,并對任意兩個物品進行交 換產(chǎn)生一個新的物品集,并且滿足新生成的物品集中