劉金花,樊敏,王洋,賀瀟磊
(1.山西醫(yī)科大學汾陽學院,汾陽032200;2.北方自動控制技術研究所,太原030006)
大規(guī)模線上課程的開放作為一種新型的教育模型引起各大高校和學習者的關注,但目前線上課程的發(fā)展備受高輟學率的打擊。顯然課程質量是導致學習者輟學的直接因素,然而通過挖掘和分析學習者的線上互動與課程評價,能夠及時發(fā)現(xiàn)學習者面臨的問題和困境,對教學質量的提升具有巨大的推動力。另外,通過挖掘和分析這些互動文本和評價還可以讓學習者從海量的線上課程中挑選出適合自己學習方式的課程。
線上互動與評價為課程建設者提供了一種較少侵入式收集和存儲學習者行為的數(shù)據(jù),已有大量的研究致力于對結構化數(shù)據(jù)進行分析,如學習者的點擊率、瀏覽記錄和提交作業(yè)記錄等。然而,由于大量的交互平臺中會大量產生基于文本的非結構化數(shù)據(jù),如課程評價,這些數(shù)據(jù)中不僅蘊含了學習者對課程更加主觀的評價,并且還會涉及到學習者的關注點和興趣所在,如對課程內容、教學風格、選用案例和平臺建設等的相關的評價。因此,探索學習者的這種互動行為,對于教師構建教學資料或者新課都具有極大的價值。通過主題動態(tài)的研究,教師可以找到學習者課程失敗的潛在原因,以便通過調整教學方法和完善教學資料來滿足未來學習者的需求,這也就同時解決了目前線上課程輟學率高的問題。
隨著實時互動信息媒體的出現(xiàn),涌現(xiàn)出大量的短文本數(shù)據(jù),如微博微信上的留言互評、搜索引擎中的搜索片段、在線課堂的討論與評價和BBS論壇上的留言等。挖掘這些短文本的主題可以發(fā)現(xiàn)隱藏在非結構化文本的底層結構,是一項很有意義但又具有挑戰(zhàn)性的任務[1]。因為短文本中只包含較少的幾個詞,這些詞又比較隨意、口語化嚴重且上下文信息缺乏,使得有效地表示短文本和從短文本中發(fā)現(xiàn)知識變得十分困難[2]。傳統(tǒng)的主題模型典型的有生成概率圖模型和非負矩陣分解,即LDA(Latent Dirichlet Allocation)[3]和NMF(Non-negative Matrix Factorization)[4]。然而,它們更適用于從內容豐富的文本中發(fā)現(xiàn)隱藏語義信息。為了解決上述問題許多人致力于短文本主題的研究。一種策略是利用詞匯內部的語義關系來克服詞共現(xiàn)缺乏的問題,如Nguyen等人[5]提出利用Word2Vec在非常大的語料上訓練詞向量,然后輸入到LDA模型中。另一種策略是通過將短文本聚合到偽文檔中來捕獲跨文檔的詞共現(xiàn)信息。如Hong等人[6]將同一用戶發(fā)表的短評聚集到了一個偽文檔中來豐富短文本中詞的語義信息;Li等人[7]和Sridhar V K R.[8]通過來自外部語料庫的詞匯語義信息來表示短文本中詞;Yan等人[9]也利用詞項相關信息提出了用Ncut加權的NMF短文本主題模型。盡管提出的這些模型確實在某些方面比較有優(yōu)勢,但效率很低且需要預先輸入兩個參數(shù)α和β。本文在NMF主題模型的基礎上提出了知識誘導的非負矩陣分解主題模型,它利用詞對之間的語義相似度作為具有低秩形式的圖拉普拉斯正則項來增加外部語言信息,因此學習效率非常高。
為了在短文本背景下獲得更準確的主題,利用外部的詞對來指導傳統(tǒng)的NMF文本主題模型,該模型稱為知識誘導的非負矩陣分解主題模型。標準的NMF中D的每一列代表一個文檔,U的每一列代表一個主題,V的每一列代表文檔在潛在語義空間中的一種新的約簡嵌入[10],如圖1所示。
圖1 NMF文本主題模型
然而,U的每一行代表了主題空間的一詞項。一個好的學習模型應該不僅能夠保留語料庫中潛在的信息,而且還能夠保留不同詞對之間的關系,例如“課程”和“教學大綱”之間的關系要比“課程”和“技巧”之間的關系更密切。因此,整合了從外部知識學習到的詞對之間的語義知識,這些知識可以從維基百科中訓練獲得,引入外部知識后可以使NMF短文本主題模型得到很大的改善。
用sij表示詞wi和wj從外部知識中獲得的相似度。U的每兩行(每行代表一個單詞項)之間的相似度應該與來自外部知識的相似度一致。具體來說,我們可以做以下最小化:
其中ui*表示主題矩陣U的第i行,L=diag(S·1)-S,1表示全為1的列向量,S=(sij)。結合語料庫和外部知識庫,可以將基本的NMF與詞對語義知識相結合,最終得到式(2)所示的優(yōu)化模型:
其中,λ是超參數(shù)來平衡文檔數(shù)據(jù)集信息和外部知識之間的重要程度。在這里還得注意,圖拉普拉斯矩陣L的維數(shù)是M×M,當詞匯量很豐富時M的值會變得很大,這是算法運算速度的一個障礙,我們用一個低秩形式化表示以提高算法效率。
公式(2)整體上它是非凸的,很難得到全局最優(yōu)解。在實際應用中通常通過尋求局部最小值的方式解決。通過交替迭代的方式得到局部最優(yōu)解。令公式(2)等于變量J。
對V的每個變量Vij采取梯度下降的方法來對V進行更新:
上述迭代式中S·U的復雜度為O(KM2),當詞匯豐富時計算量會很大。這里我們采用了低秩形式來表示S。具體地說,假設每個單詞都采用Word2Vec從外部知識(Wikipedia)訓練出的q維列向量w來表示,那么對于wi和wj任意兩個單詞之間的相似度可定義為:
其中W=[w1,w2,…,wM]T∈RM×Q,用公式(10)替換公式(8)中的S,得到式(11):
將S·U的復雜度從O(KM2)降低到O(MKQ),由于Q和K通常比M小得多,計算效率大大提高。這里將知識誘導的非負矩陣分解短文本主題模型用算法1進行總結。
算法1:知識誘導的非負矩陣分解短文本主題模型輸入:文檔集合用TF-IDF表示的矩陣D,主題數(shù)K,詞向量W;超參數(shù)λ輸出:詞項-主題矩陣U和詞項-文檔矩陣V 1 begin:2 隨機初始化U和V;3 For t=1,2,…,T do 4 利用迭代式(6)更新V 5 利用迭代式(11)更新U 6 if收斂條件滿足then 7 Break;8 End 9 End 10 End
本文在MOOC網(wǎng)站上選取北京理工大學開設的《大學計算機》這門課,采用Python編寫爬蟲自動爬取該課程下相關的課程評價,每條評價都記錄了評論者的ID、評論日期、課程的完成狀態(tài)和評論文本,并將其解析為純文本文件。該課程共有65900多人參與學習,有3942條課程評價。
另外,為了對評論文本進行分析,按以下準則對評論數(shù)據(jù)進行預處理:
(1)由于絕大多數(shù)的評論都是短評,所以將評論按照標點進行了切分。
(2)去掉了評論中全是字母、全是數(shù)字、全是標點符號或者整個評論都是一個字等無效評論。如:“kk jhhjhjhjb”、“12121212”、“.....”、“哈哈哈哈哈哈”、“啦啦啦啦啦”等。
(3)采用中國科學院ICTCLAS(Zhang,Yu,Xiong,&Liu,2003)的中文分詞系統(tǒng),將每個句子進行了分詞。
(4)去除評論數(shù)據(jù)中存在的一些表情符號。而形容詞、副詞、動詞和名詞被認為對理解文本意義更有幫助,于是對評論句進行了詞性標注。
表1 采集到的數(shù)據(jù)的基本統(tǒng)計描述
根據(jù)上面第2節(jié)介紹的主題模型,對評論文本進行主題的提取,將課程評價從課程內容、平臺信息和學習者體驗三個維度分為了六大主題類,要注意的是這里我們設置超參數(shù)λ=5。表2為主題類型及對應的關鍵詞。根據(jù)主題的關鍵詞,我們將課程評價句進行主題標記,要求每個短評都隸屬于一類主題。
表2 課程評價的主題分類
為了分析學習者的學習行為與評價的關系,根據(jù)學習者的課程狀態(tài),將這些評論數(shù)據(jù)分成兩組:完成者和未完成者。另外,我們根據(jù)上述主題分類的方法將這兩組的課程評價也進行了分類,這里每個評價文本只能屬于一個類別,圖2為統(tǒng)計結果。從圖2中可以看出,完成者更傾向于分享自己的學習體驗,而未完成者的評價分布在各個主題類別中,更多評論集中在平臺信息中。從這里也可以推測出可能是由于在使用平臺時不熟練或不滿意,而導致他們放棄學習。
圖2 兩種狀態(tài)學習者的主題分類統(tǒng)計
從上面評價文本抽取出的主題發(fā)現(xiàn),其實每個主題中都有表達觀點的詞語。如“喜歡”、“全面”、“用心”、“詳細”、“模糊”、“抽象”等。這些觀點詞能真實表達評論者的情感傾向。為此,本文將課程評價用〈評價主題,修飾詞,情感特征〉三元組表示,其中評價主題為上面抽取出的六大類,如課程內容、課程組織、講授方式、平臺信息、學習者體驗和其他;情感特征就是評論者針對課程教學發(fā)表的觀點,當然我們需要構建教學領域的情感特征詞庫;修飾詞包括否定修飾詞和程度修飾詞,主要用來表達情感傾向的強弱。表3給出了部分常用情感特征的修飾詞。
表3 常用情感特征的修飾詞
從漢語言學的角度分析,在一條評價語句中評價的主題詞性多是名詞或動詞,如“內容”、“講解”、“設計”、“聲音”等;情感特征詞多是形容詞、動詞或動名詞,如“具體”、“詳細”、“新穎”等,我們通過詞性標注的方式提取并構建了情感特征詞庫,表4所示為情感詞匯及分值的部分示例;至于修飾詞絕大多數(shù)是副詞,如表3所示。
表4 情感特征詞匯及分值的部分示例
由于我們將每條課程評價都按標點進行了切分,那么每個小短句必定評價的是一個主題,而其中的情感特征詞和修飾詞也必然是刻畫這個主題的。因此,對詞性標注后的評價句遵循一定的匹配規(guī)則就可以很方便轉換為〈評價主題,修飾詞,情感特征〉三元組的形式。這里特別要注意否定修飾詞和程度修飾詞同時出現(xiàn)的情況,表5給出了轉換為三元組的部分評價句。
表5 評價句轉換為三元組的部分示例
對于提取到的三元組,接下來就可以計算每個評價句的情感極性,根據(jù)情感特征詞匯的分值和修飾詞的乘積進行情感打分。否定修飾詞的分值為-1,強化程度修飾詞分值為2,弱化程度修飾詞分值為-0.5,沒有程度修飾詞分值為1。另外,還需要考慮轉換成三元組,沒有情感特征詞或者情感特征詞不在情感特征詞庫中的情況,如表5中的例句3。這時我們都按中性詞統(tǒng)一賦值為0.3。表6給出了部分評價句的情感得分。
表6 評價句情感得分部分示例
根據(jù)上述規(guī)則,就可以得到所有評價句的情感得分。其實對于課程的建設者來說,他們更關注的是負面的評價,以便對課程進行改進和完善。根據(jù)因此,我們對所有情感得分為負值的評價句進行了主題統(tǒng)計分析,如圖3所示。從圖中可以看出學習者對平臺信息的負評價最多,課程內容次之。追溯到原始評價句,發(fā)現(xiàn)有這樣的一些評論“視頻畫質是真的差”,“還可以,一般般”,“錄制質量不高”,“聲音不清楚”,“感覺有點難”,“有一些磕磕巴巴的說不清楚和出錯”,“上網(wǎng)課真無聊”,“太難學不會”,“作業(yè)多”,“講述水平一般”……,課程的建設者可以很快地找出學習者的困惑和他們的關注點,不斷對課程進行改進。
圖3 各類主題負評價占比
本文通過對線上課程的課程評價進行主題挖掘,發(fā)現(xiàn)學習完成者更傾向發(fā)表自己的學習體驗,并且也更關注課程的內容;而未完成者更多地會對平臺信息提出意見,更關注課程的組織和講授方式。接著本文各類主題的評價句進行了觀點的抽取和情感打分,可以很方便地發(fā)現(xiàn)負面評價集中在哪方面,以便課程建設者進行課程的改進和調整。