999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于協同過濾技術的個性化課程推薦系統研究

2009-04-29 00:00:00
現代情報 2009年5期

〔摘 要〕本文通過對個性化推薦技術涵義的敘述,提出基于個性化推薦技術中的協同過濾技術構筑個性化課程推薦系統平臺,并且對系統平臺的設計與實現過程進行了闡述。

〔關鍵詞〕協同過濾;個性化;推薦系統

〔中圖分類號〕TP39 〔文獻標識碼〕A 〔文章編號〕1008-0821(2009)05-0193-04

Research on Personalized Courses Recommendation System

Based on Collaborative Filtering TechnologyPan Wei

(Academic Affairs Office,Wuhan University of Technology,Wuhan 430070,China)

〔Abstract〕Based on the recommendation of personalized technical meaning of the narrative,put forward the recommendation of personalized technology in collaborative filtering technology to build personalized courses recommended system platform.Platform and the system design and implementation of the process were also discussed.

〔Keywords〕collaborative filtering;personalized;recommendation system

隨著計算機技術和互聯網技術的快速發展,網絡中的信息“超載”現象越來越嚴重,面對信息的“海洋”,用戶所用的信息只是滄海一粟。用戶為了找到適合自己的信息需要耗費大量的時間和精力。在網絡教育中也存在此問題,學習者不知道學習資源放在哪里,所有學習者的界面都是一樣的,在尋找自己需要的資源的過程中,學習者很容易“迷航”和產生迷茫不知所措的感覺。因此在網絡教育中需要運用個性化推薦技術來更好的促進學習者的自主學習。

要實現個性化推薦主要采用基于聚類分析技術向不同的學習者推薦不同課程。在網絡教育平臺中需要向學習者推薦不同的課程,要根據學習者對課程的感興趣程度不同,將學習者進行聚類分析,分成不同的簇,再在同一個簇中尋找與目標學習者相似度最大的學習者,利用該學習者對不同課程的興趣程度對目標學習者進行課程推薦。

1 個性化推薦技術的涵義及分類

1.1 個性化推薦技術的涵義

個性化推薦技術的原理是根據用戶模型尋找與其匹配的信息,或者尋找具有相近興趣的用戶群而后相互推薦瀏覽過的信息。它的實質是一種“信息找人”的服務模式,可以減少用戶尋找信息的時間,提高瀏覽效率。此項技術的研究己經取得了顯著成果,且有不少成果已應用到學術、商業領域。目前世界上比較有影響的個性化推薦系統有斯坦福大學的LIRA和Fab、麻省理工學院的LetiZia。此外,我國清華大學的OpenBookmark系統也采用了個性化推薦技術。個性化技術正在商業領域發揮越來越大的作用,相信該技術在我們網絡教育平臺中也會有越來越多的應用。

1.2 個性化推薦技術的分類

推薦技術是整個推薦系統中最核心、最關鍵的部分,很大程度上決定了推薦系統性能的優劣。目前,主要的推薦方法包括:基于內容推薦、協同過濾推薦、基于關聯規則推薦、基于效用推薦、基于知識推薦和組合推薦。本文主要介紹基于協同過濾技術的個性化課程推薦平臺。

2 基于協同過濾推薦技術的課程推薦平臺設計與實現

基于聚類分析的協同過濾推薦是指利用聚類分析技術可以按相似性原則將用戶劃分到不同的簇中,然后再對同一簇中的用戶評價信息對目標用戶進行協同推薦。因為在同一個簇中的用戶具有相似性,而不同簇中的用戶是不具有相似性的,所以在同一簇中尋找符合要求的用戶會有很高的效率。另外,由于同一簇中的用戶群有很大的相似性,用目標用戶所在簇中的其他用戶的評價信息對目標用戶的消費行為進行預測會有更高準確率;另外,由于聚類過程可以離線進行,因此聚類過程不影響推薦系統的響應速度。

2.1 基于聚類的協同過濾推薦系統流程

基于協同過濾課程推薦系統分為3個步驟:

2.1.1 數據收集與預處理

