論文-基于微博評(píng)論的情感分析_第1頁(yè)
論文-基于微博評(píng)論的情感分析_第2頁(yè)
論文-基于微博評(píng)論的情感分析_第3頁(yè)
論文-基于微博評(píng)論的情感分析_第4頁(yè)
論文-基于微博評(píng)論的情感分析_第5頁(yè)
已閱讀5頁(yè),還剩8頁(yè)未讀 繼續(xù)免費(fèi)閱讀

下載本文檔

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

文檔簡(jiǎn)介

基于情感詞典的微博評(píng)論情感分析理工學(xué)院計(jì)科一、實(shí)驗(yàn)題目基于微博評(píng)論的情感分析二、實(shí)驗(yàn)?zāi)康挠肑ava實(shí)現(xiàn)對(duì)微博評(píng)論數(shù)據(jù)的分詞和情感分析。得到評(píng)論的情感傾向是積極、消極還是中性以及情感傾向度。以此作為算法研究微博評(píng)論的基礎(chǔ)。三、實(shí)驗(yàn)環(huán)境操作系統(tǒng)版本:WINDOWS7主要硬件:CPU,內(nèi)存,顯示器實(shí)驗(yàn)平臺(tái):JavaEclipse四、實(shí)驗(yàn)步驟Java環(huán)境配置先安裝jdk選擇【新建系統(tǒng)變量】--彈出“新建系統(tǒng)變量”對(duì)話框,在“變量名”文本框輸入“JAVA_HOME”,在“變量值”文本框輸入JDK的安裝路徑在“系統(tǒng)變量”選項(xiàng)區(qū)域中查看CLASSPATH變量在文本框起始位置添加“.;%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar;”。在“系統(tǒng)變量”選項(xiàng)區(qū)域中查看PATH變量,在文本框起始位置添加“%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin;”2、驗(yàn)證環(huán)境變量是否配置成功:如果出現(xiàn)下面界面說(shuō)明你已經(jīng)配置好了!你的電腦就可以運(yùn)行java程序了。3、導(dǎo)入目的文件點(diǎn)擊finish導(dǎo)入完成,可運(yùn)行程序。功能和代碼實(shí)現(xiàn)功能實(shí)現(xiàn):算法分為四個(gè)方面來(lái)實(shí)現(xiàn),爬蟲獲取微博評(píng)論、分詞、情感定位和情感聚合。通過(guò)算法可以實(shí)現(xiàn)對(duì)于微博評(píng)論的分詞和人們的情感傾向分析。是積極消極還是中性的態(tài)度以及情感的傾向度。中文分詞和去除停用詞中文分詞和去除停用詞測(cè)試文件測(cè)試文件得到情感傾向度情感定位得到情感傾向度情感定位微博評(píng)論爬蟲微博評(píng)論爬蟲情感聚合情感聚合項(xiàng)目模塊設(shè)計(jì)代碼實(shí)現(xiàn):本人在項(xiàng)目組中負(fù)責(zé)情感定位的部分和代碼,本部分代碼的主要功能是給不同情感詞進(jìn)行人工標(biāo)記。具體代碼如下: publicclasssentiment{ Set<String>posWordSet,negWordSet,negVodSet,vod1Set,vod2Set,vod3Set,vod4Set,vod5Set,vod6Set;//不同情感詞的詞庫(kù) StringBuffersensTxt; floattolSens=0;//各個(gè)極性短語(yǔ)的強(qiáng)度 floatdocSens=0;//句子平均的強(qiáng)度, inti=1; intw=1; intq=1; publicstaticvoidmain(String[]args)throwsException{ fengCijd=newfengCi("./DATA/tt.txt","./DATA/ttFC.txt","UTF8"); jd.getFengci(); //開始sentiment sentimenta=newsentiment(); a.readDoc("./DATA/ttFC.txt","./DATA/ttPrediction.txt"); } publicvoidreadDoc(Stringpath,StringsenPath)throwsIOException{ Filedoc=newFile(path); StringsigleDoc=null; String[]stringList; dic(); StringBufferreadParse,ParseSen;BufferedReaderdocBf=newBufferedReader(newInputStreamReader(newFileInputStream(doc),"gb2312")); while((sigleDoc=docBf.readLine())!=null){ readParse=newStringBuffer(); ParseSen=newStringBuffer(); readParse.append("<");//后加< ParseSen.append("<"); stringList=sigleDoc.split("");//分隔符 for(inti=0;i<stringList.length;i++){ System.out.print(stringList[i]+"");if(posWordSet.contains(stringList[i])||negWordSet.contains(stringList[i])||negVodSet.contains(stringList[i])||vod1Set.contains(stringList[i])||vod2Set.contains(stringList[i])||vod3Set.contains(stringList[i])||vod4Set.contains(stringList[i])||vod5Set.contains(stringList[i])||vod6Set.contains(stringList[i])){if(readParse.lastIndexOf(">")>readParse.lastIndexOf("<")){//輸出>的位置,從0開始readParse.append("<");}if(ParseSen.lastIndexOf(">")>ParseSen.lastIndexOf("<")){ParseSen.append("<");}if(negVodSet.contains(stringList[i])){System.out.print("NA");readParse.append("NA");ParseSen.append("-0.8,");} //負(fù)面詞賦值-0.8if(vod1Set.contains(stringList[i])){ System.out.print("DA");readParse.append("DA");ParseSen.append("0.9,");}if(vod2Set.contains(stringList[i])){System.out.print("DA");readParse.append("DA");ParseSen.append("0.9,"); } if(vod3Set.contains(stringList[i])){ System.out.print("DA");readParse.append("DA");ParseSen.append("0.7,");}if(vod4Set.contains(stringList[i])){ System.out.print("DA");readParse.append("DA");ParseSen.append("0.5,");}if(vod5Set.contains(stringList[i])){ System.out.print("DA");readParse.append("DA");ParseSen.append("0.3,");}if(vod6Set.contains(stringList[i])){ System.out.print("DA");readParse.append("DA");ParseSen.append("-0.5,");}if(posWordSet.contains(stringList[i])){System.out.print("PW");readParse.append("PW>");ParseSen.append("0.8>");}if(negWordSet.contains(stringList[i])){System.out.print("PW");readParse.append("PW>");ParseSen.append("-0.8>");}}}System.out.print("\r\n");System.out.println(readParse.toString()+""+ParseSen.toString());//判斷標(biāo)簽computeSen(readParse.toString(),ParseSen.toString(),senPath);}docBf.close();}//構(gòu)建詞典publicvoiddic()throwsIOException{ BufferedReaderposWord=newBufferedReader(newFileReader(newFile("./DATA/構(gòu)建詞典/正面詞/正面詞(0.8).txt"))); BufferedReadernegWord=newBufferedReader(newFileReader(newFile("./DATA/構(gòu)建詞典/負(fù)面詞/負(fù)面詞(-0.8).txt"))); BufferedReadernegVod=newBufferedReader(newFileReader(newFile("./DATA/構(gòu)建詞典/否定副詞/否定(-0.8).txt"))); BufferedReadervod1=newBufferedReader(newFileReader(newFile("./DATA/構(gòu)建詞典/程度詞語(yǔ)/最(0.9).txt"))); BufferedReadervod2=newBufferedReader(newFileReader(newFile("./DATA/構(gòu)建詞典/程度詞語(yǔ)/超(0.9).txt"))); BufferedReadervod3=newBufferedReader(newFileReader(newFile("./DATA/構(gòu)建詞典/程度詞語(yǔ)/很(0.7).txt"))); BufferedReadervod4=newBufferedReader(newFileReader(newFile("./DATA/構(gòu)建詞典/程度詞語(yǔ)/較(0.5).txt"))); BufferedReadervod5=newBufferedReader(newFileReader(newFile("./DATA/構(gòu)建詞典/程度詞語(yǔ)/稍(0.3).txt"))); BufferedReadervod6=newBufferedReader(newFileReader(newFile("./DATA/構(gòu)建詞典/程度詞語(yǔ)/欠(-0.5).txt")));情感定位:首先先將微博評(píng)論中不是情感詞的詞語(yǔ)用停用詞詞典去除掉,只剩下能表達(dá)情感及情感強(qiáng)度的詞語(yǔ),然后將每一個(gè)情感詞語(yǔ)與各個(gè)詞庫(kù)進(jìn)行匹配及標(biāo)記賦值。例如:今天天氣很好但空氣質(zhì)量欠佳。我們將分好詞中的很、欠作為程度副詞提取出來(lái),并將他們進(jìn)行人工標(biāo)記賦值很為0.7,欠為-0.5;好、佳作為正面詞提取出來(lái),并將他們進(jìn)行人工賦值,因?yàn)楹?、佳都是正面詞,所以均為0.8。然后再通過(guò)情感聚合算出每一條評(píng)論的情感強(qiáng)度即可。我們主要分為了程度副詞、否定副詞、負(fù)面詞、正面詞,并將他們進(jìn)行不同程度的賦值,程度副詞分別為0.9、0.7、0.5、0.3、-0.5;否定副詞為-0.8;負(fù)面詞為-0.8;正面詞為0.8,每一個(gè)評(píng)論中無(wú)論情感詞有多少重復(fù)出現(xiàn)都要進(jìn)行累加,從而計(jì)算出整個(gè)評(píng)論的情感傾向。六、實(shí)驗(yàn)結(jié)果分析實(shí)驗(yàn)所使用的語(yǔ)料是用爬蟲代碼在微博評(píng)論上爬下來(lái)的。格式按照程序要求已規(guī)范格式可以直接使用為txt文本的形式。運(yùn)行sentiment程序,我們把用爬蟲爬下來(lái)的微博評(píng)論txt文本放到ff.txt中,運(yùn)行后得到結(jié)果存入ffFC.txt和ffPrediction.txt中。ffFC.txt中存入的是分詞結(jié)果分詞結(jié)果用空格鍵區(qū)分,每條評(píng)論用回車鍵作為結(jié)束,ffPrediction.txt中存入的是對(duì)于評(píng)論情感傾向的判斷分為pos、neg和neutral三個(gè)詞性。通過(guò)對(duì)于每條微博評(píng)論情感傾向的判斷,我們做一個(gè)匯總,可以得到公眾對(duì)于某個(gè)社會(huì)事件的態(tài)度傾向分布。是積極的、消極的還是中性的以及情感傾向度。通過(guò)更多的測(cè)試,可以幫助個(gè)人了解人們對(duì)某些商品的觀點(diǎn)和態(tài)度,從而選購(gòu)合適的商品;可以幫助商家搜集市場(chǎng)情報(bào),從而制定恰當(dāng)?shù)漠a(chǎn)品營(yíng)銷策略:尤其可以幫助政府機(jī)構(gòu)了解一定時(shí)期人們對(duì)某些話題的觀點(diǎn)和態(tài)度,從而掌握并引導(dǎo)網(wǎng)絡(luò)輿情。從而體現(xiàn)了我們這個(gè)課題研究的目的。七、遇到的問(wèn)題我們項(xiàng)目進(jìn)行時(shí)出現(xiàn)的問(wèn)題實(shí)現(xiàn)工具的選擇,開始我們選擇了C++作為實(shí)現(xiàn)平臺(tái),但是在實(shí)際操作過(guò)程中遇到很多解決不了的問(wèn)題,我們后來(lái)又選擇了不太熟悉,但是網(wǎng)絡(luò)上教學(xué)資源相對(duì)豐富的java作為實(shí)現(xiàn)平臺(tái),最終順利實(shí)現(xiàn)了一些功能。文件流寫出的分詞文件亂碼的問(wèn)題。解決方法:分詞后的文件出現(xiàn)亂碼主要是因?yàn)樵募c分詞保存的文件格式不一樣導(dǎo)致的問(wèn)題。例如我們?cè)瓉?lái)在微博上爬取得評(píng)論是以ANSI格式保存的,但是分詞文件的存放格式是UTF-8格式。解決方法非常簡(jiǎn)單,只要將他們兩的文件的保存格式改為一樣的就不會(huì)出現(xiàn)此問(wèn)題了。3、評(píng)論文件太大導(dǎo)致報(bào)錯(cuò)。解決方法:打開eclipse存放的文件夾,用記事本打開eclipse.ini文件,將openFile--launcher.XXMaxPermSize下的打開文件大小改成大于你的測(cè)試用的txt文件的大小。老師對(duì)我們提出的問(wèn)題關(guān)于系統(tǒng)準(zhǔn)確度和針對(duì)微博評(píng)論的效果為了提高我們微博話題情感的分析的準(zhǔn)確度,我們?cè)谠O(shè)法將字典做成可經(jīng)過(guò)測(cè)試,動(dòng)態(tài)添加新的情感詞的動(dòng)態(tài)詞典。遇到了一些困難:首先就是我們無(wú)法判定一個(gè)新分出來(lái)的詞是否是情感詞以及它為情感詞的判斷標(biāo)準(zhǔn)。第二就是我們無(wú)法判定它的情感傾向。基于這個(gè)問(wèn)題上我們又設(shè)想是否可以建立我們研究的話題的專門的專業(yè)性的字典,如手機(jī)評(píng)論中出現(xiàn)的內(nèi)存、顆粒度、像素等專業(yè)詞匯,來(lái)提高我們的分詞準(zhǔn)確性。但是由于微博話題的廣泛性,并且專業(yè)領(lǐng)域詞匯的字典在網(wǎng)絡(luò)上非常難直接獲得,而且獲得的專業(yè)詞匯表的專業(yè)詞匯并不完整,使得這個(gè)問(wèn)題無(wú)法得到充分解決。這也是我們今后工作的發(fā)展和研究方向。(三)其他小組向我們小組提出的問(wèn)題問(wèn)題1:中科院分詞與IKAnalyzer分詞相比為什么選取了IKAnalyzer分詞?答案:NLPIR分詞系統(tǒng)是我們小組剛開始使用的分詞系統(tǒng),但是在分詞過(guò)程中我們發(fā)現(xiàn)其分詞的結(jié)果文件中標(biāo)明了詞語(yǔ)的詞性,使得情感詞的提取變得困難,同時(shí)容易在中文間隔,返回局部亂碼方面出錯(cuò)。相比起NLPIR,IKAnalyzer是基于java語(yǔ)言開發(fā)的輕量級(jí)的中文分詞工具包

溫馨提示

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

評(píng)論

0/150

提交評(píng)論