電子課件數(shù)據(jù)科學(xué)概論ch8_第1頁(yè)
電子課件數(shù)據(jù)科學(xué)概論ch8_第2頁(yè)
電子課件數(shù)據(jù)科學(xué)概論ch8_第3頁(yè)
電子課件數(shù)據(jù)科學(xué)概論ch8_第4頁(yè)
電子課件數(shù)據(jù)科學(xué)概論ch8_第5頁(yè)
已閱讀5頁(yè),還剩140頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶(hù)提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

1、非結(jié)構(gòu)化數(shù)據(jù)分析圖像分析文本分析音頻分析目錄能夠以二維表形式結(jié)構(gòu)化地存儲(chǔ)在數(shù)據(jù)庫(kù)中的數(shù)據(jù)是結(jié)構(gòu)化數(shù)據(jù)。沒(méi)有固定的數(shù)據(jù)結(jié)構(gòu),通常以二進(jìn)制文件的形式來(lái)存儲(chǔ)的數(shù)據(jù)是非結(jié)構(gòu)化數(shù)據(jù),比如圖像、文本、音頻、視頻等。另外有一些數(shù)據(jù)的存儲(chǔ)結(jié)構(gòu)具備一定的規(guī)律,但并非傳統(tǒng)關(guān)系型數(shù)據(jù)庫(kù)的二維結(jié)構(gòu),稱(chēng)為半結(jié)構(gòu)化數(shù)據(jù),比如XML、Json等。結(jié)構(gòu)化數(shù)據(jù)與非結(jié)構(gòu)化數(shù)據(jù)444圖像分析第五章介紹了位圖在計(jì)算機(jī)中的描述形式由RGB矩陣代表的像素點(diǎn)構(gòu)成。這種存儲(chǔ)模式使得研究者可以很方便地將圖像數(shù)據(jù)轉(zhuǎn)化成矩陣(黑白模式)或者張量(彩色模式)。各種常見(jiàn)的圖像處理方法背后的技術(shù)都是矩陣運(yùn)算。在第七章中介紹的深度學(xué)習(xí)方法的主要應(yīng)用領(lǐng)域也

2、是圖像分析。圖像分析的技術(shù)是機(jī)器學(xué)習(xí)與深度學(xué)習(xí)的自然延伸,也被稱(chēng)為計(jì)算機(jī)視覺(jué)。圖像數(shù)據(jù)R和Python中可以處理圖像的包很多。在R中,可以選用 EBImage 包,該包來(lái)自 Bioconductor 平臺(tái),用戶(hù)可以訪(fǎng)問(wèn)其主頁(yè) 按照提示進(jìn)行在線(xiàn)自動(dòng)安裝。在Python中,可以選用 Pillow 包,可直接基于 的方式在命令行自動(dòng)安裝。Pillow 是原生的 PIL 包的一個(gè)改進(jìn)后的分支,通過(guò) PIL 包來(lái)調(diào)用。使用各自的讀取圖象的函數(shù)可以得到圖像對(duì)象,都命名為“l(fā)ena”。在R中可以使用 函數(shù)來(lái)查看維度,在Python 中使用 屬性來(lái)查看維度。在R中使用 函數(shù)來(lái)查看圖片,通過(guò)默認(rèn)瀏覽器顯示。在P

3、ython中使用 方法來(lái)打開(kāi)默認(rèn)圖片瀏覽器顯示圖片。圖像處理基礎(chǔ)代碼展示如下:圖像處理基礎(chǔ)圖像處理基礎(chǔ)圖像處理基礎(chǔ)代碼如下所示:圖像處理基礎(chǔ)下圖顯示了四種常見(jiàn)的圖像操作的結(jié)果,分別對(duì)應(yīng)改變尺寸、旋轉(zhuǎn)、左右翻轉(zhuǎn)、上下翻轉(zhuǎn)的結(jié)果。 這些操作在圖像分析中比較常用,縮小尺寸經(jīng)常用來(lái)減少數(shù)據(jù)的維度從而增強(qiáng)運(yùn)算效率,旋轉(zhuǎn)和翻轉(zhuǎn)的操作常用作圖像增廣(Image Augmentation), 用來(lái)擴(kuò)大訓(xùn)練樣本的數(shù)據(jù)規(guī)模,增強(qiáng)模型的穩(wěn)健性。圖像處理基礎(chǔ)圖像改變尺寸、旋轉(zhuǎn)、左右翻轉(zhuǎn)、上下翻轉(zhuǎn)的結(jié)果圖像處理基礎(chǔ)圖像處理基礎(chǔ)代碼操作如下所示:圖像處理基礎(chǔ)圖像處理基礎(chǔ)例如在Lena照片的左上角裁剪寬200像素、高100

4、像素的區(qū)域,結(jié)果如下圖第一幅圖所示:圖像裁剪、調(diào)節(jié)亮度、調(diào)節(jié)對(duì)比度、使用濾鏡的結(jié)果圖像處理基礎(chǔ)除上述方法之外,還有一些常用的圖像處理,比如調(diào)節(jié)亮度和對(duì)比度。這些操作實(shí)際上對(duì)應(yīng)著矩陣運(yùn)算。比如將所有像素的灰度值調(diào)高,意味著圖像變亮。需要注意的是,R的 EBImage 包的RGB矩陣默認(rèn)采用標(biāo)準(zhǔn)化的數(shù)值,正常情況下 將所有像素值除以255后得到0到1之間的實(shí)數(shù)。如果加上某個(gè)數(shù)值后超過(guò)了1,或自動(dòng)標(biāo)準(zhǔn)化之后再顯示,會(huì)得到增加亮度的效果。Python的 PIL 包以0到255的整數(shù)形式存儲(chǔ)像素值,如果越界后會(huì)顯示黑色。圖像處理基礎(chǔ)如果圖像的RGB矩陣的所有數(shù)值增加后,圖像會(huì)偏亮。如圖第二張圖片。 類(lèi)似

