java头像交互式差分演变_一种基于交互式差分进化计算的用户知识需求获取方法与流程...
本發(fā)明屬于知識服務領域,具體涉及一種基于交互式差分進化計算的用戶知識需求獲取方法。
背景技術:
在多數(shù)企業(yè)擁有龐大的知識數(shù)量和優(yōu)質(zhì)的知識資源的情況下,如何利用推送系統(tǒng)將知識主動推送給設計人員以提高企業(yè)生產(chǎn)效率是目前知識密集型企業(yè)關注的重點。在知識推送系統(tǒng)中,依據(jù)用戶的任務和行為信息對產(chǎn)品設計人員進行推送。那么如何將合適的知識文檔推送給新用戶和如何將新的知識文檔(即新項目)推送給需要的人的問題,即用戶/項目(知識文檔)冷啟動問題,是知識推送系統(tǒng)發(fā)展的關鍵問題。現(xiàn)存的冷啟動解決方案大多需要已知用戶評分數(shù)據(jù),而且只能解決用戶、項目冷啟動問題之一。對于產(chǎn)品設計領域的知識推送系統(tǒng)冷啟動而言,由于用戶-知識文檔-評分數(shù)據(jù)的缺失,現(xiàn)有的冷啟動解決方案并不適用。
技術實現(xiàn)要素:
有鑒于此,本發(fā)明提供了一種基于交互式差分進化計算的用戶知識需求獲取方法,能夠在缺失用戶-知識文檔-評分數(shù)據(jù)的條件下,同時解決用戶冷啟動和項目冷啟動問題。
實現(xiàn)本發(fā)明的技術方案如下:
一種基于交互式差分進化計算的用戶知識需求獲取方法,包括以下步驟:
步驟一、將知識文檔轉化為向量,構建向量數(shù)據(jù)庫;
步驟二、將向量數(shù)據(jù)庫中的向量聚為N類,從每類中隨機抽取一個向量,得到N個種群向量,記為{xi(g)},其中xi(g)表示種群中第g代的第i個向
量,i=1,2,…,N;g=0,1,2,……;
步驟三、將種群向量對應的知識文檔推送給用戶,設置用戶滿意度指標為點擊率,若用戶對所推送的知識文檔的點擊率不小于80%,執(zhí)行步驟六,若點擊率小于80%,執(zhí)行步驟四—步驟五;
步驟四、依次對第g代的N個種群向量分別進行變異、交叉得到新的N個向量{ui(g+1)};
利用貪婪算法從得到的{ui(g+1)}和{xi(g)}中選擇得到下一代種群個體;
其中,f(ui(g+1))表示個體ui(g+1)的適應度值;
步驟五、利用余弦相似度算法依次計算N個g+1代種群向量與向量數(shù)據(jù)庫中的向量的相似度,選取最相近的N個向量所對應的知識文檔,交互次數(shù)累加1,執(zhí)行步驟三;
步驟六、將當前的N個種群向量作為用戶知識需求模型輸出。
進一步地,所述知識文檔包括pdf文檔,word文檔和txt文檔。
進一步地,步驟一中,采用doc2vec(文本向量轉化)技術將知識文檔轉化為向量。
進一步地,步驟二中,利用K-means方法將向量聚為N類。
有益效果:
本發(fā)明首次將進化算法與交互式方式結合來獲取用戶知識需求;根據(jù)用戶的點擊行為確定適應度函數(shù)并再次進行進化算子的計算,達到用戶滿意度時用戶點擊的文本數(shù)據(jù),即可用來訓練用戶的知識需求模型,擬合用戶的知識需求。本發(fā)明實現(xiàn)了在缺失用戶-知識文檔-評分數(shù)據(jù)的條件下,同時解決用戶冷啟動和項目冷啟動問題。
附圖說明
圖1為本發(fā)明方法流程圖。
具體實施方式
下面結合附圖并舉實施例,對本發(fā)明進行詳細描述。
如圖1所示,本發(fā)明提供了一種基于交互式差分進化計算的用戶知識需求獲取方法,包括以下步驟:
步驟一、利用自然語言處理技術對知識文檔進行預處理,所述知識文檔包括pdf文檔,word文檔和txt文檔,所述預處理包括分詞和去除停用詞;然后利用doc2vec(文本向量轉化)技術將預處理后的知識文檔轉化為向量。構建知識文檔向量數(shù)據(jù)庫,該向量數(shù)據(jù)庫是底層處理的基礎數(shù)據(jù),知識文檔是呈現(xiàn)給用戶的數(shù)據(jù)。
步驟二、確定用戶單次瀏覽條目數(shù)量N,設置交互次數(shù)初始值actNum=1。其中瀏覽條目數(shù)量N指呈現(xiàn)給用戶的界面所示的知識文檔個數(shù)。交互次數(shù)定義為:算法每生成一次推薦列表,便將知識文檔推送給用戶,用戶對推薦的知識文檔進行一系列的點擊,利用差分進化算法處理用戶點擊過的知識文檔并再次生成推薦列表。這樣的一次算法推送-用戶點擊的過程成為一次交互。將向量數(shù)據(jù)庫中的向量利用K-means方法聚為N類,從每類中隨機抽取一個向量,得到N個種群向量,每個向量為一個個體,參與后續(xù)的進化算法計算,記為{xi(g)},其中xi(g)表示種群中第g代的第i個向量,i=1,2,…,N;g=0,1,2,……;
步驟三、將種群向量對應的知識文檔推送給用戶,設置用戶滿意度指標為點擊率CTR(Click-Through-Rate),若用戶對所推送的知識文檔的點擊率不小于80%,執(zhí)行步驟六,若點擊率小于80%,執(zhí)行步驟四—步驟五;
步驟四、進行差分進化算子計算。其具體步驟為:
依次對第g代的N個種群向量分別進行變異操作得到中間體{vi(g+1)};
vi(g+1)=xr1(g)+F·xr2(g)-xr3(g)),i≠r1≠r2≠r3
其中,xr1(g)為第g代待變異向量,r1=1,2,…,N,xr2(g)和xr3(g)為第g代種群向量中兩個不同的向量,r2=1,2,…,N,r3=1,2,…,N,r1≠r2≠r3,F為縮放因子,是一個常數(shù);
對種群中的所有向量{xi(g)}及變異得到的中間體{vi(g+1)}進行個體間交叉操作得到新的N個向量{ui(g+1)};其中,ui(g+1)中的各元素uj,(g+1)根據(jù)下式得到,j=1,2,…,D,其中D為向量元素總數(shù):
其中,CR為交叉概率,為設定值;vj,i(g+1)為中間體vi(g+1)的第j個元素,xj,(g)為xi(g)的第j個元素;若隨機數(shù)rand(0,1)小于等于交叉概率CR,則第g+1代的第i個向量的第j個元素取中間體的第j個元素;反之,則取第g代的第i個向量的第j個元素;
利用貪婪算法從得到的{ui(g+1)}和{xi(g)}中選擇得到下一代種群個體;
其中,f(ui(g+1))表示個體ui(g+1)的適應度值;
f(i)將進化算法的迭代過程與用戶行為信息聯(lián)系起來,用戶對呈現(xiàn)的推薦列表進行點擊,被用戶點擊過得文檔對應適應度值1,未被點擊的文本對應的適應度值為0。
步驟五、利用余弦相似度算法依次計算N個g+1代種群向量與向量數(shù)據(jù)庫中的向量的相似度,選取最相近的N個向量所對應的知識文檔,交互次數(shù)累加1,執(zhí)行步驟三;
步驟六、將當前的N個種群向量作為用戶知識需求模型輸出,并輸出當前交互次數(shù)。
上述步驟一—步驟六即為用戶知識需求獲取的具體過程,可以獲知用戶對哪些知識文檔感興趣。
本發(fā)明中,種群數(shù)量N、縮放因子F和交叉概率CR可根據(jù)實際數(shù)據(jù)集進行實驗,在最小交互次數(shù)內(nèi)達到用戶滿意度的參數(shù)組合(種群數(shù)量N、縮放因子F和交叉概率CR)即為最佳優(yōu)化策略值。
當新用戶進入系統(tǒng)時,可以通過本方法快速獲取其知識需求,訓練其知識需求模型,在后續(xù)的推薦過程中將合適的知識推送給新用戶,以解決新用戶冷啟動問題。當新項目進入系統(tǒng)時,可以利用已經(jīng)訓練好的用戶知識需求模型判斷新項目(即新的知識文檔)為哪些用戶所需,并將新知識推送給合適的用戶,以解決新項目冷啟動問題。
綜上所述,以上僅為本發(fā)明的較佳實施例而已,并非用于限定本發(fā)明的保護范圍。凡在本發(fā)明的精神和原則之內(nèi),所作的任何修改、等同替換、改進等,均應包含在本發(fā)明的保護范圍之內(nèi)。
總結
以上是生活随笔為你收集整理的java头像交互式差分演变_一种基于交互式差分进化计算的用户知识需求获取方法与流程...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java开发可重用代码包工具包_[Jav
- 下一篇: java最小访问原则_Android基础