彭欣悅 范嚴(yán) 徐海峰
摘 ?要:為了實現(xiàn)文檔的情感化抓取,設(shè)計了一款應(yīng)用于網(wǎng)頁文檔搜索的智能型爬蟲軟件,相對于一般搜索引擎,更專注于從智能化和情感化角度實現(xiàn)海量Web文本數(shù)據(jù)的發(fā)現(xiàn)和呈現(xiàn)。文章對搜索關(guān)鍵字的智能化語義校正方法進(jìn)行了研究,對于一些疏忽導(dǎo)致的語義錯誤,設(shè)計相關(guān)算法進(jìn)行自動化校正;實現(xiàn)了搜索文本的情感化排序,搜索結(jié)果的返回不僅僅是關(guān)鍵字的匹配,還進(jìn)行情感分類標(biāo)注;利用文檔的情感標(biāo)簽對一些網(wǎng)絡(luò)暴力、虛假評論等文檔進(jìn)行文本甄別。
關(guān)鍵詞:網(wǎng)絡(luò)爬蟲;搜索引擎;情感分析;主題模型
中圖分類號:TP391.3 ? ? 文獻(xiàn)標(biāo)識碼:A 文章編號:2096-4706(2020)23-0097-03
Design and Implementation of Sentimental Intelligent Web Crawler
PENG Xinyue,F(xiàn)AN Yan,XU Haifeng
(School of Math and Computer Science,Jiangxi Science & Technology Normal University,Nanchang ?330038,China)
Abstract:In order to achieve emotional crawling of documents,an intelligent crawler software for web document search is designed. Compared with general search engines,it focuses more on the discovery and presentation of massive Web text data from the perspective of intelligence and emotion. This paper studies the intelligent semantic correction method of search keywords,and designs relevant algorithms for automatic correction of semantic errors caused by negligence;realizes the emotional sorting of search text,and the return of search results is not only the matching of keywords,but also the emotional classification annotation;uses the emotional label of the document to distinguish some documents such as network violence and false comments.
Keywords:web crawler;search engine;sentiment analysis;topic model
0 ?引 ?言
隨著互聯(lián)網(wǎng)的應(yīng)用和普及,網(wǎng)絡(luò)上的文本內(nèi)容呈現(xiàn)幾何數(shù)量級的增長,并且存在的形式也是多種多樣。大規(guī)模的Web文本中蘊(yùn)含著豐富的情感知識,這些潛在的情感知識需要應(yīng)用情感分類技術(shù)進(jìn)行挖掘和處理[1]。依托學(xué)校的大學(xué)生創(chuàng)新創(chuàng)業(yè)訓(xùn)練計劃項目,結(jié)合自己軟件技術(shù)專業(yè)背景,對海量文本數(shù)據(jù)的情感爬取及搜索算法了進(jìn)行研究和設(shè)計[2]。
現(xiàn)有的搜索引擎可以自動進(jìn)行網(wǎng)頁數(shù)據(jù)搜取,但搜索引擎只關(guān)注內(nèi)容關(guān)聯(lián)度的排名影響,不能如商品評論一般給出相應(yīng)的商品總體評價分值,從而限制了用戶對搜索內(nèi)容的預(yù)期選擇。為了提高網(wǎng)絡(luò)用戶對檢索文檔的關(guān)注度體驗,從文本情感分類技術(shù)的角度,結(jié)合智能化匹配關(guān)鍵字技術(shù),設(shè)計了一個情感化的智能網(wǎng)絡(luò)爬蟲軟件,可以實現(xiàn)搜索文本的情感分類標(biāo)簽化。
1 ?研究意義
大數(shù)據(jù)背景下,對于數(shù)據(jù)的有效提取和挖掘顯得尤為重要。從語義校正角度來搜索網(wǎng)絡(luò)文本,對網(wǎng)絡(luò)文本的情感值進(jìn)行關(guān)注,可以提升搜索引擎的文本提取質(zhì)量,更好地滿足所搜即所想的功能,同時,提高搜索引擎的智能化程度[3]。在數(shù)據(jù)爆炸的時代,情感化的智能網(wǎng)絡(luò)爬蟲研究與設(shè)計具有重要意義。
1.1 ?有利于甄別網(wǎng)絡(luò)暴力等網(wǎng)絡(luò)語言
網(wǎng)絡(luò)暴力事件頻發(fā),其對于社會、企業(yè)和個人的危害日益受到關(guān)注。如何發(fā)現(xiàn)網(wǎng)絡(luò)暴力,從情感分析角度是一個很好的切入點。網(wǎng)絡(luò)暴力類文檔一般情感表現(xiàn)較為激烈,負(fù)面情感分值較高。在相關(guān)情感分析技術(shù)下,對于符合此類情感標(biāo)簽的文本要進(jìn)行格外的關(guān)注。對于輿情的管理和疏導(dǎo)可以提供一定的技術(shù)支持和幫助。
1.2 ?有利于搜索和發(fā)現(xiàn)符合語義要求的網(wǎng)絡(luò)文檔
搜索引擎的最大目標(biāo)是盡可能返回符合用戶需要的內(nèi)容。但在實際的文本搜索中,往往搜索的內(nèi)容和目標(biāo)大相徑庭。從關(guān)鍵字的語義糾正和返回內(nèi)容的情感分類,即從源頭和結(jié)果的獲取上進(jìn)行創(chuàng)新,從新的角度來考量網(wǎng)絡(luò)文本的價值定位,拓展了搜索引擎的搜索功能[4]。
通過對情感化智能網(wǎng)絡(luò)爬蟲軟件的構(gòu)思、設(shè)計和實現(xiàn),從全新的角度詮釋搜索引擎的智能化和人性化。情感發(fā)現(xiàn)是一個角度,從中挖掘出其隱含的情感,對于用戶來說,多了一個更符合預(yù)期的網(wǎng)文搜索途徑。盡量讓網(wǎng)絡(luò)搜索更如人意、更近人情,這也是網(wǎng)絡(luò)爬蟲設(shè)計所追求的目標(biāo)。
2 ?設(shè)計方案及算法實現(xiàn)
系統(tǒng)主要包括3個模塊:語義校正模塊、爬蟲搜索模塊和情感分類模塊。
2.1 ?語義校正模塊
主要考慮2種情況:一是詞語的亂序及遺漏,如“遺傳算法”寫成“傳遺法算”“數(shù)碼相機(jī)”寫成“數(shù)相機(jī)”等;二是句子中固定搭配錯誤,如“價格便宜,速度快”寫成“價格快,速度便宜”,利用模糊匹配算法實現(xiàn)語義校正。
算法設(shè)計過程為:
(1)利用模糊隸屬函數(shù)計算亂序或出現(xiàn)遺漏的詞語和正確詞語的隸屬度值,當(dāng)隸屬度值大于一定閾值時,匹配正確詞語。公式如式(1)所示:
(1)
其中,μk(w)是詞語w屬于正確詞語k的模糊隸屬度,Nw是亂序詞單字和正確詞語單字匹配正確的個數(shù),Nk是正確詞語的長度。
(2)句子成分的搭配錯誤。如“低價格的平板電腦,屏幕像素高”寫成“低價格的屏幕像素,平板電腦高”。利用詞頻關(guān)聯(lián)、句法分析等技術(shù)實現(xiàn)語義校正。利用句法分析,發(fā)現(xiàn)詞語固定搭配關(guān)系,對于句子中的錯誤搭配關(guān)系進(jìn)行校正。
如“價格很公道”“霸氣的外觀”的詞性標(biāo)注和依存句法分析分別如圖1和圖2所示。其中,(價格,公道)和(外觀,霸氣)是固定搭配關(guān)系。通過句法結(jié)構(gòu)分析和詞性關(guān)系規(guī)則識別候選評價對象和情感詞,并利用改進(jìn)的PMI算法進(jìn)行共現(xiàn)的搭配識別,實現(xiàn)固定搭配關(guān)系發(fā)現(xiàn)。
規(guī)則1:一個單句中滿足主謂關(guān)系(SBV)或定中關(guān)系(ATT)依存結(jié)構(gòu)關(guān)系,對應(yīng)的名詞(或動名詞)為候選評價對象,對應(yīng)的形容詞為候選情感詞。
根據(jù)規(guī)則1,從圖1中可以識別候選評價對象和情感詞搭配關(guān)系集:
{(價格,公道),(外觀,霸氣)}
在句法分析的基礎(chǔ)上,設(shè)計改進(jìn)的PMI算法來計算評價對象和情感詞之間的關(guān)系,以獲取符合語義要求的候選評價對象和情感詞搭配關(guān)系。
2.2 ?爬蟲搜索網(wǎng)頁模塊
建立一個適合多類型網(wǎng)頁搜索的引擎系統(tǒng),它能在較短時間內(nèi)爬取網(wǎng)頁信息,具有有效準(zhǔn)確的中文分詞功能,并嵌入語義校正和情感排序功能,實現(xiàn)對網(wǎng)上網(wǎng)頁數(shù)據(jù)及文本信息的快速檢索展示。
2.2.1 ?爬蟲搜索網(wǎng)頁模塊主要設(shè)計流程
以關(guān)鍵字、詞進(jìn)行網(wǎng)頁文本的搜索,結(jié)合多種算法進(jìn)行搜索結(jié)果的排序,設(shè)計如下:
(1)設(shè)定相應(yīng)網(wǎng)址信息,網(wǎng)絡(luò)爬蟲抓取這個網(wǎng)站,得到所有網(wǎng)頁鏈接。
(2)得到網(wǎng)頁的源代碼,解析剝離出需要的文本內(nèi)容,標(biāo)題、正文和作者等信息。
(3)把所有網(wǎng)頁的文本內(nèi)容做成詞語索引,采用倒排索引表方式。
(4)搜索時,根據(jù)搜索詞在詞語索引里查詢,并實現(xiàn)語義校正。返回結(jié)果的排序方法:
1)按改進(jìn)的TF/IDF算法。
2)按文本的情感分類算法。
3)按以上2種算法的組合。
2.2.2 ?爬蟲搜索網(wǎng)頁關(guān)鍵技術(shù)
網(wǎng)頁的排名采用了改進(jìn)的TF/IDF排序算法,利用鏈接度來反映文檔的權(quán)重,可以更好地發(fā)現(xiàn)關(guān)注度高的文檔,設(shè)計流程如下:
(1)網(wǎng)頁文檔詞語索引采用倒排表索引,利用校正后的搜索關(guān)鍵詞可以迅速檢索到相應(yīng)文檔,倒排索引示意圖如圖3所示。
(2)網(wǎng)頁排名采用改進(jìn)的TF/IDF統(tǒng)計。TF是詞頻(Term Frequency),IDF是逆文檔頻率(Inverse Document Frequency)。IDF的主要思想是:如果包含詞語t的文檔越
少,則詞語t的IDF越大,則說明詞語t具有很好的類別區(qū)分能力。TF/IDF是一種用于信息檢索與數(shù)據(jù)挖掘的常用加權(quán)技術(shù)。TF/IDF統(tǒng)計用以評估一詞對于一個文件集或一個語料庫中的其中一份文檔的重要程度。我們在公式中加入了反映網(wǎng)頁鏈接程度的參數(shù),如果該網(wǎng)頁被其他網(wǎng)頁鏈接引用次數(shù)越多,說明該網(wǎng)頁的重要性越高。改進(jìn)的TF/IDF統(tǒng)計公式如式(2)所示:
wd(t)=tf·log(n/df)·lg(nl) ? ? ? ? ? ? (2)
其中,tf是詞語t在文檔d中出現(xiàn)的頻率,n是文檔總數(shù),df是包含詞語t的文檔頻率,nl是被其他網(wǎng)頁鏈接引用的次數(shù)。
2.3 ?網(wǎng)絡(luò)文檔的情感分類模塊
2.3.1 ?網(wǎng)頁文檔集關(guān)鍵情感詞的提取
利用LDA(latent Dirichlet allocation)主題模型進(jìn)行關(guān)鍵情感詞提取,可以降低文檔的情感詞維度,有利于高效率實現(xiàn)情感分類[5]。
LDA模型結(jié)構(gòu)如圖4所示,M是文檔的數(shù)量,N是每個文檔中詞語的數(shù)量,α是文檔-主題分布的狄利克雷參數(shù)β是主題-詞語分布的狄利克雷參數(shù),α和β決定了每個文檔中主題分布以及每個主題中詞語分布的平滑程度,z和w分別是主題和詞語,θ是文檔-主題分布。
2.3.2 ?基于深度學(xué)習(xí)的情感分類
我們對長短期記憶(long short term memory,LSTM)神經(jīng)網(wǎng)絡(luò)進(jìn)行了改進(jìn),提出情感詞向量輸入的S-LSTM(Senti-ment LSTM)。將文檔的關(guān)鍵情感詞向量作為輸入數(shù)據(jù),可以更好地表達(dá)文檔情感,同時減少直接輸入文本或句子詞語向量所帶來的噪聲數(shù)據(jù)[6,7]。S-LSTM在輸出層使用softmax來預(yù)測不同主題的情感分類。S-LSTM的結(jié)構(gòu)設(shè)計包括輸入層、LSTM層、情感主題表示層和輸出層。
各層的主要功能和計算公式為:
(1)輸入層:LSTM網(wǎng)絡(luò)的輸入層是對應(yīng)于文檔集的關(guān)鍵情感詞向量,設(shè)定的情感主題個數(shù)為m,每個主題包含已排序的詞語分布列,取前k個詞語為情感關(guān)鍵詞,每個情感詞語表示為固定大小并預(yù)先訓(xùn)練的詞嵌入向量。
(2)LSTM層:隱藏層H∈?m×k包含LSTM產(chǎn)生的隱藏向量[h1,…,hm],隱藏層的維度和主題個數(shù)相同,用情感主題詞嵌入向量和隱藏層狀態(tài)計算情感詞語的注意權(quán)重向量eij∈?m×k,如式(3)所示:
eij=wij||hij ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ? ?(3)
(3)情感主題表示層:利用情感主題關(guān)鍵詞語分布來表示文檔主題。將情感語義關(guān)聯(lián)引入主題表示的運(yùn)算,賦予模型識別詞語情感關(guān)系的能力,并關(guān)注對情感分類產(chǎn)生影響的詞語關(guān)系,對無關(guān)的噪聲數(shù)據(jù)進(jìn)行過濾。
(4)輸出層:用softmax函數(shù)計算最后的情感類別,情感類別可設(shè)置為5類,分別用分類數(shù)值表示。主題表示計算如式(4)和(5)所示:
h=tanh(WpTs+WxhK) ? ? ? ? ? ? ? ? ? ? ? ? (4)
y=softmax(Wsh+bs) ? ? ? ? ? ? ? ? ? ? ? ? (5)
其中,h是情感主題詞向量的表達(dá),hK是主題個數(shù)為K時對應(yīng)的詞向量,h∈?m,Wp和Wx是模型訓(xùn)練中的投影參數(shù),Ws是權(quán)重矩陣,bs是偏置量參數(shù)。
3 ?結(jié) ?論
本文基于大數(shù)據(jù)背景下的網(wǎng)頁文本搜索,從智能化和情感化角度提出了網(wǎng)絡(luò)爬蟲軟件的新設(shè)想,并用Python語言實現(xiàn)了軟件功能。軟件首先實現(xiàn)了搜索關(guān)鍵字的智能語義校正。詞語的順序、語法錯誤利用智能化語義糾錯和模糊匹配,重組為正確的關(guān)鍵字組合,最大限度地實現(xiàn)了關(guān)鍵字語義符合;然后利用主題模型對文檔情感詞向量進(jìn)行了有效降維。利用改進(jìn)的LDA主題模型提取關(guān)鍵情感詞,大大降低海量文本的情感分析維度,實現(xiàn)了大數(shù)據(jù)背景下的主題情感關(guān)鍵詞聚類;最后實現(xiàn)了網(wǎng)頁文本的情感標(biāo)注及排序。搜索結(jié)果可以以網(wǎng)址鏈接或純文本方式返回,排名順序利用TF/IDF等算法實現(xiàn),同時對網(wǎng)頁文檔進(jìn)行情感分類,實現(xiàn)基于情感值的網(wǎng)頁文檔排序。
參考文獻(xiàn):
[1] LIU B. Sentiment analysis and opinion mining [M].San Rafael:Morgan & Claypool Publishers,2012.
[2] 鄭秋生,夏敏捷.Python項目案例開發(fā)從入門到實戰(zhàn) [M].北京:清華大學(xué)出版社,2018.
[3] 吳鈺潔,朱福喜,周競.基于概率圖模型的文本情感分析 [J].小型微型計算機(jī)系統(tǒng),2015,36(7):1421-1425.
[4] 宋佳穎,黃旭,付國宏.基于詞語情感隸屬度特征的情感極性分類 [J].北京大學(xué)學(xué)報(自然科學(xué)版),2016,52(1):171-177.
[5] BLEI D M,NG A Y,JORDAN M I. Latent Dirichlet Allocation [J].Journal of Machine Learning Research,2003,3:993-1022.
[6] 李衛(wèi)疆,漆芳.基于多通道雙向長短期記憶網(wǎng)絡(luò)的情感分析 [J].中文信息學(xué)報 2019,33(12),119-128.
[7] 趙容梅,熊熙,琚生根,等.基于混合神經(jīng)網(wǎng)絡(luò)的中文隱式情感分析 [J].四川大學(xué)學(xué)報(自然科學(xué)版),2020,57(2):264-270.
作者簡介:彭欣悅(2001—),女,漢族,江西宜春人,研究方向:數(shù)據(jù)挖掘。