5、地,RGB矩陣乘以一個(gè)數(shù)之后再標(biāo)準(zhǔn)化,會(huì)使像素值之間的差異增大,體現(xiàn)在圖像中就是增加了對(duì)比度,如圖的第三張圖片。圖像處理基礎(chǔ)在R和Python中的代碼如下所示:圖像處理基礎(chǔ)最后再介紹一類(lèi)特殊的圖像操作,就是濾鏡(Filter),也稱(chēng)為過(guò)濾器。濾鏡將傳入的函數(shù)作用于每個(gè)元素,然后根據(jù)返回值確定新的圖像,通常用于圖像的變換。在很多圖像處理軟件中都可以通過(guò)濾鏡的方式來(lái)實(shí)現(xiàn)某些效果,其中有一類(lèi)常用的濾鏡操作 稱(chēng)為“卷積”(Convolution)。圖像處理基礎(chǔ)卷積示例圖像處理基礎(chǔ)圖像處理基礎(chǔ)卷積的結(jié)果作為新的圖像對(duì)應(yīng)位置的數(shù)值,按照 這種方式用刷子把整個(gè)圖像都刷一遍,得到的新的圖像矩陣,就是該卷積濾鏡

6、之后的效果。結(jié)果如圖,讀者可以看到這個(gè)卷積操作后提取了圖像的邊緣,形成了類(lèi)似木版畫(huà)的效果。圖像處理基礎(chǔ)濾鏡示例圖像處理基礎(chǔ)代碼如下所示:圖像處理基礎(chǔ)在卷積操作中,卷積核通常從輸入數(shù)組的最左上方開(kāi)始,按從左往右、從上往下的順序,依次在輸入數(shù)組上滑動(dòng)。研究者將每次滑動(dòng)的行數(shù)和列數(shù)稱(chēng)為步幅(stride)。 在以上函數(shù)中還可以設(shè)定步幅的值。卷積操作除了可以設(shè)計(jì)各種濾鏡進(jìn)行圖像轉(zhuǎn)換以外,還可以結(jié)合深度學(xué)習(xí)技術(shù)進(jìn)行圖像分析。本節(jié)將介紹一類(lèi)最具代表性的 深度學(xué)習(xí)神經(jīng)網(wǎng)絡(luò)卷積神經(jīng)網(wǎng)絡(luò),這是圖像分類(lèi)的最常用的網(wǎng)絡(luò)結(jié)構(gòu)。卷積神經(jīng)網(wǎng)絡(luò)上一章使用糖尿病數(shù)據(jù)介紹了神經(jīng)網(wǎng)絡(luò)模型,數(shù)據(jù)包含8個(gè)特征,一共有768個(gè)樣本?;?/p>

7、于該數(shù)據(jù)訓(xùn)練出分類(lèi)模型后,如果有新的患者做完檢查, 將這8個(gè)指標(biāo)輸入該模型,就可以預(yù)測(cè)是否罹患糖尿病。假設(shè)研究者要從1萬(wàn)張X線(xiàn)的圖片中訓(xùn)練模型以識(shí)別肺部惡性腫瘤,也是一個(gè)類(lèi)似的分類(lèi)問(wèn)題: 先訓(xùn)練一個(gè)基于圖像數(shù)據(jù)的分類(lèi)模型,當(dāng)一個(gè)新的患者拍完X線(xiàn)胸片后,將圖像結(jié)果輸入模型來(lái)預(yù)測(cè)惡性腫瘤的概率。這就是典型的圖形分類(lèi)問(wèn)題。卷積神經(jīng)網(wǎng)絡(luò)卷積神經(jīng)網(wǎng)絡(luò)為了解決這個(gè)問(wèn)題,研究者參考了人類(lèi)視覺(jué)中的神經(jīng)系統(tǒng)活動(dòng)機(jī)制,基于卷積的思路,構(gòu)造了一種特殊的前饋神經(jīng)網(wǎng)絡(luò), 稱(chēng)為卷積神經(jīng)網(wǎng)絡(luò)(Convolutional Neural Network,簡(jiǎn)稱(chēng)CNN)。該模型可以從兩個(gè)角度對(duì)這個(gè)復(fù)雜的神經(jīng)網(wǎng)絡(luò)進(jìn)行簡(jiǎn)化:局部連接(

8、Locally Connectivity)和 權(quán)值共享(Shared Weights)。卷積神經(jīng)網(wǎng)絡(luò)局部連接權(quán)值共享通過(guò)上述兩種操作,可以簡(jiǎn)化復(fù)雜的神經(jīng)網(wǎng)絡(luò)中的參數(shù),使之變得易于求解。在MXNet等深度學(xué)習(xí)工具中,專(zhuān)門(mén)提供了用來(lái)構(gòu)建卷積層的函數(shù)。 此外還有一類(lèi)特殊的隱層在CNN中也非常常用,就是池化(Pooling)層,也稱(chēng)為子采樣(Subsampling)層。在卷積操作中, 通過(guò)構(gòu)造卷積核可以精確地找到像素變化的位置,很可能相鄰兩個(gè)像素就有很大區(qū)別。但在實(shí)際的問(wèn)題中, 研究者感興趣的模式不會(huì)總在固定位置,需要允許一定程度的偏移。利用池化層可以緩解卷積層對(duì)位置的過(guò)度敏感性。池化和卷積層一樣,

