• 沒有找到結果。

推薦學習演算法

第三章 研究方法

第三節 推薦學習演算法

本節將對最熱門推薦法則、關聯推薦法則與本研究所提出之智慧型推薦學習 服務演算法進行描述,並以範例解釋各種法則在推薦學習系統之運作情形。

一、最熱門推薦法則:TOP-N 以非個人化推薦之概念發展,此推薦方式並不考 慮興趣表單中學習者所勾選的學科。僅從資料庫中找出最多使用者點選過的教 材,進行篩選出最多點選次數的前 N 筆給予推薦。TOP-N 最熱門推薦演算法如 圖 3-5 所示,步驟如下說明。

步驟 1:首先取出所有學習者點選教材的記錄。

步驟 2:將記錄中最高的三筆資料篩選出來並給予推薦。

TOP-N RULE

array1 : Click the number of teaching materials as array;

var1 : showing number of recommedation;

for(i←1;i<=var1;i++) do begin foreach sort(array1) as value

result += value;

end return result;

圖 3-5 TOP-N 最熱門推薦演算法

我們以實例說明如下,如圖 3-6 所示。當學習者登入後,系統將先取出所有教材 的點閱次數,如圖所示五個教材分別顯示個別被點閱過的次數。以點閱次數欄位 做排序後,可以得到教材 D、教材 B 以及教材 A 為點閱次數最高的前三筆資料,

此時便將該三筆資料給予學習者推薦。

教材編號 點閱次數

圖 3-6 TOP-N 最熱門推薦方法

二、關聯推薦法則:以物品關聯式推薦概念發展,以 Apriori 演算法為基礎建立 此推薦法則,目的將使用者所點選過的教材以串列方式儲存進資料庫,並經由演 算法運算後取得教材與教材之間的關聯,進而推薦給學習者。關聯推薦法則演算 法如圖 3-7 所示,步驟如下說明。

步驟 1:首先取出所有學習者點選教材之路徑串列。

步驟 2:將所有的路徑串列區分為登入之學習者的路徑串列與其他學習者 的路徑串列。

步驟 3:並以登入之學習者的路徑開始進行分析,並將大於此項目集之其 他串列做比對。

步驟 4:若有比對出相同的路徑,則將比對出之相符路徑的下一個項目記 錄下來。

步驟 5:當下一個項目的次數超過最小支持個數後,便將此項目取出並給予 登入學習者推薦。

資料庫

A 15 教材編號 點閱次數

B 20 C 3 D 28 E 10 所有教材之點閱次數

1

2 D 28

B 20 A 15 取出點閱次數最高的前三筆資料

給予推薦

登入系統

編號 1 之學習者

ASSOCATION RULE

array1 : another user's learning path as array var1 : number of another user's learning path

foreach sort(learning path of user login) as value do begin for(i←1;i<=total teaching materials number;i++) do begin temp ← value + i;

for(k←1;k<=var1;k++) do begin if(temp == array1[k]) then result +← i;

end if end end end

return result;

圖 3-7 關聯推薦法則演算法

我們以實例說明如下,並假設最小支持個數為 3,如圖 3-8 所示。編號為 1 之學 習者登入系統後,系統首先將所有存在於資料庫之中的學習路徑資料全部取出,

而資料表之欄位包括學習路徑及學習者編號。取得資料後便依照學習者編號分 類,與登入者編號相同之資料將從母群體分離之。此時從編號為 1 之學習者學習 路徑資料表中的第一筆{A, B}學習路徑開始與其他學習之學習路徑進行比對。{A, B}為 2-項目集之串列,在比對前會先將其他學習者之學習路徑中,小於或等於 2-項目集之資料先過慮掉,之後以迴圈方式由{A, B, A}、{A, B, B}、{A, B, C}、

{A, B, D}等開始對其他學習之學習路徑逐一比對。比對完畢後得到編號為 4、6 及 7 之資料,當筆數符合訂定的最小支持個數 3 時,將視為有用資料並取出給予 推薦。此三筆資料之串列內容皆為{A,B,C},表示曾經點閱教材 A、教材 B 及教 材 C 順序的其他使用者共有三位,而此數量符合最小支持個數,因此將教材 C 取出做為已點閱過教材 A 及教材 B 的編號 1 學習者下一個推薦點閱。

編號 學習路徑 學習者編號

