沈哲穎,吳彥文,劉金金,鐘誠(chéng),龔雪武



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