謝志慶 張曉天 閆秋艷 胡妍 高淑娟
摘? ?要:目前,雨課堂的使用產(chǎn)生了大量學(xué)生觀看演示文稿的數(shù)據(jù),如何更加高效地利用這些數(shù)據(jù)成了文章的研究起點(diǎn)。為此,需要按頁(yè)提取演示文稿中的關(guān)鍵信息。文章通過(guò)分析演示文稿文件的設(shè)計(jì)特點(diǎn),建立一個(gè)評(píng)價(jià)體系,對(duì)演示文稿中的文本內(nèi)容依據(jù)文本特征(顏色、字號(hào)、字體、粗體、斜體)進(jìn)行分析從而估計(jì)重要指數(shù)。結(jié)合重要指數(shù)的評(píng)分,選取最大的k個(gè)_Run對(duì)象提取關(guān)鍵詞或是結(jié)合TF-IDF算法,根據(jù)詞頻提取關(guān)鍵詞,以實(shí)現(xiàn)對(duì)教學(xué)課件按頁(yè)提取關(guān)鍵信息。借助Python的pptx模塊和jieba模塊,實(shí)現(xiàn)教學(xué)課件關(guān)鍵詞的提取。最后,以“數(shù)據(jù)庫(kù)原理”課程為例,進(jìn)行關(guān)鍵詞的提取,以此進(jìn)行有效性的檢驗(yàn)。結(jié)果表明,文章所提出的基于演示文稿文本屬性的關(guān)鍵詞提取算法準(zhǔn)確率可以達(dá)到82.32%。
關(guān)鍵詞:教學(xué)課件;關(guān)鍵詞提取;文本特征;Python;雨課堂
1? ? 問(wèn)題的提出
隨著多媒體技術(shù)的發(fā)展,傳統(tǒng)課堂模式漸漸發(fā)生了改變,PPT教學(xué)應(yīng)運(yùn)而生。PPT以簡(jiǎn)單明了、重點(diǎn)突出的特點(diǎn),已經(jīng)成為教師課堂教學(xué)和學(xué)生課下學(xué)習(xí)必不可少的工具。從小學(xué)到中學(xué),再到高等院校,都可以看到PPT的應(yīng)用。
目前,雨課堂所能提供的只是簡(jiǎn)單的數(shù)據(jù)信息,比如觀看時(shí)長(zhǎng)。然而,這些數(shù)據(jù)并不能直觀地展示學(xué)生的問(wèn)題所在,如何按頁(yè)識(shí)別教學(xué)課件中的關(guān)鍵信息成為本文的研究要點(diǎn)與亮點(diǎn)。
江婷等[1]依據(jù)演示文稿中文本框的位置,提取關(guān)鍵詞。但是,演示文稿設(shè)計(jì)的靈活性意味著僅依靠文本框的相對(duì)位置提取關(guān)鍵詞存在局限性。設(shè)計(jì)者并非按照固定的格式進(jìn)行制作,這也是PPT文本挖掘的難點(diǎn)所在。
希望在未來(lái)可以通過(guò)提取教學(xué)課件的關(guān)鍵詞,配合教學(xué)課件的閱讀記錄,精準(zhǔn)定位學(xué)生在學(xué)習(xí)過(guò)程中的隱藏問(wèn)題,加以因人而異的輔導(dǎo),學(xué)生可以進(jìn)行個(gè)性化學(xué)習(xí),實(shí)現(xiàn)學(xué)業(yè)減負(fù),質(zhì)量提升。
本文借助Python第三方庫(kù)pptx的使用,根據(jù)文本的屬性信息,采用加權(quán)算法得到關(guān)鍵詞。如果屬性無(wú)差異,則使用詞頻—逆文本頻率指數(shù)(Term Frequency-Inverse Document Frequency,TF-IDF)算法,實(shí)現(xiàn)對(duì)教學(xué)課件按頁(yè)提取關(guān)鍵詞。PPT文檔結(jié)構(gòu)如圖1所示。
2? ? 文檔結(jié)構(gòu)的分析
Office系列軟件自2007版本之后采用了一種以可擴(kuò)展標(biāo)記語(yǔ)言(Extensible Markup Language,XML)為基礎(chǔ)并以ZIP格式壓縮的電子文檔規(guī)范[2]—開放式辦公室軟件(Open Office XML,OOXML)格式存儲(chǔ)文件[3],現(xiàn)已成為國(guó)際文檔標(biāo)準(zhǔn),于2006年12月成為歐洲計(jì)算機(jī)制造聯(lián)合會(huì)標(biāo)準(zhǔn)。
OOXML是將演示文稿文件另存為后綴ZIP的文件,進(jìn)行壓縮。解壓后,以演示文稿的名字為名的文件夾中包含4項(xiàng)內(nèi)容,即3個(gè)文件夾:_rels,docProps,ppt和一個(gè)文件:[Content_Types].xml。
(1)_rels文件夾:存放rels.xml文件,是解析整個(gè)演示文稿文檔的入口文件。
(2)docProps文件夾:存放App.xml,Core.xml和一個(gè)jpeg圖片。其中,App.xml描述的是文檔的屬性,包括演示文檔的各個(gè)屬性,例如字體、版本等。
(3)PPT文件夾:包含若干個(gè)文件夾,_rels,media,slideLayouts,slides和theme等,存放演示文稿的主要信息。
(4)[Content_Types].xml文件:描述整個(gè)演示文稿文檔內(nèi)容的類型,將各個(gè)XML文件進(jìn)行整合。
在XML文件中,塊級(jí)元素的段落標(biāo)志為a:p,次級(jí)元素標(biāo)志為a:r,表示連續(xù)的一段文本,字體屬性信息元素標(biāo)志為a:rPr,一段采用字體樣式等屬性相同的連續(xù)文本則用更次一級(jí)的元素a:t將其內(nèi)容包含進(jìn)來(lái)[4],如圖2所示。
3? ? 對(duì)象模型
為了能夠獲取PPT文本及文本屬性,需要建立相關(guān)的屬性。本文依據(jù)參考復(fù)合文檔提取文本信息的流程[5],建立了PPT文本提取的對(duì)象模型,如圖3所示。
(1)Presentation對(duì)象是演示文稿文檔的標(biāo)志部件,代表一個(gè)PowerPoint演示文稿。
(2)Slides對(duì)象代表演示文稿的頁(yè)面序列,即當(dāng)前演示文檔的全部頁(yè)面。
(3)Slide對(duì)象代表當(dāng)前訪問(wèn)的PPT頁(yè)面。
(4)SlideShapes對(duì)象代表當(dāng)前頁(yè)面的所有形狀shape對(duì)象的序列。
(5)Shape對(duì)象代表當(dāng)前訪問(wèn)PPT頁(yè)面的某一形狀。
(6)TextFrame對(duì)象代表當(dāng)前訪問(wèn)Shape對(duì)象的文本框,PPT中的文本信息儲(chǔ)存在文本框中。
(7)_Paragraph對(duì)象代表當(dāng)前文本框中的段落。
(8)_Run對(duì)象代表字體樣式等屬性相同的連續(xù)文本。
(9)Font對(duì)象代表文本中文字屬性,包含字體大小、名稱、粗體、斜體等屬性信息。
基于以上所建立的演示文稿對(duì)象模型,可以看到,_Run對(duì)象是演示文稿信息提取的基本單元,F(xiàn)ont對(duì)象反映_Run對(duì)象的文本屬性信息。
4? ? 算法設(shè)計(jì)與分析
4.1? 設(shè)計(jì)思路
通過(guò)大規(guī)模地分析教學(xué)課件的結(jié)構(gòu)特點(diǎn),總結(jié)出了教學(xué)課件設(shè)計(jì)的兩個(gè)主要特點(diǎn):(1)重點(diǎn)突出:演示文稿作為課堂教學(xué)的主要形式,重點(diǎn)突出是其最大的特點(diǎn)。一般都會(huì)從顏色、字體、字號(hào)、粗體、斜體或者下劃線等突出重點(diǎn)內(nèi)容。(2)簡(jiǎn)明扼要:PPT的主要功能是為了演講,以最直觀、明了的形式表達(dá)演講者的意圖。在內(nèi)容設(shè)計(jì)上,設(shè)計(jì)者會(huì)直截了當(dāng)?shù)乇磉_(dá)自己的意圖。
依據(jù)教學(xué)課件的特點(diǎn),采用一種參考文本屬性為_Run對(duì)象打分的方法,實(shí)現(xiàn)對(duì)教學(xué)課件關(guān)鍵詞的提取。
4.2? 關(guān)鍵詞提取的主要算法
首先,本文通過(guò)Font對(duì)象衡量演示文稿_Run對(duì)象的差異性,若全部_Run對(duì)象的差異性相同,則采取基于字頻的TF-IDF算法提取關(guān)鍵詞;否則直接選取差異性最大的k個(gè)_Run對(duì)象提取關(guān)鍵詞。
4.2.1? 算法設(shè)計(jì)
為了計(jì)算顏色、字體、字號(hào)、粗體、斜體和下劃線6個(gè)屬性在每一張Slide上的重要性Zij,定義為:
(1)
式中,Xijk為第i頁(yè)中第j個(gè)_Run對(duì)象的某一文字屬性分量相同時(shí),所有_Run對(duì)象的數(shù)量。顯然,wijk是一個(gè)在0到1取值的數(shù),為某一屬性的權(quán)值。
顯然,對(duì)于一張演示文檔中某個(gè)_Run對(duì)象而言,其自身某個(gè)屬性出現(xiàn)的頻率越小,其權(quán)值越大,其包含的文本越有可能成為關(guān)鍵詞。
那么,在第i個(gè)頁(yè)面中,第j個(gè)_Run對(duì)象的重要性Zij為:
(2)
式中,n為PPT文字中屬性的個(gè)數(shù)。mk(k=1,2,…n)為每個(gè)屬性的影響系數(shù),本文中取1,即每個(gè)屬性的影響系數(shù)是相等的。
如果所有的Zij值都是一樣的,則直接采用TF-IDF算法進(jìn)行關(guān)鍵詞提取。反之,對(duì)Zij(j=1,2,3……jmax)進(jìn)行排序,選擇最大的k個(gè)Zij。根據(jù)下標(biāo)j尋找Tij,即該_Run對(duì)象的文本內(nèi)容。
之后,將文本內(nèi)容進(jìn)行詞語(yǔ)選擇處理[6],對(duì)于重要性Zij得分較大的對(duì)象提取其文本,使用Python的jieba模塊進(jìn)行分詞,分詞后提取規(guī)則如下。
(1)去除停用詞,即一些常見的形容詞、動(dòng)詞、介詞等。
(2)優(yōu)先篩選名詞、形容詞。
(3)至少選取一個(gè)詞。
4.2.2? 算法流程
本文關(guān)鍵詞提取算法流程如圖4所示。
(1)通過(guò)Presentation(path_to_file)方法獲取演示文稿文件,將其轉(zhuǎn)為Presentation對(duì)象。
(2)通過(guò)Presentation(path_to_file).slides()方法獲取當(dāng)前演示文稿的Slide對(duì)象序列。
(3)通過(guò)索引index1指示Slide對(duì)象的編號(hào),對(duì)index1指示下的演示文稿進(jìn)行分析。
①通過(guò)Presentation(path_to_file).slides()[index1].shapes獲取索引index1指向頁(yè)面的Shape對(duì)象序列。
②通過(guò)index2指示當(dāng)前Slide對(duì)象中Shape對(duì)象的編號(hào), 通過(guò)Presentation(path_to_file).slides()[index1].shapes[index2] 獲取索引index2指向的Shape對(duì)象。通過(guò)has_text_frame()方法判斷是否含有文本框,若不存在TextFrame對(duì)象則輸出空字符,進(jìn)行下一個(gè)頁(yè)面的獲取;否則進(jìn)行下一步。
③通過(guò)Shape對(duì)象的text_frame()方法獲取當(dāng)前Shape對(duì)象的文本框?qū)ο骉extFrame。
④通過(guò)TextFrame對(duì)象的paragraphs()方法獲取當(dāng)前TextFrame對(duì)象的所有段落對(duì)象_Paragraph。
⑤通過(guò)_Paragragh對(duì)象的runs()方法,獲取當(dāng)前_Paragragh對(duì)象的_Run對(duì)象。
⑥通過(guò)_Run對(duì)象中的text()方法得到文本框中文本信息;通過(guò)font()方法得到字符屬性對(duì)象Font,得到字符屬性信息。
(4)Index2指向下一個(gè)Shape對(duì)象,如果還有未被檢查的文本框,則跳轉(zhuǎn)到第2步,否則進(jìn)行第5步。
(5)Index1指向下一個(gè)頁(yè)面,如果還有頁(yè)面,則跳轉(zhuǎn)到第1步,否則進(jìn)行第6步。
(6)根據(jù)公式(2),計(jì)算重要性Zij。
(7)將_Run對(duì)象依據(jù)差異性Zij倒序排序,若差異性一致,獲取該頁(yè)_Run對(duì)象的全部文本,使用TF-IDF算法提取關(guān)鍵詞;否則選取差異性Zij前k大的_Run對(duì)象,使用text()方法得到該_Run對(duì)象對(duì)應(yīng)的文本,進(jìn)行詞語(yǔ)選擇處理,提取關(guān)鍵詞。
5? ? 系統(tǒng)實(shí)現(xiàn)
本文借助Python提供的pptx,jieba,collection模塊,在windows10操作系統(tǒng)、Python3.6編譯環(huán)境下進(jìn)行實(shí)驗(yàn)。以“數(shù)據(jù)庫(kù)原理”課程為例,實(shí)驗(yàn)效果如圖5所示。
可以看出,若某一頁(yè)不存在文本框時(shí),輸出信息為空。而對(duì)于沒有任何重點(diǎn)標(biāo)記的頁(yè)面,采用TF-IDF算法提取關(guān)鍵詞,效果一般。對(duì)于文字屬性突出的頁(yè)面,提取效果非常好。例如打開第7頁(yè)演示文稿,如圖6所示,可以看到,第7頁(yè)的重點(diǎn)是事務(wù)特性。在圖5中可以看到第7頁(yè)對(duì)應(yīng)的關(guān)鍵詞是“事務(wù)”“特性”“ACID”,如圖6所示。
本文實(shí)驗(yàn)教育課件數(shù)目:7個(gè);總計(jì)實(shí)驗(yàn)頁(yè)數(shù):464張;經(jīng)過(guò)此算法提取的關(guān)鍵詞與人工標(biāo)記比較,有效識(shí)別PPT頁(yè)數(shù):382頁(yè);成功率為82.32%。結(jié)果表明,本文的算法可以被采納。
6? ? 未來(lái)展望
本文依據(jù)文字屬性按頁(yè)提取教學(xué)課件中的關(guān)鍵信息,充分利用演示文稿的簡(jiǎn)潔明了、重點(diǎn)突出等優(yōu)勢(shì)。本算法從PPT設(shè)計(jì)者的角度去提取文本中的關(guān)鍵詞,結(jié)合各個(gè)屬性值,提取出來(lái)關(guān)鍵詞的準(zhǔn)確度與設(shè)計(jì)者的習(xí)慣有著較大的關(guān)系,如果設(shè)計(jì)者習(xí)慣標(biāo)注演示文稿中的關(guān)鍵信息,則此算法有著很大的參考價(jià)值,這也是本文最大的創(chuàng)新點(diǎn)。若設(shè)計(jì)者無(wú)意突出重點(diǎn),則此算法退化到普通的TF-IDF算法,喪失其優(yōu)越性。此外,由于設(shè)計(jì)者的風(fēng)格一般都是固定的,可以根據(jù)不同設(shè)計(jì)者的風(fēng)格,不再選取相同的mk值,調(diào)整合適的mk值以達(dá)到更好的效果,是下一步的優(yōu)化目標(biāo)。
7? ? 結(jié)語(yǔ)
演示文稿以其簡(jiǎn)單明了、重點(diǎn)突出的優(yōu)勢(shì),已然成為現(xiàn)在課堂教學(xué)中重要的輔助工具。本文依靠Python的第三方庫(kù),實(shí)現(xiàn)了一個(gè)可以依據(jù)文字屬性按頁(yè)提取關(guān)鍵詞的系統(tǒng),可以幫助讀者快速了解教學(xué)課件的重點(diǎn)信息。在未來(lái),希望可以配合教學(xué)課件瀏覽記錄,快速定位學(xué)生在學(xué)習(xí)過(guò)程中的隱藏問(wèn)題,進(jìn)而可以提供個(gè)性化的解決方案。在信息化時(shí)代的今天,希望可以借助科技的力量幫助教學(xué)更加智能、更加個(gè)性化。
[參考文獻(xiàn)]
[1]江婷,趙呈領(lǐng),談國(guó)棟.PowerPoint課件文本信息提取研究[J].中國(guó)遠(yuǎn)程教育(綜合版),2011(2):69-72.
[2]羅文華,王燕燕,劉曉麗.基于OOXML的演示文稿溯源及編輯過(guò)程恢復(fù)方法研究[J].中國(guó)司法鑒定,2017(5):52-57.
[3]ISO/IEC. Information technology-document description and processing languages-Office Open XML File Formats[Z].ISO/IEC259500,2008.
[4]張武.損壞或分片OOXML文檔的文本內(nèi)容恢復(fù)技術(shù)研究[D].杭州:杭州電子科技大學(xué),2014.
[5]牛永潔,薛蘇琴.基于PDFBox抽取學(xué)術(shù)論文信息的實(shí)現(xiàn)[J].計(jì)算機(jī)技術(shù)與發(fā)展,2014(12):61-63,68.
[6]劉永平.基于PPT文檔的信息隱藏技術(shù)研究[D].長(zhǎng)沙:湖南大學(xué),2009.
Realization of the key information of the education courseware:
taking the “Database Principle” course as an example
Xie Zhiqing, Zhang Xiaotian, Yan Qiuyan, Hu Yan, Gao Shujuan
(School of Computer Science and Technology, China University of Mining and Technology, Xuzhou 221116, China)
Abstract:At present, the use of rain classroom has produced a large number of students to watch the data of the presentation, and how to make more efficient use of these data becomes the starting point of this paper. It needs to extract key information from the presentation by page to do this. By analyzing the design features of the presentation file, the article sets up an evaluation system, and the text content in the presentation is analyzed according to the text features (color, font size, font, bold, italic) to estimate the important index. Combining the scores of the important indexes, selecting the largest k _ Run object to extract keywords or combining the TF-IDF algorithm, extracting the keywords according to the word frequency, In this paper, the key information is extracted by page for the teaching courseware. With the help of pptx module and jieba module of Python, the keyword extraction of teaching courseware is realized. Finally, taking the “Database Principle”course as an example, the keyword extraction is carried out to test the effectiveness. The results show that the accuracy of the keyword extraction algorithm based on presentation text attributes can reach 82.32%.
Key words:teaching courseware; keyword extraction; text features; Python; rain class