三、智慧型推薦學習服務學習演算法:以顯性評比與隱性評比之資料相互交錯進 行比對,並將 TOP-N 最熱門推薦加入興趣表單中的屬性做篩選,過濾掉與 學習者興趣無關的教材,再加入關聯推薦法則為參考依據,增加推薦結果的 準確性。另外本研究於系統中,若學習者點選與興趣表單中不同學科之教 材,當次數超過最小支持個數後,系統將視為新增學習領域,自動為學習者 推薦增加此學科領域之教材。例如學習者於興趣表單中點選了計算機概論學 科後,可能於一段時間後,開始對資料庫等其他學科之教材產生興趣,因此 主動去點選資料庫的教材,假設次數超過五次後(假設大於最小支持個數),

系統將視此學習者已增加了學習領域,自動增加資料庫課程的推薦。學習者 亦可自行至興趣表單中改變其興趣學科資料,而系統視其動作為增加學習興 趣,也將立即推薦新增之學科教材。本研究所提出之智慧型推薦學習服務演 算法如圖 3-9,步驟說明如下:

步驟 1:首先判斷登入學習者於系統中所有勾選的興趣項目,得到該學習 者的所有的興趣。

步驟 2:取出所有學習者點選教材的記錄並篩選出與登入學習者之興趣學 科相符的前 N 筆資料。篩選過程以興趣學科為優先考量,再比對 其他項目,以邏輯運算符號表示則為「( (學科興趣 AND 點閱次數) AND (教材難易度 OR 學習時間長短 OR 學習的型態) )」。 步驟 3:取出所有學習者點選教材之路徑串列。

步驟 4:將所有的路徑串列區分為登入之學習者的路徑串列與其他學習者 的路徑串列。

步驟 5:並以登入之學習者的路徑開始進行分析,並將大於此項目集之其 他串列做比對。

步驟 6:若有比對出相同的路徑,則將比對出之相符路徑的下一個項目記 錄下來。

步驟 7:當下一個項目的次數超過 N 次,並與步驟二所得之資料進行比對。

步驟 8:若步驟七產生大於或等於 N 筆資料,以步驟二為主進行優先推薦

;若步驟七產生小於 N 筆資料,則以步驟七進行優先推薦,再以 步驟二之資料補滿 N 筆推薦。

Intelligence Recommendation Learning Service RULE

array1 : Click the number of user login's teaching materials as array;

var1 : showing number of recommedation;

array2 : another user's learning path as array var2 : number of another user's learning path

function_ASSOCIATION : the result of ASSOCIATION RULE for(i←1;i<=var1;i++) do begin

foreach sort(array1) as value result1_array = value;

end

foreach sort(learning path of user login) as value do begin for(i←1;i<=total teaching materials number;i++) do begin temp ← value + i;

for(k←1;k<=var2;k++) do begin if(temp == array2[k]) then

assoc_count++; //The number of result2 result2_array ← i;

end if end end end

for(i←1;i<=var1;i++) do begin

for(k←1;k<=assoc_count) do begin if(result1[i] == reslut2[k]) then result3_array ← result1[i];

end if end end

return result3_array;

圖 3-9 智慧型推薦學習服務演算法

我們以實例說明如下,如圖 3-10 所示。編號為 1 之學習者登入後,系統首先取 出其興趣表單中所有的資料,接著再取出所有教材之詳細資料,其中包含教材的 科目名稱、教材難易度、學習時間長短、學習的型態與教材的點閱次數,系統將 這些資料與登入學習者的顯性評比資料進行比對,過濾掉與學習者興趣較無關的 資料,過濾的原則以學科興趣與點閱次數為主,教材難易度、學習時間長短、與 學習的型態為其次過濾原則。當教材資料篩選後,系統則再以關聯推薦法則進行 第二次過濾,詳細過程可參考前面關聯推薦法則演算法。由圖 3-7 所示,關聯推 薦法則找出符合{A, B}的其他學習者之學習路徑且資料筆數大於 3 後,教材 C 被 過濾出,而教材 C 將與經篩選後教材之點閱次數與屬性資料進行比對,可發現 教材 C 也出現於經篩選後教材之點閱次數與屬性資料,因此教材 C 將優先被系 統推薦,而次要推薦則再以點閱次數次多的教材 D 被選出。

四、新增學習領域

本系統加入了新增學習領域功能,此功能可分為學習者自行新增學習領域以 及系統自動新增學習領域。在系統未開放新增學習領域功能前,興趣表單中的學 科興趣雖然可以自行變更,但僅能單選一項學科,而當開放功能後,學習者便可 自由複選所有的科目。系統自動新增學習領域我們則以實例說明,當學習者點選 計算機概論為自己的學科興趣,當點閱過一些教材後進而對資料庫系統產生了興 趣,並主動點閱了資料庫系統的教材,當這種情況超過了數次之後,系統會主動 為學習者加選資料庫系統為該員的學科興趣,同時也加入了資料庫系統教材的推 薦。

1 資料庫

相關文件