?

基于個性化推薦的高校學習系統的設計與實現

2020-04-14 04:54王文豪彭倩陳力凱石開洪吳云
電腦知識與技術 2020年4期

王文豪 彭倩 陳力凱 石開洪 吳云

摘要:針對目前大多數的高校學習系統不能滿足不同師生群體的在線學習需求,該文運用了Python語言、Flask框架、SQLAlchemy、協同過濾算法等相關技術對系統的總體架構、功能模塊、數據庫以及API進行設計,實現了班級管理、作業管理、資料搜索、在線考試、學習資源推薦等主要功能。系統經過實際測試后,系統運行穩定,能夠較好地滿足不同師生群體的個性化需求。

關鍵詞:高校學習系統;個性化推薦;Python;協同過濾

中圖分類號:TP311.5

文獻標識媽:A

1 概述

目前許多高校已經研發岀了本學校的“高校學習系統”,由,于高校學習系統的出現,讓學生更容易獲取自己感興趣的專業,知識以及在線完成老師分配的教學作業。然而當前大部分地,區的高校學習系統并不能滿足不同高校師生的教學需求,各類,學習系統為學生提供的學習資源和反饋信息基本上都是千篇,一律,然而不同用戶群體對不同學習資源的需求是存在差異,的。本文基于以上需求,擬開發一款針對不同師生群體的個性,化推薦的“高校學習系統”,通過數據挖掘、日志分析等技術,釆,集學生用戶的學習需求、學習習慣、學習成績等個性化的數據,通過基于物品的協同過濾算法為不同學生的學習需求進行個,性化、有針對地推薦相關學習資料和課程。

2 系統設計

本系統運用RESTful,API設計理念進行API設計,同時使用了SQLAlchemy、Flask,框架[1]、Pandas、Xpath、Bootstrap、Vue等技術,實現了系統功能。

2.1 功能模塊設計

根據系統需求,系統分為教師端和學生端,教師端的功能,模塊主要有創建班級、管理班級、發布作業、批改作業、發布資,料等;學生端的主要功能模塊有加入班級、查看作業及狀態、在,線考試、個性化課程推薦等功能詳細功能如圖1所示。

2.2 數據庫設計

本文根據系統需求共設計了,20個數據庫表分別為用戶表,(user)教師表(teacher)學生表(student)用戶認證表(usertoken),作業表(work),資料表(data),搜索資料表(search),題目表(peoblem),帖子表(post)班級表(class)等。在這里選取用戶表、作業,表講述其中的邏輯結構設計。

1)用戶表(用戶編號用戶名,用戶學號/工號,用戶密碼,用,戶手機號碼用戶權限編號,用戶出生年月,手機驗證碼id)其,中用戶編號為主鍵,用戶學號/工號具有唯一性用戶密碼和用,戶手機號碼不為空,手機驗證碼id為外鍵。

2)作業表(作業編號,班級編號,作業名稱,作業發布人,作,業發布人編號,作業發布時間作業截止時間作業狀態),其中,作業編號為主鍵班級編號、作業發布人編號和作業發布人為,外鍵。

3 技術實現

3.1 ORM技術的實現

系統后端在數據訪問層與數據庫交互時,使用session,=Session()創建會話類通過會話類的實例對象session調用方法,add()、delete()、update()和query()實現對數據庫的增刪改查操,作。以“創建作業”功能為例系統后端運用session的add。方法,向作業表中添加數據。用戶在創建作業頁面輸入的,“work_classid”,為,“13”,;“work_name”,為“數學作業,4”,;“work_deadtime”為截止時間;“work_statement”為作業狀態,此,外“work_issueid”為當前創建者用戶編號,“work_issuer”為,“test"。

3.2 RESTful?API的實現

本文以“創建作業”,API[2]為例當用戶觸發“創建作業”功能,時,系統調用對應的API前端從頁面獲取請求參數。在后端獲取到參數后,運用封裝好的。pen方法新建Http請求,并指定此,請求的方法、URL以及驗證信息,最后調用send方法將請求參,數發送到后端服務。此API的請求方式是POST路徑是“/sys-,tem/class/create/work/”狀態碼200表示前后端數據交互成功。

3.3 推薦算法的實現

基于物品的協同過濾算法⑶是當前最主流、最基礎、應用最,多的推薦算法,該算法主要是通過分析用戶的行為信息并計算,與該物品之間的相似度的物品最終推薦給用戶。例如用戶A,為一個數據結構的視頻點過贊而用戶B對一個數據結構的視,頻以及一個機器學習的視頻點了贊ItemCF算法則會將機器學,習的學習資源推薦給用戶A?;谖锲返膮f同過濾算法在本,系統中的運用流程如下:

Stepl:系統后端服務器調用學習資料的API接口,并通過,AJAX接收前端的請求參數;

Step2:通過前端傳回的usertoken獲取該用戶的user_id和,該用戶所在班級的所有同學的user_id并獲取該用戶已下載的,學習資源編號和該班級所有用戶下載的學習資源編號建立用,戶-學習資源的倒排表train;

Step3:根據用戶-學習資源倒排表train得到每個學習資源,集合將集合里的學習資源兩兩加一得到一個矩陣再將這些,矩陣相加得到矩陣C最后將矩陣C歸一化得到學習資源之間,的余弦相似度矩陣W;

Step4:得到相似度矩陣W之后通過ItemCF的計算公式計,算用戶A對學習資源的興趣字典rank,并根據用戶興趣度由高,向低排序取10個學習資料編號;

Step5:根據10個學習資料的編號獲取對應學習資料的相,關信息封裝成推薦列表返回到前端。

4 系統實現

本文最終設計并實現了基于個性化推薦的高校學習系統,系統功能界面如圖2所示。

本系統于2019年3月部署到貴州大學校園網上開始在貴,州大學東校區測試運行用戶總數量統計結果如圖3所示。從,圖中可以得出,由于2019年3月至4月系統還在調試和推廣,期,用戶數量相對較少。在2019年4月至6月,處于大學生剛,剛開學在校學習的時間在學院的大力推廣之下,教師和學生,通過該系統進行線上學習,使得用戶總數量急速上升;在2019,年7月至8月期間因暑假原因,用戶數增量不大,但在9月份,用戶數量得到提高已達450人次。

5 結束語

目前,該系統在貴州大學花溪東校區的運營情況良好學,校師生使用該系統作為日常教學工具的頻率不斷增加,系統訪,問量日均達到100次左右,充分說明此系統能夠滿足不同師生,群體的需求對學生的個性化學習有著重要意義,體現了該系,統具有高實用和推廣的價值。

參考文獻:

[1]李超,徐云龍華中偉,等.一種基于Python,Flask的Web服務器端設計[J].信息與電腦:理論版2019(8):87-88.

[2]張前進.基于REST的泛在網絡資源服務架構設計[J].陜西理工學院學報:自然科學版201733⑵:60-6368.

[3]林麗金,李文翔楊俊賢,等.基于協同過濾在高校學習資源個性化推薦系統中應用研究[J].價值工程201635(4):191-193.

[4]李曉瑜.協同過濾推薦算法研究[J].計算機與數字工程2019,47(9):2118-21222136.

[通聯編輯:代影]

91香蕉高清国产线观看免费-97夜夜澡人人爽人人喊a-99久久久无码国产精品9-国产亚洲日韩欧美综合