2.1.2 協同過濾

為了確定向目標學習者推薦哪些課程,需要按以下步驟完成協同過濾過程:

(1)識別目標學習者所在簇

如果目標學習者是老用戶,那么只需要根據學習者代碼就可以確定他所在的簇。如果是新用戶,那么需要學習者首先在線回答他對哪些課程感興趣,或者讓學習者自己選擇自己感興趣的課程,根據學習者回答或者選擇的結果分析目標學習者所在的簇,分析的方法是看目標學習者感興趣的課程集合與哪個簇的課程集合重合的比例最大。

(2)確定向目標學習者推薦的候選課程集合

2.1.3 依據用戶取向進行個性化推薦

利用協同過濾技術從候選課程集合中挑選出目標學習者最可能訂制的N門課程,向目標學習者進行推薦。兩個學習者屬于同一個簇表明他們關注的課程大部分是相同的,但這并不意味著他們對課程的興趣度也是相似的,例如,某學習者定制了某門課程,但學習后他對該課程的評價卻非常低,而另一個學習者可能正好相反。因此,我們還需要從簇中挑選與目標學習者的學習行為模式相似的學習者。令β為相似度的經驗閥值,我們利用某種相似度計算公式分別計算簇中每個學習者x與目標學習者y的愛好相似度,如果該相似度大于我們設定的用戶相似的經驗閥值β,那么,學習者x的信息可以用來對目標學習者進行預測,我們稱這樣的用戶為鄰居用戶。

我們可以分別預測目標學習者對候選課程集合中每門課程的評價,取評價值最高的前3門課程推薦給目標學習者。

2 獲取數據

每個課程在入庫的時候,系統會自動為該資源分配一個惟一的課程號(也稱課程的ID或者標識)。當學習者在我們的終身教育平臺上注冊成為會員時,系統也會自動為該學習者分配一個惟一的用戶號。當學習者登錄后,系統會自動把學習者與課程的交互情況記錄下來,系統記錄的是該學習者的用戶號、與其交互課程號以及此次交互的方式。交互方式有兩種:瀏覽、收藏和定制。在信息獲取階段,各種交互方式分別用不同的數字來表示,其中數字0表示用戶瀏覽了該課程,數字1表示學習者收藏了該課程,數字2表示學習者定制了該課程,同時不同的交互方式也代表了學習者對該課程的不同喜好程度,很顯然,按照瀏覽、收藏、定制的順序,學習者對該課程的喜好程度逐漸增強。

學習者對課程的評價可以是顯式的也可以是隱式的。顯式的評價通常是學習者以數值形式對某門課程進行評分,如果數值很高,表示學習者非常喜歡該課程,反之表示學習者不喜歡該課程。這種方式需要專門的進行問卷調查。如果學習者希望獲得推薦系統的幫助,首先需要向系統提交他對一些課程的評價信息。隱式的評價通常是從數據資源中派生出來的,例如分析學習者在各個網頁的瀏覽時間、分析網站的日志文件、或分析學習者的定制一記錄,通過分析這些隱式偏好信息,可以最終將這些信息映射為顯式評價信息。無論是顯式評價信息還是隱式評價信息,最終都可以映射為一張評價記錄表,表1是這種表格的一個簡化的示例。

表1中的數值代表學習者對課程的評分數值,數值越高,表示客戶越喜歡該課程。從表1中,會發現學習者E與學習者A的學習偏好基本是一致的,因此,我們可以判斷出學習者E也會喜歡課程5。

2.3 數據預處理

獲取了學習者與系統的交互信息以后,下一步工作就是對這些信息進行預處理,使其格式達到聚類算法的要求,然后存儲起來。信息預處理的過程就是將在信息獲取階段獲得的新信息,和以前獲取的舊信息結合起來,按照系統規定的格式存儲在一起的過程。

如果課程被學習者瀏覽,那么說明此學習者對該課程感興趣,要查看該課程的詳細信息,此時設權值為W1(W1為權值的最小值)。如果課程被學習者定制,那么說明此學習者對該課程非常感興趣,所以要設權值為W3(W3為權值的最大值)。

