朱耀磷 蔡延光



摘要:信息時代中,新形態的教育方式應運而生。越來越多的網絡課程如同雨后春筍,以一種井噴式的態勢增長著。但也存在一個無法忽視的痛點,不同的網課平臺相互封鎖,伴隨之而來的矛盾是,用戶需要花費更多的時間和精力到各個平臺搜索心儀的網絡課程。更有甚者,有部分用戶由于自身水平限制,在入門一個領域時,常常由于缺乏對該領域的認識,在如何選擇合適的網絡課程時感到為難,這無疑是一塊巨大的絆腳石。信息過載已成為制約人們方便使用互聯網的絆腳石,網絡世界信息資源分布廣泛,使得人們產生信息迷失。推薦系統是信息過濾的衍生品,能更好地實現信息資源個性化推薦。從這個痛點出發,本文基于協同過濾算法,創新地提出一種網絡課程推薦系統。并且,可從本文得到啟發,并將此種方法應用于其他行業,諸如互娛、金融等。
關鍵詞:推薦;協同;過濾;網課;矩陣
中圖分類號:TP311.5 文獻標識碼:A DOI:10.3969/j.issn.l003-6970.2017.08.009
本文著錄格式:朱耀磷,蔡延光.知識推薦的協同過濾算法[J].軟件,2017,38(8):50-53
引言
隨著計算機等智能設備的普及,數字化的教育方式、越來越多的網絡課程已然成為一個無可逆轉的趨勢與發展潮流。網絡的迅速普及、網絡資源不斷豐富、網絡信息量急劇增長,一方面人們可以獲取的信息資源越來越豐富,這給人們帶來很大好處;另一方面,面對海量的信息資源,人們被迫不得不以更多的時間精力去搜尋對其有用的信息,因而“信息超載”越來越突出,信息過量無法消化、難以辨識真假。
信息量暴漲與“怎樣準確快速獲取有價值的網絡信息、怎樣理解已有歷史數據并用于預判未來行為”兩者之間的矛盾日益嚴重。為給用戶提供更高效率更方便更舒適的體驗,本文基于網課用戶和網絡課程協同推薦過濾,提出推薦系統的設計方法,將更好地服務于用戶,解決用戶使用過程中耗時耗力的窘境,并且實現更加流暢透明的推薦功能,致力于網絡課程的發展,為更加先進的教育方式搖旗助威[2,3,4]。
1 值的定義
本節主要闡述系統在開發過程中所涉及的符號及變量的定義,在一定程度上,這將對理解本系統的設計有不錯的幫助。
1.1 定義網課
首先是對網絡課程的定義說明,這里統一采用10個量度指標定義任意一門網絡課程,記任意一門網絡課程為A,A為列向量。
這里的為百分數,分別代表該門課程的10個指標,不妨假設為:文學、理工、計算機、小說、數學、物理、外語、電子、材料、地理。
則代表該課程為文學類課程的比例,%代表該課程為理工類課程的比例,…以此類推。
設第一門課程為4,第二門課程為,
1.2 定義用戶
對用戶的定義同樣采用10個指標定義一位用戶,這10個指標代表著每一名用戶的個人特質。假設任一名用戶為B,B為行向量。
同為占比百分數,分別設
為:喜好文學、喜好理工、…喜好地理。因此,代表改名用戶喜歡文學的比例,62代表改名用戶喜歡理工的比例,…定義第一位用戶為第二位用戶為…
2 系統建立過程分析
當系統每引入一門課程時,由課程的提供者(即“老師”)對該課程進行標記,該門課程被標記為屬于哪種類型。一門課程可同時屬于多個領域。
當某一門課程被帶有某種屬于的用戶選擇之后,后臺系統捕捉這種行為,自動為該門課程刷新屬性。例如,當一門課程為的用戶點擊之后,后臺將課程修改為。
當新用戶登錄系統時,需要用戶對自己進行標記,修改設置行向量B,用戶可以擁有自己的朋友圈。當用戶瀏覽選擇感興趣的課程,后臺根據用戶的行為,動態修改用戶的B值,例如,當一個新用戶將自己標記為,那么當他選擇了課程,時,系統自動為該用戶修改。
3 協同推薦
新用戶登錄系統時,有兩種方法可為其推薦網課。一種是根據用戶對自己的標記,選擇其朋友圈內一個與改名用戶屬性最相近的人為目標,按照目標的歷史網課記錄,推薦其最近一段時間的課程給新用戶。
另一種方法是,利用新用戶對自己的標記,與系統內已有數據進行匹配,按照匹配度的高低來為新用戶推薦網課[6,7]。
無論采取何種方法,隨著用戶的活躍度提高,系統推薦的準確度也將進一步提高[8_13]。
4 數據過濾
完成上面的準備工作后,每位用戶都擁有一個獨立的屬性值B,每一門網課也同樣擁有獨立的屬性值A。利用這些作為標記的特征值,系統便可準確地向目標用戶推薦恰當的網課。這里主要闡述數據過濾的手法,本文前面將用戶的屬性值B定義為行向量,將網課的屬性值A定義為列向量。
這里再定義。
C便為所謂的匹配度,系統將按照C值的大小向用戶推薦對應的網課,C由大到小表示由最匹配到最不匹配。
當然也可以直接用進行判斷
5 結語
在本文中提到的此種框架下,任何商品(包括網課、娛樂信息等)都可便捷地構建推薦系統,協同推薦的方式很好地解決初入系統的信息被孤立的問題。故而賦予了系統很好的適應性,可移植至不同的領域。