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