本發(fā)明屬于數(shù)據(jù)挖掘、自然語(yǔ)言處理和推薦系統(tǒng)領(lǐng)域,涉及知識(shí)推薦、在線學(xué)習(xí)、時(shí)間遷移和協(xié)同過(guò)濾推薦技術(shù),尤其是一種基于時(shí)間遷移的知識(shí)推薦方法。
背景技術(shù):
目前,推薦的相關(guān)技術(shù)主要分為兩類:一種是基于內(nèi)容的推薦技術(shù)。另一種是基于協(xié)同過(guò)濾的推薦技術(shù)。
基于內(nèi)容的推薦系統(tǒng),指系統(tǒng)為用戶推薦與用戶過(guò)去興趣類似的物品,即根據(jù)用戶的已知偏好、興趣,建立與物品內(nèi)容屬性相匹配的關(guān)系。例如,若某個(gè)用戶對(duì)一部喜劇電影有正面評(píng)價(jià),則系統(tǒng)會(huì)從喜劇類型中為該用戶推薦其他電影。基于內(nèi)容的推薦技術(shù)的主要處理過(guò)程是:抽取相關(guān)的結(jié)構(gòu)化信息,得到用戶的偏好數(shù)據(jù),建立用戶的興趣模型;將用戶個(gè)人信息和物品的空間表示進(jìn)行匹配,最后得出推薦結(jié)果列表進(jìn)行相應(yīng)的用戶推薦。
協(xié)同過(guò)濾推薦算法一般采用最近鄰技術(shù),根據(jù)用戶的歷史偏好信息計(jì)算用戶之間的相似度,然后利用目標(biāo)用戶的最近鄰居用戶對(duì)商品評(píng)價(jià)的加權(quán)評(píng)價(jià)值來(lái)預(yù)測(cè)目標(biāo)用戶對(duì)特定商品的偏好,從而根據(jù)這一偏好來(lái)對(duì)目標(biāo)用戶進(jìn)行推薦。協(xié)同過(guò)濾算法的推薦結(jié)果來(lái)自于用戶(推薦的目標(biāo)用戶和其它用戶)的歷史行為數(shù)據(jù)。因此,隨著時(shí)間的推移,用戶的歷史行為數(shù)據(jù)量逐漸增多,推薦的準(zhǔn)確度和性能都會(huì)相應(yīng)提升。
基于內(nèi)容的推薦算法,其主要缺點(diǎn)是內(nèi)容的可分析性有限,本質(zhì)上無(wú)法推薦具有驚喜度的物品;并且無(wú)法顯式地得到其它用戶的判斷情況等。協(xié)同過(guò)濾推薦算法的也存在一定的缺陷,如稀疏問(wèn)題,用戶的行為數(shù)據(jù)存在大量的空值;可擴(kuò)展性差,隨著用戶或者物品數(shù)量的增加,user-item矩陣不斷增加,導(dǎo)致相似度矩陣不斷增加,最終會(huì)因?yàn)榭臻g不足或時(shí)間過(guò)長(zhǎng)而導(dǎo)致系統(tǒng)無(wú)法使用。
技術(shù)實(shí)現(xiàn)要素:
為克服現(xiàn)有技術(shù)的不足,本發(fā)明旨在提出一種短期學(xué)習(xí)和長(zhǎng)期學(xué)習(xí)兩種不同學(xué)習(xí)模式下的時(shí)間遷移影響模型,能夠充分考慮時(shí)間遷移影響的知識(shí)推薦算法,形成可根據(jù)不同在線學(xué)習(xí)平臺(tái)進(jìn)行調(diào)整的知識(shí)推薦方法。本發(fā)明采用的技術(shù)方案是,基于時(shí)間遷移的知識(shí)推薦方法,具體步驟如下:
步驟一:提取原始數(shù)據(jù)的有效特征,建立學(xué)習(xí)用戶模型、知識(shí)項(xiàng)目模型,通過(guò)選取能夠代表學(xué)習(xí)用戶的特征建立學(xué)習(xí)用戶模型;選取能夠代表知識(shí)項(xiàng)目特征建立知識(shí)項(xiàng)目模型;
步驟二:計(jì)算學(xué)習(xí)用戶-知識(shí)項(xiàng)目評(píng)分矩陣,確定學(xué)習(xí)用戶-知識(shí)項(xiàng)目關(guān)系模型,根據(jù)步驟一中所完成的模型,提取學(xué)習(xí)用戶與知識(shí)項(xiàng)目的關(guān)系特征,并建立學(xué)習(xí)用戶-知識(shí)項(xiàng)目關(guān)系模型;
步驟三:針對(duì)學(xué)習(xí)用戶和知識(shí)項(xiàng)目的特征,擬合不同的時(shí)間影響因子,在步驟一、二的基礎(chǔ)上添加時(shí)間影響因子模型,根據(jù)現(xiàn)代人的生活方式,確定適合學(xué)習(xí)用戶的短期時(shí)間影響因子和長(zhǎng)期時(shí)間影響因子;
步驟四:結(jié)合協(xié)同過(guò)濾框架、時(shí)間影響因子擬合模型,確定基于時(shí)間遷移的知識(shí)推薦算法,在步驟一到三的基礎(chǔ)上,組合學(xué)習(xí)用戶、知識(shí)項(xiàng)目、時(shí)間影響因子擬合函數(shù)等進(jìn)行組合建模,得出具體的推薦框架;
步驟五:在步驟一到步驟四的基礎(chǔ)上,使用各評(píng)價(jià)指標(biāo)綜合衡量準(zhǔn)確度,將得到的預(yù)測(cè)推薦結(jié)果與用戶的實(shí)際選擇結(jié)果進(jìn)行比較,得出推薦預(yù)測(cè)的準(zhǔn)確度,包括用戶滿意度、預(yù)測(cè)準(zhǔn)確度、分類準(zhǔn)確度以及物品覆蓋率等,由此衡量準(zhǔn)確度。
驗(yàn)證步驟,使用準(zhǔn)確率、召回率以及兩者綜合計(jì)算得出的f值作為預(yù)測(cè)評(píng)分的評(píng)價(jià)標(biāo)準(zhǔn),準(zhǔn)確率、召回率、f值的計(jì)算公式如公式(1)(2)(3)所示。
其中ns表示既被推薦算法又被用戶喜愛(ài)的項(xiàng)目個(gè)數(shù),nr表示被推薦算法推薦的項(xiàng)目個(gè)數(shù),na表示用戶喜歡的項(xiàng)目的總個(gè)數(shù)。
一個(gè)具體實(shí)例中步驟如下:
步驟s0101:首先進(jìn)行數(shù)據(jù)分析,分析用戶的學(xué)習(xí)能力、興趣、背景,提取學(xué)習(xí)用戶特征;分析知識(shí)項(xiàng)目的知識(shí)強(qiáng)度,知識(shí)效果,提取知識(shí)項(xiàng)目特征,完成學(xué)習(xí)用戶、知識(shí)項(xiàng)目的建模;
步驟s0201:根據(jù)前者建立的模型,提取用戶偏好信息,建立學(xué)習(xí)用戶u與學(xué)習(xí)過(guò)的題目集合vu之間的關(guān)系,得以計(jì)算用戶喜好向量likeu,l,建立學(xué)習(xí)用戶與知識(shí)項(xiàng)目的關(guān)系模型;
步驟s0301:完成題目間相似度的計(jì)算,根據(jù)題目不同類型,進(jìn)行不同方式的題目間相似度的計(jì)算;
設(shè)i,u為兩個(gè)不同的題目,求兩者相似度simi,j如公式(1)所示:
其中u表示學(xué)習(xí)用戶集合,i表示題目集合,學(xué)習(xí)用戶與題目間關(guān)系模型使用二維評(píng)分矩陣rm×n表示,矩陣中元素ru,i表示學(xué)習(xí)用戶u對(duì)題目i的整體偏好程度,δtu,i表示學(xué)習(xí)用戶u完成題目i時(shí)的當(dāng)前時(shí)間的掌握程度偏移值,其計(jì)算方式如公式(2)所示:
δtu,i=tu,k-tu,i(2)
其中k表示當(dāng)前時(shí)間,tu,k表示學(xué)習(xí)用戶u完成題目k時(shí)掌握程度偏移值,tu,i表示學(xué)習(xí)用戶u完成題目i時(shí)掌握程度偏移值,其計(jì)算方式如公式(3)所示:
其中vu為學(xué)習(xí)用戶u學(xué)習(xí)過(guò)的題目集合,
步驟s0302:根據(jù)題目的關(guān)系,分析用戶在各個(gè)時(shí)間段的學(xué)習(xí)內(nèi)容的遷移變化情況,包括短期時(shí)間內(nèi)的碎片學(xué)習(xí),和長(zhǎng)期的深入探究情況,來(lái)確定時(shí)間影響因子;
步驟s0401:確定推薦框架。結(jié)合學(xué)習(xí)用戶模型、知識(shí)項(xiàng)目模型以及時(shí)間影響因子擬合模型,確立具體推薦方式:預(yù)測(cè)用戶對(duì)其未提交過(guò)的題目的掌握程度,計(jì)算學(xué)習(xí)用戶u對(duì)其未提交過(guò)的題目i的掌握程度graspu,i,其計(jì)算方式如公式(4)所示:
步驟s0501:通過(guò)計(jì)算用戶i對(duì)推薦項(xiàng)目的預(yù)測(cè)評(píng)分,計(jì)算出本發(fā)明的準(zhǔn)確率、召回率以及兩者綜合計(jì)算得出的f值,從而衡量推薦算法的準(zhǔn)確度。
本發(fā)明的特點(diǎn)及有益效果是:
本發(fā)明基于時(shí)間遷移的知識(shí)推薦算法從知識(shí)項(xiàng)目的相似度入手,在計(jì)算項(xiàng)目間相似度時(shí)加入了時(shí)間影響因子,從而對(duì)傳統(tǒng)的協(xié)同過(guò)濾算法(collectivefilter)進(jìn)行了改進(jìn),從最終實(shí)驗(yàn)室結(jié)果可證明,基于時(shí)間遷移的知識(shí)推薦算法比傳統(tǒng)的協(xié)同過(guò)濾推薦算法更具有優(yōu)勢(shì)。
附圖說(shuō)明:
圖1為整體示意圖。
圖2為面向在線測(cè)評(píng)系統(tǒng)各算法效果對(duì)比。圖中,a:n=20時(shí)各算法準(zhǔn)確率;bn=100時(shí)各算法準(zhǔn)確率。
具體實(shí)施方式
本發(fā)明提出一種基于時(shí)間遷移的知識(shí)推薦算法,包含以下步驟:
步驟一:提取原始數(shù)據(jù)的有效特征,建立學(xué)習(xí)用戶模型、知識(shí)項(xiàng)目模型。通過(guò)選取能夠代表學(xué)習(xí)用戶的特征建立學(xué)習(xí)用戶模型;選取能夠代表知識(shí)項(xiàng)目特征建立知識(shí)項(xiàng)目模型。
步驟二:計(jì)算學(xué)習(xí)用戶-知識(shí)項(xiàng)目評(píng)分矩陣,確定學(xué)習(xí)用戶-知識(shí)項(xiàng)目關(guān)系模型。根據(jù)步驟一中所完成的模型,提取學(xué)習(xí)用戶與知識(shí)項(xiàng)目的關(guān)系特征,并建立學(xué)習(xí)用戶-知識(shí)項(xiàng)目關(guān)系模型。
步驟三:針對(duì)學(xué)習(xí)用戶和知識(shí)項(xiàng)目的特征,擬合不同的時(shí)間影響因子。在步驟一、二的基礎(chǔ)上添加時(shí)間影響因子模型。根據(jù)現(xiàn)代人的生活方式,可以確定適合學(xué)習(xí)用戶的短期時(shí)間影響因子和長(zhǎng)期時(shí)間影響因子。
步驟四:結(jié)合協(xié)同過(guò)濾框架、時(shí)間影響因子擬合模型,確定基于時(shí)間遷移的知識(shí)推薦算法。在步驟一到三的基礎(chǔ)上,組合學(xué)習(xí)用戶、知識(shí)項(xiàng)目、時(shí)間影響因子擬合函數(shù)等進(jìn)行組合建模,得出具體的推薦框架。
步驟五:在步驟一到步驟四的基礎(chǔ)上,使用各評(píng)價(jià)指標(biāo)綜合衡量本發(fā)明的準(zhǔn)確度。將得到的預(yù)測(cè)推薦結(jié)果與用戶的實(shí)際選擇結(jié)果進(jìn)行比較,得出推薦預(yù)測(cè)的準(zhǔn)確度,包括用戶滿意度、預(yù)測(cè)準(zhǔn)確度、分類準(zhǔn)確度以及物品覆蓋率等,由此衡量本發(fā)明的準(zhǔn)確度。
實(shí)驗(yàn)在改變推薦個(gè)數(shù)為20、100等不同近鄰值k時(shí),測(cè)試使用sin函數(shù)模擬時(shí)間影響因子的基于時(shí)間遷移的推薦方法及使用tan函數(shù)模擬時(shí)間影響因子的基于時(shí)間遷移的推薦方法得出預(yù)測(cè)評(píng)分的準(zhǔn)確度。
同時(shí),本發(fā)明使用準(zhǔn)確率(precision)、召回率(recall)以及兩者綜合計(jì)算得出的f值作為預(yù)測(cè)評(píng)分的評(píng)價(jià)標(biāo)準(zhǔn)。準(zhǔn)確率、召回率、f值的計(jì)算公式如公式(1)(2)(3)所示。
其中ns表示既被推薦算法又被用戶喜愛(ài)的項(xiàng)目個(gè)數(shù),nr表示被推薦算法推薦的項(xiàng)目個(gè)數(shù),na表示用戶喜歡的項(xiàng)目的總個(gè)數(shù)。
實(shí)驗(yàn)結(jié)果表明,不同學(xué)習(xí)方式應(yīng)使用不同的時(shí)間影響因子擬合函數(shù)。sin函數(shù)的擬合方式更適合需要長(zhǎng)期學(xué)習(xí)的項(xiàng)目如電影,書(shū)籍等,而tan函數(shù)的擬合方式更適合短期學(xué)習(xí)的項(xiàng)目如題目、作業(yè)等。
當(dāng)k小于40時(shí)實(shí)驗(yàn)結(jié)果往往較差,當(dāng)k值取40,推薦個(gè)數(shù)為20時(shí)能夠獲得較好的推薦效果和推薦效率,如圖2所示。選取合適的時(shí)間影響因子擬合函數(shù)后,基于時(shí)間遷移的知識(shí)推薦算法在實(shí)際數(shù)據(jù)中能取得不錯(cuò)的效果,并對(duì)知識(shí)推薦的結(jié)果有所改善,可以達(dá)到改善傳統(tǒng)的協(xié)同過(guò)濾算法的目的。
基于時(shí)間遷移的知識(shí)推薦算法從知識(shí)項(xiàng)目的相似度入手,在計(jì)算項(xiàng)目間相似度時(shí)加入了時(shí)間影響因子,從而對(duì)傳統(tǒng)的協(xié)同過(guò)濾算法(collectivefilter)進(jìn)行了改進(jìn),從最終實(shí)驗(yàn)室結(jié)果可證明,基于時(shí)間遷移的知識(shí)推薦算法比傳統(tǒng)的協(xié)同過(guò)濾推薦算法更具有優(yōu)勢(shì)。
如圖2所示,當(dāng)n=20時(shí),k值取值為40后,k值的增大對(duì)準(zhǔn)確率、召回率、f值的影響不大,反而會(huì)有所下降,同時(shí)k值增大會(huì)增加計(jì)算復(fù)雜度,延長(zhǎng)計(jì)算時(shí)間,因此可根據(jù)實(shí)際情況調(diào)整k值。實(shí)驗(yàn)中k取40效果較佳,但當(dāng)n=100時(shí),由于推薦個(gè)數(shù)增加,k值的增加對(duì)準(zhǔn)確率、召回率和f值的影響變大,當(dāng)k取100時(shí)才有平穩(wěn)趨勢(shì),表明此時(shí)確定的候選集范圍較為合適。同時(shí)實(shí)踐中為用戶推薦20個(gè)項(xiàng)目較為合適。
本發(fā)明提供了一種基于時(shí)間遷移的知識(shí)推薦算法,如圖1所示,為本發(fā)明產(chǎn)品推薦方法的具體實(shí)施例的整體示意圖,包括:
步驟s0101:首先進(jìn)行數(shù)據(jù)分析,分析用戶的學(xué)習(xí)能力、興趣、背景等,提取學(xué)習(xí)用戶特征;分析知識(shí)項(xiàng)目的知識(shí)強(qiáng)度,知識(shí)效果等,提取知識(shí)項(xiàng)目特征,完成學(xué)習(xí)用戶、知識(shí)項(xiàng)目的建模。
步驟s0201:根據(jù)前者建立的模型,提取用戶偏好信息,建立學(xué)習(xí)用戶u與學(xué)習(xí)過(guò)的題目集合vu之間的關(guān)系,得以計(jì)算用戶喜好向量likeu,l,建立學(xué)習(xí)用戶與知識(shí)項(xiàng)目的關(guān)系模型。
步驟s0301:完成題目間相似度的計(jì)算。根據(jù)題目不同類型,進(jìn)行不同方式的題目間相似度的計(jì)算。
設(shè)i,u為兩個(gè)不同的題目,求兩者相似度simi,j如公式(1)所示。
其中u表示學(xué)習(xí)用戶集合,i表示題目集合。學(xué)習(xí)用戶與題目間關(guān)系模型使用二維評(píng)分矩陣rm×n表示。矩陣中元素ru,i表示學(xué)習(xí)用戶u對(duì)題目i的整體偏好程度。
其中δtu,i表示學(xué)習(xí)用戶u完成題目i時(shí)的當(dāng)前時(shí)間的掌握程度偏移值,其計(jì)算方式如公式(2)所示。
δtu,i=tu,k-tu,i(2)
其中k表示當(dāng)前時(shí)間,tu,i表示學(xué)習(xí)用戶u完成題目i時(shí)掌握程度偏移值,其計(jì)算方式如公式(3)所示。
其中vu為學(xué)習(xí)用戶u學(xué)習(xí)過(guò)的題目集合,
步驟s0302:根據(jù)題目的關(guān)系,分析用戶在各個(gè)時(shí)間段的學(xué)習(xí)內(nèi)容的遷移變化情況,如短期時(shí)間內(nèi)的碎片學(xué)習(xí),和長(zhǎng)期的深入探究等情況,來(lái)確定時(shí)間影響因子。
步驟s0401:確定推薦框架。結(jié)合學(xué)習(xí)用戶模型、知識(shí)項(xiàng)目模型以及時(shí)間影響因子擬合模型等,確立具體推薦方式:預(yù)測(cè)用戶對(duì)其未提交過(guò)的題目的掌握程度,計(jì)算學(xué)習(xí)用戶u對(duì)其未提交過(guò)的題目i的掌握程度graspu,i,其計(jì)算方式如公式(4)所示。
步驟s0501:通過(guò)計(jì)算用戶i對(duì)推薦項(xiàng)目的預(yù)測(cè)評(píng)分,計(jì)算出本發(fā)明的準(zhǔn)確率(precision)、召回率(recall)以及兩者綜合計(jì)算得出的f值,從而可以衡量本發(fā)明提出的推薦算法的準(zhǔn)確度。
本發(fā)明所述的一種基于時(shí)間遷移的知識(shí)推薦方法,為在線學(xué)習(xí)平臺(tái)的推薦技術(shù)提供了一種新思路,提出并定義一種基于時(shí)間遷移的知識(shí)推薦框架,基于學(xué)習(xí)用戶建模,知識(shí)項(xiàng)目建模,學(xué)習(xí)用戶與知識(shí)項(xiàng)目關(guān)系建模方法,充分考慮學(xué)習(xí)的增長(zhǎng)性,為學(xué)習(xí)用戶推薦更適合其繼續(xù)學(xué)習(xí)的知識(shí)項(xiàng)目的面向在線測(cè)評(píng)系統(tǒng)的知識(shí)推薦算法。通過(guò)實(shí)驗(yàn)結(jié)果驗(yàn)證,基于時(shí)間遷移的知識(shí)推薦算法在實(shí)際數(shù)據(jù)中取得不錯(cuò)的效果,這種方法對(duì)在線平臺(tái)的知識(shí)推薦的結(jié)果有所改善,可以很好的提高推薦效果。