9、池化層每次對(duì)輸入數(shù)據(jù)的一個(gè)固定形狀窗口(又稱(chēng)池化窗口)中的元素計(jì)算輸出。池化層直接計(jì)算池化窗口內(nèi)元素的最大值或者平均值,該運(yùn) 算也分別叫做最大池化或平均池化。池化池化池化填充填充示例填充本節(jié)使用一個(gè)經(jīng)典的例子來(lái)介紹CNN的網(wǎng)絡(luò)結(jié)構(gòu)。該例來(lái)自2019年圖靈獎(jiǎng)得主 Yann Lecun。他在個(gè)人網(wǎng)站提供了一個(gè)手寫(xiě)郵政編碼的數(shù)據(jù)集,用來(lái)訓(xùn)練模型識(shí)別手寫(xiě)數(shù)字。這 是卷積神經(jīng)網(wǎng)絡(luò)的經(jīng)典示例數(shù)據(jù)集,名為MINIST(Mixed National Institute of Standards and Technology),包含了6萬(wàn)條訓(xùn)練數(shù)據(jù)和1萬(wàn)條測(cè)試數(shù)據(jù)。CNN網(wǎng)絡(luò)結(jié)構(gòu)其中的手寫(xiě)數(shù)字如下圖手寫(xiě)數(shù)字示例

10、CNN網(wǎng)絡(luò)結(jié)構(gòu)CNN網(wǎng)絡(luò)結(jié)構(gòu)LeNet-5架構(gòu)圖CNN網(wǎng)絡(luò)結(jié)構(gòu)本節(jié)以L(fǎng)ecun的MINIST數(shù)據(jù)集和LeNet-5模型為例,演示一個(gè)完整的圖像分類(lèi)過(guò)程。為了能在普通家用電腦上順利運(yùn)行, 本例將數(shù)據(jù)集縮小,選取了5000張數(shù)字圖片作為訓(xùn)練集,1000張額外的數(shù)字圖片作為測(cè)試集。圖片文件以“00001_0.jpg”的形式命名, 下劃線(xiàn)左邊的“00001”為該圖片的編號(hào),下劃線(xiàn)右邊的“0”代表該圖像描述的數(shù)值,取值范圍為0到9的整數(shù),用來(lái)當(dāng)做訓(xùn)練集的標(biāo)簽。圖像分類(lèi)示例首先處理訓(xùn)練集的標(biāo)簽,用向量 y 來(lái)表示,使用R和Python內(nèi)置的文件處理函數(shù)可以列出訓(xùn)練集文件夾內(nèi)的所有文件名, 再使用正則表達(dá)式

11、提取文件名中下劃線(xiàn)右側(cè)的標(biāo)簽,將其轉(zhuǎn)化成數(shù)值,賦值給 y ,代碼如下所示:圖像分類(lèi)示例圖像分類(lèi)示例代碼如下所示:圖像分類(lèi)示例圖像分類(lèi)示例代碼示例如下:圖像分類(lèi)示例MXNet訓(xùn)練模型的時(shí)候還提供了一個(gè)數(shù)據(jù)框架,可以把訓(xùn)練集、驗(yàn)證集以及相關(guān)設(shè)置構(gòu)造成一個(gè)整體的數(shù)據(jù)對(duì)象。 這樣在每一輪迭代的時(shí)候可以實(shí)時(shí)顯示模型的訓(xùn)練誤差(準(zhǔn)確率)和泛化誤差(準(zhǔn)確率),示例代碼如下所示:圖像分類(lèi)示例示例代碼如下所示:圖像分類(lèi)示例參考圖中的7層模型結(jié)構(gòu),建立 LeNet-5 所描述的深度學(xué)習(xí)模型。下面對(duì)每一層分別進(jìn)行 具體的介紹,并基于MXNet提供的“Symbol”系統(tǒng)分別定義每一層的符號(hào)對(duì)象。圖像分類(lèi)示例LeNet

12、-5架構(gòu)圖圖像分類(lèi)示例C1層:卷積層代碼如下所示:C1層:卷積層C1層:卷積層S2層:池化層代碼如下:S2層:池化層S2層:池化層C3層:卷積層代碼如下所示。C3層:卷積層該層的16個(gè)卷積核如何對(duì)應(yīng)上一層輸出的6個(gè)特征圖,可以有不同的組合方式,最終得到的參數(shù)數(shù)目也會(huì)有所不同。LeNet-5的原始論文中介紹了具體的組合方式, 可以通過(guò)程序來(lái)實(shí)現(xiàn),本例在MXNet中使用默認(rèn)的方式。C3層:卷積層S4層:池化層S4層:池化層C5層:卷積全連接層C5層:卷積全連接層代碼如下所示:C5層:卷積全連接層之后再建立一層具有84個(gè)神經(jīng)元的隱層,和之前的C5層進(jìn)行全連接,仍然使用 tahn 函數(shù)激活。代碼如下所

