沈哲穎,吳彥文,劉金金,鐘誠,龔雪武
摘要:針對大學生在各學科競賽賽前準備中所遇到難以找尋匹配隊友、疲于題海戰(zhàn)術、缺乏實戰(zhàn)經驗和學習資源“信息孤島”現(xiàn)象等問題,設計構建基于微信小程序的競賽學習平臺,主要適用于大學生學科競賽學習和組隊。該平臺主要采用JavaScript、WXML、JSON、WXSS等技術,利用“微信開發(fā)者工具”和“騰訊云”平臺完成前端代碼的編寫和數據庫的搭建,并輔以個性化推薦算法。競賽學習平臺旨在通過多元化和個性化的功能提升大學生學科競賽學習的趣味性、互動性和有效性,協(xié)助學生用戶競賽技能提升的同時激發(fā)更多大學生參與競賽的積極性。
關鍵詞:微信小程序;學科競賽;組隊;競賽學習;個性化推薦
中圖分類號:TP311? ? ? 文獻標識碼:A
文章編號:1009-3044(2021)21-0087-04
開放科學(資源服務)標識碼(OSID):
1 背景
如何在團隊競賽中找尋匹配的隊友以及如何提升競賽學習的效率和成效已然成為許多大學生參與競賽面臨的共同難題。近年來,參加各類學科競賽已經成為大學生培養(yǎng)學習興趣、鍛煉實踐能力以及提升專業(yè)技能的一個不可或缺的方式。目前,塞氪網、競賽網等諸多平臺提供了各類競賽的報名渠道和信息,供學生參考和選擇。但是,許多學生在參與競賽往往因缺乏專業(yè)的指導、缺少適合的競賽學習資源、難以找尋匹配隊友困境等問題而放棄參賽;此外,在競賽學習過程中,他們也易受疲于題海戰(zhàn)術、無法堅持學習計劃、缺乏競賽實戰(zhàn)經驗等問題的影響而導致競賽成績不佳。
基于此,提出構建一個基于微信小程序的競賽學習平臺,為學生用戶提供個性化學習資源推薦、隊友匹配推薦、競賽學習成長計劃等功能,讓其更好地利用碎片化時間學習[1],提升競賽學習的有效性和自身綜合能力,提高在競賽中的競爭力。
2 基于微信小程序的競賽學習平臺設計和構建
2.1 平臺的總體設計
微信小程序不占內存、操作簡單、無需下載和安裝就能在手機端使用等特點[2],讓其自推出后就廣受人們青睞。而微信作為人們日常社交的常用應用,擁有廣大的用戶基數,這利于以微信為基礎的小程序應用的迅速推廣。綜合微信小程序的便捷性且易推廣等優(yōu)點,本設計選擇以微信小程序為基礎搭建競賽學習平臺。競賽學習平臺主要采用Javascript、wxml、json,wxss以及云平臺等技術[3]搭建,展示層包括首頁、授權注冊界面、學習規(guī)劃界面、搜索隊友界面等,交互端通過授權微信號等信息進行登錄,平臺也會同步用戶相關信息。此外,本平臺接口端采用了原生API接口、url途徑以及根據平臺功能自定義API接口,個性化推薦算法采用KNN模型和權重訓練算法以及基于機器學習的分類模型與基于皮爾森系數的協(xié)同過濾算法,同時本設計還利用騰訊云平臺搭建MySQL數據庫[4],存儲信息。系統(tǒng)結構總體框架如圖1所示。
2.2 平臺的具體設計
2.2.1 軟件平臺功能介紹
本文所設計的競賽平臺軟件部分主要分成學生用戶管理、教師用戶管理、學習規(guī)劃、隊友速配、經驗交流、名師導學、學習資源七個板塊。各板塊具體功能:1)學生用戶管理板塊,負責對學生個人信息進行管理并記錄學生學習情況;2)教師用戶管理板塊,幫助教師進行個人信息管理與發(fā)布任務管理;3)學習資源提供板塊,為用戶提供模擬真題、教學視頻并精選相關的筆記;4)經驗交流板塊,允許用戶進行交流討論,互幫互助,用戶也能在板塊的提問區(qū)發(fā)布問題;5)隊友速配板塊,依據用戶完成的調查問卷,為其尋找性格相合、能力互補的隊友進行推薦;6)學習規(guī)劃板塊,提供制定學習計劃,并進行提醒督促的功能;7)名師導學板塊,主要提供平臺供名師對用戶疑惑的問題進行答疑和指導,同時提供用戶進行作業(yè)練習的功能。軟件功能結構如圖2所示。
2.2.2 API接口端
微信小程序開發(fā)平臺為開發(fā)者提供了很多原生API接口,可以實現(xiàn)獲取用戶信息、數據分析、支付、訂閱消息等功能。且大多數API接口以wx開頭,都可接受一個object作為參數。在用戶信息功能頁面獲取用戶授權后,便可調用其接口實現(xiàn)相對應功能,否則則返回fail。本平臺在調用許多原生API接口的同時還根據平臺功能,自定義其他API接口。此外,本平臺在實現(xiàn)學習資源存儲時還直接利用url途徑打開學習資源列表中的具體資源,將資源鏈接賦值給src變量當點擊的時候就可直接找到頁面路徑打開相應頁面。
2.2.3 數據庫的搭建
本平臺采用了ORM數據庫框架,利用騰訊云平臺搭建MySQL數據庫。與SQLsever數據庫相比,MySQL數據庫具有開放源碼、簡便易用、運行速度快的特點,更適合中小型平臺的開發(fā)和搭建。在此基礎上,平臺還完成了sever的配置,并用sharding技術[5]對數據庫進行了拓展。
2.2.4 個性化推薦算法的運用
1)個性化推薦學習資源
本平臺根據用戶填寫的信息、以往的學習資源、搜索記錄以及用戶好友的學習資料,為用戶推薦可能感興趣的技能學習或者競賽學習資料。個性化推薦學習資源算法實現(xiàn)具體流程如圖3所示。
本設計采用KNN模型算法與權重訓練可以很好地實現(xiàn)對學習資源的推薦,同時解決冷啟動的問題。KNN模型的基本原理是根據預先定義的相似度為i的某個樣本尋找最近的k個樣本,假如k個樣本大都屬于某一個類別j,那么判定樣本i屬于j類別。并且根據k個樣本與樣本i的相似度不同,賦予不同的權重,用k個樣本的加權平均來預估i樣本[6]。在個性化學習資源推薦,本文可以根據用戶的個人信息以及其好友信息特征,賦予不同方面以不同權重,計算出相似度,然后根據相似度來進行資源推薦,其中不同方面的權重可以根據用戶的個人瀏覽記錄、下載記錄等來更改。在面臨冷啟動問題的時候,因為在用戶注冊時已經采集個人信息、技能和參賽經歷,可以根據用戶的特征來定義相似度。