关于杂质过滤的一点研究
1、問題描述
通過爬蟲采集的網上內容中包含大量的無用信息(雜質),需要通過計算機自動過濾這些無用雜質,保留真正有用的內容,過濾本身是一個類別判斷即分類的過程。
2、解決方案
一般來說,雜質的主要來源有:
- 關鍵詞誤判:錯誤命中采集關鍵詞;
- 無用、垃圾網站:例如 “昆山新聞網” 信息網站等;
- 黃/賭/毒/游戲類信息:一些論壇發表的黃/賭/毒/游戲類帖子;
- 其他:例如考研培訓、招聘網站等特定不需要的網站;
總體的來說,需要通過對標注語料的觀察,嘗試總結雜質的大致分類及占比,優先處理占比大的雜質類型。
雜質過濾一般有兩種方案:
- 規則方法:借助專業人員的幫助,為每個類別定義大量的推理規則,如果一篇文檔能滿足這些推理規則,則可以判定屬于該類別。
- 統計方法:通過訓練語料結合一定訓練模型,在用模型對新的語料進行預測。相應算法比如:樸素貝葉斯、 word2vec、 隨機森林、SVM等。
3、方法選取
針對不同類型的雜質,選用不同的過濾方式,注重過濾方式的“性價比”。
一般而言,基于統計的機器學習方法需要大量的訓練語料支持,有一定的成本門檻。優先選擇簡單實用的規則過濾,通過多次規則迭代,根據效果再考慮使用機器學習算法不失為一種優先選擇。
4、具體實施
4.1 關鍵詞誤判
描述:命中采集關鍵詞,例如“中智行科技有限公司”/”中智(中國和智利)”,但該關鍵詞并非指關愛通的中智;
思路:
4.2 無用、垃圾網站過濾
描述: 在對雜質進行觀察中發現一些雜質都來源于某些特定垃圾網站,例如“昆山新聞網”,從這些網站采集的信息都屬于雜質信息。對應這些雜質,可以通過域名過濾的方式排除。
思路:
域名過濾簡單直接,靈活性和擴展性好。
4.3 黃/賭/毒/游戲類雜質
描述: 該類信息一般會出現在論壇、貼吧等,無法通過域名過濾去除。
思路: 該類雜質一般會包含明顯的特征詞,例如“破天一劍”,“熱血江湖”等,但該關鍵詞在標題和內容中都有可能出現,所以需要引入對標題+內容的基于排除關鍵詞的過濾機制。
步驟:
4.4 其他雜質
描述:部分可通過雜質內容包含的其他特征進行過濾,例如詩歌:
霜風可可不輝光,中智生朝鳥滿天。
雖未帝王山下路,最愁還是慢琴弦。
——寒露《寒露詩選》
#原創詩詞# #七絕#
通過信息中的“#原創詩詞# #七絕#”等特征可過濾掉。
最后剩下的就是難以通過總結規則的過濾的雜質,這時就需要引入機器學習算法。
4.5 機器學習算法
可供使用的分類算法有很多,例如在垃圾郵件過濾中有名的樸素貝葉斯,Logistic回歸,SVM,隨機森林等。下面以"Word2vec + 隨機森林"來說明:
思路:基于word2vec,選取文檔特征詞;根據提煉后的特征詞,向量化文檔;使用隨機森林分類算法訓練模型,分類。
步驟:
4.6 總結
5、實驗
本次實驗主要處理如下類型的雜質:
- 無用、垃圾網站:例如 “昆山新聞網” 信息網站等
- 黃/賭/毒/游戲類信息:一些論壇發表的黃/賭/毒/游戲類帖子
- 疊詞重復問題:例如網頁http://www.scxiantan.com/bjpp/48819.html中源碼包含以下:
學院 無錫職業技術學院 成都理工大學工程技術學院 石家莊職業技術學院 鄭州鐵路職業技術學院 西安鐵路職業技術學院 邢臺職業技術學院 青島港灣職業技術學院 長沙民政職業技術學院 鄭州工業應用技術學院 青島酒店管理職業技術學院 山東信息職業技術學院 武漢船舶職業技術學院 武漢工程職業技術學院 秦皇島職業技術學院 泰山職業技術學院 德州職業技術學院 湖北交通職業技術學院 云南交通職業技術學院 濟南工程職業技術學院 山西工程技術學院 鄭州工程技術學院 漳州職業技術學院 山東電子職業技術學院 佛山科學技術學院 天津渤海職業技術學院 天津電子信息職業技術學院 陜西工業職業技術學院 江西工業職業技術學院 南昌大學科學技術學院 煙臺工程職業技術學院 西安航空職業技術學院 石家莊郵電職業技術學院 黃岡職業技術學院 寧波職業技術學院 大連職業技術學院 南京信息職業技術學院 河北交通職業技術學院 廣州民航職業技術學院 江蘇工程職業技術學院 湖南應用技術學院 廣東交通職業技術學院 陜西職業技術學院 廣東輕工職業技術學院 杭州職業技術學院 江西交通職業技術學院 寧波大學科學技術學院 安徽職業技術學院 浙江工業職業技術學院 楊凌職業技術學院 上海電子信息職業技術學院 襄陽職業技術學院 成都航空職業技術學院 哈爾濱職業技術學院 萊蕪職業技術學院 深圳信息職業技術學院
采用方法:
- 無用、垃圾網站:網址過濾
- 黃/賭/毒/游戲類信息:規則過濾+網址過濾
- 疊詞重復問題:機器學習算法(采用詞密度過濾,對多次出現的詞進行統計,引入懲罰機制,在文章中出現的地方相隔不遠,詞頻計數累加,即:第一次出現詞頻+1,相隔不遠第二次又出現詞頻+2,第三次詞頻+3,如此類推,當相隔較遠時,詞頻計數累加重新置為+1,最后計算最大詞密度=詞頻/句子數)
結果:
標注統計結果如下:
| 類別 | 程序判斷 | 正確 | 正確率(%) |
| 過濾 | 1184 | 1145 | 96.71 |
| 不過濾 | 3259 | 3078 | 94.45 |
總結
以上是生活随笔為你收集整理的关于杂质过滤的一点研究的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 伤害世界怎么自建服务器,《伤害世界Hur
- 下一篇: java二级程序题两个角度_两个角度图_