ITTC数据挖掘平台介绍(综述)——平台简介
數(shù)據(jù)挖掘方興未艾,大量新事物層出不窮。本系列將介紹我們自主設(shè)計(jì)的數(shù)據(jù)挖掘軟件平臺(tái)。與大家共同分享對(duì)知識(shí),微博,人際等復(fù)雜網(wǎng)絡(luò)的分析,以及對(duì)自然語(yǔ)言處理的見(jiàn)解。
一、我們需要怎樣的數(shù)據(jù)挖掘系統(tǒng)
????? 一直以來(lái),以高校為代表的學(xué)術(shù)界和以公司為代表的商業(yè)界,都有很大的隔閡。學(xué)術(shù)界普遍不會(huì)做產(chǎn)品,商業(yè)界普遍不會(huì)搞研究。如果兩者都強(qiáng),那就是美國(guó)軍方了。
?????? 在數(shù)據(jù)挖掘領(lǐng)域更是如此,大量關(guān)于復(fù)雜網(wǎng)絡(luò),自然語(yǔ)言處理的牛文層出不窮,卻被研究機(jī)構(gòu)和大公司養(yǎng)在深閨人未識(shí)。絕大多數(shù)智能機(jī)器學(xué)習(xí)算法被封裝在基礎(chǔ)層中,以潛移默化的方式服務(wù)用戶(hù)(比如用戶(hù)推薦等),普通用戶(hù)無(wú)法將其用于自己的應(yīng)用場(chǎng)景。 而以SPSS為代表的統(tǒng)計(jì)和商業(yè)智能為核心的平臺(tái),使用復(fù)雜,結(jié)構(gòu)封閉,它們以統(tǒng)計(jì)為核心,但在真正的“智能”領(lǐng)域,依舊缺乏火候。因此,我們需要能面向普通用戶(hù)的易用系統(tǒng),甚至不需要寫(xiě)腳本。
??????說(shuō)到數(shù)據(jù)挖掘,就一定要和“大數(shù)據(jù)”放在一起。可是,幾百萬(wàn)條的數(shù)據(jù),根本不算是大數(shù)據(jù),一臺(tái)筆記本都能在數(shù)小時(shí)內(nèi)處理完成,更不需要用復(fù)雜的分布式引擎去完成(可能為了實(shí)現(xiàn)這套算法,開(kāi)發(fā)時(shí)間就比使用時(shí)間都長(zhǎng))。而真正的應(yīng)用場(chǎng)景,數(shù)據(jù)越大,反而越不值錢(qián),99%都是百萬(wàn)級(jí)以下的數(shù)據(jù)量。因此,我們需要能在筆記本電腦上良好工作的系統(tǒng)。
??????對(duì)于普通用戶(hù),他希望能簡(jiǎn)單直接的看到分析結(jié)果,了解復(fù)雜數(shù)據(jù)間的網(wǎng)絡(luò)關(guān)系,了解數(shù)據(jù)的地理分布,了解如何被分類(lèi)。因此,我們需要強(qiáng)大的可視化工具。
?????? 現(xiàn)有的種種功能,也許在未來(lái)的應(yīng)用場(chǎng)景中依然不夠完備。因此平臺(tái)的功能需要隨時(shí)擴(kuò)展,甚至面向行業(yè)做專(zhuān)業(yè)的定制服務(wù)。我們需要靈活的,可擴(kuò)展性強(qiáng)的系統(tǒng)。
?????? 總結(jié)以上觀(guān)點(diǎn),我們要開(kāi)發(fā)一套使用簡(jiǎn)單,易于擴(kuò)展,可面向領(lǐng)域,強(qiáng)化可視化和服務(wù)性,整合從數(shù)據(jù)導(dǎo)入到分析和可視化完整流程的數(shù)據(jù)挖掘系統(tǒng),體現(xiàn)自己的獨(dú)特優(yōu)勢(shì),于是,該平臺(tái)誕生了。
我的插件式桌面軟件框架類(lèi)庫(kù)(一)XFrmWork簡(jiǎn)介
ITTC數(shù)據(jù)挖掘平臺(tái)介紹(綜述)——平臺(tái)簡(jiǎn)介
ITTC數(shù)據(jù)挖掘平臺(tái)介紹(二) 微博數(shù)據(jù)挖掘和分析
ITTC數(shù)據(jù)挖掘平臺(tái)介紹(三) 微博社團(tuán)和傳播分析
ITTC數(shù)據(jù)挖掘平臺(tái)介紹(四) 框架改進(jìn)和新功能
ITTC數(shù)據(jù)挖掘平臺(tái)介紹(五) 數(shù)據(jù)導(dǎo)入導(dǎo)出向?qū)Ш蛨?bào)告生成
ITTC數(shù)據(jù)挖掘系統(tǒng)(六)批量任務(wù),數(shù)據(jù)查看器和自由文檔
ITTC數(shù)據(jù)挖掘平臺(tái)介紹(七)強(qiáng)化的數(shù)據(jù)庫(kù),?虛擬化,腳本編輯器
二. 如何與已有相關(guān)工具交互
????????1. 與Hadoop等開(kāi)源分布式框架的交互
?????? 我們不需要重頭開(kāi)發(fā)自有的分布式平臺(tái),要做好的是前臺(tái)和后臺(tái)的接口。Hadoop已經(jīng)成為分布式處理的事實(shí)標(biāo)準(zhǔn),通過(guò)WebService和RPC等方式,打通平臺(tái)間的通信。如此一來(lái),Hadoop不需要與真實(shí)數(shù)據(jù)做交互,它要處理的,僅僅是軟件平臺(tái)傳給它的抽象數(shù)據(jù)類(lèi)型。 這樣,Hadoop就可只關(guān)心算法邏輯,大大減輕傳輸數(shù)據(jù)量。而平臺(tái)也能充分利用分布式系統(tǒng)輕松實(shí)現(xiàn)并行化。
???? ??2.?與SPSS和EXCEL等成熟商業(yè)統(tǒng)計(jì)系統(tǒng)的交互
?????? 論統(tǒng)計(jì)功能,我們無(wú)法與這些成熟平臺(tái)相提并論,但系統(tǒng)可以方便的生成供這些工具使用的腳本和業(yè)務(wù)邏輯,減輕分析負(fù)擔(dān)。
?????
?
???? 該平臺(tái)的主要技術(shù)特征有:
??? 1. 集成了從數(shù)據(jù)采集/存儲(chǔ),分析(聚類(lèi),分類(lèi),語(yǔ)義推斷等) ,可視化和其他服務(wù)。
??? 2.? 組件式結(jié)構(gòu),良好的擴(kuò)展性,所有的功能和模塊以插件接入系統(tǒng)。通用算法可對(duì)所有實(shí)現(xiàn)一定接口的數(shù)據(jù)實(shí)現(xiàn)。
??? 3.??前端使用.NET開(kāi)發(fā),后端使用
??? 4. 目前支持對(duì)新聞,微博,科研項(xiàng)目/專(zhuān)利/論文和知識(shí)網(wǎng)絡(luò)分析。
? ? 5. 后臺(tái)可采用hadoop云計(jì)算平臺(tái)加速計(jì)算,并通過(guò)跨平臺(tái)交互技術(shù)實(shí)現(xiàn)訪(fǎng)問(wèn)。
? 下圖是該軟件的結(jié)構(gòu):
?????? 本平臺(tái)基于作者開(kāi)發(fā)的XFrmWork框架之上,XFrmWork提供了多數(shù)底層服務(wù),具體介紹請(qǐng)看這里。
? 下面,我們將會(huì)介紹其中的一些技術(shù)和實(shí)現(xiàn)結(jié)果,與大家分享。本節(jié)主要介紹軟件的一些功能。
二. 軟件特性介紹
1. 數(shù)據(jù)系統(tǒng)
(1)數(shù)據(jù)”組件“概念
???????? 為保證良好的擴(kuò)展性以支持當(dāng)前和未來(lái)的需求,數(shù)據(jù)類(lèi)型被抽象成眾多接口。例如”文章“類(lèi)型可實(shí)現(xiàn)分詞處理,便需要實(shí)現(xiàn)ISegWordable接口,若要實(shí)現(xiàn)位置檢索,也需實(shí)現(xiàn)相應(yīng)的接口。算法在處理數(shù)據(jù)時(shí),處理的是接口而非實(shí)體。
?????? 例如, 科研項(xiàng)目數(shù)據(jù)類(lèi)型實(shí)現(xiàn)了關(guān)系計(jì)算,分詞和位置檢索接口.
??????? 不同數(shù)據(jù)類(lèi)型的靜態(tài)特征,如表格樣式,繪圖形狀等特點(diǎn),都通過(guò)靜態(tài)方法呈現(xiàn)。系統(tǒng)通過(guò)反射靜態(tài)方法獲得。
??????? 所有的數(shù)據(jù)類(lèi)型都實(shí)現(xiàn)了IComputable接口,從而滿(mǎn)足基本的檢索,存儲(chǔ)服務(wù)。
??????? 通過(guò)以上技術(shù),使得軟件/算法徹底與數(shù)據(jù)類(lèi)型無(wú)關(guān),它們?cè)诰幊虝r(shí)面對(duì)的都是接口。??? 分詞算法不需要考慮是哪種算法類(lèi)型。界面顯示不考慮數(shù)據(jù)類(lèi)型的同時(shí),又能獲得個(gè)性化的視覺(jué)效果。
(2)數(shù)據(jù)存取
??????? 系統(tǒng)的數(shù)據(jù)訪(fǎng)問(wèn)層通過(guò)Entity Framework實(shí)現(xiàn),可方便的兼容SQL Server ,MYSQL等主流數(shù)據(jù)庫(kù),并提供高效的存取修改機(jī)制。
??????? 同樣,軟件可讀取XML/Text,通過(guò)序列化或者特定的編碼方法讀取外部的數(shù)據(jù)文件。
??????? 所有的數(shù)據(jù)在送入算法模塊前,都被抽象為數(shù)據(jù)容器集合,供算法調(diào)用:
(3)爬蟲(chóng)和API調(diào)用器
??????? 除了常規(guī)的數(shù)據(jù)導(dǎo)入,平臺(tái)還集成了爬蟲(chóng)和API調(diào)用功能。
??????? 目前已經(jīng)開(kāi)發(fā)了知網(wǎng)數(shù)據(jù)爬蟲(chóng),新聞數(shù)據(jù)爬蟲(chóng)等。API方面,可方便的調(diào)用微博等主流SNS網(wǎng)站的用戶(hù)數(shù)據(jù):
?
???? 這些數(shù)據(jù)都可以存入數(shù)據(jù)庫(kù),或者作為算法數(shù)據(jù)源傳給算法模塊。
? 2. 算法系統(tǒng)
( 1)不同功能的算法模塊
?????? 算法模塊通過(guò)插件形式接入系統(tǒng),這些算法包括基本的分詞、數(shù)據(jù)統(tǒng)計(jì)等,也包括可視化類(lèi)別如地圖,布點(diǎn)等,或者針對(duì)特定數(shù)據(jù)類(lèi)型如微博的關(guān)系分析等。
??? 如上圖,您可以將這些算法方便的拖動(dòng)到執(zhí)行列表中。
?? 在配置菜單中,可以選擇算法要處理的數(shù)據(jù)源,同時(shí)可設(shè)置算法對(duì)應(yīng)的參數(shù)。
(2)算法自動(dòng)組裝
??? 為了在模塊級(jí)別上更好的支持代碼重用,系統(tǒng)采用了算法組裝技術(shù)。? 我們可考慮類(lèi)似LabView的G語(yǔ)言,不同的算法模塊具有特定的輸入和輸出,符合匹配的輸出可作為某一模塊輸入端的數(shù)據(jù)信息。例如,分詞模塊需作為很多算法的“預(yù)處理”模塊,因此實(shí)現(xiàn)了ISegWordMethod接口,同時(shí)可以向外提供對(duì)應(yīng)的分詞數(shù)據(jù)。
??? 如下圖:
???? 以上,計(jì)算方法A,B作為計(jì)算方法C的輸入,當(dāng)A,B計(jì)算完成后,會(huì)自動(dòng)將結(jié)果傳給C,C繼續(xù)計(jì)算。若希望了解更詳細(xì)的細(xì)節(jié),可參考我的博文:實(shí)現(xiàn)自組裝的插件技術(shù)。
(3) 算法服務(wù):多線(xiàn)程并行和進(jìn)度指示等
??? 系統(tǒng)充分考慮了實(shí)際開(kāi)發(fā)的方便性,在底層為算法提供了調(diào)試輸出工具,進(jìn)度指示工具和后臺(tái)線(xiàn)程。算法編寫(xiě)者可不考慮多線(xiàn)程/并行,這些都由平臺(tái)在底層自行完成。
?? 3.可視化系統(tǒng)
???? 數(shù)據(jù)挖掘的重要特性,就是將隱含于海量數(shù)據(jù)中的關(guān)系和知識(shí)展示出來(lái),展示的技巧和效果,最終直接影響到用戶(hù)的接受度和信息有效性,因此我們?cè)诳梢暬献隽舜罅康墓ぷ鳌?/p>
???? 所有的參數(shù)都可以圖形化配置,采用簡(jiǎn)單的拖拽方式進(jìn)行操作。結(jié)果以列表,柱狀圖,曲線(xiàn),地圖地標(biāo)和網(wǎng)絡(luò)視圖表示。同時(shí)可提供針對(duì)特定數(shù)據(jù)的可視化顯示實(shí)現(xiàn)。
(1)數(shù)據(jù)列表
????? 類(lèi)似DataGrid, 通過(guò)訂制特別的ListView,可呈現(xiàn)列表數(shù)據(jù),同時(shí)用戶(hù)可對(duì)這些數(shù)據(jù)進(jìn)行篩選,排序等操作。
(2)可視化畫(huà)布
??? 該畫(huà)布可作為顯示數(shù)據(jù)間關(guān)系網(wǎng)絡(luò)的利器。
??
其他的可視化介紹將會(huì)在相關(guān)文章中進(jìn)一步介紹,此處從略。
?
? 三. 總結(jié)
???????? 本文介紹了數(shù)據(jù)挖掘平臺(tái)的主要軟件特性,后期將會(huì)進(jìn)一步介紹數(shù)據(jù)挖掘的一些經(jīng)驗(yàn),以及對(duì)應(yīng)的結(jié)果。歡迎討論!
轉(zhuǎn)載于:https://www.cnblogs.com/buptzym/archive/2012/11/15/2771027.html
總結(jié)
以上是生活随笔為你收集整理的ITTC数据挖掘平台介绍(综述)——平台简介的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: php 会话控制
- 下一篇: Gearman 启动日志文件提示协议出错