陳之翼,王 聰,李 敏,3+
(1.四川師范大學 計算機科學學院,四川 成都 610101;2.四川師范大學 影視與傳媒學院,四川 成都 610068;3.電子科技大學 網絡與數據安全四川省重點實驗室,四川 成都 610054)
以MOOC(massive open online courses)為代表的智慧教育技術能夠集合世界各大高校的優質課程資源,為知識傳播開辟了新的途徑[1]。對于課程的初學者來說,如何在學習中準確認知專業課程中的知識點,提升學習的效率和進度,始終是教育學界廣泛關注的熱點問題[2]。然而各類視頻課程涵蓋了眾多學科的不同領域,考慮到MOOC環境下過高的師生比,且存在大量的以傳播知識而非盈利為目的的公共課程,以人工標注的方式識別各學科、各課程的知識點并不現實。
MOOC字幕內容是對課程內容的最大限度還原。一個直觀的思路是利用自然語言處理中的命名實體識別(named entity recognition,NER)方法,以字幕為標本,從中抽取利于學生理解的專業知識點。在視頻內容中抽取領域知識點不同于從文獻資料中抽取專業術語,由于字幕內容具有偏口語化的特點,導致待抽取文本中夾雜著大量噪聲數據,會在一定程度上增加識別難度,影響最終的抽取結果。
而MOOC環境下的知識點抽取亦有其獨有的特征:
(1)數據量大且現有文本標注數據較少,人工標注成本高;
(2)單一課程語料數據量較少;
(3)文本特征復雜,偏口語化;
(4)知識點層次化特征明顯;
(5)涉及的多為公開知識并可與域外知識庫相互印證。
如何實現簡潔高效的MOOC領域知識點提取,目前尚未引起學術和工業界的廣泛關注。根據以上特征,本文在避免海量人工標注的前提下,提出了一種MOOC環境下領域知識點的多重濾波提取方法。
利用MOOC等智慧教育應用所積累的海量數據來引導和改進學習過程,是當前研究工作的熱點。文獻[3]通過數據驅動的方法檢測分析學習者的學習動機,以提高學習效能。文獻[4]根據學生在圖書館的借閱情況,對學生的成績進行有效預測。文獻[5]基于MOOC平臺數據,使用知識追蹤(knowledge tracing)機制來跟蹤學習過程,實現個性化學習推薦。文獻[6]提出一種大數據分析技術來挖掘用戶之間的未知相關性,并引導學生進行學習方式的轉變。文獻[7]提出一種基于學生在線學習順序行為的協同過濾推薦算法,以提高學習資源推薦的準確性。文獻[8]通過捕捉分析學生的學習數據來識別學生的學習狀態。知識圖譜技術在MOOC環境下也有了初步應用。文獻[9]提出了在課程層面預測兩個概念圖譜之間概念未知聯系的思路,實現了跨圖譜的知識鏈接,用于對學習者的精確引導。在此基礎上,文獻[10]提出構建跨平臺MOOC知識圖譜以提高在線學習資源利用率。而在MOOC環境下無論是知識圖譜構建亦或知識追蹤機制都依賴于專業課程領域知識點的有效提取。
早期命名實體識別任務是依靠詞典與模式匹配算法完成的,通過領域專家制定相關規則及模板去精準匹配自然語言文本中的命名實體,可以識別的實體類型也僅限于人名、地名和時間等。Rau在其發表的《Extracting company names from text》采取了手工編寫規則與啟發式算法相結合進行公司名稱抽取,針對該特定領域效果良好,但是人工構建的規則可移植性及可擴展性較差。隨后人們開始將統計機器學習方法引入命名實體識別領域。Bikel、John Lafferty、Ratinov等分別提出采用HMM(hidden Markov model)模型,CRF(conditional random fields)模型及Word Class Model解決命名實體識別任務[11]。在小數據集上取得了較好的擬合效果。隨著計算能力及詞嵌入技術的發展,深度學習開始被引入到自然語言處理領域。通常將深度學習與傳統的統計機器學習相結合,如BiLSTM結合CRF[12-15]:將分詞進行稠密向量化表示,以序列的形式作為輸入,經BiLSTM處理后輸出每個分詞對應所有標簽的得分,作為CRF的輸入。該過程是一個端到端的過程,很好地利用了深度學習在表示學習方面的優勢,省掉了人工特征工程的代價,且采用CRF作為實體類型標注體系輸出的全局最優化的保證,實驗證明BiLSTM與CRF的結合效果已經在多數數據集上超越了基于豐富特征的CRF,逐漸成為基于深度學習的命名實體識別方法中最主流的模型。還有一些研究在此基礎之上使用注意力機制來提高模型效果[16,17]。但是需要大量人工標記的訓練數據進行特征訓練才能保證抽取效果,而訓練時間也會隨訓練數據量的增大而增大。針對僅有少量標注樣本情況下的命名實體識別問題,目前主要采用遷移學習[18,19]或半監督學習[20]方法來解決。但由于標注數據量較少,且文本特征復雜,針對特定領域的抽取結果還不是特別理想。
針對智慧教育環境下的知識點提取問題,以MOOCs環境為基準,提出一種面向英文視頻課程的領域知識點提取方法。其基本算法流程如圖1所示,包括以下幾個步驟:

圖1 領域知識點的多重濾波提取
(1)字幕文本處理及名詞實體提取:首先利用爬蟲爬取到MOOC平臺視頻課程的字幕文本,并劃分成語句,以語句文本作為輸入單位,利用詞法分析及淺層句法分析對語句文本進行實體檢測(語塊提取),根據修飾詞與實體詞根之間的依賴關系及詞性標注結果,抽取出字幕文本中實體的最簡化表達形式。
(2)候選知識點篩選:將對應領域專業參考文本與字幕中抽取的實體分別進行詞元交集過濾、詞頻閾值過濾及TF-IDF過濾,以去除噪聲,生成領域知識點候選實體。
(3)領域知識點生成:采用正向最長匹配算法匹配已入領域詞庫的專有名詞實體;利用基于語義知識庫的倒向實體迭代相似度計算方法來實現未入庫詞類別歸屬的判定,解決了非扁平化實體表達下的專業實體嵌套問題,從而生成領域知識點。
在字幕文本的處理中,以每個視頻對應的英文字幕作為一個段落,利用語句邊界檢測方法將每個段落劃分成多個語句,以語句文本作為基本輸入。接下來,根據淺層句法分析得到分詞間的依賴關系,進而抽取出以名詞為中心的實體;再根據詞性標注結果過濾掉各種無特殊意義的修飾詞,初步實現字幕文本的名詞實體抽取。
第一步進行詞法分析。詞法分析包含分詞(tokenization)、詞性標注(part-of-speech tagging)等操作。以連續的自然語言文本為輸入,返回語義完整的詞序列,并為詞序列中的每個元素打上對應的詞性標簽。不同自然語言處理工具給出的詞性標簽有一定差異,本文使用基于統計的方法,以SpaCy作為處理工具。以輸入文本“KNN is the basic classification algorithm in machine learning.”為例,得到分詞及詞性標注結果見表1。

表1 實驗參數及結果
以字幕語句文本為輸入,為獲取實體的樸素表達形式,抽取實體時排除掉除名詞、動詞和形容詞之外其它所有詞性的分詞,包括數詞、冠詞、副詞等修飾性詞語,簡化了實體的組成成分。
第二步進行淺層句法分析。由于很難確定語句各成分之間的明確關系,因此本文采取淺層句法分析。淺層句法分析是自然語言處理中的新興處理策略,不用像完全句法分析一樣生成一棵完整句法分析關系樹,而是通過修飾詞與子成分核心(名詞)之間的支配關系,將子成分中的分詞連接成語塊。如圖2所示,基于淺層詞法分析結果,可以很好地識別句子中的獨立成分。

圖2 句法依賴關系
將淺層句法分析中識別出的語塊,結合詞性標注過濾掉的修飾詞,即可得到實體的最簡化表達形式。
本文抽取的實體通常為以名詞為中心的詞組,詞組的詞根即該名詞,而該名詞的詞元通常情況下可以理解為一類實體的概念化或抽象表達,即一類詞的本體(Ontology)。通過對本體詞頻的統計可以反映出一類實體的特點及重要程度。因此,在抽取名詞實體的同時記錄實體對應的詞根的詞元。
為了去除抽取實體中的非知識點成分,我們采用三重濾波機制進行初步去噪處理,流程如圖3所示。