13、示:F6層:全連接層F7層:全連接輸出層代碼如下所示:F7層:全連接輸出層F7層:全連接輸出層在本例中分別傳入訓(xùn)練數(shù)據(jù)和驗(yàn)證數(shù)據(jù),設(shè)置優(yōu)化器、學(xué)習(xí)率等參數(shù),迭代100次。代碼如下所示:F7層:全連接輸出層F7層:全連接輸出層F7層:全連接輸出層預(yù)測(cè)的代碼如下所示:F7層:全連接輸出層以上是一個(gè)完整的圖像分類(lèi)的過(guò)程,本節(jié)使用了一個(gè)經(jīng)典的LeNet-5模型。在實(shí)際的工作中,研究者還可以對(duì)該模型進(jìn)行修正,或者使用其他的分類(lèi)模型。在圖像分析領(lǐng)域,除了分類(lèi)以外,有時(shí)候還需要找到感興趣的目標(biāo)在圖像中的具體位置,稱(chēng)為目標(biāo)檢測(cè)。有時(shí)候還需要把感興趣的目標(biāo)基于精確的邊緣提取出來(lái), 稱(chēng)為語(yǔ)義分割。這些操作都可以使

14、用深度學(xué)習(xí)來(lái)實(shí)現(xiàn),雖然具體的模型差別很大,但建模和求解的思路和以上介紹的分類(lèi)過(guò)程是一致的??偨Y(jié)757575文本分析文本分析的技術(shù)基礎(chǔ)主要是自然語(yǔ)言處理(Natural Language Processing,簡(jiǎn)稱(chēng)NLP),是人工智能和語(yǔ)言學(xué)領(lǐng)域的一個(gè)分支學(xué)科,通常是指以計(jì)算機(jī)為工具對(duì)人類(lèi)特有的書(shū)面形式和口頭形式的自然語(yǔ)言的信息進(jìn)行各種類(lèi)型處理和加工的技術(shù)。此外,在工程應(yīng)用領(lǐng)域常用文本挖掘(Text Mining,簡(jiǎn)稱(chēng)TM)來(lái)指代文本分析的方法和流程。因此研究者一般提到自然語(yǔ)言處理的時(shí)候主要關(guān)注具體的模型和方法,提到文本挖掘的時(shí)候主要關(guān)注 分析的流程和應(yīng)用實(shí)踐。文本分析下圖描述了這兩個(gè)概念的區(qū)別

15、和聯(lián)系,大部分常見(jiàn)的文本分析方法都為二者共有。文本挖掘還會(huì)包含數(shù)據(jù)獲取、 數(shù)據(jù)清洗、數(shù)據(jù)可視化等工程應(yīng)用的內(nèi)容。自然語(yǔ)言處理還會(huì)包含一些對(duì)機(jī)器翻譯、人機(jī)對(duì)話(huà)等事務(wù)型工具的研究。文本分析NLP與文本挖掘文本分析本章內(nèi)容關(guān)注文本分析在數(shù)據(jù)科學(xué)領(lǐng)域 的應(yīng)用,主要解決分析型的問(wèn)題,因此主要基于文本分析和挖掘的框架進(jìn)行介紹。常見(jiàn)的文本分析方法包括以下內(nèi)容。句法結(jié)構(gòu)分析(Syntactic Structure Parsing):又稱(chēng)為成分結(jié)構(gòu)分析或者短語(yǔ)結(jié)構(gòu)分析,是指對(duì)輸入的句子判斷其構(gòu)成是否合乎給定的 語(yǔ)法,分析出合乎語(yǔ)法句子的句法結(jié)構(gòu)。句法結(jié)構(gòu)一般用樹(shù)狀數(shù)據(jù)結(jié)構(gòu)表示,稱(chēng)為句法分析樹(shù),簡(jiǎn)稱(chēng)分析樹(shù)(Par

16、sing Tree)。 完成這種分析過(guò)程的程序模塊稱(chēng)為句法結(jié)構(gòu)分析器(Syntactic Parser),簡(jiǎn)稱(chēng)為分析器(Parser)。文本分類(lèi)(Text Classification):根據(jù)一個(gè)已經(jīng)被標(biāo)注的訓(xùn)練文本集合,找到文本特征和文本類(lèi)別之間的關(guān)系模型,然后利用這種學(xué)習(xí)得到的關(guān)系模型對(duì)新的文本類(lèi)別進(jìn)行判斷。文本分析文本聚類(lèi)(Text Clustering):將文本對(duì)象的集合分組成由類(lèi)似文本組成的多個(gè)類(lèi)的過(guò)程。信息檢索(Information Retrieval):從海量的信息資源中找出滿(mǎn)足用戶(hù)信息需求的信息子集。信息檢索起源于圖書(shū)館的資料查詢(xún)和文摘索引工作。 計(jì)算機(jī)誕生后,研究?jī)?nèi)容已經(jīng)從

