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