如何利用機(jī)器實(shí)現(xiàn)對(duì)新聞進(jìn)行自動(dòng)分類(lèi)

廢話不多說(shuō),直接上干貨齿拂。

要想利用你的機(jī)器實(shí)現(xiàn)對(duì)新聞自動(dòng)識(shí)別分類(lèi)署海,首先你需要準(zhǔn)備以下幾個(gè)東東:

1.語(yǔ)料庫(kù)(人之所以能夠?qū)δ承┦挛镞M(jìn)行判斷識(shí)別,是因?yàn)榇竽X之前有過(guò)記憶存儲(chǔ)捻勉。機(jī)器也是刀森!不過(guò)它學(xué)的比人類(lèi)快,只要你把相關(guān)的語(yǔ)料下載到硬盤(pán)就等于你的機(jī)器已完成了對(duì)相關(guān)內(nèi)容的學(xué)習(xí)埠偿。)

注:相關(guān)語(yǔ)料庫(kù)的獲取可以參考:http://www.reibang.com/p/206caa232ded榜晦;我使用的是搜狗語(yǔ)料庫(kù)。

2.在你機(jī)器上搭建好Python編譯環(huán)境抖剿。(我安裝的是Python3.4.2版本)

3.機(jī)器學(xué)習(xí)算法庫(kù)(scikit-learn)的安裝,可以參考:http://www.reibang.com/p/21b758541825