17、傳統(tǒng)的文本檢索擴(kuò)展到包含圖片、音頻、視頻等多媒體信息的檢索。最常見(jiàn)的應(yīng)用是互聯(lián)網(wǎng)搜索。信息抽?。↖nformation Extraction):從一段文本中抽取指定的事件、事實(shí)等信息,形成結(jié)構(gòu)化的數(shù)據(jù)。文本分析受篇幅所限,本節(jié)主要關(guān)注文本數(shù)據(jù)和普通結(jié)構(gòu)化數(shù)據(jù)之間的差異與轉(zhuǎn)換方式,并挑選句法分析和文本分類(lèi)這兩類(lèi)最典型的文本分析方法進(jìn)行具體介紹。句法分析是文本分析領(lǐng)域特有的分析方法,也是基于演繹推理的經(jīng)典方法。文本分類(lèi)是機(jī)器學(xué)習(xí)和深度學(xué)習(xí)的重要應(yīng)用領(lǐng)域,在文本結(jié)構(gòu)化之后可以很方便地 利用結(jié)構(gòu)化數(shù)據(jù)中的分類(lèi)模型進(jìn)行分析,參照分類(lèi)方法的流程可以很容易地?cái)U(kuò)展到其他的機(jī)器學(xué)習(xí)方法中去。文本分析在圖像數(shù)據(jù)分

18、析中,一般用RGB數(shù)值來(lái)描述圖中的每一個(gè)像素點(diǎn)。 一張圖片中每個(gè)點(diǎn)的像素值可以構(gòu)成一個(gè)矩陣或者數(shù)組,這就成了圖像數(shù)據(jù)的基本表示形式,也是圖像數(shù)據(jù)結(jié)構(gòu)化的標(biāo)準(zhǔn)方法。文本數(shù)據(jù)的處理思路也類(lèi)似,但由于文本的特殊性,每個(gè)基礎(chǔ)元素都有一定的含義,和圖像中的單個(gè)像素點(diǎn)不同,所以處理方式上存在很多選擇。不同的語(yǔ)言, 基礎(chǔ)元素也會(huì)有差異,比如英語(yǔ)可以分為字母、詞語(yǔ)、詞組、句子等層級(jí),漢語(yǔ)可以分為漢字、詞語(yǔ)、短語(yǔ)、句子等層級(jí)。通常認(rèn)為,基于詞來(lái)構(gòu)建語(yǔ)言模型的效果最好, 也是目前最主流的方式。文本數(shù)據(jù)的處理中文詞語(yǔ)和英文單詞不同,并不會(huì)由空格自然隔開(kāi),因此需要使用模型進(jìn)行中文分詞。中文分詞的一個(gè)難點(diǎn)在于漢字的靈活

19、性,在不同的上下文語(yǔ)境中有可能出現(xiàn)歧義。另外關(guān)于漢語(yǔ)中的“詞”一直沒(méi)有精確的界定,主要是因?yàn)閱巫衷~和詞素之間的劃界、詞和短語(yǔ)(詞組)之間的劃界問(wèn)題。通常對(duì)分詞單位的要求是“結(jié)合緊密、使用穩(wěn)定”, 但很多詞不好界定,例如花草、藍(lán)天、變成、不知名、一層等。目前比較主流的中文分詞技術(shù)是隱馬爾可夫模型(HMM)、條件隨機(jī)場(chǎng)(CRF)等,本節(jié)不展開(kāi)討論。文本數(shù)據(jù)的處理中文文本分析的第一個(gè)重要任務(wù)就是分詞,研究者可以直接在R和Python中使用第三方包。目前比較常用的中文分詞包是結(jié)巴分詞,來(lái)自Python中的 jieba 包,R中的 jiebaR 包基于 jieba 的C語(yǔ)言版實(shí)現(xiàn)了R接口。本節(jié)選擇中文分

20、詞包 Rwordseg ,包含了幾種不同的分詞方式,也可以調(diào)用 jiebaR 按照統(tǒng)一的函數(shù)式接口來(lái)輸出。以下是在R和Python中實(shí)現(xiàn)中文分詞的示例代碼:文本數(shù)據(jù)的處理以下是在R和Python中實(shí)現(xiàn)中文分詞的示例代碼:文本數(shù)據(jù)的處理文本數(shù)據(jù)的處理在語(yǔ)言模型的基礎(chǔ)上可以選擇不同的文本表示方式,從而將非結(jié)構(gòu)化的文本信息轉(zhuǎn)化成結(jié)構(gòu)化數(shù)據(jù),對(duì)應(yīng)到不同的分析模型進(jìn)行分析。最簡(jiǎn)單的 方式是基于詞袋模型使用向量空間模型(Vector Space Model,簡(jiǎn)稱(chēng)VSM)來(lái)表示文本,可以很容易地將文本數(shù)據(jù)轉(zhuǎn)化成數(shù)據(jù)框,然后使用各種 統(tǒng)計(jì)模型和機(jī)器學(xué)習(xí)方法進(jìn)行分析。此外,還可以使用 N-gram 模型結(jié)合深度

21、學(xué)習(xí)來(lái)表示文本。本節(jié)以向量空間模型為例,介紹文本數(shù)據(jù)的 處理和分析。文本數(shù)據(jù)的處理向量空間模型由Salton等人于20世紀(jì)60年代末提出,將文本數(shù)據(jù)以文檔和詞項(xiàng)的二維結(jié)構(gòu)來(lái)表示。其中文檔(Document)通常是文本信息中具有一定規(guī)模的片段, 比如句子、段落、整篇文章等,也可稱(chēng)為文本(Text)。項(xiàng)(Term)或者特征項(xiàng)(Feature Item)是向量空間模型中最小的不可分的語(yǔ)言單元, 可以是字、詞、詞組或短語(yǔ),通常使用詞作為特征項(xiàng),因此也稱(chēng)為詞項(xiàng)。詞項(xiàng)的權(quán)重(Term Weight)表示某特征項(xiàng)在文檔中的重要度。文本數(shù)據(jù)的處理先來(lái)看一個(gè)簡(jiǎn)單的例子,下表顯示了5篇簡(jiǎn)單的文檔,每篇文檔只有一句

