• 
    

    
    

      99热精品在线国产_美女午夜性视频免费_国产精品国产高清国产av_av欧美777_自拍偷自拍亚洲精品老妇_亚洲熟女精品中文字幕_www日本黄色视频网_国产精品野战在线观看

      ?

      基于Word2vec和SVM的在線圖書評論情感識別系統(tǒng)實現(xiàn)

      2022-04-13 11:44:58柴源
      電子設(shè)計工程 2022年6期
      關(guān)鍵詞:分類器向量圖書

      柴源

      (西安航空學(xué)院圖書館,陜西西安 710077)

      文本情感識別是指利用自然語言處理和文本挖掘技術(shù),對帶有情感色彩的主觀性文本進行分析、處理和抽取的過程[1]。近年來,在網(wǎng)上商城中,用戶產(chǎn)生了大量對圖書及其服務(wù)評論的主觀性文本[2],挖掘這些文本信息,獲取其中隱藏的有價值信息,能有效提高圖書館圖書采選質(zhì)量[3]。但是,這些文本隱含有較強的語義信息,在詞向量的訓(xùn)練中,詞袋模型無法表征詞語之間的語義信息;其次,這些文本文檔不能通過一個線性分類器(直線、平面)來實現(xiàn)分類;第三,人工監(jiān)控分析不僅耗費大量人工成本,而且有很強的滯后性[4]。

      Word2vec 模型通過詞向量來表征語義信息,即在詞向量的訓(xùn)練過程中引入了詞的上下文。SVM 可以將低維空間映射到高維空間,解決線性不可分問題[5]。因此,文中構(gòu)建了一種基于Word2vec和SVM的在線圖書評論情感識別系統(tǒng)。

      1 Word2vec與SVM的基本原理

      1.1 Word2vec

      Word2vec 是一種詞嵌入(Word Embedding)方法,它根據(jù)語料中詞匯共現(xiàn)信息,將詞匯編碼成一個向量,可以計算每個詞語在給定語料庫環(huán)境下的分布式詞向量[6]。它包含兩種訓(xùn)練模型,即跳字模型(Skipgram)和連續(xù)詞袋模型(Continuous Bag of Words,CBOW),如圖1 所示。

      圖1 Word2vec訓(xùn)練模型

      CBOW 模型是一個三層神經(jīng)網(wǎng)絡(luò),利用上下文或周圍的詞語來預(yù)測當(dāng)前位置詞語w(t)的概率,即P(w(t)|w(t-k),w(t-(k-1)),…,w(t-1),w(t+1),w(t+2),…,w(t+k))[7];Skip-gram模型的計算方法逆轉(zhuǎn)了CBOW的因果關(guān)系,利用當(dāng)前位置詞語w(t)來預(yù)測上下文中詞的概率,即P(w(i)|w(t)),其中,t-k≤i≤t+k且i≠k[8]。

      Word2vec 通過訓(xùn)練詞向量,可以定量地度量詞與詞之間的相似程度,挖掘詞語之間的語義關(guān)系,適合做情感分類。

      1.2 SVM

      支持向量機(Support Vector Machine,SVM)是Vapnik 等人于1995 年提出的,它是通過某種事先選擇的非線性映射,將輸入向量映射到一個高維空間中,構(gòu)造最優(yōu)分類超平面,將不同類別的樣本分開[9]。超平面是指比原特征空間少一個維度的子空間,在二維情況下是一條直線,在三維情況下是一個平面。研究表明,支持向量機在處理二分類任務(wù)時是非常成功的[10]。

      在線圖書評論情感識別只有正向和負向兩種結(jié)果,本質(zhì)上也是二分類問題。因此,可構(gòu)造SVM 分類器,實現(xiàn)在線圖書評論的情感識別?;驹肀硎鋈缦拢?/p>

      2 在線圖書評論情感識別系統(tǒng)的設(shè)計

      基于Word2vec和SVM的在線圖書評論情感識別系統(tǒng)的設(shè)計主要包括數(shù)據(jù)預(yù)處理、Word2vec 詞向量表示、構(gòu)造SVM 分類器、文本分類結(jié)果等,如圖2所示。

      圖2 系統(tǒng)設(shè)計

      2.1 數(shù)據(jù)預(yù)處理

      1)數(shù)據(jù)清洗。去除字母、數(shù)字、漢字以外的所有符號。

      2)構(gòu)建用戶情感詞典。采用jieba 技術(shù)進行預(yù)分詞,提取程度副詞和否定詞,程度副詞表示情感強弱,否定詞會將句子情感轉(zhuǎn)向相反的方向,而且通常是疊加的,并融合相關(guān)情感詞典等構(gòu)建用戶情感詞典。

      3)形成研究數(shù)據(jù)集。在1)、2)的基礎(chǔ)上過濾掉“的”、“了”等不影響情感表達的詞語,進行二次分詞,形成研究數(shù)據(jù)集,并將數(shù)據(jù)集按照0.25的比例劃分為訓(xùn)練集和測試集,訓(xùn)練集用于模型的訓(xùn)練,測試集用于結(jié)果測試。

      2.2 Word2vec詞向量表示

      1)模型設(shè)置與訓(xùn)練。Gensim 是一款開源的第三方Python 工具包,用于從原始的非結(jié)構(gòu)化文本中,無監(jiān)督地學(xué)習(xí)到文本隱層的主題向量表達,支持包括TF-IDF、LSA、LDA和Word2vec 在內(nèi)的多種主題模型算法。文中采用Gensim 中的Word2vec 類對訓(xùn)練集數(shù)據(jù)進行向量化表示,生成訓(xùn)練詞表。

      2)構(gòu)建建模矩陣。如圖3 所示,將訓(xùn)練詞表通過DataFrame 轉(zhuǎn)化為詞向量矩陣,由于在線圖書評論文本長度各異,所以用各詞向量直接平均(MEAN)的方式生成句向量,完成建模矩陣的構(gòu)建,實現(xiàn)整個文本文檔的分類處理。

      圖3 構(gòu)建建模矩陣

      2.3 構(gòu)造SVM分類器

      SVM 分類器的構(gòu)造主要包括訓(xùn)練SVM 分類器、驗證分類器、評估分類器、優(yōu)化分類器以及分類器測試運用等,如圖4 所示。

      圖4 構(gòu)造SVM分類器

      1)訓(xùn)練SVM分類器。在Python環(huán)境下,利用sklearn.svm中的SVC類,使用rbf核,設(shè)置參數(shù)gamma、degree,輸入建模矩陣訓(xùn)練分類器。選取高斯核函數(shù)K(x,xi)=exp(-xi)2,x為訓(xùn)練集樣本向量,xi為測試集樣本向量,利用訓(xùn)練集對參數(shù)進行訓(xùn)練。

      2)驗證分類器。利用已構(gòu)造的SVM 分類器,對訓(xùn)練集中的在線圖書評論文本進行情感識別,將識別錯誤的文本返回訓(xùn)練集,進行增量訓(xùn)練。增量訓(xùn)練指機器學(xué)習(xí)不僅可以保留已經(jīng)學(xué)習(xí)過的知識,也可以從新的樣本中學(xué)習(xí)新的知識,這種學(xué)習(xí)是可以迭代的[13]。分類器在初次訓(xùn)練結(jié)束后,將訓(xùn)練數(shù)據(jù)的特征向量在訓(xùn)練好的分類器上進行預(yù)測,若預(yù)測結(jié)果與實際結(jié)果不一致,則將該條數(shù)據(jù)加入到新的訓(xùn)練集中,之后將所有訓(xùn)練集中預(yù)測失敗的數(shù)據(jù)作為新的訓(xùn)練數(shù)據(jù)進行增量訓(xùn)練,增加難以預(yù)測的訓(xùn)練集樣本的權(quán)重。

      3)評估分類器。混淆矩陣和f1-score 是評估分類器性能的重要指標(biāo)[14],混淆矩陣是一個誤差矩陣,矩陣的每一行表示真實類中的實例,每一列表示預(yù)測類中的實例,如表1 所示。

      表1 分類結(jié)果混淆矩陣

      表1 中,TP(True Positive)表示將正例預(yù)測為正例;FN(False Negative):將反例預(yù)測為反例;FP(False Positive)表示將反例預(yù)測為正例;TN(True Negative)表示將正例預(yù)測為反例。通過分類結(jié)果混淆矩陣,可以判斷不同類型分類的正誤數(shù)量。

      f1-score 是精確率和召回率的調(diào)和平均數(shù),最大為1,最小為0[14],計算流程如下:

      計算每個類別下的精確率(Precision)和召回率(Recall),精確率指被分類器判定正例中的正樣本的比重,召回率指的是被預(yù)測為正例的占總的正例的比重。計算方式如下:

      計算每個類下的f1-score,計算方式如下:

      對各個類的f1-score 求均值,得到最后的評測結(jié)果,計算方式如下:

      4)優(yōu)化分類器。GridSearchCV 即網(wǎng)格搜索和交叉驗證,輸入?yún)?shù)列表,模型可計算出最優(yōu)的結(jié)果和參數(shù),是普遍使用的一種自動調(diào)參方式[15]。研究通過選擇不同的degrees、gammas 參數(shù)構(gòu)造列表,通過循環(huán)來尋找預(yù)測效果最優(yōu)的模型。

      5)分類器測試運用。Tkinter 模塊是Python的標(biāo)準(zhǔn)Tk GUI 工具包的接口[16],利用Tkinter 構(gòu)建在線圖書評論情感識別系統(tǒng)應(yīng)用界面,并在測試集上進行應(yīng)用。

      3 在線圖書評論情感識別系統(tǒng)的實現(xiàn)

      3.1 數(shù)據(jù)來源與預(yù)處理

      實驗語料為online_shopping_10_cats 數(shù)據(jù)集中的圖書評論部分,共4 117 條,正向評論(用1 表示)2 100 條,負向評論(用-1 表示)2 017 條。

      實驗在數(shù)據(jù)清洗、提取程度副詞和否定詞的基礎(chǔ)上,融合知網(wǎng)情感詞典、BosonNLP 情感詞典等,構(gòu)建用戶情感詞典user_dict。基于此,進行二次分詞,形成研究數(shù)據(jù)集,并利用sklearn 中的train_test_split將分詞結(jié)果、情感分類按照test_size=0.25的比例劃分為訓(xùn)練集x_train、y_train和測試集x_test、y_test。

      3.2 Word2vec詞向量表示

      1)模型設(shè)置與訓(xùn)練。實驗用Gensim訓(xùn)練Word2vec模型,調(diào)用gensim.models.word2vec()函數(shù)對訓(xùn)練集x_train 數(shù)據(jù)進行訓(xùn)練,并生成訓(xùn)練詞表。參數(shù)設(shè)置如下:

      ①size=300,表示特征向量的維度,維度設(shè)置越大,需要的訓(xùn)練數(shù)據(jù)越多,訓(xùn)練出來的效果越好;

      ②window=5,表示窗口大小,即當(dāng)前詞與預(yù)測詞在一個句子中的最大距離;

      ③min_count=5,表示最小詞頻。訓(xùn)練時,首先對預(yù)處理后的數(shù)據(jù)集進行詞頻統(tǒng)計,發(fā)現(xiàn)小于5的詞語數(shù)量龐大且沒有研究意義,所以實驗將最小詞頻設(shè)置為5。

      2)構(gòu)建建模矩陣。首先構(gòu)造整句所對應(yīng)的所有詞條的詞向量矩陣,然后用各詞向量直接平均的方式生成對應(yīng)的句向量,完成建模矩陣train_vecs的構(gòu)建。部分?jǐn)?shù)據(jù)如圖5 所示。

      圖5 train_vecs建模矩陣(部分)

      3.3 構(gòu)造SVM分類器

      在生成train_vecs 建模矩陣后,利用sklearn 中的SVC 分類器建立支持向量機模型[17-18],設(shè)置kernel=“rbf”,即使用rbf 核,gamma=0.05,即rbf 核相對應(yīng)的參數(shù)為0.05,degree=3 表示模型的冪次方等于3。得到模型后,使用轉(zhuǎn)換后的矩陣train_vecs和訓(xùn)練集x_train 數(shù)據(jù)對模型進行訓(xùn)練。

      分類器訓(xùn)練完成后,編寫預(yù)測函數(shù)對訓(xùn)練集的數(shù)據(jù)進行驗證,將驗證結(jié)果與實際結(jié)果不一致的數(shù)據(jù)加入到新的訓(xùn)練集中,作為新的訓(xùn)練數(shù)據(jù)進行增量訓(xùn)練,重復(fù)多次。準(zhǔn)確率在每輪增量訓(xùn)練時均在上升,但是在后面的迭代時會下降,如圖6 所示。究其原因,在于數(shù)據(jù)特征向量維度較高,數(shù)據(jù)集中含有一些與分類關(guān)系不大的無關(guān)特征。

      圖6 精確率與迭代次數(shù)關(guān)系圖

      增量訓(xùn)練后,查看模型的混淆矩陣、f1-score,如表2 所示。

      表2 模型的性能指標(biāo)

      支持度表示相應(yīng)類中,有多少樣例分類正確。由表2 可知,類別-1的精確率為0.87,類別1的精確率為0.79,精確率均值為0.83,召回率均值為0.82,f1-score 均值為0.82,表明模型具有一定的優(yōu)化空間。

      調(diào)用sklearn.model_selection 中的GridSearchCV進行模型優(yōu)化,設(shè)置degrees=[2,3,4,5],gammas=[0.05,0.5,5],通 過{"gamma":gammas,"degree":degrees}尋 找預(yù)測效果最優(yōu)的模型。實驗結(jié)果顯示,當(dāng)degree=5,gamma=5 時,類別-1的精確率為0.96,類別1的精確率為0.91,精確率均值為0.94,召回率均值為0.94,f1-score 均值為0.93,模型的泛化能力得到了一定的提升,如表3 所示。

      表3 優(yōu)化后模型的性能指標(biāo)

      3.4 SVM分類器的測試應(yīng)用

      利用Tkinter 構(gòu)建在線圖書評論情感識別系統(tǒng)應(yīng)用界面,如圖7 所示,對測試集數(shù)據(jù)進行測試應(yīng)用。圖7 中,當(dāng)輸入在線圖書評論內(nèi)容后,點擊“識別”,實現(xiàn)對文本內(nèi)容的情感判斷。例如,輸入文本text=“《海底的秘密》是適合全體讀者的,是無文字,無國界的,充滿了愛,可以讓人永葆青春的,要用心閱讀的書。”時,識別結(jié)果為正向。

      圖7 在線圖書評論情感識別系統(tǒng)應(yīng)用界面

      4 結(jié)束語

      在線圖書評論反映了消費者對圖書的各種情感色彩和情感傾向,具有一定的研究價值和使用價值。研究以online_shopping_10_cats 數(shù)據(jù)集中的圖書評論部分為實驗數(shù)據(jù),經(jīng)過jieba 分詞、用戶情感詞典整合等文本預(yù)處理,采用Word2vec 將詞語轉(zhuǎn)化為可計算、結(jié)構(gòu)化的向量,得到語義化的特征矩陣;構(gòu)造SVM 分類器模型,采用增量訓(xùn)練和GridSearchCV 優(yōu)化分類器,并應(yīng)用Tkinter 實現(xiàn)文本信息情感識別可視化。實驗結(jié)果表明,該系統(tǒng)精確率為0.94,召回率為0.94,f1-score 為0.94,泛化能力較強。

      猜你喜歡
      分類器向量圖書
      向量的分解
      聚焦“向量與三角”創(chuàng)新題
      圖書推薦
      南風(fēng)(2020年22期)2020-09-15 07:47:08
      歡迎來到圖書借閱角
      BP-GA光照分類器在車道線識別中的應(yīng)用
      電子測試(2018年1期)2018-04-18 11:52:35
      班里有個圖書角
      加權(quán)空-譜與最近鄰分類器相結(jié)合的高光譜圖像分類
      結(jié)合模糊(C+P)均值聚類和SP-V-支持向量機的TSK分類器
      向量垂直在解析幾何中的應(yīng)用
      向量五種“變身” 玩轉(zhuǎn)圓錐曲線
      昌宁县| 讷河市| 汝州市| 曲松县| 奉化市| 饶平县| 奉贤区| 青浦区| 罗江县| 塘沽区| 齐河县| 武隆县| 剑川县| 崇阳县| 资兴市| 黔江区| 五家渠市| 巩义市| 开平市| 汨罗市| 莱阳市| 台中县| 诸城市| 新巴尔虎右旗| 商都县| 闻喜县| 肥西县| 大英县| 晋宁县| 新竹市| 芮城县| 镇雄县| 固原市| 洛南县| 犍为县| 师宗县| 囊谦县| 云和县| 山阴县| 合作市| 宁安市|