我們將W1、W2、W3代表能體現學習者對課程喜歡程度的數值,其中W1最小,W3最大;它們的具體取值還要在實驗過程中確定。當然,在權值調整后,要保證權值不大于最大值W3。據此可以給出權值調整算法描述。

算法Weight change(Info,Courseid,Mode)

/*Info表示學習者原有的交互信息,在系統中用字符串來表示;Course記表示此次學習者交互課程號;Mode表示此次交互的方式;該算法將根據課程號和Mode的值來改變Info*/

[當學習者瀏覽該課程時,進行的權值調整]

IF Mode=”1”THEN∥表示該課程被學習者瀏覽∥

(IF Info.indexOf(Courseid)=-1 THEN ∥表示該課程與此學習者以前沒交互∥

Info←Info+”U”+Courseid+”W”+W1.∥把此課程的課程編號和此次該學者的交互權值添加到Info的后面∥

ELSECHANGE(Info,Courseid,W1).) ∥修改Info中緊跟在學習者號后邊課程的交互權值,使之在原值的基礎上增加W1,且更改后的權值不超過W3。[當學習者收藏該課程時,進行的權值調整]

IF Mode=”2”THEN ∥表示該課程被學習者收藏∥

(IF Info.indexOf(Courseid)=-1 THEN ∥表示該課程與此學習者以前沒交互∥

Info←Info+”U”+Courseid+”W”+W2.∥把此課程的課程編號和此次該學習者的交互權值添加到Info的后面∥

ELSECHANGE(Info,Courseid,W2).) ∥修改Info中緊跟在學習者號后邊的課程的交互權值,使之在原值的基礎上增加W2,且更改后的權值不超過W3。[當學習者定制某課程時,進行的權值調整]

IF Mode=”3”THEN ∥表示該課程被學習者定制∥

(IF Info.indexOf(Courseid)=-1 THEN ∥表示該課程與此學習者以前沒交互∥

Info←Info+”U”+Courseid+”W”+W3.∥把此課程的課程編號和此次該學習者的交互權值添加到Info的后面∥

ELSECHANGE(Info,Courseid,W3).∥將Info中緊跟在學習者號后邊的課程的交互權值修改為W3。

對于W1、W2和W3的值,需要在大量實驗過程中確定。本系統取W1=1,W3=5。

舉一個簡單的例子,如果學習者原有的交互信息(Info)為:“UI0001W1U10002W5U10003W3”,此時,如果新獲取的信息是該學習者又瀏覽了10001號課程,那么經過權值調整之后該學習者的交互信息將會變為“U10001W2U10002W5U10003W3”,如果學習者定制了10003號課程,則經過權值調整后該學習者的交互信息將會變為“U10001W2U10002W5U10003W5”。

2.4 用戶聚類

因為系統中學習者的數目非常巨大,所以在所有學習者中逐個計算相似度來找某個學習者的近鄰是不現實的。為了縮小找近鄰的范圍,降低時間復雜性,系統在找近鄰之前先對所有學習者進行聚類。

聚類分析的目的是將具有相似行為模式的學習者聚集在一個簇中。交互數據庫中記載了學習者交互的課程,通常一個學習者可能與多個課程交互,因此,需要將一個學習者的多個交互記錄合并為一條記錄,用來反映該學習者的學習行為。經過合并后,將約簡后的數據集合提交給聚類分析模塊,將學習者群劃分為不同的簇。

運用k-means方法進行聚類,關鍵在于計算簇中心,以及k值選擇。合適的k值選擇是一個比較困難的問題。通常,用戶需要選擇若干k值實驗,以確定最恰當的簇的數目。

算法的大致過程描述如下:先從樣本中隨機撿取k個聚類中心,再根據歐幾里德距離把每個點分配到最接近其均值的聚類中,然后計算被分配到每個聚類的點的均值向量,并作為新的中心進行遞歸。

算法的代碼描述如下:

/*算法輸入:要分類的簇的數目k,要聚類的學習者交互信息的集合R,R={r1,r2,…,rn},其中每個元素包括該學習者的ID和其與m門課程交互的交互權值信息。

算法輸出:聚類結果Z,其中包括每個聚類中學習者的ID。

mProtoClusters表示簇中心,*/

FOR i=1,…,k

mProtoClusters[i]=r; ∥r為樣本中任一用戶,從樣本中隨機撿取k個用戶作為聚類中心;

REPEAT ∥開始循環

mProtoClusters[i].center=(wi,1+wi,2+…+wi,m)/m ∥計算簇中心對象的平均值

r(j).center==(wj,1+wj,2+…+Wj,m)/m (j|j∈m,j≠i) ∥計算其他各個對象的平均值

Dij=∑mp=iri,p-rj,p212∥計算其他各個對象到各個簇中心的歐式距離

Dij比較大小

r(j)=mProtoClusters[i] ∥將每個對象賦給最類似的簇,進行標記

mProtoClusters[i].center=(r(1).center+r(2).center+…r(j).center)/j. ∥r(1),r(2),…,r(j)為該簇內對象,更新簇的平均值

Until簇中心不在發生變化

2.5 計算相似度

一般情況下,兩個學習偏好完全相同的學習者是很少存在的,這時,更普遍的做法是定量地計算學習者E與其他用戶的偏好相似程度,取那些與目標學習者學習偏好比較接近的學習者作為鄰居客戶。

距離是聚類分析常用的分析統計量。對于有p個變量的樣品來說,n個樣品可以視為p維空間中的n個點,自然可以設想用點間距離度量樣品間的接近程度,常用dij表示第i個樣品與第j個樣品間的距離。距離相似度是用兩個對象之間的距離來表示它們之間的相似程度。兩個樣品間的距離在0→∞之間,距離越小,說明兩個樣品越接近,在聚類分析中常見的距離相似度有以下3種:

街區距離(Manhattan):

Dij=∑pk=1Xik-Xjk

歐式距離(Euclidean):

Dij=∑pk=1Xik-Xjk212

明氏距離(Minkonsky):

Dij(q)=∑pk=1Xik-Xjkq1q q>0

顯然,當q=1時,明氏距離會變成街區距離;當q=2時,明氏距離會變為歐式距離;因此,歐式距離和街區距離實際上就是明氏距離的特例。兩個對象之間的距離越小,表示兩個對象越相似;兩個對象之間的距離越大,表示兩個對象越不相似。

2.6 尋找近鄰

常用的找鄰居的方法基本上可以分為兩種:一種方法是基于中心的鄰居(Center-Based Neighboorhood),直接選出距離該對象最近的若干個鄰居即可。另一種方法是集合鄰居(Aggregate Neighborhood),第一步先選出距離該對象最近的鄰居,第二步求出目前鄰居集合的中心,然后選出距離鄰居集合中心最近的鄰居,重復執行第二步,直到為該對象選出足夠數目的鄰居。

在本例中,選用第一種方法,在前邊聚類的結果上,進行鄰居選擇:首先,明確所在的簇,明確所要求的鄰居數目;其次,計算簇中每個對象到該對象的歐式距離,用臨時變量標記下來。如果這個是最小的距離,并且該距離小于我們設定的某個經驗閥值,則把這個對象加到計算對象的鄰居數組中。

/*算法輸入,ri是待求鄰居的用戶,Num是需要求的鄰居數量。

si是該用戶所屬的簇,β為相似度的經驗閥值

算法輸出:按照相似度大小順序排列的鄰居列表Neighlist。*/

FOR r=1,2,…,n ∥對于所有用戶

IF rj#8226;si=s THEN ∥rj屬于這個簇

Temp(j)=∑mp=1ri,p-rj,p212∥計算rj和ri的歐式距離

IF Temp(j)<β THEN

Neighlist←rj ∥把rj按順序插入到鄰居列表Neighlist中,最后得到該用戶的鄰居列表,按照列表對用戶進行課程推薦。

本課程推薦系統在為學習者提供相關課程推薦的過程中,涉及到了數據庫中的多個表,其中最主要的一個表是:CourseRecomrnend。CourseRecomrnend表在課程推薦過程中用得最多,也是最重要的一個表,該表用來存儲課程推薦過程中所需用到的數據以及所產生的結果。

3 結束語

基于協同過濾的推薦系統可以說是從用戶的角度來進行相應推薦的,而且是自動的,即用戶獲得的推薦是系統從購買模式或瀏覽行為等隱式獲得的,不需要用戶努力地找到適合自己興趣的推薦信息。雖然協同過濾作為一種典型的推薦技術有其相當的應用,但協同過濾仍有許多的問題需要解決。最典型的問題有稀疏問題(Sparsity)和可擴展問題(Scalability),我相信這些問題在將來實際應用過程中可以逐步的完善解決。

參考文獻

[1]程巖,肖小云,吳潔倩.基于聚類分析的電子商務推薦系統[J].計算機工程與應用,2005,24:175-177.

[2]王輝,高利軍,王聽忠.個性化服務中基于用戶聚類的協同過濾推薦[J].計算機應用,2007,27(5).

[3]蔡勇,韓永國,劉自偉.數據挖掘技術在生源分析中的應用研究[J].計算機應用研究,2004,12:52-54.

[4]趙艷廠.數據挖掘中聚類算法研究與仿真[D].北京郵電大學博士論文,2003.

主站蜘蛛池模板: a级毛片网| 免费xxxxx在线观看网站| 午夜精品久久久久久久99热下载| 色综合色国产热无码一| 国产91透明丝袜美腿在线| 99久久亚洲精品影院| 欧美日韩在线国产| 福利国产微拍广场一区视频在线| 国产精品久久自在自2021| 欧美亚洲国产视频| 国产欧美视频在线| 91精品福利自产拍在线观看| 71pao成人国产永久免费视频| 亚洲福利视频网址| 日本午夜视频在线观看| 国产玖玖视频| 黄片一区二区三区| 在线日韩日本国产亚洲| 黄色国产在线| 日韩小视频在线观看| 国产精品吹潮在线观看中文| 国产成人无码综合亚洲日韩不卡| 一级在线毛片| 亚洲女同一区二区| 免费一级毛片完整版在线看| 久久人搡人人玩人妻精品| 亚洲成人动漫在线观看| 欧洲av毛片| 精品免费在线视频| 亚洲AⅤ无码日韩AV无码网站| 综合亚洲网| 午夜啪啪网| 综合亚洲网| 亚洲有码在线播放| 日韩色图在线观看| 精品无码人妻一区二区| 国产成人综合日韩精品无码不卡| 香蕉精品在线| 四虎永久免费在线| 欧美日韩免费在线视频| 欧美国产精品不卡在线观看| 亚洲色偷偷偷鲁综合| 亚洲精品无码成人片在线观看| 永久成人无码激情视频免费| 国产极品美女在线播放| 玖玖免费视频在线观看| 午夜毛片福利| 中文天堂在线视频| 国产91蝌蚪窝| 999精品视频在线| 亚洲a级毛片| 国产一级小视频| 全午夜免费一级毛片| 手机精品福利在线观看| 久久青草热| 久久久久国产一级毛片高清板| 国产精品福利导航| 国产清纯在线一区二区WWW| 99资源在线| 麻豆精品在线视频| 国产a网站| 日韩天堂视频| 日本精品视频一区二区| 国产成人永久免费视频| 亚洲精品中文字幕无乱码| 丰满人妻一区二区三区视频| 国产老女人精品免费视频| 日韩成人午夜| 91欧美在线| 中文字幕免费在线视频| 玖玖精品视频在线观看| 国产一区二区视频在线| 又黄又爽视频好爽视频| 国产综合精品一区二区| 香蕉视频国产精品人| 26uuu国产精品视频| 69av在线| 亚洲精品视频网| 日韩a级毛片| 亚洲欧美自拍中文| 国产小视频免费| 欧美黄网站免费观看|