轉帖|使用教程|編輯:龔雪|2017-05-12 14:08:32.000|閱讀 426 次
概述:你希望學習文本挖掘,卻發現大多數教程難度跨度很大?或者說你找不到心儀的數據集?本文將會通過 8 個小貼士幫助你走進文本挖掘之門。
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
你希望學習文本挖掘,卻發現大多數教程難度跨度很大?或者說你找不到心儀的數據集?
本文將會通過 8 個小貼士幫助你走進文本挖掘之門。
在數據科學世界中,凡事的第一步都是“感到好奇”,文本挖掘也不例外。
就像 StackOverflow 的數據科學家 David Robinson 在他的博客中說的那樣,“當我看到一個假設 […] 我就迫不及待地想要用數據驗證它”。你也應該像他那樣對文本保持好奇心。
David Robinson 看到的假設是:
即使你并不打算真的去驗證它,你也應該對自己看到的詞云圖感到好奇,并且有想要自己動手復現一遍的想法。
如果你還未能感受到文本挖掘的魅力,那就來看看這些最近在媒體上廣受關注的文本挖掘應用案例吧,比如 South Park dialogue, film dialogue 等等,你會從中得到啟發。
當你擁有了好奇心,是時候去學習關于文本挖掘的知識和技能了。你可以通過完成一些教學課程輕松地做到這一步。
在這些教程中你需要格外關注的是數據科學工作流中的基本步驟,比如數據預備和預處理,數據探索,數據分析等等。
推薦閱讀:
一旦你掌握了分析和展現數據所需的基本概念和方法,就可以開始尋找你的數據了!
有非常多途徑可以找到你心儀的數據,除了 google trends 和雅虎,你還可以從以下途徑獲取數據:
如你所見,文本來源有無限可能。任何包含文本的東西都可以成為你的文本挖掘案例學習的主題。
現在你已經找到了你的數據的來源,你可能需要使用合適的工具來對他們進行處理。你已經學習的教學課程應該已經為你提供了許多入門工具。
但是,如果你僅僅學習了教學課程,你可能錯過了一些東西,比如下文會介紹的用 R 進行文本挖掘時會用到的包:
對于Python,你可以使用以下庫:
數據科學家工作中 80% 的時間用在數據清洗上,文本挖掘也不例外。
如果你不確定要怎么預處理,以下是一些標準流程中的步驟:
這些步驟看起來很難,實際上你不用每一步都自己實現。大多數情況下,上文中提到的庫和包都能幫你實現這些步驟。比如 R 中的 tm 包可以讓你通過其內置函數完成詞干化、去除停止詞、消除空白以及小寫轉換。類似的,Python 中的 nltk 庫也可以通過其內置函數完成這些預處理過程。
然而,你可能仍然需要進一步使用正則表達式來描述你需要的文本模式,以便進一步預處理。這也可以加速你的數據清理過程。
對于 Python, 你可以使用 re 庫,而在 R 中,有許多內置函數,如 grep(), grepl(), regexpr(), gregexpr(), sub(), gsub() 和 strsplit()。
如果你想要更加深入地了解這些函數,或者 R 中的正則表達式,你可以查看這個正則表達式介紹網頁。
到目前為止,你已經摩拳擦掌準備開始分析了。但是,在分析之前最好還是先看看數據長什么樣子。
利用上文提到的那些包和庫,你可以快速地進行一些數據探索工作:
經過數據探索過程,你會對你接下來分析中,要分析的對象有一定的了解。如果你看到文檔詞匯矩陣或者直方圖中有很多詞語是稀疏的,你可以考慮將他們去掉。
當你使用上述工具完成了預處理和基本的文本分析等步驟,你可以考慮通過你的數據集,進一步擴展你的文本挖掘技能。因為到現在,你看到的技巧提示都只是文本挖掘的冰山一角。
首先,你應該考慮探索文本挖掘和自然語言處理(NLP)的區別。更多關于 NLP 的 R 包可以在這個 NLP 的 R 包網頁找到。NLP 中,你會學習到命名實體識別、詞性標注、篇章分析、情感分析等內容。對于 Python, 你可以使用 nltk 庫。這個使用 nltk 庫進行情感分析完全指南會對你有所幫助。
除了這些包,還有諸如深度學習、統計主題發現模型(如隱式狄利克雷分配,LDA)等工具等著你去學習。這些算法對應的包有:
當然,并不僅僅只有這些包。
可視化是一種非常吸引人的表達方式,所以將結果可視化可能是你能做的最美妙的事情!注意,你要可視化的是你要講的故事,而不是將你分析中發現的關聯性或者話題可視化。
Python 和 R 中都有許多可視化包:
對于 Python, 你可以考慮使用 NetworkX 庫來可視化復雜網絡,matplotlib 包可以用來解決其他可視化問題。此外,plotly 包讓你可以發布可交互在線圖表。試著將 Python 和 D3 聯系起來會得到更好的效果。D3 是一個用于動態數據操縱和可視化的 JavaScript 庫,可以讓你的讀者和聽眾參與到數據可視化的過程中來。
對于 R, 除了 ggplot2 等大家耳熟能詳的包,你也可以使用 igraph 包來分析關注、被關注以及轉發微博等關系。此外,plotly 和 networkD3 包可以把 R 和 JavaScript 鏈接起來,LDAvis 包則可以將主題模型進行可交互的可視化。
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn