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

        ?

        基于Spark的海量文本評論情感分析

        2018-03-21 06:42:15奚雪峰顧建偉卓文婕陳帥天
        關(guān)鍵詞:服務(wù)端類別分類器

        王 磊 , 曾 誠 , 奚雪峰 *, 皮 洲 , 顧建偉 , 卓文婕 , 陳帥天

        (1.蘇州科技大學(xué) 電子與信息工程學(xué)院,江蘇 蘇州 215009;2.蘇州市虛擬現(xiàn)實智能交互及應(yīng)用技術(shù)重點實驗室,江蘇 蘇州215009;3.昆山市公安局指揮中心,江蘇 蘇州 215300)

        隨著網(wǎng)絡(luò)的快速發(fā)展,越來越多的人活躍于網(wǎng)絡(luò),進行網(wǎng)絡(luò)購物,進而產(chǎn)生大量的購物評論,購物評論不僅是用戶在使用商品之后的一種反饋的有效方式,同時對于商戶以及瀏覽者也都有較好的參考價值。但是目前絕大多數(shù)的評論都沒有被有效利用,在浩如煙海的評論中,網(wǎng)站的管理者無法直接從中找到有用的信息,因而如何有效的挖掘處理這些評論具有重大意義。

        最基礎(chǔ)的情感分析方法是通過對句子進行打分來判定句子的情感類別。對句子中的每個單詞都給予一個分數(shù),例如帶有樂觀情感的單詞得分為+1,帶有悲觀情緒的單詞得分為-1。然后對句子中所有單詞的得分進行求和得到一個最終的情感總分。

        另外一個常見的方法是將文本視為一個“詞袋”。將每個文本看成一個1×N的向量,其中N表示文本中包含的詞匯的數(shù)量。該向量中每一列都是一個單詞,其對應(yīng)的值為該單詞出現(xiàn)的頻數(shù)。例如,詞組“bag of bag of words”可以被編碼為 [2,2,1]。這些數(shù)據(jù)可以被應(yīng)用到機器學(xué)習(xí)分類算法中(如支持向量機,Logistic回歸),從而預(yù)測未知數(shù)據(jù)的情感狀況[1]。

        Word2Vec[2]是由谷歌提出的一種模型,它包含兩種不同的方法:Continuous Bag of Words(CBOW)和Skip-gram。CBOW的目標是根據(jù)上下文來預(yù)測當前詞語的出現(xiàn)概率;而Skip-gram剛好相反,根據(jù)當前詞語來預(yù)測上下文的概率。經(jīng)過訓(xùn)練之后,該算法利用CBOW或者Skip-gram的方法獲得了每個單詞的最優(yōu)向量。這些詞向量已經(jīng)捕獲到了上下文的信息,并且可以代替詞袋用來預(yù)測未知數(shù)據(jù)的情感狀況,在得到相應(yīng)的詞向量之后,就能夠?qū)⑵渥鳛楦鞣诸惼鞯妮斎?,從而實現(xiàn)句子情感的分析歸類。趙剛[3],于瀟[4]等通過構(gòu)建情感詞典并利用傳統(tǒng)的機器學(xué)習(xí)算法完成文本情感的分析,有著較好的實驗結(jié)果,但構(gòu)建情感詞典的方法費時費力且主觀性較強。楊小平等[5]則利用統(tǒng)計模型進行情感詞典的自動構(gòu)建,通過Word2vec對文本進行相似度的計算,從而實現(xiàn)情感分類,該方法在二分類情感問題中取得了不錯的效果,但面對情感的多分類問題時效果還有待確認。計瑩華等[6]基于Word2Vec對文本進行語料訓(xùn)練,提出了多維情感詞典的自動構(gòu)建方法,研究了基于詞分布密度的感情色彩消歧策略,對于情感分析的準確度有較大提升。

        隨著大數(shù)據(jù)時代的到來,以及硬件的飛速發(fā)展,神經(jīng)網(wǎng)絡(luò)再次被廣泛關(guān)注,并在各個行業(yè)都取得了良好的應(yīng)用效果。蘇小英等[7]基于卷積神經(jīng)網(wǎng)絡(luò)實現(xiàn)了微博短文情感分析,模型對微博短文的情感分析有明顯提升,但卷積神經(jīng)網(wǎng)絡(luò)結(jié)構(gòu)復(fù)雜,參數(shù)眾多,訓(xùn)練難度大。劉新星等[8]通過不同的神經(jīng)網(wǎng)絡(luò)來研究產(chǎn)品屬性情感分析,采用直接循環(huán)圖為語句建模,但提升效果并不明顯。

        筆者將利用word2vec及多層感知器完成情感分析任務(wù)。另外,隨著文本數(shù)據(jù)量的不斷增大,單機的內(nèi)存和運算能力已經(jīng)不能滿足大數(shù)據(jù)量數(shù)據(jù)挖掘的要求,需要人們利用分布式計算系統(tǒng)進行并行處理。因此,文中采用Spark作為數(shù)據(jù)的處理平臺。

        1 任務(wù)定義

        通過對現(xiàn)有語義分析模型的分析比較,選取適當?shù)哪P蜆?gòu)建文本語義分析工具,實現(xiàn)批量處理用戶生成的評論內(nèi)容,提高工作效率,減少人力成本。

        2 系統(tǒng)模型

        為實現(xiàn)批量評論的提交與預(yù)測結(jié)果的快速獲取,筆者設(shè)計了如圖1所示的文本語義處理系統(tǒng)。

        圖1 系統(tǒng)流程圖

        在啟動服務(wù)端之后,用戶可在界面自行設(shè)置服務(wù)器ip以及端口號。在交互界面用戶可以選擇提交txt或xls格式的文檔,點擊提交將會觸發(fā)監(jiān)聽事件,客戶端獲取文本框和文本域的內(nèi)容并發(fā)送到服務(wù)端,在客戶端內(nèi)會設(shè)置消息頭Path:或者String:;如果是文件,會通過scp協(xié)議的get、put方法將本地路徑的文件放在內(nèi)部設(shè)定的服務(wù)端文件位置,同時,文件名也會當作字符流發(fā)送到服務(wù)端;如果是字符流,則會將字符信息直接發(fā)送過去(此處使用的是socket)。當服務(wù)端處理完成后,客戶端會將結(jié)果文本提取到對應(yīng)的文件目錄。

        服務(wù)端啟動后,會對設(shè)定的端口進行監(jiān)聽。當客戶端發(fā)送請求時,會被socket接收,建立通信通道,傳過來的字符信息會被MassageHandle類處理,其中的兩個函數(shù)分別對應(yīng)著獲取消息類別:0代表路徑,1代表字符消息,2代表消息頭被篡改,無法被識別。消息內(nèi)容因為消息包含消息頭,所以要被處理掉,消息本身只會用作比較和處理,不會用來執(zhí)行。獲取的消息根據(jù)類別會被switch分類處理:如果是.xls文件則會被接收,直接執(zhí)行handle方法進行處理;如果是字符內(nèi)容,則會被寫入新建的.xls文件中做統(tǒng)一處理。文本的處理流程如圖1所示。

        第一步 文件判別:在每次提交任務(wù)之后,首先服務(wù)端會刪除對應(yīng)的目錄文件,服務(wù)端的腳本命令會放在指定目錄下,del_*文件為對應(yīng)腳本文件,在程序內(nèi)會用java Progress類執(zhí)行,調(diào)用Progress的waitFor()函數(shù),在等待前一個腳本執(zhí)行完成之后,開始執(zhí)行第二個腳本;

        第二步 分詞:調(diào)用腳本對提交的文本文件進行處理,文本分詞完成后,將結(jié)果保存在wordcut.txt文件;

        第三步 將wordcut.txt提交至分布式文件存儲系統(tǒng)hdfs,服務(wù)端將會首先判斷是否有同名文件存在于hdfs當中,若存在則先刪除上一次任務(wù)處理的文本;

        第四步 數(shù)據(jù)標簽預(yù)測:服務(wù)端向Spark集群提交處理任務(wù),Spark集群從hdfs中讀取wordcut.txt文件,調(diào)用訓(xùn)練好的相關(guān)模型,進行數(shù)據(jù)標簽的預(yù)測;

        第五步 獲取結(jié)果:服務(wù)端調(diào)用腳本文件獲取標簽,并將其寫入到.xls文件中,處理好后服務(wù)端會向客戶端發(fā)送指令,觸發(fā)在客戶端的判斷函數(shù),調(diào)用scp的get方法,最終將處理好的文件存放到提交文件的目錄中。Socket關(guān)閉,整個服務(wù)流程結(jié)束。

        3 情感分析模型

        文中設(shè)計的情感分析模型的執(zhí)行流程如圖2所示。首先,使用結(jié)巴分詞對輸入文本進行分詞處理;其次,使用Wor2Vec模型進行詞向量的轉(zhuǎn)換,對文本進行特征的提??;最后,分別訓(xùn)練兩個分類器,實現(xiàn)情感及評論價值的分類。

        圖2 情感分析流程圖

        表1 情感趨向數(shù)據(jù)集規(guī)模

        表2 評論價值數(shù)據(jù)集規(guī)模

        3.1 數(shù)據(jù)清理與篩選

        實驗的數(shù)據(jù)集為第八屆中國大學(xué)生服務(wù)外包創(chuàng)新創(chuàng)業(yè)大賽,A11賽題:基于機器學(xué)習(xí)的文本語義分析工具所提供的20 707條數(shù)據(jù)標注的評論數(shù)據(jù)。

        筆者對數(shù)據(jù)進行人工清理與篩選,最終得到6 677條非重復(fù)評論,數(shù)據(jù)規(guī)模見表1和表2。每條評論帶有兩個標簽:第一個標簽代表該評論的情感趨向,包括“貶義”“中性”“褒義”三種類別;第二個標簽代表該評論對于產(chǎn)品的改進所具有的價值,包含“關(guān)于產(chǎn)品的建議”“毫無意義的反饋”“問題但缺少關(guān)鍵信息”“問題,且包含關(guān)鍵信息(如詳細的問題描述、步驟、場景、軟硬件信息等)”四種類別。

        篩選之后的數(shù)據(jù)各類別之間非常不平衡:(1)褒義評論85條,貶義評論999條,中性評論5 593條,褒義評論僅為中性評論的1.52%;(2)帶有“關(guān)于產(chǎn)品的建議”標簽的評論1 333條,“問題但缺少關(guān)鍵信息”的評論3 342條,“問題,且包含關(guān)鍵信息(如詳細的問題描述、步驟、場景、軟硬件信息等)”的評論1 756條,“毫無意義的反饋”的評論只有246條,約為“問題但缺少關(guān)鍵信息”評論的7.36%。

        如此不平衡的數(shù)據(jù)集將會影響分類器的分類效果。因此,筆者又從京東爬取了5萬條評論,標注了其中1 000條褒義評論和200條貶義評論,并對中性評論進行采樣,抽取其中1 500條中性評論作為訓(xùn)練樣本。

        同樣的,筆者標注了200條屬于“毫無意義的反饋”的評論,對“問題但缺少關(guān)鍵信息”的評論進行采樣,取出其中的1 500條,使各類數(shù)據(jù)達到平衡。

        3.2 文本向量化

        從維基百科爬取了約1G的中文文本,去除字符后使用結(jié)巴分詞對文章進行分詞,將分詞后的文本作為Wor2vec模型的訓(xùn)練語料。隨后對評論分詞,并對每一句子的單詞進行詞向量轉(zhuǎn)換,并將每一句的詞向量同位相加來代表每一個句子向量。由于每一句評論的長短不一,為消除句子長短對最終結(jié)果造成的影響,對句向量做取平均處理,將其作為分類器的輸入。

        3.3 分類模型的選擇

        3.3.1 支持向量機(SVM)

        支持向量機(SVM)算法被認為是文本分類中較為優(yōu)秀的一種方法,它是一種建立在統(tǒng)計學(xué)習(xí)理論基礎(chǔ)上的機器學(xué)習(xí)方法。它使用一種非線性的映射,把原訓(xùn)練數(shù)據(jù)映射到較高的維上,并在新的維上搜索最佳分離超平面。使用到足夠高維上的、合適的非線性映射,兩類的數(shù)據(jù)總可以被分開。

        SVM分類器最初是為二值分類問題設(shè)計的,當處理多分類問題時,就需要構(gòu)造合適的多分類器??赏ㄟ^組合多個二分類器來實現(xiàn)多分類器的構(gòu)造,而常見的兩種方法分別為one-against-one和one-against-all[9]。

        一對多法(one-versus-rest)在訓(xùn)練模型時,依次將一種類別作為一類,剩余的類別歸為一類,對于一個k分類的問題需要訓(xùn)練出k個SVM模型。分別使用k個模型對給定數(shù)據(jù)進行分類,具有最大分類結(jié)果的類別即為數(shù)據(jù)所屬類別。

        一對一法(one-versus-one)則是在所有的類別中任選兩類進行組合,進行模型訓(xùn)練,對于一個k分類問題需要訓(xùn)練k(k-1)/2個SVM模型,最后采取投票規(guī)則,對于給定數(shù)據(jù),得票最多的類即為所屬類別。

        一對多法因為訓(xùn)練集任意產(chǎn)生偏倚,因而不是很實用。一對一法在分類類別較多時需要訓(xùn)練較多分類模型,但該實驗中的分類問題是3分類和4分類,實際不會產(chǎn)生太大開銷,因此,實驗中采用一對一法對SVM算法進行多分類的擴展。

        3.3.2 多層感知器

        多層感知器是一種前饋神經(jīng)網(wǎng)絡(luò),由多個節(jié)點層組成。每個層完全連接到網(wǎng)絡(luò)中的下一層。輸入層中的節(jié)點表示輸入數(shù)據(jù)。所有其他節(jié)點,通過輸入與節(jié)點的權(quán)重w和偏置b的線性組合,并應(yīng)用激活函數(shù),將輸入映射到輸出。

        該系統(tǒng)使用的前饋神經(jīng)網(wǎng)絡(luò)共四層,分別為輸入層、兩個隱藏層和一個輸出層。兩個隱藏層分別包含25個節(jié)點。 中間層中的節(jié)點使用 sigmoid(logistic)函數(shù) f(zi)=1/(1+e-zi),輸出層中的節(jié)點使用 softmax 函數(shù)輸出層中的節(jié)點數(shù)量N對應(yīng)于類別數(shù)。

        4 實驗結(jié)果與分析

        4.1 集群部署

        通過sbt將程序及其依賴包打包成一個Jar包,啟動hdfs及Spark集群,將測試數(shù)據(jù)上傳到hdfs,通過Spark-Submit將Jar包和所需的參數(shù)提交給集群,待程序執(zhí)行完畢即可從指定的hdfs輸出路徑中下載結(jié)果。

        整個測試是在由三臺Dell PowerEdge R720xd服務(wù)器組成的分布式集群上完成的,單節(jié)點核心數(shù)為32,內(nèi)存為62G。程序通過Scala+sbt實現(xiàn)。Ubuntu版本為16.04,Hadoop版本為2.7.2,Spark版本為2.1.1,java版本為1.7.0_80,Scala版本為2.11.8。

        4.2 模型評測指標

        在文本分類中類別不平衡的情況經(jīng)常出現(xiàn),即一種類別遠多于其他類別。

        圖3 算法評估指標

        在這樣的情況下,若測試樣本中一類占所有樣本90%,其他類只占10%,那么分類器只需要將所有樣本都歸為一類就能有90%的準確率,所以僅僅使用準確率無法判斷分類器的性能優(yōu)劣。為了關(guān)注所有類別的分類情況,于是在評價分類器效果時,引入信息檢索中的混淆矩陣。算法評估指標見圖3。

        精度反映了被分類器判定的正例中真正的正例樣本的比重。召回率也稱為True Postive Rate,反映了被正確判定的正例占總的正例的比重,有一點值得注意的是當精度較高時往往召回率較低[10]。

        使用F值和宏平均綜合考慮精度和召回率兩個指標,F(xiàn)值的計算公式如下

        當A取1時,F(xiàn)-measure就是F1值。將所有類的F1值取算術(shù)平均就得到了宏平均(Macro-average)。

        4.3 實驗結(jié)果與分析

        以召回率、準確率、宏平均值三個參數(shù)來作為評價指標。從表3評論情感的分類結(jié)果中可以看到,多層感知器在召回率、準確率、宏平均值三方面均要優(yōu)于另兩種分類器,而對于評論價值的分類效果,多層感知器也要略優(yōu)于另外兩種算法。

        由實驗結(jié)果可知,貶義評論的召回率很低。于是查看錯分的貶義評論,發(fā)現(xiàn)大部分的貶義評論被分為了褒義,實際問題在于Wor2Vec轉(zhuǎn)換的詞向量雖然包含了上下文語義,但無法捕獲情感信息,可能要嘗試添加相應(yīng)的情感維度,才能使褒義和貶義的情感能夠有效區(qū)分。

        由表4還發(fā)現(xiàn)對于評論價值的分類效果一般,其原因在于:一是通過Wor2Vec未能有效提取出評論價值的有效信息;二是獲取句子向量時只是做了加和平均,損失了一部分句子的特征。

        表3 評論情感實驗結(jié)果對比

        表4 評論價值分類實驗對比

        5 結(jié)語

        該系統(tǒng)基于Spark平臺實現(xiàn)了文本評論的情感分類以及評論價值的挖掘。通過實驗比較,該系統(tǒng)以多層感知器作為情感分類算法,得到了較高的準確率(0.68)。同時對評論價值的分類也采用了與評論情感分類一樣的策略,但兩者的效果卻存在偏差,可見對于評論價值挖掘并不能使用一般的情感分析方法[11]。接下來筆者將會進一步分析并提取關(guān)于評論價值的特征,并考慮采用卷積神經(jīng)網(wǎng)絡(luò)對轉(zhuǎn)換后的句子向量進行分析處理。

        [1]MUCHERINO A,PAPAJORGJI P J,PARDALOS P M.Introduction to Data Mining[M].Beijing:Posts&Telecom Press,2006.

        [2]MIKOLOV T,SUTSKEVER I,CHEN K,et al.Distributed representations of words and phrases and their compositionality[J].Advances in Neural Information Processing Systems,2013,26:3111-3119.

        [3]趙剛,徐贊.基于機器學(xué)習(xí)的商品評論情感分析模型研究[J].信息安全研究,2017,3(2):166-170.

        [4]于瀟,萬軍,何翔,等.校園微博情感分析系統(tǒng)的設(shè)計與實現(xiàn)[J].河北工業(yè)大學(xué)學(xué)報,2013,42(6):24-29.

        [5]楊小平,張中夏,王良,等.基于Word2Vec的情感詞典自動構(gòu)建與優(yōu)化[J].計算機科學(xué),2017,44(1):42-47.

        [6]計瑩華.基于機器學(xué)習(xí)的微博情感分析可視化系統(tǒng)[D].西安:西安電子科技大學(xué),2014.

        [7]蘇小英,孟環(huán)建.基于神經(jīng)網(wǎng)絡(luò)的微博情感分析[J].計算機技術(shù)與發(fā)展,2015,25(12):161-164.

        [8]劉新星,姬東鴻,任亞峰.基于神經(jīng)網(wǎng)絡(luò)模型的產(chǎn)品屬性情感分析[J].計算機應(yīng)用,2017,37(6):1735-1740.

        [9]劉志剛,李德仁,秦前清,等.支持向量機在多類分類問題中的推廣[J].計算機工程與應(yīng)用,2004,40(7):10-13.[10]周志華.機器學(xué)習(xí)[M].北京:清華大學(xué)出版社,2016.

        [11]楊東強.情感增強詞向量構(gòu)建方法及應(yīng)用[D].上海:華東師范大學(xué),2015.

        猜你喜歡
        服務(wù)端類別分類器
        云存儲中基于相似性的客戶-服務(wù)端雙端數(shù)據(jù)去重方法
        新時期《移動Web服務(wù)端開發(fā)》課程教學(xué)改革的研究
        BP-GA光照分類器在車道線識別中的應(yīng)用
        電子測試(2018年1期)2018-04-18 11:52:35
        在Windows Server 2008上創(chuàng)建應(yīng)用
        加權(quán)空-譜與最近鄰分類器相結(jié)合的高光譜圖像分類
        結(jié)合模糊(C+P)均值聚類和SP-V-支持向量機的TSK分類器
        服務(wù)類別
        新校長(2016年8期)2016-01-10 06:43:59
        論類別股東會
        商事法論集(2014年1期)2014-06-27 01:20:42
        基于LLE降維和BP_Adaboost分類器的GIS局部放電模式識別
        中醫(yī)類別全科醫(yī)師培養(yǎng)模式的探討
        国产高清在线精品免费| 欧洲美熟女乱av亚洲一区| 强奷乱码中文字幕| 亚洲av无码片一区二区三区| 2020久久精品亚洲热综合一本| 日韩AVAV天堂AV在线| 一区二区三区婷婷中文字幕| 日本视频一区二区三区在线| 亚洲av无码国产精品色午夜字幕 | 国产在线精彩自拍视频| 新中文字幕一区二区三区| 日日碰狠狠添天天爽无码| 国产免费一级在线观看| 亚洲女同恋中文一区二区| 第一次处破女18分钟高清| 内射无码专区久久亚洲| 国产目拍亚洲精品一区二区| 亚洲中文字幕乱码在线观看| 国产成人av一区二区三区在线观看| 国产超碰人人做人人爱ⅴa| 午夜爽毛片| 手机免费高清在线观看av| 四虎影视成人永久免费观看视频| 国产99r视频精品免费观看| 国产一区二区三区影片| 一区二区三区美女免费视频| 亚洲精品午睡沙发系列| 日本少妇按摩高潮玩弄| 一区二区午夜视频在线观看| 性生交片免费无码看人| 亚洲AV成人无码久久精品老人 | 欧美日本国产三级在线| 久久亚洲精精品中文字幕早川悠里| 人妻久久久一区二区三区蜜臀| 日日噜狠狠噜天天噜av| 国产成人香蕉久久久久| 国产传媒精品成人自拍| 亚洲av福利无码无一区二区| 91精品全国免费观看青青| 久久久亚洲成年中文字幕| 天天躁夜夜躁狠狠躁2021a2|