亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        Python程序設(shè)計(jì)教學(xué)的NLTK模塊應(yīng)用案例設(shè)計(jì)

        2019-04-01 01:33:14劉衛(wèi)國(guó)
        計(jì)算機(jī)教育 2019年3期

        劉衛(wèi)國(guó),李 晨

        (中南大學(xué) 信息科學(xué)與工程學(xué)院,湖南 長(zhǎng)沙 410083)

        0 引言

        Python語(yǔ)言不僅語(yǔ)法優(yōu)雅、清晰、簡(jiǎn)潔,而且具有大量的第三方函數(shù)模塊庫(kù),很適合作為程序設(shè)計(jì)入門語(yǔ)言,對(duì)學(xué)科交叉應(yīng)用也很有幫助[1-2]。

        NLTK模塊是Python常用的自然語(yǔ)言處理(Natural Language Process,NLP)工具,能方便快捷地處理自然語(yǔ)言文本。NLTK模塊中有用于處理自然語(yǔ)言任務(wù)的函數(shù),與Python其他第三方模塊庫(kù)進(jìn)行協(xié)同操作,能對(duì)處理結(jié)果進(jìn)行二次處理。此外,NLTK包含豐富的語(yǔ)料庫(kù),這些語(yǔ)料資源在教育學(xué)、文學(xué)、史學(xué)等領(lǐng)域均有應(yīng)用[3]。

        在管理、英語(yǔ)、法學(xué)等文科類專業(yè)程序設(shè)計(jì)教學(xué)中,利用NLTK模塊并結(jié)合其他第三方模塊,可以設(shè)計(jì)適合教學(xué)需要的應(yīng)用案例[4]。在Python程序設(shè)計(jì)教學(xué)中,結(jié)合專業(yè)應(yīng)用案例進(jìn)行教學(xué),能培養(yǎng)學(xué)生的學(xué)習(xí)興趣,引導(dǎo)學(xué)生將Python應(yīng)用到專業(yè)領(lǐng)域中。

        1 就職演說語(yǔ)料庫(kù)文本內(nèi)容提取與統(tǒng)計(jì)案例分析

        筆者以就職演說語(yǔ)料庫(kù)(Inaugural Address Corpus)作為英文研究對(duì)象進(jìn)行分析,從中挖掘詞句結(jié)果及高頻詞,以此論證挖掘出來的結(jié)果與語(yǔ)料庫(kù)主題的相關(guān)性。就職演說語(yǔ)料庫(kù)包含1789—2009年美國(guó)歷任總統(tǒng)就職演講,共55個(gè)文本,總詞匯數(shù)為145 735個(gè)。語(yǔ)料庫(kù)以演說年代作為標(biāo)準(zhǔn)區(qū)分,演說年代對(duì)應(yīng)獨(dú)立的子文本。本案例使用到的NLTK知識(shí)點(diǎn)包括語(yǔ)料庫(kù)的調(diào)用、分詞分塊處理、停用詞的信息過濾、頻率統(tǒng)計(jì)類函數(shù)的應(yīng)用[5]以及NLTK與Matplotlib模塊的協(xié)同作用。案例流程見圖1。

        圖1 就職演說語(yǔ)料庫(kù)案例流程圖

        1.1 語(yǔ)料庫(kù)獲取與預(yù)處理

        本案例使用的語(yǔ)料庫(kù)來源于NLTK的語(yǔ)料庫(kù),導(dǎo)入NLTK模塊即可調(diào)用。使用NLTK計(jì)算文本長(zhǎng)度的內(nèi)置函數(shù)len()計(jì)算詞匯豐富度T值。詞匯豐富度是用于分析文本中詞匯出現(xiàn)的多寡,反映文本詞匯的總體使用情況。就職演說語(yǔ)料庫(kù)的詞匯豐富度為6.692%,T值越大說明文本詞匯豐富度越大,對(duì)文本詞匯的使用情況得到數(shù)字上直觀的展示。

        文本預(yù)處理是對(duì)文本進(jìn)行簡(jiǎn)單處理的過程,本案例的預(yù)處理過程包括清洗過濾與詞形還原。首先過濾文本中無實(shí)際含義的停用詞、符號(hào),英文詞匯有單復(fù)數(shù)、時(shí)態(tài)等不同形態(tài),如果不進(jìn)行詞形還原,統(tǒng)計(jì)結(jié)果會(huì)存在很大的偏差。

        清洗過濾通過調(diào)用停用詞語(yǔ)料庫(kù)完成,首先將文本中詞匯使用lower()方法統(tǒng)一歸并為小寫,導(dǎo)入NLTK的英文停用詞語(yǔ)料庫(kù),提取就職演說語(yǔ)料庫(kù)包含且停用詞語(yǔ)料庫(kù)不包含的詞匯。詞形還原通過編寫函數(shù)實(shí)現(xiàn)將復(fù)數(shù)單詞轉(zhuǎn)化為單數(shù),根據(jù)預(yù)先定義好單詞的單復(fù)數(shù)轉(zhuǎn)換規(guī)則,對(duì)輸入單詞的末尾字母作選擇判斷,將輸入的單詞末尾字母轉(zhuǎn)換為單數(shù)形式的后綴。使用到的知識(shí)點(diǎn)有判斷結(jié)構(gòu)if-else語(yǔ)句、詞匯運(yùn)算符word.endswith()。具體代碼如下:

        1.2 分析與統(tǒng)計(jì)

        分析階段是抽取過程的核心,涉及文本的一系列處理操作。使用的方法有同語(yǔ)境詞提取、雙連詞提取、上下文提取、詞性標(biāo)注以及統(tǒng)計(jì)分析,其中統(tǒng)計(jì)分析是最常使用的工具。

        NLTK中使用函數(shù)similar()查找與目標(biāo)詞匯出現(xiàn)在相似上下文位置的詞,即在文本中可用作替換的詞匯。在美國(guó)作家梅爾維爾所寫的《白鯨記》中尋找名詞的同語(yǔ)境詞,小說講述的是主人公亞哈船長(zhǎng)與一頭白鯨的故事,使用text.similar("captain")找到以下同語(yǔ)境詞:whale ship sea boat deck world other devil wind body mate crew air head,可以發(fā)現(xiàn)得到的詞匯與目標(biāo)詞匯詞性均為名詞。

        雙連詞搭配提取是在文本中檢索得到頻繁出現(xiàn)的雙連詞以及文本中的固定搭配。例如在古騰堡語(yǔ)料庫(kù)中調(diào)用《哈姆雷特》提取雙連詞搭配,具體代碼如下:

        NLTK有兩個(gè)方法可以實(shí)現(xiàn)目標(biāo)詞匯的上下文輸出,使用concordance()對(duì)目標(biāo)詞匯所在的句子進(jìn)行檢索輸出,common_text查找詞匯集合的相同臨近詞匯,例如text2.common_contexts(["monstrous","very"])得到結(jié)果“a_pretty am_glad a_lucky is_pretty be_glad”,其中a_lucky表示a monstrous lucky與a very lucky。

        詞性標(biāo)注(Part-of-Speech Tagging, POS tagging)將分詞處理后的詞匯按詞性(POS)分類并標(biāo)注的過程。在詞性分析階段使用NLTK內(nèi)置的詞性標(biāo)注器(POS tagger),處理一個(gè)詞序列,為每個(gè)詞附加一個(gè)詞性標(biāo)記。詞性標(biāo)注可以幫助分析句子成分,劃分句子結(jié)構(gòu)。

        概率統(tǒng)計(jì)作為NLTK中最常用的數(shù)學(xué)分析手段,用于文本中數(shù)據(jù)的處理分析。在Python中借助NLTK頻率分布類中定義的計(jì)算頻率的函數(shù),對(duì)文本出現(xiàn)的單詞、搭配、常用表達(dá)或符號(hào)進(jìn)行統(tǒng)計(jì)詞頻、詞長(zhǎng)等相關(guān)操作。代碼如下:

        1.3 結(jié)果展示與總結(jié)

        利用停用詞語(yǔ)料庫(kù)得到的高頻詞集,部分統(tǒng)計(jì)結(jié)果為[('government',593),('people', 563),('state s',329),('world',329)],括號(hào)內(nèi)數(shù)字為高頻詞在文本中出現(xiàn)的次數(shù)。

        對(duì)語(yǔ)料庫(kù)雙連詞搭配提?。?/p>

        nltk.Text(nltk.corpus.inaugural.words()).collocations()

        部分結(jié)果如下:

        United States; fellow citizens; American people。

        對(duì)出現(xiàn)詞頻最高的詞匯“government”的同語(yǔ)境詞進(jìn)行提取:

        nltk.Text(nltk.corpus.inaugural.words()).similar("government")

        部分結(jié)果如下:

        people country union nation constitution power peace。

        對(duì)高頻詞數(shù)據(jù)可視化,將結(jié)果轉(zhuǎn)化為詞頻折線統(tǒng)計(jì)圖、離散圖以及關(guān)鍵詞對(duì)比折線圖,分別見圖2—圖4。

        圖2 頻率折線圖

        圖3 離散圖

        圖2折線圖是以高頻詞集作為數(shù)據(jù)來源進(jìn)行可視化,橫軸為詞匯,縱軸為出現(xiàn)的次數(shù)。

        圖3離散圖是用于展示詞匯在文本中出現(xiàn)的位置,發(fā)現(xiàn)“people”一詞在文本中出現(xiàn)密集而“democracy”則較稀疏,僅在后半部分出現(xiàn)較多。結(jié)合就職演說語(yǔ)料庫(kù)文本按時(shí)間順序排列的結(jié)構(gòu),可以看出不同演講用詞隨時(shí)間在使用頻率上顯著的差異。

        圖4關(guān)鍵詞頻率折線圖是對(duì)不同年代美國(guó)總統(tǒng)在就職演講中使用“economy”“politics”兩個(gè)詞的頻率結(jié)果進(jìn)行可視化輸出??梢钥吹健癳conomy”一詞在“1925”“1958”兩個(gè)文本中達(dá)到峰值。

        2 十九大報(bào)告高頻詞可視化統(tǒng)計(jì)分析

        NLTK的主要適用場(chǎng)景是英文,在處理中文文本時(shí)需要安裝中文分詞工具包并進(jìn)行字符轉(zhuǎn)換。本文選擇十九大報(bào)告作為中文分析素材,使用Jieba作為分詞處理工具[6]。本案例采用Beautiful Soup模塊對(duì)網(wǎng)頁(yè)上的案例文本進(jìn)行爬取,Beautiful Soup是Python中用于網(wǎng)絡(luò)爬蟲的第三方模塊,它可以提供一些簡(jiǎn)單的函數(shù)提取網(wǎng)頁(yè)中的內(nèi)容。

        2.1 具體操作

        本案例將爬取后的文本內(nèi)容保存在TXT文件中,首先對(duì)爬取得到的素材文件過濾標(biāo)點(diǎn)符號(hào)、數(shù)字與停用詞等,對(duì)全文內(nèi)容進(jìn)行詞性標(biāo)注。分析過程中使用同語(yǔ)境詞查找、關(guān)鍵詞所在句子輸出等方法,使用概率統(tǒng)計(jì)對(duì)高頻出現(xiàn)的詞匯進(jìn)行查找輸出,最后導(dǎo)入Wordcloud模塊實(shí)現(xiàn)詞云可視化,展示統(tǒng)計(jì)分析結(jié)果。案例實(shí)現(xiàn)具體代碼如下:

        2.2 結(jié)果展示與分析

        將案例運(yùn)行結(jié)果打印并可視化,得到十九大報(bào)告高頻詞折線圖、名詞高頻詞折線圖、離散圖、詞云展示結(jié)果見圖5—圖8。

        圖5 十九大報(bào)告高頻詞折線圖

        圖6 名詞高頻詞折線圖

        圖7 離散圖

        圖8 高頻詞詞云展示

        從圖5中可以發(fā)現(xiàn)“發(fā)展”“中國(guó)”“人民”是報(bào)告中頻率最高的3個(gè)詞。在高頻詞中利用詞性標(biāo)注結(jié)果篩選出名詞高頻詞,得到圖6名詞高頻詞折線圖,圖7離散圖用于展示目標(biāo)詞匯在文本中所處位置,每一個(gè)豎線代表一個(gè)詞匯在十九大報(bào)告中出現(xiàn)的位置,從圖7中可以發(fā)現(xiàn)“人民”在報(bào)告中的各個(gè)位置均有分布,與其他詞匯相比出現(xiàn)位置最為密集。圖8選擇部分高頻詞匯以詞云的形式展示統(tǒng)計(jì)結(jié)果,增強(qiáng)了結(jié)果可視化的藝術(shù)性。

        3 結(jié)語(yǔ)

        本文選擇中文、英文兩篇素材的分析進(jìn)行教學(xué)案例設(shè)計(jì),利用NLTK模塊和其他第三方模塊的一系列方法,從素材中提取詞句結(jié)果,完成有效信息查找與提取、統(tǒng)計(jì)分析以及詞頻可視化展示。教學(xué)案例結(jié)合文科類專業(yè)的特點(diǎn),綜合運(yùn)用Python程序設(shè)計(jì)方法和第三方模塊的功能,既體現(xiàn)了Python程序設(shè)計(jì)的特點(diǎn)和規(guī)律,又能更好地促進(jìn)計(jì)算機(jī)在不同學(xué)科的交叉應(yīng)用。文科類專業(yè)程序設(shè)計(jì)教學(xué)更需要直觀、具體的教學(xué)展示,利用案例組織教學(xué),讓學(xué)生在邊學(xué)邊做中建立學(xué)習(xí)興趣,培養(yǎng)學(xué)習(xí)熱情,能獲得更好的教學(xué)效果。

        91国在线啪精品一区| 亚洲欧美综合精品成人网站| 亚洲国产高清一区av| 国产精品高清国产三级国产av| 风韵丰满熟妇啪啪区老老熟妇| 四虎影视永久在线观看| 欧美自拍丝袜亚洲| av天堂手机在线免费| 免费一区二区高清不卡av| 亚洲裸男gv网站| 亚洲综合中文字幕乱码在线| 国产偷拍盗摄一区二区| 亚洲女人毛茸茸粉红大阴户传播 | 亚洲精品大全中文字幕| 国产精品久久久久9999| 亚洲国产综合精品 在线 一区| 91精品国产综合成人| 日产精品一区二区三区免费| 亚洲女人的天堂网av| 午夜精品久久久久久久久| 国产熟妇另类久久久久| 伊人久久成人成综合网222| 扒下语文老师的丝袜美腿| 国产精品对白一区二区三区| 麻豆精品国产精华精华液好用吗| 中文字幕一区二区三区乱码不卡| 在线亚洲国产一区二区三区| 天天综合网网欲色| 国产亚洲日韩在线一区二区三区| 国产精品无码无片在线观看| 国产一级av理论手机在线| 熟妇高潮一区二区三区在线观看 | 国产激情久久久久影院老熟女免费 | 日韩狼人精品在线观看| 日韩精品人妻中文字幕有码在线| 国产高清一区二区三区视频| 成人免费视频在线观看| 成人av天堂一区二区| 久久国产黄色片太色帅| 熟女熟妇伦av网站| 成人无码网www在线观看|