Mathematica 具有獨特靈活的處理大量文字資料的能力. 用起來可以大幅提高工作效率, 在 本經驗之中, 我們來動手做一個小小的專案, 把相關的字串操作應用一邊, 也與大家分享一點心得.
方法/步驟
我們的目標是建立小說[愛麗斯漫遊仙境]中單詞頻率的條形圖, 所用資料集為軟體自帶(當然是英文) . 當然第一步就是將文字資料匯入, 然後劃分成單個的字元. 不過這裡有個小技巧, 就是在匯入之前, 先檢視一下文字都有那些屬性, 可以發現一個非常有幫助的屬性 "Words" 格式匯入, 這樣做的話, 可以節省大量的自己來劃分單詞的時間了.
在文字分析中,有一類符號,單詞可以忽略, 符號包括句號、逗號,或者其它標點符號, 單詞比如來講:a, I, and, of , to, they, the, it, you 等等, 因為他們通常沒有什麼資訊, 稱之為 停用詞 (stop words), 現在我們定義一些符號和停用詞來, 等會處理的時候, 先把符號類這些過濾掉.
再來將停用詞刪除, 看看結果如何, 會出現什麼異常問題.
哇哦, 確實出現了一些問題, 原因在於某些單詞中的 i 為當做人稱代詞的主格刪除掉了. 怎麼解決呢? 要把處理的過程稍微倒回去一點, 換種方法重新處理一下.
現在再從 temp2 中刪除掉這些停用詞. 請注意, 這裡用的 DeleteCases 普通的模式處理函式.
現在, 做一點統計的工作就可以進行繪圖了. 當然觀察圖形之中還是出現了一些無意義的單詞: she, was , 原因就是我們之前定義停用詞的集合並未包含該詞的原因, 不過這並不是重點, 我只是拿來說明問題.
注意事項
從這個小小的例項當中, 我們就需要反覆的測試, 觀察結果, 修改, 最後才能得到一個乾淨的資料集合, 再次基礎之外, 才能開始視覺化專案的設計工作.
資料清理的工作非常繁瑣, 通常要佔整個專案的70%的時間, 但是這個工作是無法避免的, 只有耐心 + 細心.