22、話(huà)。真實(shí)的場(chǎng)景下每篇文章可能會(huì)比較長(zhǎng),但基本結(jié)構(gòu)是相似的。編號(hào)文檔名文檔內(nèi)容1文檔1明天利物浦大戰(zhàn)曼聯(lián)。2文檔2后天利物浦大戰(zhàn)曼城。3文檔3曼城奪冠已成定局。4文檔4曼聯(lián)奪冠夢(mèng)碎。5文檔5曼城奪冠還是利物浦奪冠?文本數(shù)據(jù)的處理對(duì)所有文檔進(jìn)行中文分詞之后,得到的結(jié)果如表:文檔名文檔內(nèi)容中文分詞結(jié)果文檔1明天利物浦大戰(zhàn)曼聯(lián)。明天 / 利物浦/ 大戰(zhàn)/ 曼聯(lián)文檔2后天利物浦大戰(zhàn)曼城。后天 / 利物浦 / 大戰(zhàn)/ 曼城文檔3曼城奪冠已成定局。曼城 / 奪冠 / 已成定局文檔4曼聯(lián)奪冠夢(mèng)碎。曼聯(lián) / 奪冠/ 夢(mèng)碎文檔5曼城奪冠還是利物浦奪冠?曼城/ 奪冠 / 還是 / 利物浦 / 奪冠文本數(shù)據(jù)的處理分完

23、詞之后,基于向量空間模型計(jì)算每篇文檔中每個(gè)詞的權(quán)重,就可以得到二維結(jié)構(gòu)的矩陣。如果行代表特征、列代表文檔, 稱(chēng)為詞項(xiàng)文檔矩陣(TDM)。如果行代表文檔、列代表特征,稱(chēng)為文檔詞項(xiàng)矩陣(DTM)。最簡(jiǎn)單的度量權(quán)重的方式是 絕對(duì)詞頻,使用詞項(xiàng)在文檔中出現(xiàn)的頻數(shù)表示文本。此外還有布爾權(quán)重(Boolean Weighting),用1和0 描述某文檔是否包含某詞項(xiàng)。文本數(shù)據(jù)的處理下表是基于之前的分詞結(jié)構(gòu)得到的詞項(xiàng)文檔矩陣,以絕對(duì)詞頻來(lái)度量權(quán)重。文檔1文檔2文檔3文檔4文檔5大戰(zhàn)11000奪冠00112還是00001后天01000利物浦11001曼城01101夢(mèng)碎00010明天10000已成定局00100文

24、本數(shù)據(jù)的處理下面將基于真實(shí)數(shù)據(jù)演示一個(gè)文檔結(jié)構(gòu)化的過(guò)程。數(shù)據(jù)中包含了2537條體育新聞,變量“content”表示新聞內(nèi)容,變量“class” 表示文章的類(lèi)別。其中“F”表示足球新聞,“B”表示籃球新聞。文本數(shù)據(jù)的處理在R和Python中讀入數(shù)據(jù):文本數(shù)據(jù)的處理在文本數(shù)據(jù)處理的時(shí)候,首先進(jìn)行中文分詞,定義一個(gè)向量 c1 ,用來(lái)儲(chǔ)存分完詞之后的文本,詞與詞之間用空格隔開(kāi)。代碼如下所示:文本數(shù)據(jù)的處理然后基于分詞結(jié)果建立如表示例的TDM矩陣。在R中可以直接使用一個(gè)中文文本分析的包 tmcn , 集成了 tm 包中創(chuàng)建TDF矩陣的函數(shù)。在Python中可以使用 sklearn 包來(lái)計(jì)算TDM矩陣,然

25、后使用 pandas 包將其轉(zhuǎn)化成數(shù)據(jù)框。文本數(shù)據(jù)的處理代碼如下所示:文本數(shù)據(jù)的處理文檔1文檔2文檔3文檔4文檔5大戰(zhàn)11000奪冠00112還是00001后天01000利物浦11001曼城01101夢(mèng)碎00010明天10000已成定局00100至此,本例對(duì)文本數(shù)據(jù)完成了結(jié)構(gòu)化處理,得到了以數(shù)據(jù)框格式存在的TDF矩陣,可以用作下一步的分析。文本數(shù)據(jù)的處理把TDM矩陣轉(zhuǎn)置后,就成為DTM矩陣。每一行代表一篇文檔,每一列代表一個(gè)詞項(xiàng)。如果研究者把詞項(xiàng)當(dāng)成特征,把文檔當(dāng)成樣本, 把數(shù)據(jù)中的文檔類(lèi)別當(dāng)做標(biāo)簽,就可以構(gòu)建機(jī)器學(xué)習(xí)的訓(xùn)練集來(lái)訓(xùn)練分類(lèi)模型。數(shù)據(jù)處理的代碼如下所示:文本分類(lèi)示例文本數(shù)據(jù)的處理文