4.搭建分詞系統(tǒng)愁憔。(我使用的是jieba分詞系統(tǒng)孽拷,具體如何搭建可以參考:http://www.th7.cn/Program/Python/201603/783911.shtml

5.停用詞庫(kù)脓恕。(可以到:http://download.csdn.net/detail/qq_28155529/9890386進(jìn)行下載,對(duì)應(yīng)stopword.txt文件)

上面如果都準(zhǔn)備好了秋茫,下面我們就開(kāi)始進(jìn)入搬磚模塊了乃秀!



機(jī)器自動(dòng)分類(lèi)的總體流程圖:


流程說(shuō)明:

(1)要分類(lèi)跺讯,首先要有一個(gè)分好類(lèi)的訓(xùn)練語(yǔ)料庫(kù)來(lái)作為我們分類(lèi)參考的標(biāo)準(zhǔn)。語(yǔ)料庫(kù)的構(gòu)建可以通過(guò)爬蟲(chóng)自己爬取但是測(cè)試發(fā)現(xiàn)爬取太過(guò)于費(fèi)時(shí)而且爬下來(lái)的新聞還是未分好類(lèi)的局荚,還需后期自己手動(dòng)分類(lèi)因此為了縮短項(xiàng)目開(kāi)發(fā)周期愈污,直接下載使用已分好類(lèi)的搜狗語(yǔ)料庫(kù)(http://www.sogou.com/labs/resources.html);

(2)拿到語(yǔ)料庫(kù)后首装,針對(duì)這些原始語(yǔ)料擎析,需要提取它們的特征,這樣才能知道具備哪些特征的文本屬于哪種類(lèi)別桨醋。文本的特征主要是由一系列詞性的詞構(gòu)成现斋,所以要對(duì)文本進(jìn)行分詞庄蹋,通過(guò)后期提取相關(guān)詞性的詞來(lái)達(dá)到獲取文本特征的目的迷雪。(本項(xiàng)目使用的是jieba分詞系統(tǒng))虫蝶;

(3)分詞之后能真,我們可以從整個(gè)原始語(yǔ)料庫(kù)中提取出一定數(shù)量的代表性詞匯(名詞),提取到的名詞可能包含停用詞粉铐,還需要在提取的名詞詞庫(kù)基礎(chǔ)上去除停用詞痹扇,獲得最終的名詞詞庫(kù);

(4)統(tǒng)計(jì)詞頻朴摊,至于為什么要統(tǒng)計(jì)詞頻茎活,就不用說(shuō)了吧,一個(gè)詞在某類(lèi)文本里出現(xiàn)的次數(shù)越多,越能代表這一類(lèi)文本采桃。當(dāng)然如果某個(gè)詞在這一類(lèi)文本里出現(xiàn)次數(shù)很多而在其他類(lèi)文本里根本不出現(xiàn)普办,就更能代表這一類(lèi)文本了。

(5)計(jì)算特征值肢娘,其實(shí)詞的頻率只是文本最重要的特征之一舆驶,如果只靠詞的頻率去判斷文本的類(lèi)別的話,顯然正確率是很低的拘荡。本項(xiàng)目使用TF-IDF(是一種用于資訊檢索與資訊探勘的常用加權(quán)技術(shù))來(lái)對(duì)文本進(jìn)行更深層度的特征提取撬陵。

TF-IDF綜合表征了該詞在文檔中的重要程度和文檔區(qū)分度。但在文本分類(lèi)中單純使用TF-IDF來(lái)判斷一個(gè)特征是否有區(qū)分度是不夠的蟋定。它沒(méi)有考慮特征詞在分類(lèi)間的分布驶兜。如果一個(gè)特征詞,在各個(gè)類(lèi)間分布比較均勻犀盟,這樣的詞對(duì)分類(lèi)基本沒(méi)有貢獻(xiàn)蝇狼;但是如果一個(gè)特征詞比較集中的分布在某個(gè)類(lèi)中,而在其它類(lèi)中幾乎不出現(xiàn)贱枣,這樣的詞卻能夠很好代表這個(gè)類(lèi)的特征颤专,而TF-IDF不能區(qū)分這兩種情況栖秕。沒(méi)有考慮特征詞在類(lèi)內(nèi)部文檔中的分布情況。在類(lèi)內(nèi)部的文檔中只壳,如果特征詞均勻分布在其中暑塑,則這個(gè)特征詞能夠很好的代表這個(gè)類(lèi)的特征,如果只在幾篇文檔中出現(xiàn)惕艳,而在此類(lèi)的其它文檔中不出現(xiàn)驹愚,顯然這樣的特征詞不能夠代表這個(gè)類(lèi)的特征么鹤。這時(shí)就要通過(guò)卡方檢驗(yàn)(Chi-square)的計(jì)算方法得到數(shù)據(jù)字典。(卡方校驗(yàn)如下圖)

(6)借助機(jī)器學(xué)習(xí)算法庫(kù)(Scikit-learn)中的函數(shù)對(duì)上面進(jìn)行過(guò)數(shù)據(jù)挖掘的語(yǔ)料庫(kù)進(jìn)行自動(dòng)拆分棠耕,拆分為訓(xùn)練集(train)和測(cè)試集(test)窍荧。(本項(xiàng)目采用的是樸素貝葉斯算法進(jìn)行分類(lèi)訓(xùn)練)得到測(cè)試結(jié)果,測(cè)試結(jié)果顯示對(duì)新聞分類(lèi)的準(zhǔn)確率維持在70%到80%之間郊楣。



代碼部分說(shuō)明:(太長(zhǎng)了這里就不貼了瓤荔,下載地址:http://download.csdn.net/detail/qq_28155529/9890386)

第一步:通過(guò)PHP連接MySQL數(shù)據(jù)庫(kù)输硝,把數(shù)據(jù)庫(kù)新聞表中的每條新聞?dòng)涗涀x取到指定文件夾下的txt文件中,每條記錄對(duì)應(yīng)一個(gè)txt文件橘荠,并以每條新聞?dòng)涗浀膇d作為txt文件的名郎逃;(目的:方便后面使用Python語(yǔ)言編寫(xiě)的腳本對(duì)新聞進(jìn)行分類(lèi)去重操作)------此步操作代碼對(duì)應(yīng)operation.php文件

第二步:把第一步從數(shù)據(jù)庫(kù)讀取到硬盤(pán)上的每條新聞,進(jìn)行分詞贮懈,去停用詞错邦,計(jì)算詞頻等一系列操作型宙,得到每條新聞的最終特征伦吠;------此步操作代碼對(duì)應(yīng)Most_powerful.py文件

提示:之前下載的搜狗語(yǔ)料庫(kù)也是經(jīng)過(guò)了上面兩步進(jìn)行特征提取后才投入使用的。比對(duì)的時(shí)候不是直接拿數(shù)據(jù)庫(kù)中的新聞和原始語(yǔ)料庫(kù)(搜狗語(yǔ)料庫(kù))中的新聞直接進(jìn)行比對(duì)毛仪,而是拿對(duì)數(shù)據(jù)庫(kù)中每條新聞進(jìn)行提取后的特征與經(jīng)過(guò)特征提取后的特征搜狗語(yǔ)料庫(kù)進(jìn)行比對(duì)的哦

第三步:分別從待分類(lèi)的文件夾和已分好類(lèi)作為標(biāo)準(zhǔn)的搜狗語(yǔ)料庫(kù)加載數(shù)據(jù)箱靴,進(jìn)行分類(lèi)判斷。------此步操作代碼對(duì)應(yīng)collect.py文件棍矛。

第四步:最后把分好類(lèi)的信息,傳遞給PHP文件荐类,利用PHP把分好類(lèi)的信息寫(xiě)入到MySQL數(shù)據(jù)庫(kù)茁帽,完成機(jī)器自動(dòng)分類(lèi)操作潘拨。-----此步操作代碼對(duì)應(yīng)operation.php文件。


好了搬磚完成季蚂!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末癣蟋,一起剝皮案震驚了整個(gè)濱河市狰闪,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌埋泵,老刑警劉巖,帶你破解...
    沈念sama閱讀 211,042評(píng)論 6 490
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場(chǎng)離奇詭異雁社,居然都是意外死亡,警方通過(guò)查閱死者的電腦和手機(jī)磺浙,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 89,996評(píng)論 2 384
  • 文/潘曉璐 我一進(jìn)店門(mén)撕氧,熙熙樓的掌柜王于貴愁眉苦臉地迎上來(lái)伦泥,“玉大人,你說(shuō)我怎么就攤上這事府怯】缧拢” “怎么了?”我有些...
    開(kāi)封第一講書(shū)人閱讀 156,674評(píng)論 0 345
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)肖揣。 經(jīng)常有香客問(wèn)我民假,道長(zhǎng),這世上最難降的妖魔是什么龙优? 我笑而不...
    開(kāi)封第一講書(shū)人閱讀 56,340評(píng)論 1 283
  • 正文 為了忘掉前任羊异,我火速辦了婚禮,結(jié)果婚禮上彤断,老公的妹妹穿的比我還像新娘野舶。我一直安慰自己,他們只是感情好宰衙,可當(dāng)我...
    茶點(diǎn)故事閱讀 65,404評(píng)論 5 384
  • 文/花漫 我一把揭開(kāi)白布平道。 她就那樣靜靜地躺著,像睡著了一般供炼。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上袋哼,一...
    開(kāi)封第一講書(shū)人閱讀 49,749評(píng)論 1 289
  • 那天冀墨,我揣著相機(jī)與錄音,去河邊找鬼涛贯。 笑死诽嘉,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的弟翘。 我是一名探鬼主播含懊,決...
    沈念sama閱讀 38,902評(píng)論 3 405
  • 文/蒼蘭香墨 我猛地睜開(kāi)眼,長(zhǎng)吁一口氣:“原來(lái)是場(chǎng)噩夢(mèng)啊……” “哼衅胀!你這毒婦竟也來(lái)了?” 一聲冷哼從身側(cè)響起酥筝,我...
    開(kāi)封第一講書(shū)人閱讀 37,662評(píng)論 0 266
  • 序言:老撾萬(wàn)榮一對(duì)情侶失蹤滚躯,失蹤者是張志新(化名)和其女友劉穎,沒(méi)想到半個(gè)月后,有當(dāng)?shù)厝嗽跇?shù)林里發(fā)現(xiàn)了一具尸體掸掏,經(jīng)...
    沈念sama閱讀 44,110評(píng)論 1 303
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡茁影,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 36,451評(píng)論 2 325
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了丧凤。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片募闲。...
    茶點(diǎn)故事閱讀 38,577評(píng)論 1 340
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖愿待,靈堂內(nèi)的尸體忽然破棺而出浩螺,到底是詐尸還是另有隱情,我是刑警寧澤仍侥,帶...
    沈念sama閱讀 34,258評(píng)論 4 328
  • 正文 年R本政府宣布要出,位于F島的核電站,受9級(jí)特大地震影響农渊,放射性物質(zhì)發(fā)生泄漏患蹂。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 39,848評(píng)論 3 312
  • 文/蒙蒙 一砸紊、第九天 我趴在偏房一處隱蔽的房頂上張望传于。 院中可真熱鬧,春花似錦醉顽、人聲如沸沼溜。這莊子的主人今日做“春日...
    開(kāi)封第一講書(shū)人閱讀 30,726評(píng)論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽(yáng)盛末。三九已至,卻和暖如春否淤,著一層夾襖步出監(jiān)牢的瞬間悄但,已是汗流浹背。 一陣腳步聲響...
    開(kāi)封第一講書(shū)人閱讀 31,952評(píng)論 1 264
  • 我被黑心中介騙來(lái)泰國(guó)打工石抡, 沒(méi)想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留檐嚣,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 46,271評(píng)論 2 360
  • 正文 我出身青樓啰扛,卻偏偏與公主長(zhǎng)得像嚎京,于是被迫代替她去往敵國(guó)和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子隐解,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 43,452評(píng)論 2 348

推薦閱讀更多精彩內(nèi)容