專利背景
截至2014年12月,個性化推薦系統在網際網路套用中得到了廣泛的使用,其中,個性化推薦算法往往都依賴於用戶互動過程中產生的點擊流量數據以及產生的文本內容數據,根據這些海量數據挖掘出用戶的潛在喜好以及需求。
由於個性化推薦算法的這一特點,在針對新用戶進行推薦時都會面臨用戶冷啟動這一行業共性問題,由於新用戶沒有或者僅有很少的互動數據,在實際套用過程中,往往都是新用戶更需要推薦系統的輔助,老用戶對套用更加了解反而不太依賴於機器推薦。
對於新用戶的冷啟動問題,通常採用傳統的群體策略,利用排名補足的方法把最熱門評分最高的物品作為推薦選項,這種採用全局排名的推薦方法損失了個性化的特點,導致所有人看到內容都是一樣的,很難滿足長尾用戶的需求。
另一個針對新用戶的冷啟動問題的解決方法是:通過引導問題的方式,在用戶註冊後通過強制回答問題的方式來採集用戶的第一手數據,從而基於這些數據來進行個性化推薦。截至2014年12月對引導問題的數據處理方式是採用信息量(Entropy)算法,使得通過最少數量的問題獲得最大的信息量。其具體實現思路是通過對已知用戶對物品的評價數據集進行分析,比如通過圖1所示的兩層問題引導樹作為選取合適的物品來構建問題引導樹。
如圖1所示,每個節點對應的物品A-物品M為最佳提問的物品,引導樹中的邊代表用戶的對上層物品的反饋(喜歡、不喜歡以及不知道)。例如問題引導樹會首先詢問用戶是否喜歡物品A,如果用戶回答不知道,引導樹會接著提問用戶是否喜歡物品C,如果用戶回答不喜歡,則引導樹會接著詢問物品J,以此類推。
引導樹構建的過程實際上是對用戶群的分群分組的過程,假設已知用戶對物品的評價數據集中有n個用戶,根據用戶對物品A的打分,分成三組用戶作為決策樹的候選子節點。通過分析每組組內用戶評價的相似性(方差),評估物品A作為分組問題的優劣(每組組內評價越相似越好),以此類推,對於每一個子節點,需要針對當前組內的用戶群進行疊代分組,直到引導樹層級達到一定的閥值。按照引導樹的節點進行提問就可以快速的找到與當前用戶行為相似的用戶群的共同喜好,從而能夠解決推薦系統中的冷啟動問題。圖2示出了問題引導流程,如圖2所示,其具體的問題引導過程為:
在推薦系統構建之後,根據站內用戶評分數據和站外評價數據對每一個物品按照評價分數進行用戶分組,然後計算組內用戶評分方差,進而得出多組方差之和;選取最小方差和的物品作為當前決策樹節點,並按照評分構建其子節點。在決策樹構建的過程中,判斷決策樹深度是否超過預設閥值,如果所構建的決策樹的深度超過預設閥值,則完成決策樹的構建;否則進一步對每個子節點數據集進行重複前述“分組~構建子節點”的處理過程,直至完成決策樹的構建。在決策樹構建完畢,就可以根據該構建的決策樹在用戶登錄網站/套用(步驟S202)後詢問用戶對物品的評價。
根據上述流程的描述,2014年12月之前的問題引導方法主要存在下三個問題:
1.引導模式不靈活。該類引導方法往往都是捆綁在用戶的註冊流程中,用戶需要按照流程對每一個問題進行回答,用戶在流程中沒有任何的主導權,無法針對某一類問題進行選擇作答。
2.問題缺乏關聯性。在問題選擇上採用了全局物品,由於追求過度信息量最大話,問題之間缺乏關聯性,這種方式導致類似算法只能用在初始用戶上,無法持續跟用戶進行互動。例如,如果用戶在商城只想購買合適的服裝,該類算法無法只提問關於服裝相關的問題進行分類問題引導。
3.稀疏矩陣支持度低。在問題選擇上都是基於對於一個物品打分的分類進行分群分組(例如“喜歡”、“不喜歡”以及“不知道”三個類別),由於用戶評價評分矩陣在大多數套用場景中都是極度稀疏的,用戶評價的物品只占總物品數的很小部分,所以隨著群組細化數據減少,“不知道”類別的用戶數量會遠遠超過其他類別數量,導致所有可選物品的信息量都較小從而沒有合適的問題進行提問,算法提前終止。
為了解決以上所述問題,需要提供一種有效的問題引導的方法,從而解決用戶冷啟動問題以及提高用戶體驗。
發明內容
專利目的
《基於問題引導的個性化推薦方法及系統》的目的是提供一種基於問題引導的個性化推薦方法及系統,以解決用戶冷啟動問題,提高用戶體驗。
技術方案
根據《基於問題引導的個性化推薦方法及系統》的一個方面,提供一種基於問題引導的個性化推薦方法,包括兩個步驟;
第一步驟:獲取語義主題或行為主題以及構建多個問題引導樹;其中,
根據用戶輸入的問題獲取語義主題;
根據用戶的瀏覽內容獲取行為主題;
對用戶行為數據、用戶評分數據和物品元數據進行數據過濾,獲取用戶、物品和喜好程度三元關係的多個物品主題,並基於遺傳算法構建與所獲取的多個物品主題一一對應的問題引導樹;
第二步驟:通過主題匹配確定問題引導樹;其中,
根據語義主題或行為主題獲取喜好主題;
將喜好主題與問題引導樹進行匹配,確定與喜好主題相匹配的問題引導樹,根據確定的問題引導樹向用戶進行問題輸出,獲取用戶喜好數據從而進行個性化推薦。
此外,優選的方案是,在根據用戶輸入的問題獲取語義主題的過程中,
將用戶輸入的問題進行中文分詞和語義分析,獲取語義主題;其中,
在中文分詞的過程中,利用中文分詞算法將自然語言描述文本中的段落句子拆分為詞語;中文分詞算法包括最大匹配算法、最長均詞算法和最小方差算法;
在語義分析的過程中,統計用戶輸入的段落句子中的每個詞語與物品主題的相似程度;
在獲取語義主題的過程中,選取最大相似度主題為該語句的語義主題。
此外,優選的方案是,在根據用戶的瀏覽內容獲取行為主題的過程中,
根據用戶的瀏覽內容獲取用戶行為,根據用戶行為獲取用戶對物品主題的喜好程度,將用戶喜好程度最大並且超過預設閥值的物品主題作為行為主題。
此外,優選的方案是,根據用戶對含有多個物品的列表中各物品的選擇,獲取用戶最喜好的物品。
此外,優選的方案是,在基於遺傳算法構建與所獲取的多個物品主題一一對應的問題引導樹的過程中,
對獲取的每個物品主題所對應的用戶評價數據集進行種群選擇運算、交叉運算、變異運算生成問題引導樹;其中,
在種群選擇運算的過程中,從群體中選擇優勝的個體,淘汰劣質個體;其中,在種群選擇運算的初始的階段採用隨機生成N個物品集進行交叉運算,在每次完成交叉運算與所述變異運算後,從候選物品集隨機選取N個物品集,並計算種群選擇運算中的物品集種群的平均適應度,其中,N大於1;
在交叉運算的過程中,每次隨機選取任意兩個物品集,並對任意兩個物品進行交換產生一個新的物品集,並且滿足新生成的物品集中沒有重複的物品;
在變異運算的過程中,對交叉運算後生成的任意物品集中的任意物品進行隨機選取更換,並且滿足變異後的物品集中沒有重複的物品,並獲取變異後的物品集種群的平均適應度。
此外,優選的方案是,根據交叉運算與所述變異運算生成的物品集種群的平均適應度、種群選擇運算中的物品集種群的平均適應度以及閥值,按照當前物品主題進行子節點用戶群組分配,生成問題引導樹。
根據《基於問題引導的個性化推薦方法及系統》的另一個方面,提供一種基於問題引導的個性化推薦系統,包括:
語義主題獲取單元,用於根據用戶輸入的問題獲取語義主題;
行為主題獲取單元,用於根據用戶的瀏覽內容獲取行為主題;
主題獲取單元,用於對用戶行為數據、用戶評分數據和物品元數據進行數據過濾,並獲取用戶、物品和喜好程度三元關係的多個物品主題,
問題引導樹生成單元,用於基於遺傳算法構建與所獲取的多個物品主題一一對應的問題引導樹;
喜好主題獲取單元,用於根據語義主題或行為主題,獲取喜好主題;
主題匹配單元,用於將喜好主題與問題引導樹進行匹配,確定與喜好主題相匹配的問題引導樹;
問題輸出單元,用於根據確定的問題引導樹向用戶進行問題輸出,獲取用戶喜好數據從而進行個性化推薦。
此外,優選的方案是,根據用戶對含有多個物品的列表中各物品的選擇,獲取用戶最喜好的物品。
此外,優選的方案是,問題引導樹生成單元包括:
種群選擇運算模組,用於從群體中選擇優勝的個體,淘汰劣質個體;其中,在種群選擇運算的初始的階段採用隨機生成N個物品集進行交叉運算,在每次完成交叉運算與變異運算後,將從候選物品集隨機選取N個物品集,並計算種群選擇運算中的物品集種群的平均適應度,其中,N大於1;
交叉運算模組,用於隨機選取任意兩個物品集,並對內部任意兩個物品進行交換產生一個新的物品集,並且滿足新生成的物品集中沒有重複的物品;
變異運算模組,用於對交叉運算後生成的任意物品集中的任意物品進行隨機選取更換,並且滿足變異後的物品集中沒有重複的物品,並獲取變異後的物品集種群的平均適應度。
此外,優選的方案是,問題引導樹生成單元還包括:
用戶群組分配模組,用於根據交叉運算與變異運算生成的物品集種群的平均適應度、種群選擇運算中的物品集種群的平均適應度以及預設閥值,按照當前物品主題進行子節點用戶群組分配,生成問題引導樹。
從上面的技術方案可知,《基於問題引導的個性化推薦方法及系統》的基於問題引導的個性化推薦方法及系統,通過獲取語義主題,解決傳統方法無法靈活匹配引導的問題,能夠增加獲取用戶喜好的靈活性;通過獲取行為主題,解決傳統問題引導流程只能固定使用在註冊流程中的問題,能夠實時輔助用戶購買商品;通過採用遺傳算法構建問題引導森林,解決數據稀疏時分組質量不高的問題,能夠提高用戶分組的靈活性以及整體信息量的獲取。
為了實現上述以及相關目的,《基於問題引導的個性化推薦方法及系統》的一個或多個方面包括後面將詳細說明並在權利要求中特別指出的特徵。下面的說明以及附圖詳細說明了《基於問題引導的個性化推薦方法及系統》的某些示例性方面。然而,這些方面指示的僅僅是可使用《基於問題引導的個性化推薦方法及系統》的原理的各種方式中的一些方式。此外,《基於問題引導的個性化推薦方法及系統》旨在包括所有這些方面以及它們的等同物。
附圖說明
圖1為的兩層問題引導樹示意圖;
圖2為問題引導方法流程示意圖;
圖3為根據《基於問題引導的個性化推薦方法及系統》實施例的基於問題引導的個性化推薦方法流程示意圖;
圖4為根據《基於問題引導的個性化推薦方法及系統》實施例的基於問題引導的個性化推薦的方法的示例流程示意圖;
圖5為根據《基於問題引導的個性化推薦方法及系統》實施例的基於問題引導的個性化推薦系統結構框圖;
圖6為根據《基於問題引導的個性化推薦方法及系統》實施例的語義主題獲取單元的結構框圖;
圖7為根據《基於問題引導的個性化推薦方法及系統》實施例的行為主題獲取單元的結構框圖;
圖8為根據《基於問題引導的個性化推薦方法及系統》實施例的問題引導樹生成模組結構框圖。
在所有附圖中相同的標號指示相似或相應的特徵或功能。
技術領域
《基於問題引導的個性化推薦方法及系統》涉及物品推薦技術領域,更為具體地,涉及一種基於問題引導的個性化推薦方法及系統。
權利要求
1.一種基於問題引導的個性化推薦方法,包括兩個步驟;第一步驟:獲取語義主題或行為主題以及構建多個問題引導樹;其中,根據用戶輸入的問題獲取語義主題,根據用戶的瀏覽內容獲取行為主題;對用戶行為數據、用戶評分數據和物品元數據進行數據過濾,獲取用戶、物品和喜好程度三元關係的多個物品主題,並基於遺傳算法構建與所獲取的多個物品主題一一對應的問題引導樹;第二步驟:通過主題匹配確定問題引導樹;其中,根據所述語義主題或所述行為主題獲取喜好主題;將所述喜好主題與所述問題引導樹進行匹配,確定與所述喜好主題相匹配的問題引導樹,根據所確定的問題引導樹向用戶進行問題輸出,獲取用戶喜好數據從而進行個性化推薦。
2.如權利要求1所述的基於問題引導的個性化推薦方法,其中,在根據用戶輸入的問題獲取語義主題的過程中,將用戶輸入的問題進行中文分詞和語義分析,獲取語義主題;其中,在所述中文分詞的過程中,利用中文分詞算法將自然語言描述文本中的段落句子拆分為詞語;所述中文分詞算法包括最大匹配算法、最長均詞算法和最小方差算法;在所述語義分析的過程中,統計用戶輸入的問題的段落句子中的每個詞語與物品主題的相似程度;在所述獲取語義主題的過程中,選取最大相似度主題為所獲取的語義主題。
3.如權利要求1所述的基於問題引導的個性化推薦方法,其中,在根據用戶的瀏覽內容獲取行為主題的過程中,根據用戶的瀏覽內容獲取用戶行為;根據所述用戶行為獲取用戶對物品主題的喜好程度,並將用戶喜好程度最大並且超過預設閥值的物品主題作為行為主題。
4.如權利要求1所述的基於問題引導的個性化推薦方法,其中,根據用戶對含有多個物品的列表中各物品的選擇,獲取用戶最喜好的物品。
5.如權利要求4所述的基於問題引導的個性化推薦方法,其中,在基於遺傳算法構建與所獲取的多個物品主題一一對應的問題引導樹的過程中,對獲取的每個物品主題所對應的用戶評價數據集進行種群選擇運算、交叉運算、變異運算生成問題引導樹;其中,在所述種群選擇運算的過程中,從群體中選擇優勝的個體,淘汰劣質個體;其中,在所述種群選擇運算的初始的階段採用隨機生成N個物品集進行所述交叉運算,在每次完成所述交叉運算與所述變異運算後,從候選物品集隨機選取N個物品集,並計算所述種群選擇運算中的物品集種群的平均適應度,其中,N大於1;在所述交叉運算的過程中,每次隨機選取任意兩個物品集,並對任意兩個物品進行交換產生一個新的物品集,並且滿足新生成的物品集中沒有重複的物品;在所述變異運算的過程中,對所述交叉運算後生成的任意物品集中的任意物品進行隨機選取更換,並且滿足變異後的物品集中沒有重複的物品,並獲取變異後的物品集種群的平均適應度。
6.如權利要求5所述的基於問題引導的個性化推薦方法,其中,根據所述交叉運算與所述變異運算生成的物品集種群的平均適應度、所述種群選擇運算中的物品集種群的平均適應度以及閥值,按照當前物品主題進行子節點用戶群組分配,生成問題引導樹。
7.一種基於問題引導的個性化推薦系統,包括:語義主題獲取單元,用於根據用戶輸入的問題獲取語義主題;行為主題獲取單元,用於根據用戶的瀏覽內容獲取行為主題;主題獲取單元,用於對用戶行為數據、用戶評分數據和物品元數據進行數據過濾,並獲取用戶、物品和喜好程度三元關係的多個物品主題,問題引導樹生成單元,用於基於遺傳算法構建與所獲取的多個物品主題一一對應的問題引導樹;喜好主題獲取單元,用於根據所述語義主題或所述行為主題,獲取喜好主題;主題匹配單元,用於將所述喜好主題與所述問題引導森林進行匹配,確定與所述喜好主題相匹配的問題引導樹;問題輸出單元,用於根據確定的問題引導樹向用戶進行問題輸出,獲取用戶喜好數據從而進行個性化推薦。
8.如權利要求7所述的基於問題引導的個性化推薦系統,其中,所述主題獲取單元根據用戶對含有多個物品的列表中各物品的選擇,獲取用戶最喜好的物品。
9.如權利要求8所述的基於問題引導的個性化推薦系統,其中,所述問題引導樹生成單元在基於遺傳算法構建與所獲取的多個物品主題一一對應的問題引導樹的過程中,對獲取的每個物品主題所對應的用戶評價數據集進行種群選擇運算、交叉運算、變異運算;並且,所述問題引導樹生成單元包括:種群選擇運算模組,用於從群體中選擇優勝的個體,淘汰劣質個體;其中,在所述種群選擇運算的初始的階段採用隨機生成N個物品集進行所述交叉運算,在每次完成所述交叉運算與所述變異運算後,從候選物品集隨機選取N個物品集,並計算所述種群選擇運算中的物品集種群的平均適應度,其中,其中,N大於1;交叉運算模組,用於隨機選取任意兩個物品集,並對任意兩個物品進行交換產生一個新的物品集,並且滿足新生成的物品集中沒有重複的物品;變異運算模組,用於對所述交叉運算後生成的任意物品集中的任意物品進行隨機選取更換,並且滿足變異後的物品集中沒有重複的物品,並獲取變異後的物品集種群的平均適應度。
10.如權利要求9所述的基於問題引導的個性化推薦系統,其中,所述問題引導樹生成單元還包括:用戶群組分配模組,用於根據所述交叉運算與所述變異運算生成的物品集種群的平均適應度、所述種群選擇運算中的物品集種群的平均適應度以及預設閥值,按照當前物品主題進行子節點用戶群組分配,生成問題引導樹。
實施方式
圖3示出了根據《基於問題引導的個性化推薦方法及系統》實施例的基於問題引導的個性化推薦方法流程。
如圖3所示,《基於問題引導的個性化推薦方法及系統》提供的基於問題引導的個性化推薦方法主要包括兩個步驟。
第一步驟:S310:獲取語義主題或行為主題以及構建多個問題引導樹。
具體地,根據用戶輸入的問題,獲取語義主題;根據用戶的瀏覽內容,獲取行為主題;對用戶行為數據、用戶評分數據和物品元數據進行數據過濾,並獲取用戶、物品和喜好程度三元關係的多個物品主題,基於遺傳算法構建與所獲取的多個物品主題一一對應的問題引導樹。
其中,用戶、物品和喜好程度三元之間關係構成了多個物品主題,例如,有的用戶喜好動作片,有的用戶喜好驚悚片,有的用戶喜好喜劇片等,這些動作片、驚悚片、喜劇片都是物品主題,不同的類型的片子組成了多個物品主題。
第二步驟:S320:通過主題匹配,確定問題引導樹。
具體地,根據語義主題或行為主題獲取喜好主題,將喜好主題與問題引導樹進行匹配,確定與喜好主題相匹配的問題引導樹,根據確定的問題引導樹向用戶進行問題輸出,獲取用戶喜好數據從而進行個性化推薦。
其中,在步驟S310中,將用戶輸入的問題進行中文分詞和語義分析,獲取語義主題;根據用戶的瀏覽內容獲取用戶行為,根據用戶行為獲取用戶對物品主題的喜好程度,並判斷其喜好程度是否超過預設閥值,選取用戶喜好程度最大並且超過預設閥值的物品主題為行為主題;對獲取的每個物品主題進行種群選擇運算、交叉運算、變異運算生成問題引導樹。
在《基於問題引導的個性化推薦方法及系統》的核心為獲取語義主題和行為主題以及構建多個問題引導樹,下面將詳細說明如何獲取語義主題、獲取行為主題以及構建多個問題引導樹。
第一、獲取語義主題
將用戶輸入的問題進行中文分詞和語義分析,獲取語義主題。
其中,中文分詞是指利用中文分詞算法將自然語言描述文本中的段落句子拆分為詞語。常用的中文分詞算法包括最大匹配算法、最長均詞算法和最小方差算法。
語義分析是指統計匯總用戶輸入的段落句子中的每個詞語與物品主題的相似程度。設用戶輸入的段落中通過中文分詞分析出段落包含n個詞語,同時設預之前整理的物品主題(例如動作片、驚悚片等等)有m個,分別為[T1,T2 ,…Tm],另外設詞語i與物品主題j的相關性為Pij,詞語與物品主題的相似性可以通過計算與物品主題在語料訓練數據(例如,電影的元數據劇情描述信息、用戶的影評文本數據等等)中共現機率而獲得,其公式表示為:
其中,Ci表示詞語i在語料中出現的次數;Cj表示物品主題j在語料中出現的次數;Cij為詞語i與物品主題共同出現的次數。
最終段落語句s與物品主題j的相似程度為:
並且,選取最大相似度主題t為該語句的語義主題,其公式表示為:t=argmaxjPsj
因此,在獲取語義主題的過程中,通過使用對話聊天的模式以及語義分析方式,可以從用戶對話內容中提取領域信息,從而能夠針對具體領域進行推薦引導,解決傳統方法無法靈活匹配引導問題的缺陷,增加獲取用戶喜好的靈活性。
第二、獲取行為主題
根據用戶的瀏覽內容,獲取用戶行為,並根據獲取的用戶行為統計喜好主題是否超過閥值,最後將用戶喜好程度最大並且喜好程度超過預設閥值的主題作為行為主題。
其中,獲取用戶行為是指採集存儲用戶瀏覽網站、移動套用的操作行為,例如視頻網站中的播放、下載、評論、收藏等操作。
統計喜好主題是否超過閥值是指通過用戶的操作行為計算用戶對物品主題的喜好程度,並判斷喜好程度是否超過預設閥值。
喜好程度的計算可以通過業務規則進行匹配計算,例如:播放視頻加1分,下載加1.5分,收藏加2分等。通過匯總多個有效行為可以統計一個用戶對一物品的喜好程度,同時匯總一個用戶對一個物品主題下的多個物品喜好程度,進而獲取一個用戶對一個物品主題的喜好值。
在獲取行為主題的過程中,通過採集用戶行為數據並採用行為喜好挖掘技術獲取用戶感興趣的物品主題,通過彈窗的方式與用戶主動進行實時互動,解決傳統問題引導流程只能固定使用在註冊流程中的問題,能夠實時輔助用戶購買商品。
因此,獲取語義主題可以支持與用戶直接對話文本溝通,獲取行為主題可以支持在用戶瀏覽網站的過程中主動介入引導流程,這兩種方式能夠提高引導的靈活性。
第三、構建問題引導樹
在構建問題引導樹的過程中,首先,對用戶行為數據、用戶評分數據和物品元數據進行數據過濾,並獲取用戶、物品和喜好程度三元關係的多個物品主題;然後,基於遺傳算法構建與所獲取的多個物品主題一一對應的問題引導樹,形成多個物品主題的問題引導森林。
其中,需要說明的是,在《基於問題引導的個性化推薦方法及系統》中,根據用戶對含有多個物品的列表中各物品的選擇,獲取用戶最喜好的物品。
傳統問題引導模式為詢問用戶對單一物品的喜好意見(喜歡、不喜歡以及不知道),《基於問題引導的個性化推薦方法及系統》提供的引導模式為詢問用戶對多個物品的喜好程度(例如,喜歡下列4部電影中的哪一部),因此,《基於問題引導的個性化推薦方法及系統》的問題引導模式具有更大的覆蓋程度。
具體地,根據用戶行為數據、用戶評分數據以及物品元數據等信息過濾整理出用戶對物品的喜好程度(例如:1-5分,1分為討厭,5分為喜歡),並根據物品與物品主題的關係對用戶物品評分數據按照物品主題進行分類;可以得到在多個物品主題下的用戶、物品、喜好程度的三元關係矩陣。設用戶i對物品j的評價數據為Rij∈R,另設物品主題t下的物品集為St,物品主題t下的評價數據集表示為:
R(t)={Rij∈R|j∈St}
對每個物品主題下的數據集基於遺傳算法分別構建問題引導樹,從而構建出多個物品主題的問題引導森林來解決問題引導過程中的語義關聯問題。
也就是說,通過採用數據過濾技術,對數據進行分類篩選,針對不同物品主題的數據集構建不同的物品主題問題引導樹,並通過語義分析出的語義主題以及行為主題選取出喜好主題,進而選取出與用戶喜好主題最相近的問題引導樹,從而能夠提供關聯性的引導問題。
在基於遺傳算法構建與所獲取的多個物品主題一一對應的問題引導樹的過程中,對獲取的每個物品主題進行種群選擇運算、交叉運算、變異運算生成問題引導樹,從而構建出多個物品主題的問題引導森林。
具體地,種群選擇運算是指在遺傳算法中從群體中選擇優勝的個體,淘汰劣質個體。整棵引導樹的構建需要利用遺傳算法對每一個節點進行計算,選取最佳的分裂物品集(例如:電影《
紅高粱》《
霸王別姬》《活著》)。
並且,可以通過以下方法獲取評估分裂物品集的適應度:設物品主題包含N個物品W1,W2,...Wn,則根據已知用戶評分數據集可以把用戶分成N+1個組(子節點)G1,G2,...Gn,Gn+1,設用戶i對物品主題j的評分為Rij(設數值範圍為1-5),分組集合1到n的定義為:
Gj={i∈U|Rij≥3}
其中,U為當前節點的用戶全集,Gj集合代表的是對物品Wj喜歡的用戶群體;任意一個用戶可以同時屬於多個分組(子節點),分組N+1的定義為:
一個組內(子節點)Gi的適應度評估標準GRi為:
其中,μik表示組群Gi中所有用戶對物品K的平均打分,設對物品K打分的用戶集合為R(k),則:
那么,對於任意一組分裂物品集W的綜合適應度評估標準GRw為所有族群的適應度之和,其公式表示為:
其中,需要說明的是,種群選擇運算初始的階段採用隨機生成N個物品集進行下一步的交叉運算,在每次完成種群繁殖後(即:交叉運算與變異運算之後),將從候選物品集隨機選取N個物品集,每個物品集的選取機率與適應度成正比可以表示為:Pw∝GRw,其中,N大於1;並且,根據種群選擇運算中的物品集種群的適應度獲取其平均適應度。
在交叉運算的過程中,每次隨機選取任意兩個物品集,並對內部任意兩個物品進行交換產生一個新的物品集,並且滿足新生成的物品集中沒有重複的物品;這是為了保證種群數量在遺傳疊代計算中的穩定性,新生成的後代物品集數量要大於父代物品集的數量(例如兩倍數量),為種群選擇運算模組提供足夠的候選種群集。
在變異運算的過程中,對交叉運算後生成的任意物品集中的任意物品進行隨機選取更換,並且滿足變異後的物品集中沒有重複的物品,並獲取變異後的物品集種群的平均適應度。
然後根據交叉運算與變異運算生成的物品集種群的平均適應度、種群選擇運算中的物品集種群的平均適應度以及閥值,按照當前主題進行子節點用戶群組分配,生成問題引導樹。
也就是說,完成交叉運算以及變異運算後新生成的物品集種群的平均適應度與父輩種群(即:選擇運算後的種群)的平均適應度之差是否小於閥值,或者疊代次數是否超過預設閥值。如果是,則完成當前節點的物品主題選取,按照當前物品主題進行子節點用戶群組的分配,然後按照預設的深度完成整棵樹所有節點的物品集選取,生成問題引導樹。如果沒有超過,則返回種群選取運算重複進行計算。
上述為生成的問題引導樹的詳細過程,最後生成了多個物品主題的問題引導森林。由於主題匹配需要多棵問題引導樹的支持,通過數據過濾輸出多個不同物品主題的數據集分別建立問題引導樹。為了提高效率,不同物品主題的問題引導樹可以使用分散式並行計算框架在多台物理機器上同時運算。
基於遺傳算法構建問題引導樹,是通過主題過濾數據構建多顆不同主題的引導樹,從而構建出多主題的問題引導森林,因此能夠通過主題匹配選取不同物品主題的問題引導樹進行引導,提高引導模式的相關性。問題引導樹的問題分類採用多個不同物品而不是不同的評分區間,從而能夠降低數據稀疏性帶來的影響,提高不同用戶群內的一致性。
在步驟S320中,首先,根據獲取的語義主題與行為主題確定用戶的喜好主題;然後將確定的用戶的喜好主題與問題引導森林進行主題匹配,確定與喜好主題相匹配的問題引導樹,根據確定的問題引導樹向用戶進行問題輸出。
具體地,根據獲取的語義主題或者行為主題選取相匹配的問題引導樹來跟用戶進行互動,也就是說,根據選取出的問題引導樹節點中的物品集向用戶提問。例如:你喜歡以下哪一個物品?選項1:物品A,選項2:物品B,選項3:物品C,選項4:都不喜歡或不知道
《基於問題引導的個性化推薦方法及系統》的遺傳算法構建問題引導樹,選取一個評分區間(例如:評分大於3代表喜歡評分區間)不同物品作為分裂選項(即:喜歡相同物品的用戶劃分為一組),而不是一個物品的不同評分區間作為選項(一個物品按照喜歡、討厭與不知道劃分為三個用戶群組),這種方式能夠解決數據稀疏時導致分組質量不高的問題(也就是,解決大多數無評分的用戶被劃分為一組,造成不同組的用戶群數量偏差很大的問題),提高用戶分組的靈活性以及整體信息量的獲取。
為了進一步詳細說明基於問題引導的個性化推薦的方法,圖4示出了根據《基於問題引導的個性化推薦方法及系統》實施例的基於問題引導的個性化推薦的方法的示例流程。
如圖4所示,《基於問題引導的個性化推薦方法及系統》提供的基於問題引導的個性化推薦的方法的示例流程包括:
S401:開始;
S402:用戶登錄網站\套用;
分別執行步驟S403-S406,步驟S407-S410;
S403:用戶直接輸入問題;
S404:中文分詞;
S405:語義分析;
S406:獲取語義主題。
S407:用戶直接輸入問題;
S408:記錄用戶行為;
S409:統計喜好主題是否超過閥值;若是,執行步驟S410,若否,執行步驟S408;
S410:獲取行為主題。以及,
S411:用戶評分數據;
S412:用戶行為數據;
S413:物品元數據;
S414:根據主題進行數據轉換;
也就是說,對用戶評分數據、用戶行為數據和物品元數據進行數據過濾,獲取到多個物品主題的三元關係。
接著,根據不同的主題進行遺傳算法構建不同主題的問題引導樹,形成問題引導森林,即:執行步驟S415-S419,
S415:種群選擇運算;
S416:交叉運算;
S417:變異運算;
S418:最優結果是否超出閥值;若是,執行步驟S419,若否,執行步驟S415;
S419:生成問題引導樹;
多個物品問題引導樹形成問題引導森林。
S420:主題匹配;
也就是,根據獲取的語義主題或行為主題確定用戶的喜好主題;然後將確定的用戶的喜好主題與問題引導森林進行主題匹配,選取出與喜好主題相匹配的問題引導樹。
S421:輸出問題;
也就是,根據選取出的問題引導樹節點中的物品集向用戶提問。
在圖4所示的實施例中,通過語義主題提取組件可以支持與用戶直接對話文本溝通,通過行為主題提取可以支持在用戶瀏覽網站過程中主動介入引導流程,這兩種方式能夠提高引導的靈活性;基於遺傳算法構建問題引導樹,最佳化了傳統構建問題引導樹的方式,用多個物品作為分裂項,候選分裂項的個數會隨著物品數量成指數增加,採用傳統的遍歷對比無法選取最優分裂項,即:通過選擇運算、交叉運算以及變異運算,解決多個物品選取的多個問題,確保選取的物品選項信息量最大。
與上述方法相對應,《基於問題引導的個性化推薦方法及系統》還提供一種基於問題引導的個性化推薦系統,圖5示出了根據《基於問題引導的個性化推薦方法及系統》實施例的基於問題引導的個性化推薦系統邏輯結構。
如圖5所示,《基於問題引導的個性化推薦方法及系統》提供的基於問題引導的個性化推薦系統500包括:語義主題獲取單元510、行為主題獲取單元520、主題獲取單元530、問題引導樹生成單元540、喜好主題獲取單元550、主題匹配單元560和問題輸出單元570。
其中,語義主題獲取單元510用於根據用戶輸入的問題獲取語義主題。
行為主題獲取單元520用於根據用戶的瀏覽內容獲取行為主題。
主題獲取單元530用於對用戶行為數據、用戶評分數據和物品元數據進行數據過濾,並獲取用戶、物品和喜好程度三元關係的多個物品主題。
問題引導樹生成單元540用於基於遺傳算法構建與所獲取的多個物品主題一一對應的問題引導樹。
喜好主題獲取單元550用於根據語義主題或行為主題,獲取喜好主題。
主題匹配單元560用於將喜好主題與問題引導樹進行匹配,確定與喜好主題相匹配的問題引導樹。
問題輸出單元570用於根據確定的問題引導樹向用戶進行問題輸出,獲取用戶喜好數據從而進行個性化推薦。
圖6示出了根據《基於問題引導的個性化推薦方法及系統》實施例的語義主題獲取單元的結構,如圖6所示,語義主題獲取單元510包括:中文分詞模組511、語義分析模組512和語義主題獲取模組513。
其中,中文分詞模組511用於利用中文分詞算法將自然語言描述文本中的段落句子拆分為詞語;中文分詞算法包括最大匹配算法、最長均詞算法和最小方差算法;
語義分析模組512用於統計用戶輸入的段落句子中的每個詞語與物品主題的相似程度;
語義主題獲取模組513用於選取最大相似度主題為該語句的語義主題。
圖7示出了根據《基於問題引導的個性化推薦方法及系統》實施例的行為主題獲取單元的結構,如圖7所示,行為主題獲取單元520包括:用戶行為獲取模組521、喜好程度獲取模組522和行為主題獲取模組523。
其中,用戶行為獲取模組521用於根據用戶的瀏覽內容獲取用戶行為;
喜好程度獲取模組522用於根據用戶行為獲取用戶對物品主題的喜好程度;
行為主題獲取模組523用於選取用戶喜好程度最大並且超過預設閥值的物品主題作為行為主題。
此外,主題獲取單元530根據用戶對含有多個物品的列表中各物品的選擇,獲取用戶最喜好的物品。
此外,圖8示出了根據《基於問題引導的個性化推薦方法及系統》實施例的問題引導樹生成模組結構,如圖8所示,問題引導樹生成單元540包括:種群選擇運算模組541、交叉運算模組542、變異運算模組543和用戶群組分配模組544。
其中,種群選擇運算模組541用於從群體中選擇優勝的個體,淘汰劣質個體;其中,在種群選擇運算的初始的階段採用隨機生成N個物品集進行交叉運算,在每次完成交叉運算與變異運算後,從候選物品集隨機選取N個物品集,並計算種群選擇運算中的物品集種群的平均適應度,其中,N大於1。
交叉運算模組542用於隨機選取任意兩個物品集,並對任意兩個物品進行交換產生一個新的物品集,並且滿足新生成的物品集中沒有重複的物品。
變異運算模組543用於對交叉運算後生成的任意物品集中的任意物品進行隨機選取更換,並且滿足變異後的物品集中沒有重複的物品,並獲取變異後的物品集種群的平均適應度。
用戶群組分配模組544用於根據交叉運算與變異運算生成的物品集種群的平均適應度、種群選擇運算中的物品集種群的平均適應度以及預設閥值,按照當前物品主題進行子節點用戶群組分配,生成問題引導樹。
上述各模組或單元的更具體互動過程,可以參見方法流程中的描述,此處不再贅述。
通過上述實施方式可以看出,《基於問題引導的個性化推薦方法及系統》提出的基於問題引導的個性化推薦方法及系統,通過獲取語義主題,能夠解決傳統方法無法靈活匹配引導的問題,增加獲取用戶喜好的靈活性;通過獲取行為主題,能夠解決傳統問題引導流程只能固定使用在註冊流程中的問題,實時輔助用戶購買商品;通過採用遺傳算法構建問題引導森林,能夠解決數據稀疏時導致分組質量不高的問題,提高用戶分組的靈活性以及整體信息量的獲取。
榮譽表彰
2018年12月20日,《基於問題引導的個性化推薦方法及系統》獲得第二十屆中國專利優秀獎。