柯尊柏 張建華 李昂
摘要:隨著互聯(lián)網(wǎng)技術(shù)的快速發(fā)展,以文本為主導(dǎo)的信息資源與日俱增,如何從中找到優(yōu)質(zhì)的信息資源并正確分類(lèi)成為各領(lǐng)域的研究熱點(diǎn)。本文采用百度命名實(shí)體識(shí)別API,結(jié)合特征詞權(quán)重的計(jì)算實(shí)現(xiàn)名人數(shù)據(jù)分類(lèi),實(shí)驗(yàn)表明分類(lèi)效果較好。
關(guān)鍵詞:文本分類(lèi);特征提取;數(shù)據(jù)采集;特征詞匯;名人數(shù)據(jù)
中圖分類(lèi)號(hào):TP391? ? ? 文獻(xiàn)標(biāo)識(shí)碼:A? ? ? 文章編號(hào):1009-3044(2019)03-0010-02
Abstract: With the rapid development of Internet technology and the increase of text-based information resources, how to find high-quality information resources and correctly classify them has become a research hotspot in various fields. This paper adopts baidu naming entity recognition API and combines with the calculation of feature word weight to realize the classification of celebrity data. The experiment shows that the classification effect is good.
Key words: Text Categorization; Feature Extraction; Data Acquisition; glossary feature; celebrity data
隨著Internet的迅猛發(fā)展,互聯(lián)網(wǎng)上出現(xiàn)了海量的、優(yōu)質(zhì)的信息資源,其中文本信息資源占主導(dǎo)地位。為了有效地管理和利用這些分散的海量信息資源,基于內(nèi)容的信息檢索和數(shù)據(jù)挖掘逐漸成為備受關(guān)注的領(lǐng)域[1],其中,文本分類(lèi)(Text Categorization,簡(jiǎn)稱(chēng) TC)扮演者重要角色。文本分類(lèi)是指將文檔集合中每個(gè)文檔歸入預(yù)先定義的類(lèi)別之中[2]。
本文首先對(duì)數(shù)據(jù)采集和預(yù)處理中的技術(shù)進(jìn)行介紹,然后對(duì)特征提取、文本分類(lèi)的實(shí)現(xiàn)以及分類(lèi)結(jié)果進(jìn)行分析,最后對(duì)整個(gè)工程進(jìn)行概述。下文所提到的名人數(shù)據(jù)均是指介紹名人信息(如地名、機(jī)構(gòu)名、作品名等等)的一句或一段話(huà)。
1 數(shù)據(jù)采集
面對(duì)互聯(lián)網(wǎng)上的海量資源,如何準(zhǔn)確高效地獲取所需資源成為焦點(diǎn),網(wǎng)絡(luò)爬蟲(chóng)(Web Crawler)由此誕生。它是一種能夠根據(jù)給定URL按照一定的規(guī)則,自動(dòng)搜集互聯(lián)網(wǎng)數(shù)據(jù)信息的程序。
數(shù)據(jù)采集以Python作為網(wǎng)絡(luò)爬蟲(chóng)的開(kāi)發(fā)語(yǔ)言,采用的第三方庫(kù)有requests、json、time、csv。通過(guò)requests庫(kù)自動(dòng)提交網(wǎng)絡(luò)請(qǐng)求,調(diào)用百度API獲取json數(shù)據(jù)。為了不對(duì)服務(wù)器造成負(fù)擔(dān),每獲取一個(gè)名人簡(jiǎn)介延時(shí)2秒。隨即提取json數(shù)據(jù)中的“abstract”字段,為避免獲取數(shù)據(jù)中的逗號(hào)對(duì)數(shù)據(jù)存放造成干擾,以“|”為分隔符“utf-8”為編碼格式將數(shù)據(jù)存入csv文件。
2 數(shù)據(jù)預(yù)處理
由于文本作為非結(jié)構(gòu)化的數(shù)據(jù)類(lèi)型,其特點(diǎn)表現(xiàn)為特征空間的高維性、文本特征表示向量的稀疏性及文本主題特征不突出等特點(diǎn)[2]。且從互聯(lián)網(wǎng)上爬取到的數(shù)據(jù)含有大量“臟數(shù)據(jù)”,這些臟數(shù)據(jù)對(duì)特征的抽取、文本分類(lèi)產(chǎn)生了較大影響。因此需要對(duì)文本進(jìn)行預(yù)處理。
預(yù)處理分去除“臟數(shù)據(jù)”、分詞兩大部分。從互聯(lián)網(wǎng)上爬取的數(shù)據(jù)中的“臟數(shù)據(jù)”以亂碼為主,對(duì)于亂碼需要找到正確的編碼格式,重新進(jìn)行編碼解碼。其次是由于網(wǎng)頁(yè)生成過(guò)程中產(chǎn)生的本不應(yīng)出現(xiàn)的字符,像“18px”“<div>”“???”之類(lèi)的“臟數(shù)據(jù)”。需要找到其規(guī)律然后利用replace替換。此外,需要除去這些數(shù)據(jù)中存在的大量停用詞(Stop Word),一般這種詞幾乎不攜帶任何信息,如中文中“的”“啊”“嗎”。
由于中文詞與詞之間沒(méi)有固定的間隔符,需要進(jìn)行分詞處理,將文本從連續(xù)字符流形式轉(zhuǎn)化為離散詞流形式[3]。引入分詞主要是為了后續(xù)給詞匯賦予權(quán)重、數(shù)據(jù)評(píng)分做準(zhǔn)備。
3 特征提取
特征提取就是將文本中對(duì)表達(dá)文本所屬類(lèi)別有較強(qiáng)說(shuō)服力的詞匯從文本中提取出來(lái)[3]。
這里借助百度的實(shí)體識(shí)別來(lái)完成,利用百度的詞法分析將人名(PER)、地名(LOC)、作品名(nw)、時(shí)間(TIME)、機(jī)構(gòu)名(ORG)等特征性的詞匯提取出來(lái)。觀察數(shù)據(jù) “Sabryn Genet,演員,主要作品《Smoke n Lightnin》《與鯊共游》《年輕和騷動(dòng)不安的一族》”,通過(guò)百度的實(shí)體識(shí)別可提取出人名:Sabryn Genet;作品名:《Smoke n Lightnin》《與鯊共游》《年輕和騷動(dòng)不安的一族》。又如“Zhanna Friske(讓娜·福利斯克),1974年7月8日出生于俄羅斯莫斯科,演員、歌星?!蓖ㄟ^(guò)百度的實(shí)體識(shí)別可提取出的人名:Zhanna Friske、讓娜·福利斯克;時(shí)間:1974年7月8日;地點(diǎn):俄羅斯、莫斯科。在文本分類(lèi)過(guò)程中給予這些特征詞匯較高的權(quán)重,就可以起到較好的區(qū)分效果。
4 文本分類(lèi)
文本分類(lèi)是根據(jù)文本的內(nèi)容將大 量的文本歸到一個(gè)或者多個(gè)類(lèi)別的過(guò)程[4]。這里訓(xùn)練的文本均是沒(méi)有標(biāo)簽的,無(wú)法通過(guò)建立有監(jiān)督機(jī)器學(xué)習(xí)模型來(lái)進(jìn)行分類(lèi)。故而依據(jù)文本中的特征詞匯所占比例,以及每個(gè)特征詞匯對(duì)所屬文本說(shuō)服力的大小來(lái)對(duì)文本進(jìn)行分類(lèi)。
通過(guò)先前對(duì)數(shù)據(jù)“Sabryn Genet,演員,主要作品《Smoke n Lightnin》《與鯊共游》《年輕和騷動(dòng)不安的一族》”的分析,得知這條數(shù)據(jù)有基礎(chǔ)詞匯7個(gè),其中特征詞匯4個(gè)?;趯?duì)語(yǔ)料庫(kù)中數(shù)據(jù)的觀察,做出如下實(shí)驗(yàn):依據(jù)特征詞匯的權(quán)重總和與基礎(chǔ)詞匯的權(quán)重總和的比值來(lái)確定這一條數(shù)據(jù)與名人數(shù)據(jù)的關(guān)聯(lián)程度。給上述的7個(gè)基礎(chǔ)詞匯分別賦予權(quán)重1,4個(gè)特征詞匯也分別賦予權(quán)重1。那么就稱(chēng)這條數(shù)據(jù)與名人數(shù)據(jù)的關(guān)聯(lián)程度為4/7。如果一條含有m個(gè)基礎(chǔ)詞匯的數(shù)據(jù)中有n特征詞匯,那么就稱(chēng)這條數(shù)據(jù)與名人數(shù)據(jù)的關(guān)聯(lián)程度為n/m。當(dāng)基礎(chǔ)詞匯全部都是特征詞匯即n=m時(shí),就假定這就是一條名人數(shù)據(jù)。
此外,基于對(duì)語(yǔ)料庫(kù)中數(shù)據(jù)的觀察,發(fā)現(xiàn)存在一些詞頻較高且具有代表性的詞匯,如“演員”“出生于”“本名”“作者”“來(lái)自”等。通過(guò)詞頻統(tǒng)計(jì)對(duì)這部分詞匯進(jìn)行采集,將其作為特征詞匯并給予權(quán)重。
經(jīng)過(guò)多次反復(fù)實(shí)驗(yàn)得出最后的權(quán)重參數(shù):
其中[i=1nweighti]為特征詞匯的權(quán)重總和,[j=1mweightj]為基礎(chǔ)詞匯的權(quán)重總和。經(jīng)過(guò)計(jì)算得出這條測(cè)試語(yǔ)句與名人數(shù)據(jù)的關(guān)聯(lián)程度為0.2142857142。經(jīng)過(guò)多次試驗(yàn)測(cè)試得出測(cè)試數(shù)據(jù)與名人數(shù)據(jù)的關(guān)聯(lián)程度保持在0.05以上時(shí),測(cè)試數(shù)據(jù)多為名人數(shù)據(jù)。故取0.05為數(shù)據(jù)性質(zhì)(名人數(shù)據(jù)/非名人數(shù)據(jù))的分界線(xiàn)。
5 實(shí)驗(yàn)總結(jié)
實(shí)驗(yàn)將文本中的人名、地名、作品名、時(shí)間、機(jī)構(gòu)名等詞匯與“演員”“出生于”“本名”“作者”“來(lái)自”等詞頻較高且具有代表性的詞匯統(tǒng)稱(chēng)為特征詞匯。而后,分別給予這些特征詞匯與基礎(chǔ)詞匯權(quán)重,通過(guò)計(jì)算來(lái)確定測(cè)試文本數(shù)據(jù)與名人數(shù)據(jù)的關(guān)聯(lián)程度。最后,依據(jù)關(guān)聯(lián)程度來(lái)對(duì)文本數(shù)據(jù)進(jìn)行分類(lèi)。
在實(shí)驗(yàn)過(guò)程中,用到了百度的實(shí)體識(shí)別。數(shù)據(jù)語(yǔ)料庫(kù)內(nèi)的數(shù)據(jù)共7189條,最后分離出來(lái)的非名人數(shù)據(jù)共545條。
6 結(jié)論
本文主要討論了文本分類(lèi)技術(shù)在名人數(shù)據(jù)篩選系統(tǒng)中的應(yīng)用,通過(guò)實(shí)驗(yàn)從數(shù)據(jù)采集、數(shù)據(jù)預(yù)處理、特征提取再到文本分類(lèi)等步驟驗(yàn)證了分類(lèi)技術(shù)應(yīng)用于名人信息篩選的可行性。
參考文獻(xiàn):
[1] 蘇金樹(shù),張博鋒,徐昕.基于機(jī)器學(xué)習(xí)的文本分類(lèi)技術(shù)研究進(jìn)展[J].軟件學(xué)報(bào),2006(9):1848-1859.
[2] 饒文碧,柯慧燕.Web文本分類(lèi)技術(shù)研究及其實(shí)現(xiàn)[J].計(jì)算機(jī)技術(shù)與發(fā)展,2006(3):116-118.
[3] 陳子昕.基于SVM的文本分類(lèi)系統(tǒng)設(shè)計(jì)與實(shí)現(xiàn)[J].東莞理工學(xué)院學(xué)報(bào),2008(3):38-43.
[4] 徐泓洋,楊國(guó)為.中文文本特征選擇方法研究綜述[J].工業(yè)控制計(jì)算機(jī),2017,30(11):80-81.
【通聯(lián)編輯:謝媛媛】