彭欣悅 范嚴(yán) 徐海峰


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