圖3 三重濾波去噪流程
首先去除抽取實體中出現的口語化成分。本文提出一種基于參考文本的交集過濾方法,即取視頻課程對應同名或內容近似參考書中的文本作為參考,將參考文本進行相同實體抽取處理,根據詞根的詞元,將字幕實體和參考文本實體進行交集過濾。由于參考文本中的專業知識點含量大于課程中涉及的知識點,交集操作可初步過濾部分口語化實體。
其次,交集過濾之后,考慮到知識點在課程中出現的頻率比普通實體偏高的特點,根據詞元出現的頻率,人工設定閾值對去口語化實體進行閾值過濾,過濾掉大量噪聲實體。
最后,篩選出的實體中還存在出現頻率較高的非知識點成分,一般是通用實體,如{problem、way、step、user}等。根據此特性,采用TF-IDF算法進行再次過濾,去掉TF-IDF值明顯較小的詞匯。
通過以上三重濾波,能較好地實現知識點的去噪處理。
在去噪處理后取得領域知識點候選實體,使用基于詞典的方法對候選實體進行精確匹配。根據公開領域知識庫來人工定制專業詞典,記錄部分領域專有名詞及其簡稱來匹配領域知識點;再根據正向最長匹配原則來識別已存在于詞典中的領域知識點。并且在匹配時將候選知識點中的分詞進行不同形態變換,從前向后依次匹配詞典中的領域實體。
為了提高查找效率,創建字典集合存儲領域詞典中的實體及其對應的首個分詞。將待匹配分詞序列在與其具有相同首分詞的實體集合中進行匹配。從第一個分詞開始向后依次匹配,直到序列中全部分詞匹配完成,若匹配成功則判定為領域知識點。
在詞典匹配的過程中,常常存在實體嵌套的情況,而大多數命名實體識別只能處理扁平化的實體識別,通常會忽略整體實體中的內嵌實體,或將整體實體分別識別為不同細粒度的語義信息。采用實體最長匹配算法在對實體整體進行匹配的同時,還可以識別出整體實體中的內嵌實體。
具體的算法實現如下:

算法1:基于詞典的最長匹配算法/*集合D表示根據詞典構建的字典*//*集合B表示輸入的實體分詞序列*/(1)begin(2) flag←False,(3) c←’’,(4) t←’’,(5) R←[];(6) for i in B do(7) if flag and (c+i)not in D[t].items() then(8) if c in D[t] then(9) c→R(10) t←’’(11) c←’’(12) flag←False(13) if i in D.key()and!flag then(14) t←i(15) flag←True(16) c←i(17) else if flag and (c+i) in D[t].items() then(18) c←c+i(19) else then(20) continue(21) end(22) end(23) return R(24)end
其中,c表示作為輸入的分詞若出現在字典集合中,則進行分詞累加的結果,t表示在字典key中出現的分詞,D[t]表示以t為key對應的實體集合,D[t].items( )表示遍歷以t為key的實體集合中的每個元素,R是用來存儲識別出符合算法的領域知識點的集合。
經過領域詞典的匹配之后,需要對剩余候選知識點(未入庫詞)進行識別,因此本文提出一種基于WordNet語義知識庫的倒向實體迭代相似度算法對未入庫詞的類別歸屬進行判斷。
WordNet是基于語義的結構化知識庫,其中單詞的連接包含了語義聯系,根據詞條的意義將單詞分組,每一個具有相同意義的單詞組成一個同義詞集。WordNet還提供了計算同義詞集特征的算法,利用這些算法可以計算出詞匯在不同特征空間中的距離,距離越近則越相似,由此可以計算出單詞之間的語義相似度。
首先根據已構建好領域詞典中詞匯的詞元,在WordNet中尋找同義詞集,將所有同義詞集中的全部元素記錄到一個集合中。之后將組成實體的分詞序列倒向與集合中的所有元素進行語義相似度計算,取最大值為該分詞的相似度取值,最后進行加權平均,得到實體的相似度。預定義相似度閾值,相似度高于該閾值則判斷為相似詞匯。
一個直觀的特征是,實體中越靠后的分詞對實體語義識別越關鍵。以實體“Bayes classification algorithm”為例,首先這個實體代表一種算法,其次其意義是一個分類算法,最后才是對該算法的命名。對于由n個分詞構成的實體,對每個分詞wi,定義衰減因子σi,給出實體相似度計算公式
(1)
式中:σi采用倒向指數衰減策略賦值,并使用一種改進的softmax方法歸一化處理,定義為
(2)
式中:引入偏移因子λ以調節衰減速率。本文中取λ=1。
在“Bayes classification algorithm”的示例中,假定閾值為0.75,首先計算最后一個分詞algorithm與集合中實體的相似度sim(algorithm),隨后依次向前計算每個分詞的相似度。若Sim的值大于閾值0.75則判定實體“Bayes classification algorithm”屬于該領域。
具體算法,實現如下:

算法2:倒向實體迭代相似度算法/*集合T表示輸入實體的分詞序列 *//*集合D表示詞庫詞元同義詞集序列 */(1)begin(2) Sim←0,(3) s←0.75,(4) for i←n-1 to 0 do(5) max←0(6) for j in D do(7) if sim(j, T[i])>max then(8) max=sim(j, T[i])(9) end(10) end(11) Sim←Sim+max*decent(12) end(13) if Sim>s then(14) return True(15) else then(16) return False(17) end(18)end
其中sim(j,T[i])代表分詞T[i]與同義詞集中的分詞j的相似度,s代表給定的相似度閾值,n為輸入分詞序列T的長度,decent表示每個分詞對應的衰減因子。
本文涉及的實驗語料數據均來自爬蟲爬取MOOC平臺Coursera《機器學習》課程(https://www.coursera.org/learn/machine-learning/)2018下半學年內容字幕文本。該語料共包含113篇課程字幕文檔,經文本邊界判斷處理后得到9351個句子。將處理得到的句子使用基于統計的方法進行分詞、詞性標注、句法依存關系判斷操作,處理框架使用spaCy(https://spacy.io/)。參考文本取自于Murphy所著的參考書《Machine Learning:A Probabilistic Perspective》[21]。
本實驗運行于Windows10 64位操作系統環境下,Intel Core i7-8750H CPU,2.2 GHz主頻,8G RAM,NVIDIA GeForce GTX 1050 Ti。
模型參數分為詞頻閾值、TF-IDF閾值、相似度閾值3個部分,為確定模型參數對模型性能的影響,本文分別改變詞頻閾值、TF-IDF閾值、相似度閾值3個變量的取值,并對實驗結果進行了統計,統計結果見表2。

表2 實驗參數及結果
本實驗采用衡量二分類任務中模型優劣的通用指標F1值作為度量標準,同時兼顧了分類的準確率(precision)與召回率(recall),取值在區間[0,1]內。F1值的計算公式如下
(3)
式中:P為準確率(precision),表示預測為正的樣例中,預測正確的數量;R為召回率(recall),表示在所有正向樣本中,預測正確的數量。計算公式分別如下
(4)
(5)
其中,TP為預測為正的正樣本個數,FP為預測為正的負樣本個數,FN為預測為負的正樣本個數。
為了驗證模型性能,分別使用目前通用的BiLSTM-CRF[12]、LSTM-CRF[14]、BiLSTM-CNN-CRF[14]模型在爬取的MOOC視頻課程字幕文本上運行,將數據集按6∶2∶2劃分為訓練集、開發集、測試集,參數已調至最優,見表3,在忽略人工標注時間的前提下,統計得到的結果與本文提出的多重濾波提取方法運行結果對比見表4。

表3 實驗參數設置

表4 實驗結果對比
從實驗結果可以看出,針對MOOC環境下視頻課程這一特定領域知識點的抽取,本文抽取模型的F1結果達到89.5%,比LSTM-CRF模型及BiLSTM-CRF模型結果分別提高了10.2%和3.6%,效果略好(或相當)于目前最通用的BiLSTM-CNN-CRF模型,并在計算代價上有相對顯著的優勢。
智慧教育環境下的課程內容知識點作為生成課程內容知識體系的基礎步驟,具有重要的意義與實用價值。為減少人工識別的成本,降低識別的錯誤率,本文提出一種MOOC環境下的領域知識點提取方法。通過詞法分析及句法分析抽取所有實體,利用交集過濾、閾值過濾、TF-IDF過濾去除噪聲,生成含有少量噪聲的專有名詞實體。將這些篩選出的實體通過與公開詞庫匹配及倒向實體迭代相似度計算等過程,最終產生抽取出的專業知識點。本實驗抽取模型與傳統算法相比較,擁有以下幾點優勢:①人工干預度較小,有效降低了人力成本;②可以針對智慧教育環境視頻課程這個特定環境進行多領域知識點抽取;③對未入庫詞的類別歸屬可以進行較為精準的判斷。下一步的工作中,將著力探索本文涉及的倒向指數衰減策略與注意力機制的關系,并試圖將其推廣于更廣泛的領域。