26、本數(shù)據(jù)的處理文本數(shù)據(jù)的處理文本數(shù)據(jù)的處理文本數(shù)據(jù)的處理文本數(shù)據(jù)的處理文本數(shù)據(jù)的處理文本處理代碼文本數(shù)據(jù)的處理篩選后的數(shù)據(jù)框就和普通的機(jī)器學(xué)習(xí)使用的數(shù)據(jù)沒(méi)什么區(qū)別了,可以用來(lái)訓(xùn)練分類(lèi)模型,例如邏輯斯蒂回歸。代碼如下所示:文本數(shù)據(jù)的處理邏輯斯蒂回歸的解釋性很好,可以根據(jù)系數(shù)的顯著性來(lái)判斷不同特征對(duì)分類(lèi)的影響,比如“歐冠”“英超”“踢”對(duì)分類(lèi)到足球的 影響比較大,“nba”“籃板”“季后賽”對(duì)分類(lèi)到足球的影響比較大,這是符合常識(shí)的。研究者還可以基于模型做預(yù)測(cè),并計(jì)算混淆矩陣和ROC的值。 代碼如下所示。文本數(shù)據(jù)的處理代碼如下所示。文本數(shù)據(jù)的處理句法分析(Syntactic Parsing)主要分為句

27、法結(jié)構(gòu)分析(Syntactic Structure Parsing)和依存關(guān)系分析(Dependency Parsing),是自然語(yǔ)言處理中的關(guān)鍵技術(shù)。和機(jī)器學(xué)習(xí)、深度學(xué)習(xí)基于數(shù)據(jù)歸納的思想不同,句法分析 包含了大量語(yǔ)言學(xué)的規(guī)則,同時(shí)也借鑒機(jī)器學(xué)習(xí)的思路來(lái)訓(xùn)練模型,可以說(shuō)是人工智能領(lǐng)域中規(guī)則驅(qū)動(dòng)和數(shù)據(jù)驅(qū)動(dòng)的完美結(jié)合。句法分析句法結(jié)構(gòu)分析是指對(duì)輸入的句子判斷其構(gòu)成是否合乎給定的語(yǔ)法,分析出合乎語(yǔ)法的句子的句法結(jié)構(gòu)。以獲取整個(gè)句子的句法結(jié)構(gòu)為目的的句法分析稱(chēng)為完全句法分析,簡(jiǎn)稱(chēng)為完全分析(Full Parsing)。而以獲得局部成分為目的的句法分析成為局部分析(Partial Parsing)或者

28、淺層分析(Shallow Parsing)。句法結(jié)構(gòu)一般用樹(shù)狀數(shù)據(jù)結(jié)構(gòu)表示,稱(chēng)為句法分析樹(shù) (Syntactic Parsing Tree),簡(jiǎn)稱(chēng)分析樹(shù)(Parsing Tree)。完成這種分析過(guò)程的程序模塊稱(chēng)為句法結(jié)構(gòu)分析器 (Syntactic Parser),簡(jiǎn)稱(chēng)為分析器(Parser)。句法分析中文句法分析常用的語(yǔ)料來(lái)自美國(guó)賓夕法尼亞大學(xué)提供的LDC中文樹(shù)庫(kù)(Chinese Tree Bank,簡(jiǎn)稱(chēng)CTB),通過(guò)語(yǔ)言數(shù)據(jù)聯(lián)盟(Linguistic Data Consortium,簡(jiǎn)稱(chēng)LDC) 發(fā)布。語(yǔ)料取材于新華社和香港新聞等媒體,包含約45000 個(gè)句、110 萬(wàn)個(gè)詞、165 萬(wàn)個(gè)漢

29、字。該語(yǔ)料庫(kù)把漢語(yǔ)中的詞劃分成不同種類(lèi)的元素, 其標(biāo)注編碼如表。句法分析標(biāo)記英語(yǔ)解釋中文解釋ADadverbs副詞ASAspect marker體標(biāo)記(例:了、在、著)BAin ba-const“把”,“將”的詞性標(biāo)記CCCoordinating conjunction并列連詞,“和”CDCardinal numbers數(shù)字,“一百”CSSubordinating conj從屬連詞(例:若、如果)DECfor relative-clause etc“的” 詞性標(biāo)記DEGAssociative聯(lián)結(jié)詞“的”DERin V-de construction, and V-de-R得DEVbefore

