版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)
文檔簡介
1、全國地方高校MOOC聯(lián)盟指定參考書,深圳大學(xué)教材出版基金資助新媒體數(shù)據(jù)挖掘-基于R語言王小峰 方捷 主編課件ver1.0 by 王小峰第七章文本挖掘和情感分析7.1R環(huán)境下的文本挖掘7.2情感分析of402習(xí)題7.1R環(huán)境下的文本挖掘第七章 文本挖掘和情感分析of4037.1.1 中文分詞 分詞就是將連續(xù)的字序列按照一定的規(guī)范重新組合成詞序列的過程,同理,中文分詞(Chinese Word Segmentation) 指的是將一個漢字序列切分成一個一個單獨的詞?,F(xiàn)有的分詞算法可分為三大類:基于詞典(也叫做模式或字符串模式)的方法、基于統(tǒng)計的方法和基于理解的分詞方法。7.1R環(huán)境下的文本挖掘第七
2、章 文本挖掘和情感分析of404 定義:按照一定策略將待分析的漢字串與一個“大機器詞典”中的詞條進行匹配,若在詞典中找到某個字符串,則匹配成功。按照掃描方向的不同可分為正向匹配和逆向匹配,按照長度的不同可分為最大匹配和最小匹配。1 基于詞典的分詞方法從左向右取待切分漢語句的m個字符作為匹配字段,m為大機器詞典中最長詞條個數(shù)。01查找大機器詞典并進行匹配:若匹配成功,則將這個匹配字段作為一個詞切分出來。02若匹配不成功,則將這個匹配字段的最后一個字去掉,剩下的字符串作為新的匹配字段,進行再次匹配,重復(fù)以上過程,直到切分出所有詞為止。037.1R環(huán)境下的文本挖掘第七章 文本挖掘和情感分析of405
3、 舉例:對“南京市長江大橋”這個句子進行分詞,根據(jù)正向最大匹配的原則:1 基于詞典的分詞方法先從句子中拿出前5個字符“南京市長江”,把這5個字符到詞典中匹配,發(fā)現(xiàn)沒有這個詞,那就縮短取字個數(shù),取前四個“南京市長”,發(fā)現(xiàn)詞庫有這個詞,就把該詞切下來;01對剩余三個字“江大橋”再次進行正向最大匹配,會切成“江”、“大橋”02整個句子切分完成為:南京市長、江、大橋;03 顯然詞典的建立是中文分詞的前期重要工作,但幸運的是,今天這些工作由R的各種軟件包已經(jīng)提前做好了!7.1R環(huán)境下的文本挖掘第七章 文本挖掘和情感分析of406 隨著大規(guī)模語料庫的建立,統(tǒng)計機器學(xué)習(xí)方法的研究和發(fā)展,基于統(tǒng)計的中文分詞方
4、法漸漸成為了主流方法。 其主要思想是給出大量已經(jīng)分詞的文本,利用統(tǒng)計機器學(xué)習(xí)模型學(xué)習(xí)詞語切分的規(guī)律(稱為訓(xùn)練),從而實現(xiàn)對未知文本的切分。把每個詞看做是由詞的最小單位各個字總成的,如果相連的字在不同的文本中出現(xiàn)的次數(shù)越多,就證明這相連的字很可能就是一個詞。因此我們就可以利用字與字相鄰出現(xiàn)的頻率來反應(yīng)成詞的可靠度,統(tǒng)計語料中相鄰共現(xiàn)的各個字的組合的頻度,當(dāng)組合頻度高于某一個臨界值時,我們便可認為此字組可能會構(gòu)成一個詞語。主要的統(tǒng)計有模型:N元文法模型(N-gram),隱馬爾可夫模型(Hidden Markov Model,HMM),最大熵模型(ME),條件隨機場模型(Conditional Ra
5、ndom Fields,CRF)等。2 基于統(tǒng)計的分詞方法7.1R環(huán)境下的文本挖掘第七章 文本挖掘和情感分析of407 這種分詞方法是通過讓計算機模擬人對句子的理解,達到識別詞的效果。其基本思想就是在分詞的同時進行句法、語義分析,利用句法信息和語義信息來處理歧義現(xiàn)象。它通常包括三個部分:分詞子系統(tǒng)、句法語義子系統(tǒng)、總控部分。在總控部分的協(xié)調(diào)下,分詞子系統(tǒng)可以獲得有關(guān)詞、句子等的句法和語義信息來對分詞歧義進行判斷,即它模擬了人對句子的理解過程。這種分詞方法需要使用大量的語言知識和信息。由于漢語語言知識的籠統(tǒng)、復(fù)雜性,難以將各種語言信息組織成機器可直接讀取的形式,因此目前基于理解的分詞系統(tǒng)還處在試
6、驗階段。3 基于理解的分詞方法7.1R環(huán)境下的文本挖掘第七章 文本挖掘和情感分析of408 文本挖掘的第一步,就是要進行分詞,分詞將直接影響文本挖掘的效果。R語言在分詞方面有很好的支持,中文分詞包“jiebaR”(結(jié)巴分詞)就是一個不錯的選擇。jiebaR是一款高效的R語言中文分詞包,底層使用的是C+,通過Rcpp進行調(diào)用很高效。結(jié)巴分詞基于MIT協(xié)議,就是免費和開源的,感謝國人作者的給力支持,讓R的可以方便的處理中文文本。jiebaR軟件包的Github地址為:/qinwf/jiebaR。1 簡介7.1.2 中文分詞包jiebaR的使用7.1R環(huán)境下的文本挖掘第七章 文本挖掘和情感分析of4
7、09 文本挖掘的第一步,就是要進行分詞,分詞將直接影響文本挖掘的效果。R語言在分詞方面有很好的支持,中文分詞包“jiebaR”(結(jié)巴分詞)就是一個不錯的選擇。jiebaR是一款高效的R語言中文分詞包,底層使用的是C+,通過Rcpp進行調(diào)用很高效。結(jié)巴分詞基于MIT協(xié)議,就是免費和開源的,感謝國人作者的給力支持,讓R的可以方便的處理中文文本。jiebaR軟件包的Github地址為: /qinwf/jiebaR。2 安裝和簡單實驗if(!require(jiebaR)install.packages(jiebaR);library(jiebaR)if(!require(jiebaR)#如果第一種方
8、法不能安裝,可使用devtools來進行安裝 if(!require(devtools)install.packages(devtools);library(devtools) install_github(qinwf/jiebaRD) install_github(qinwf/jiebaR); library(jiebaR)wk = worker()wk我是圖書新媒體數(shù)據(jù)挖掘?qū)嵺`基于R語言的作者wk show_dictpath()1 C:/Program Files/R/R-3.4.2/library/jiebaRD/dict# 查看目錄dir(show_dictpath()1 C:/Pro
9、gram Files/R/R-3.4.2/library/jiebaRD/dict1 backup.rda hmm_model.utf8 hmm_model.zip 4 idf.utf8 idf.zip jieba.dict.utf87 jieba.dict.zip model.rda README.md 10 stop_words.utf8 user.dict.utf8scan(file=C:/Program Files/R/R-3.4.2/library/jiebaRD/dict/jieba.dict.utf8, what=character(),nlines=50,sep=n, enco
10、ding=utf-8,fileEncoding=utf-8)Read 50 items1 1號店 3 n 1號店 3 n 4S店 3 n 4s店 3 n AA制 3 n 6 AB型 3 n AT&T 3 nz A型 3 n A座 3 n A股 3 n 11 A輪 3 n A輪 3 n BB機 3 n BB機 3 n BP機 3 n 16 BP機 3 n B型 3 n B座 3 n B股 3 n B超 3 n 21 B輪 3 n B輪 3 n C# 3 nz C+ 3 nz CALL機 3 n26 CALL機 3 n CD機 3 n CD機 3 n CD盒 3 n C座 3 n 31 C盤 3
11、n C盤 3 n C語言 3 n C語言 3 n D座 3 n 36 D版 3 n D盤 3 n D盤 3 n E化 3 n E座 3 n 41 E盤 3 n E盤 3 n E通 3 n F座 3 n F盤 3 n 46 F盤 3 n G盤 3 n G盤 3 n H盤 3 n H盤 3 n“ 7.1R環(huán)境下的文本挖掘第七章 文本挖掘和情感分析of4014# 查看默認的詞庫位置 show_dictpath()1 C:/Program Files/R/R-3.4.2/library/jiebaRD/dict# 查看目錄dir(show_dictpath()1 C:/Program Files/R/
12、R-3.4.2/library/jiebaRD/dict1 backup.rda hmm_model.utf8 hmm_model.zip 4 idf.utf8 idf.zip jieba.dict.utf87 jieba.dict.zip model.rda README.md 10 stop_words.utf8 user.dict.utf8”7.1R環(huán)境下的文本挖掘第七章 文本挖掘和情感分析of4015 (2) 探索詞典 用戶詞典第一行有二列,第一列為詞項,第二列為詞性標(biāo)記,沒有詞頻的列。用戶詞典默認詞頻為系統(tǒng)詞庫中的最大詞頻。jiebaR包關(guān)于詞典詞性標(biāo)記,如表7-2所示,是采用ict
13、clas的標(biāo)記方法。ICTCLAS 漢語詞性標(biāo)注集。if(!require(devtools)install.packages(devtools);library(devtools)if(!require(stringi)install.packages(stringi);library(stringi)if(!require(pbapply)install.packages(pbapply);library(pbapply)if(!require(Rcpp)install.packages(Rcpp);library(Rcpp)if(!require(RcppProgress)install
14、.packages(RcppProgress);library(RcppProgress)if(!require(RcppProgress)install.packages(RcppProgress);library(RcppProgress)install_github(qinwf/cidian)library(cidian)# 轉(zhuǎn)換二進制詞典到文本文件。decode_scel(scel = ./14108.scel,cpp = TRUE)# 查看生成的詞典文件scan(file=./14108.scel_2017-10-25_00_22_11.dict, what=character(),
15、nlines=50,sep=n, encoding=utf-8,fileEncoding=utf-8) 接下來把生成的搜狗詞典放在詞典目錄下就可以使用了,或干脆直接替換掉user.dict.utf8。這樣一來,jiebaR默認的用戶詞典就是搜狗詞典了,功能打升級!7.1R環(huán)境下的文本挖掘第七章 文本挖掘和情感分析of4016scan(file=C:/Program Files/R/R-3.4.2/library/jiebaRD/dict/jieba.dict.utf8, what=character(),nlines=50,sep=n, encoding=utf-8,fileEncoding=
16、utf-8)Read 50 items1 1號店 3 n 1號店 3 n 4S店 3 n 4s店 3 n AA制 3 n 6 AB型 3 n AT&T 3 nz A型 3 n A座 3 n A股 3 n 11 A輪 3 n A輪 3 n BB機 3 n BB機 3 n BP機 3 n 16 BP機 3 n B型 3 n B座 3 n B股 3 n B超 3 n 21 B輪 3 n B輪 3 n C# 3 nz C+ 3 nz CALL機 3 n26 CALL機 3 n CD機 3 n CD機 3 n CD盒 3 n C座 3 n 31 C盤 3 n C盤 3 n C語言 3 n C語言 3 n
17、 D座 3 n 36 D版 3 n D盤 3 n D盤 3 n E化 3 n E座 3 n 41 E盤 3 n E盤 3 n E通 3 n F座 3 n F盤 3 n 46 F盤 3 n G盤 3 n G盤 3 n H盤 3 n H盤 3 n“ scan(file=C:/Program Files/R/R-3.4.2/library/jiebaRD/dict/user.dict.utf8, what=character(),nlines=50,sep=n, encoding=utf-8,fileEncoding=utf-8)Read 5 items1 云計算 韓玉鑒賞 藍翔 nz CEO 江大
18、橋7.1R環(huán)境下的文本挖掘第七章 文本挖掘和情感分析of4017 停用詞就是分詞過程中我們不希望被作為結(jié)果的高頻重復(fù)的詞,英文例如the,or,and等,中文例如的,地,得,我,你,他等;這些詞使用頻率過高,如果被作為結(jié)果會在統(tǒng)計詞頻的時候引起噪音,因此通常將這些詞過濾掉。 在jiebaR中,過濾停用詞有2種方法,一種是通過配置stop_word文件,另一種是使用filter_segment()函數(shù)。5 停用詞過濾新建一個stop_word.txt文件,內(nèi)容為“我我是”wk = worker(stop_word=stop_word.txt) #加載分詞引擎,并配置停用詞過濾segment-wk
19、我是新媒體數(shù)據(jù)挖掘?qū)嵺`基于R語言圖書的作者“filter-c(作者)filter_segment(segment,filter)7.1R環(huán)境下的文本挖掘第七章 文本挖掘和情感分析of4018 關(guān)鍵詞提取是文本處理非常重要的一個環(huán)節(jié),一個經(jīng)典算法是TF-IDF算法。其中,TF(Term Frequency)代表詞頻,IDF(Inverse Document Frequency)表示逆文檔頻率。如果某個詞在文章中多次出現(xiàn),而且不是停用詞,那么它很可能就反應(yīng)了這段文章的特性,這就是我們要找的關(guān)鍵詞。再通過IDF來算出每個詞的權(quán)重,不常見的詞出現(xiàn)的頻率越高,則權(quán)重越大。 jiebaR包的關(guān)鍵詞提取提取
20、的實現(xiàn),也是使用了TF-IDF的算法。在安裝目錄中的idf.utf8文件,為IDF的語料庫。6 關(guān)鍵詞提取7.1R環(huán)境下的文本挖掘第七章 文本挖掘和情感分析of40196 關(guān)鍵詞提取segment-wkR以其強大的計算和統(tǒng)計能力、突出的可視化能力繪圖,受到了越來越多的數(shù)據(jù)分析科研工作者的喜愛。freq(segment)# 計算詞頻keys = worker(keywords,topn=5)# 取TF-IDF的前5的關(guān)鍵詞vector_keywords(segment,keys)# 計算關(guān)鍵詞7.1R環(huán)境下的文本挖掘第七章 文本挖掘和情感分析of40206 關(guān)鍵詞提取wk = worker()s
21、egment-wkR以其強大的計算和統(tǒng)計能力、突出的可視化能力繪圖,受到了越來越多的數(shù)據(jù)分析科研工作者的喜愛。freq(segment)# 計算詞頻7.1R環(huán)境下的文本挖掘第七章 文本挖掘和情感分析of4021 詞云本身對于分析數(shù)據(jù)用處不大,但是因為它的直觀和美觀,在做報告的時候可達到錦上添花的效果。R里面繪制詞云的包主要有wordcloud、wordcloud2(最新版本)。本節(jié)主要講解wordcloud2的用法。7.1.3 詞云包wordcloud2的使用wordcloud2(demoFreqC) #demoFreqC里面內(nèi)置了一個數(shù)據(jù)集 wordcloud2(demoFreqC,colo
22、r=random-light,backgroundColor = green,shape = diamond)letterCloud(demoFreqC, word = LOVE, wordSize = 2)第七章文本挖掘和情感分析7.2情感分析7.1R環(huán)境下的文本挖掘of4022習(xí)題7.2情感分析第七章 文本挖掘和情感分析of4023 段文本或一篇文章反映了什么態(tài)度或情緒?是褒義還是貶義?是肯定還是否定?對這些內(nèi)容的分析就是情感分析,或者叫情感傾向分析。情感傾向可認為是主體對某一客體主觀存在的內(nèi)心喜惡,內(nèi)在評價的一種傾向。當(dāng)然,有正常閱讀能力的人,在看了一篇文章后能夠判斷文章的情感和極性,但
23、這是主觀體驗,不是量化數(shù)據(jù)。在對文章進行分析的時候,通常需要進行量化的分析,顯得更加直觀、客觀。7.2情感分析第七章 文本挖掘和情感分析of4024 目前情感分析的一些研究工作主要基于監(jiān)督學(xué)習(xí),無監(jiān)督學(xué)習(xí),基于規(guī)則和跨領(lǐng)域等方向展開。公認的情感分析比較系統(tǒng)的研究工作開始于(Pang et al., 2002)基于監(jiān)督學(xué)習(xí)(supervised learning)方法對電影評論文本進行情感傾向性分類和(Turney,2002)基于無監(jiān)督學(xué)習(xí)(unsupervised learning)對文本情感情感傾向性分類的研究。1 起源7.2情感分析第七章 文本挖掘和情感分析of4025 目前情感分析的研究
24、基本借鑒文本分類等機器學(xué)習(xí)的方法,還沒有根據(jù)自身的特點形成一套獨立的研究方法,當(dāng)然在某種程度上也可以把情感分析看出一種特殊的文本分類。比較成熟的方法是基于監(jiān)督學(xué)習(xí)的機器學(xué)習(xí)方法,半監(jiān)督學(xué)習(xí)和無監(jiān)督學(xué)習(xí)目前的研究不是很多,單純的基于規(guī)則的情感分析這兩年已很少研究了。既然目前很多情感分析的研究基于機器學(xué)習(xí),那么特征選擇就是一個很重要的問題,N元語法等句法特征是使用最多的一類特征,而語義特征(語義計算)和結(jié)構(gòu)特征(樹核函數(shù))從文本分類的角度看效果遠沒有句法特征效果好,所以目前的研究不是很多的。2 發(fā)展 由于基于監(jiān)督學(xué)習(xí)情感分析的研究已經(jīng)很成熟了,而且在真實世界中由于測試集的數(shù)量要遠遠多于訓(xùn)練集的數(shù)量
25、,并且測試集的領(lǐng)域也不像在監(jiān)督學(xué)習(xí)中被限制為和訓(xùn)練集一致,也就是說目前情感分析所應(yīng)用的歸納偏置假設(shè)在真實世界中顯得太強的,為了和真實世界相一致,基于半監(jiān)督學(xué)習(xí)或弱指導(dǎo)學(xué)習(xí)的情感分析和跨領(lǐng)域的情感分析勢必是將來的研究趨勢。 在情感分析的最初階段基于語義和基于規(guī)則的情感分析曾獲得了比較大的重視,但是由于本身實現(xiàn)的復(fù)雜性以及文本分類和機器學(xué)習(xí)方法在情感分析應(yīng)用上獲得的成功,目前關(guān)于這方面的研究以及很少了,但是事實上,語義的相關(guān)性和上下文的相關(guān)性正是情感分析和文本分類最大的不同之處,所以將基于語義和規(guī)則的情感分析與基于機器學(xué)習(xí)的情感分析相結(jié)合也將是未來的研究趨勢。7.2情感分析第七章 文本挖掘和情感分
26、析of4026目前有兩種比較流行的情感分析方:機器學(xué)習(xí)法和詞庫法。機器學(xué)習(xí)法是在已知分類語料的情況下,構(gòu)建文檔-詞條矩陣,然后應(yīng)該各種分類算法(knn、NB、RF、SVM、DL等),預(yù)測出其他句子的情感。在此就分享一下自己如何通過詞庫的方式為每一句評論定性為正面或負面。詞庫法則什么高深的理論基礎(chǔ),其核心思想是對待分析文本進行分詞,通過對比正負面詞庫,通過簡單的加減法即可計算出句子的正負面得分。雖然正負面詞庫的構(gòu)建、自定義詞典的導(dǎo)入等工作較為繁瑣,但該方法非常通俗易懂。127.2.2 情感分析的簡單實現(xiàn)7.2情感分析第七章 文本挖掘和情感分析of4027 接下來以詞庫法實現(xiàn)一個簡單的情感分析,t
27、ext.xls中是待分析評論文本(例如對大眾CC的評論),存儲為兩列:idspace1我愛CC,超級省油,一箱油可以從深圳跑到福州,很滿意2爆發(fā)性超強,5秒內(nèi)加速到百公里不費勁3性價比高,比相同性能的寶馬系實惠不少4感覺有缺陷,內(nèi)飾有毛刺5我覺得被欺騙了,價格上面有水分6流線型無邊框設(shè)計,超級好看正面詞庫pos.txt的內(nèi)容為(注意每個詞在txt文本中獨占一行,這里以空格顯示,下同):超贊 智能 滿意 強大 超強 穩(wěn)定 優(yōu)惠 超強 很好 快速穩(wěn)定 省油 好看 耐看 實惠。負面詞庫neg.txt的內(nèi)容為:漏氣 慢 差 差勁 毛刺 缺陷 虧 被坑 騙 被騙 欺騙 隱瞞。停用詞庫stopwords.
28、txt的內(nèi)容為:了 我 的 車 買 跑 在 錢 到 里面 下面 簡直。7.2情感分析第七章 文本挖掘和情感分析of4028if(!require(readxl)install.packages(readxl);library(readxl)if(!require(jiebaR)install.packages(jiebaR);library(jiebaR)if(!require(plyr)install.packages(plyr);library(plyr)if(!require(wordcloud)install.packages(wordcloud);library(wordcloud)evaluation - read_excel(file.choose()head(evaluation)str(evaluation)pos - readLines(file.choose(), encoding = UTF-8)neg - readLines(file.choose(), encoding = UTF-8)stopword
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 外墻涂料工程招標(biāo)說明
- 財務(wù)審計勞務(wù)合同
- 個人短期借款合同示例
- 中原地產(chǎn)房屋買賣合同風(fēng)險提示
- 顯示屏采購合約格式
- 酒店制服購銷合約
- 廣華客運站招標(biāo)要求及流程詳解
- 招標(biāo)文件制作招標(biāo)
- 網(wǎng)絡(luò)服務(wù)合同協(xié)議范本
- 中小企業(yè)借款合同英文
- 2024北京海淀初一(上)期末語文試卷及答案
- CMQOE質(zhì)量組織卓越認證經(jīng)理歷年考試真題試題庫(中文版)
- 九年級安全班會課件
- 《預(yù)防性侵安全教育》主題班會教案
- 礦山環(huán)境保護管理制度模版(3篇)
- 中建施工電梯安拆專項施工方案
- 《一年級樂考方案》
- 綜合服務(wù)中心施工組織設(shè)計
- 學(xué)前兒童衛(wèi)生與保健-期末大作業(yè):案例分析-國開-參考資料
- 2023-2024學(xué)年河北省廊坊十八中八年級(上)期末數(shù)學(xué)試卷
- GB/T 44500-2024新能源汽車運行安全性能檢驗規(guī)程
評論
0/150
提交評論