張 露,童穎佳,馬 華
(湖南師范大學(xué)信息科學(xué)與工程學(xué)院,長沙 410081)
自2014 年“課程思政”這一理念提出并在上海的部分高校進行試驗,取得了較好的成效。習(xí)近平總書記不斷強調(diào)學(xué)校作為立德樹人的地方,要牢牢抓住思想政治教育工作。2020 年,教育部印發(fā)《高等學(xué)校課程思政建設(shè)指導(dǎo)綱要》[1],高校思政課改革創(chuàng)新,各高校開始逐步探索課程思政模式。由此誕生的思政教育資源互聯(lián)網(wǎng)平臺,為教師提供了一些優(yōu)質(zhì)課程思政示范課及其配套資源,協(xié)助教師完成專業(yè)課和思政教育的有機融合。然而,目前已有平臺仍存在如資源分類粒度大、數(shù)量有限、搜索困難等問題。
近年來,學(xué)者們對課程思政資源的共享和利用進行了研究,但尚缺乏面向高校課程的思政資源的共享與互助平臺的系統(tǒng)性研究。例如,湯宇軒等[2]提出一種基于知識圖譜的課程思政素材庫的構(gòu)建方案,對課程思政領(lǐng)域進行本體設(shè)計、命名實體識別、關(guān)系抽取等方法的研究,構(gòu)建了面向大學(xué)生計算機基礎(chǔ)課程的課程思政素材庫。朱麗等[3]闡述了大數(shù)據(jù)平臺商建立課程教學(xué)資源推薦系統(tǒng)的設(shè)計、框架及其應(yīng)用,表示在大數(shù)據(jù)平臺的基礎(chǔ)上,課程教學(xué)資源推薦系統(tǒng)的建設(shè)得到推進。龍丹等[4]以CNKI 數(shù)據(jù)庫中刊載的課程思政的相關(guān)文獻為數(shù)據(jù)來源,對我國高校課程思政研究的趨勢、熱點、問題進行調(diào)查分析。汪路金等[5]從繼續(xù)教育思政教學(xué)出發(fā),指出思政類網(wǎng)絡(luò)課程資源的重要性,并提出建設(shè)策略。
針對此現(xiàn)狀,我們引入TF-IDF(term frequencyinverse document frequency)中文分詞算法和眾包協(xié)同機制,挖掘和整合網(wǎng)絡(luò)上現(xiàn)有的課程思政教育資源,聯(lián)結(jié)多方平臺和參與者以提供一個高校課程思政教育資源共享和互助的全新系統(tǒng),構(gòu)建了一個可動態(tài)擴充的智慧型課程思政資源庫,即“智慧思政文庫”。
國內(nèi)已有一些課程思政教育資源平臺,例如,新華思政(xhsz.news.cn)等。非專業(yè)教育學(xué)習(xí)平臺上也散布有許多有借鑒意義和使用價值的課程思政資源,例如,知乎、微博等。面對目前互聯(lián)網(wǎng)上眾多的課程思政資源,我們使用Python 開發(fā)數(shù)據(jù)爬蟲,用Scrapy 框架對不同的網(wǎng)站進行爬蟲定制,對它們進行爬取,并分割保存為JSON 格式數(shù)據(jù)。這些初始的資源數(shù)據(jù)被處理后存入MySQL數(shù)據(jù)庫。
對JSON 格式數(shù)據(jù)進行初步的處理加工。首先,以本校的院系專業(yè)劃分以及課程開設(shè)為標(biāo)準(zhǔn),建立基本的學(xué)科大類、專業(yè)、課程的樹形結(jié)構(gòu)分類。其后,利用TF-IDF 算法從爬取的資源當(dāng)中提取出關(guān)鍵詞,根據(jù)關(guān)鍵詞判斷資源所屬類別,從而對資源進行分類。最終,將處理過的數(shù)據(jù)存入本地數(shù)據(jù)庫,供平臺后續(xù)使用。
使用Spring Boot框架和Vue進行平臺的總體設(shè)計和開發(fā)。主要的模塊包括協(xié)同互助模塊、課程思政模塊、討論區(qū)模塊、資源檢索模塊、登錄注冊模塊、個人中心模塊等。通過引入眾包協(xié)同機制,平臺允許用戶自主上傳資源和資源互助,以進一步擴充資源庫。通過用戶的自主上傳,資源庫得以不斷擴充,而資源協(xié)同互助的創(chuàng)新功能,為教師和創(chuàng)作者的各取所需提供了交流和協(xié)作的渠道。
本文從新華思政網(wǎng)站、CNKI、知乎、微博等爬取若干課程思政相關(guān)的各類資源,如課件、教學(xué)視頻、教案等,作為資源庫的一部分,并為之后的標(biāo)簽提取提供基礎(chǔ)的數(shù)據(jù)支持,使用基于Python 語言的Scrapy 爬蟲框架,針對不同網(wǎng)頁開發(fā)定制個性化爬蟲程序。對爬蟲抓取的原始Web 頁面進行頁面處理,通過去掉Web 頁面中的大量噪聲數(shù)據(jù),將Web 頁面轉(zhuǎn)化為純凈統(tǒng)一的文本格式和元數(shù)據(jù)格式。
對初步處理得到的文本格式和元數(shù)據(jù)格式的數(shù)據(jù)進行進一步的加工,利用TF-IDF 算法提取數(shù)據(jù)中的關(guān)鍵詞,根據(jù)關(guān)鍵詞判斷資源所屬類別,從而對資源進行分類,包括資源所包含的思政元素、所屬課程、知識點等標(biāo)簽,將分類后的數(shù)據(jù)導(dǎo)入數(shù)據(jù)庫中,作為資源庫初始數(shù)據(jù)。
本文使用一種改進的TF-IDF 算法[6]提取關(guān)鍵詞。首先,計算類別間離散度,類別間離散度越高,詞語的類別區(qū)分能力越強。計算公式如公式(1)所示。
之后,計算類別內(nèi)信息熵,類別內(nèi)信息熵越高,詞匯的類別區(qū)分能力越強。使用公式(2)和(3)計算。
類別間離散度或類別內(nèi)信息熵越高,類別區(qū)分能力越強。因此,引入公式(4)表示特征項對類別Ci的區(qū)分能力,即類別判別:
最終得到TF-IDF 的計算公式如公式(5)所示。
其中:wij為特征項t對類別Ci的權(quán)重;tfij為特征項tj的詞頻;CD(tj,Ci)為特征項t對類別Ci的類別判別,可由公式(1)~(4)計算。在改進的TF-IDF 算法中,用類別識別CD(tj,Ci)代替逆文檔頻率IDF,從而彌補了傳統(tǒng)TF-IDF 算法沒有考慮特征項的類別內(nèi)和類別間分布的缺陷。
一方面,利于設(shè)定好的爬蟲程序,定時對目標(biāo)平臺進行資源爬取,根據(jù)內(nèi)容發(fā)布時間,過濾掉已經(jīng)爬取過的內(nèi)容,處理存入資源庫中。另一方面,設(shè)置“協(xié)同互助”模塊,用戶通過該模塊所創(chuàng)作的個性化資源,經(jīng)用戶同意,也將錄入資源庫并公開展示。同時,用戶也可以通過個人中心自主上傳資源。以上兩方面構(gòu)成了資源庫動態(tài)擴展的數(shù)據(jù)來源,使得資源庫能夠得到智能自主擴充。
平臺所設(shè)置的“協(xié)同互助”模塊顯示已經(jīng)發(fā)布的用戶需求列表。教師可以發(fā)布相關(guān)需求,設(shè)定所需資源信息;創(chuàng)作者可以搜索感興趣的需求申請承接。當(dāng)需求有承接申請,教師可自主選定需求的最終承接者。由此產(chǎn)生的需求訂單,平臺將跟蹤需求的完成狀態(tài),并以進度條的形式展示給相關(guān)用戶。創(chuàng)作者可以是有閑暇時間且有相關(guān)創(chuàng)作技能的非教師用戶、普通教師用戶等,此機制將各類用戶聚合在一起,共同完成資源的最終產(chǎn)出。另外,平臺利用Java-WebSocket 框架,實現(xiàn)了“私信交流”功能,使得教師與創(chuàng)作者能在系統(tǒng)中進行實時交流,教師可隨時提出修改意見,協(xié)助成品的不斷完善,便于需求的更好完成。
3.1.1 基于Spring Boot框架的后端設(shè)計
(1)建立實體層,其中課程類包括id、名稱、簡介、一級學(xué)科、二級學(xué)科、目錄、選課人數(shù)等屬性;資源類包括id、類型、簡介、上傳時間、名稱、鏈接、標(biāo)簽、來源、收藏量、下載量、所屬章節(jié)等屬性。
(2)建立數(shù)據(jù)訪問層,封裝對數(shù)據(jù)庫的訪問,CourseDao.java 和ResourceDao.java 用于對數(shù)據(jù)庫中的課程信息表和資源信息表進行增刪改查操作。
(3)建立Spring Boot 配置文件,設(shè)置Spring Boot 配置文件中的數(shù)據(jù)庫連接參數(shù)和訪問端口信息等。
(4)建立業(yè)務(wù)層,存放業(yè)務(wù)邏輯處理,提供控制器層調(diào)用的方法。
(5)建立控制器層,接收前端傳過來的參數(shù)進行業(yè)務(wù)操作,并返回對應(yīng)的數(shù)據(jù)。
3.1.2 基于前后端分離的系統(tǒng)框架設(shè)計
(1)使用Vue 框架編寫前端頁面,使用Axios向后端發(fā)送HTTP請求。
(2)后端控制器層從HTTP 請求中獲取信息,提取參數(shù),將其分發(fā)給業(yè)務(wù)層處理不同的服務(wù)。
(3)業(yè)務(wù)層調(diào)用數(shù)據(jù)訪問層對數(shù)據(jù)庫進行訪問,并將其處理成JSON格式返回給控制器層。
(4)控制器層將數(shù)據(jù)返回給前端頁面,前端根據(jù)不同的數(shù)據(jù)所在的位置進行頁面的局部刷新。
基于上述設(shè)計,“智慧思政文庫”系統(tǒng)包含了協(xié)同互助模塊、課程思政模塊、討論區(qū)模塊、資源檢索模塊、登錄模塊、注冊模塊和個人中心模塊。系統(tǒng)的功能模塊結(jié)構(gòu)如圖1所示。首頁的界面設(shè)計如圖2所示。課程資源的瀏覽界面設(shè)計如圖3所示。
圖1 系統(tǒng)功能模塊
圖2 首頁設(shè)計界面
圖3 課程資源瀏覽的設(shè)計界面
3.2.1 協(xié)同互助模塊
在系統(tǒng)提供的第三方技術(shù)保障之下,教師基于自己或者其他用戶上傳的教學(xué)思路在此發(fā)布互助需求,創(chuàng)作者對于資源創(chuàng)作提供技術(shù)支持。教師可根據(jù)需求復(fù)雜度設(shè)置創(chuàng)作者人數(shù)及其分工。教師與創(chuàng)作者緊密合作,共同參與到資源的開發(fā)過程,教師提供資源設(shè)計理念和想法,創(chuàng)作者依據(jù)教師提出的需求制作出滿足要求的資源。在整個過程中,創(chuàng)作者和教師在私聊區(qū)域進行資源內(nèi)容開發(fā)的深入交流,在交流過程中逐步完善個性化資源的制作。制作完成后,教師對制作出的成品進行驗收,結(jié)束整個互助流程。同時,平臺將追蹤資源互助完成進度,推動創(chuàng)作流程的順利進行,促進生成更多優(yōu)質(zhì)資源。
3.2.2 課程思政模塊
系統(tǒng)將資源所屬課程根據(jù)學(xué)科大類進行分類,用戶點擊對應(yīng)課程可查看相關(guān)的資源,資源類型分為課件、教案、思路、視頻、論文。同時平臺內(nèi)的用戶也可以進行資源上傳操作,實現(xiàn)資源共享,用戶上傳的資源若評分較高,可以提升平臺內(nèi)的信譽值。
3.2.3 討論區(qū)模塊
該模塊功能是發(fā)布問題以及回答問題,其中問題分為普通問題以及付費問題,付費問題用于激勵平臺內(nèi)用戶輸出更為專業(yè)的解答,用戶可以在個人中心修改付費問答的基本信息,以及選擇最優(yōu)回答給予酬金。
3.2.4 資源檢索模塊
檢索的內(nèi)容包括平臺內(nèi)的資源、需求、問題以及回答,根據(jù)用戶在平臺內(nèi)資源的瀏覽記錄、資源評分、創(chuàng)作記錄等信息,分析用戶潛在的資源瀏覽偏好,使用混合推薦算法對數(shù)據(jù)庫中檢索資源進行過濾及排序。
3.2.5 登錄模塊
用戶提交登錄信息后,向Spring Boot 控制器層發(fā)送登錄驗證請求,訪問數(shù)據(jù)庫獲取持久化對象,當(dāng)對象密碼校驗正確時,用戶成功登錄系統(tǒng),以便系統(tǒng)對用戶提供資源協(xié)同互助的支持及個性化的資源推薦。
3.2.6 注冊模塊
用戶提交注冊信息后,向Spring Boot 的控制器層發(fā)送注冊請求,為用戶生成持久化對象存儲于數(shù)據(jù)庫中。其中注冊信息包括用戶名、密碼、所在專業(yè)、感興趣的思政元素及課程等,以解決用戶初始登錄系統(tǒng)資源推薦冷啟動問題。
3.2.7 個人中心模塊
該模塊用于公開展示用戶的個人信息,包括用戶名、所在院校、所在專業(yè)、自我介紹、興趣愛好等,并提供用戶的資源訪問入口,包括互助情況、討論情況、所發(fā)布的資源等。對用戶本人開放資源制作進度追蹤,確保雙方能在指定時間完成資源制作。
本文開發(fā)的基于中文分詞算法和眾包協(xié)同的高校思政教育資源共享和互助系統(tǒng),使用了Python爬蟲、Spring Boot和Vue技術(shù),基于Scrapy爬蟲采集互聯(lián)網(wǎng)上的課程思政資源,利用TF-IDF 改進算法提取關(guān)鍵詞并將其關(guān)聯(lián)到知識點,通過用戶的資源協(xié)同互助實現(xiàn)資源庫的動態(tài)擴充,該系統(tǒng)借鑒了眾包和協(xié)同思想,使用界面簡潔清晰,可為從事教學(xué)改革的高校教師和從事資源開發(fā)的專業(yè)技術(shù)人員搭建合作共贏的平臺??蔀閺V大教師提供課程思政教學(xué)的輔助支持,具有良好的應(yīng)用價值。未來研究中,我們擬引入知識圖譜技術(shù)對資源所包含的思政元素及知識點間的關(guān)聯(lián)關(guān)系建模,進一步提高用戶資源搜索的滿意度和效率。