30、VP地DTDeterminer限定詞,“這”ETCTag for words in coordination phrase等,等等FWForeign words例子:ISO句法分析句法分析那么基于這些規(guī)則可以實(shí)現(xiàn)以下推導(dǎo):根據(jù)規(guī)則3和4,可以得到兩個(gè)NP:(NP(NR 張三) (VV 參加) (AS 了) (NP(NN 會(huì)議)。根據(jù)規(guī)則2,可以得到一個(gè)VP:(NP(NR 張三) (VP(VV 參加)(AS 了) (NP(NN 會(huì)議)。根據(jù)規(guī)則1,可以得到一個(gè)簡(jiǎn)單句:(S(NP(NR 張三) (VP(VV 參加)(AS 了) (NP(NN 會(huì)議)。句法分析從而得到了樹(shù)狀結(jié)構(gòu)的句子成分。研究者可以

31、借助第三方工具來(lái)自動(dòng)進(jìn)行結(jié)構(gòu)分析,一個(gè)比較流行的工具是 Stanford NLP 系統(tǒng)。 該系統(tǒng)基于 Java 開(kāi)發(fā),運(yùn)行在JRE 環(huán)境中,目前發(fā)布了Python版本,可以整合在Python的文本分析框架 nltk 中。 R可以使用 coreNLP 包來(lái)調(diào)用,設(shè)置好Java文件的路徑即可。在R和Python中進(jìn)行句法結(jié)構(gòu)分析的代碼如下所示:句法分析在R和Python中進(jìn)行句法結(jié)構(gòu)分析的代碼如下所示:句法分析Stanford NLP的核心模塊是Stanford CoreNLP,包含了基礎(chǔ)的分析功能。Stanford Parser是其中的句法分析模塊,網(wǎng)址是 用來(lái)實(shí)現(xiàn)分詞、詞性標(biāo)注、實(shí)體識(shí)別、句法

32、分析等功能,此外還包括了詞性標(biāo)注模塊Stanford POS Tagger、分詞 模塊Stanford Word Segmenter(支持阿拉伯語(yǔ)和中文)、命名實(shí)體識(shí)別器Stanford Named Entity Recognizer、分類(lèi)器 Stanford Classifier 等。該工具的句法分析模塊除了可以實(shí)現(xiàn)句法結(jié)構(gòu)分析以外,也能實(shí)現(xiàn)依存關(guān)系分析。句法分析依存關(guān)系分析,簡(jiǎn)稱(chēng)依存分析(Dependency Parsing)。在自然語(yǔ)言處理中,除了需要知道整個(gè)句子的短語(yǔ)結(jié)構(gòu)樹(shù)之 外,還需要知道句子中詞與詞之間的依存關(guān)系。用依存關(guān)系來(lái)描述語(yǔ)言結(jié)構(gòu)的框架稱(chēng)為依存語(yǔ)法(Dependence G

33、rammar)。這套方法把處于支配地位的詞稱(chēng)為支配詞(Head),也稱(chēng)為核心詞,把處于被支配地位的詞稱(chēng)為從屬詞(Dependency), 也稱(chēng)為修飾詞?;诓煌募僭O(shè),比如配價(jià)理論等, 可以提取句子中各成分和支配詞之間的關(guān)系。在具體的文本分析應(yīng)用中,研究者通常會(huì)使用句法分析來(lái)深入理解文本中的細(xì)節(jié),然后和機(jī)器學(xué)習(xí)方法相結(jié)合,從而最大化地發(fā)揮其價(jià)值。依存分析121121121音頻分析聲音數(shù)據(jù)是另一種非常重要的非結(jié)構(gòu)化數(shù)據(jù),其來(lái)源是模擬信號(hào),由聽(tīng)覺(jué)器官進(jìn)行解析后轉(zhuǎn)化成大腦中的信息。如果能夠?qū)?聲音的模擬信號(hào)轉(zhuǎn)化成數(shù)字信號(hào),就可以實(shí)現(xiàn)聲音數(shù)據(jù)的結(jié)構(gòu)化,從而結(jié)合各種統(tǒng)計(jì)學(xué)與機(jī)器學(xué)習(xí)的方法進(jìn)行分析,通常稱(chēng)

34、為音頻分析(Audio Analysis)。 本節(jié)簡(jiǎn)單介紹音頻數(shù)據(jù)的處理方法和分析框架,作為常見(jiàn)的非結(jié)構(gòu)化數(shù)據(jù)的一個(gè)補(bǔ)充。音頻分析聲音是由物體振動(dòng)而產(chǎn)生的一種波,稱(chēng)為聲波。發(fā)生振動(dòng)的物體稱(chēng)為聲源,傳播的介質(zhì)包括空氣、液體、固體等。聲音在不同的傳播介質(zhì)中的傳播速度不同。 波的兩個(gè)重要屬性頻率(Frequency)和振幅(Amplitude)決定了人類(lèi)聽(tīng)到的聲音的主要差異。音頻數(shù)據(jù)的處理音調(diào)(Pitch)的高低由頻率決定,頻率越高音調(diào)就越高。 頻率的單位是Hz(赫茲),表示每秒周期性變動(dòng)重復(fù)的次數(shù),人類(lèi)聽(tīng)覺(jué)可以感知的頻率范圍為20Hz到20000Hz之間。響度(Loudness)是人類(lèi)主官感受到 的音量大小,通常由振幅和人離聲源的距離決定,就聲波本身來(lái)說(shuō),振幅越大響度越大。單個(gè)聲波(頻率固定)形成的聲音稱(chēng)為純音(Pure Tone),在自然界很少見(jiàn),一般使用音叉來(lái)產(chǎn)生近似的純音。自然界的大部分聲音都是復(fù)合音(Complex Tone),可以看作是很多不同頻率和振幅的正弦波疊加而成。這種疊加產(chǎn)生的復(fù)雜波決定了聲音的音色(Timbre),還直接影響人類(lèi)對(duì)聲音信息的解析。音頻數(shù)據(jù)的處理音頻數(shù)據(jù)的處理根據(jù)語(yǔ)音信號(hào)領(lǐng)域的采樣定理,當(dāng)采樣頻率大于信號(hào)最高頻率的兩倍時(shí),在采樣過(guò)程中就不會(huì)丟失信息。CC

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶(hù)所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒(méi)有圖紙預(yù)覽就沒(méi)有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶(hù)上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶(hù)上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶(hù)因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論