好長時間沒寫東西了,以前的兩篇都是在寫論文的過程當中記錄的,悲劇的是論文被拒了%>_<%,其中有審稿意見說對比實驗有些薄弱,須要在更多的數據集上實驗證實論點的有效性,就選擇了Reuters-21578進行擴展實驗。html
數據集能夠在這裏下載到:http://kdd.ics.uci.edu/databases/reuters21578/reuters21578.html 測試
這裏就簡單記錄一下數據集的一些信息,整理整理處理的過程。spa
Reuters-21578是一個英文的預料庫,不少時候被用來作文本分類或其餘相關研究。壓縮包中真正的數據被存放在22個SGM文件中,能夠用notepad直接打開查看,處理的時候直接按照文本文件處理會比較方便。orm
接下來的一部份內容在readme中都有,能夠跳過:htm
一個文件的內容是這樣的:blog
<!DOCTYPE lewis SYSTEM "lewis.dtd">ci
<REUTERS TOPICS="" LEWISSPLIT="" CGISPLIT="" OLDID="" NEWID="">文檔
...get
</REUTERS>it
<REUTERS TOPICS="" LEWISSPLIT="" CGISPLIT="" OLDID="" NEWID="">
...
</REUTERS>
其中第一行是每一個文件的開頭 不用在乎,紅色的兩行表明一個文檔的開始和結束,在開始的標識中有幾個屬性,它們在數據劃分(是否有用,用做訓練集仍是測試集)的時候有用。兩行中間就是文檔部分,由各類tag劃分開,tag有時間、標籤、標題、正文等種類。其餘就再也不細說,readme中講的很清楚。其中的<topics></topics>是比較重要的,中間是文檔的topics類別列表,若是有值存在,每一個值用一對<D></D>隔開。
接下來是對文本的處理。
readme中提到了幾種不一樣的數據劃分方法,較多采用的是ModApte劃分方法。要說明的是,數據集中的數據並非所有都能用的,有些數據放進來是供研究人員作其餘研究(好比數據分佈什麼的)的。
按照ModApte方法把有效數據劃分爲訓練集和測試集,其中有的文檔雖然在ModApte方法下有效,但<topics></topics>中間沒有內容,也要剔掉。
去掉文檔中的標點、數字、各類符號、單個字母等沒必要要的信息,初步對文檔進行清理。這裏同時也把全部的tag去掉了,但除了<date></date>以外,其餘tag間的內容都保留下來做爲正文的一部分。這一步處理以後,數據格式就變成:ID 標籤 正文。PS.這裏要根據本身要作的東西來肯定保留什麼內容
創建單詞庫,由於最後要把語料庫變成數字數據處理,要將其中出現的每一個單詞拿出來做爲一個feature,因此要先把單詞庫創建起來。我在單詞庫創建起來以後發現feature太多了,大概有4w多個,因此對它又進行了一下處理,去掉停用詞啦,將單詞的變形和原形整合啦什麼的,作過文本檢索的應該很熟悉了
最後就是對應着單詞庫把每一個文本轉換成數字數據了,這個也是要根據作的內容調整的,就再也不多說。
PS. 過程當中http://blog.163.com/andy_tsg/blog/static/1617002462010521027588/ 給了我很大幫助,很感謝~