崔曉龍, 郭 茜,b, 邊勝琴, 張德政,b
(北京科技大學a.計算機與通信工程學院;b.材料領(lǐng)域知識工程北京市重點實驗室,北京100083)
大數(shù)據(jù)時代,數(shù)據(jù)已經(jīng)成為各企業(yè)的重要資產(chǎn),利用大數(shù)據(jù)進行主題分析挖掘,不僅可以對數(shù)據(jù)進行宏觀監(jiān)控,還可以幫助企業(yè)降低成本、提高效率、開發(fā)新產(chǎn)品,做出更加科學、準確的業(yè)務決策。隨著數(shù)據(jù)量的增多,企業(yè)面對多方面的主題分析時往往將其視為獨立的項目,即每次進行主題分析時均需重新獲取數(shù)據(jù)、重新進行數(shù)據(jù)預處理、重新構(gòu)建模型。在進行多主題分析時,這種方式往往導致主題間數(shù)據(jù)源及算法模型重用性差等問題。同時在可預見的未來,互聯(lián)網(wǎng)的發(fā)展必然帶來數(shù)據(jù)量爆炸式的增長,數(shù)據(jù)分析人員對數(shù)據(jù)的預處理能力落后與數(shù)據(jù)快速增長之間的矛盾將會更加突出,同時也伴隨著數(shù)據(jù)分析性能遇到瓶頸,缺少數(shù)據(jù)分析挖掘的高級方法,數(shù)據(jù)分析人員無法直觀查看數(shù)據(jù)分布并進行預處理等問題的發(fā)生,這些問題制約著大數(shù)據(jù)分析的發(fā)展[1-3]。本文建立一個集多主題構(gòu)建于一體的通用大數(shù)據(jù)分析平臺,實現(xiàn)多個主題構(gòu)建,各類型大數(shù)據(jù)存儲與抽取,主題間的數(shù)據(jù)共享,主題間算法模型共享,大數(shù)據(jù)自動分析并給出相應處理建議是解決以上問題的一個可行方案[4]。
數(shù)據(jù)分析流程主要包括:確定分析主題、獲取數(shù)據(jù)、數(shù)據(jù)描述、數(shù)據(jù)預處理、構(gòu)建算法模型5個步驟。確定分析主題需結(jié)合業(yè)務背景來分析需求,確定分析及研究方向;通過爬蟲技術(shù)、ETL技術(shù)、日志采集工具可分別獲得網(wǎng)絡數(shù)據(jù)、系統(tǒng)數(shù)據(jù)、日志數(shù)據(jù);通過查看數(shù)據(jù)基本描述屬性可查看數(shù)據(jù)分布,如中心趨勢度量(均值、中位數(shù)、眾數(shù))、數(shù)據(jù)分布度量(極差、四分位數(shù)、方差和標準差)、統(tǒng)計描述可視化(分位數(shù)圖、直方圖)對數(shù)據(jù)進行描述;通過數(shù)據(jù)清理、數(shù)據(jù)集成、數(shù)據(jù)規(guī)約、數(shù)據(jù)變換等方法對數(shù)據(jù)進行預處理[5];結(jié)合數(shù)據(jù)特點構(gòu)建相應的算法模型,如分類算法、聚類算法、關(guān)聯(lián)規(guī)則算法等。
針對海量的數(shù)據(jù),一味提高硬盤容量和內(nèi)存只會導致成本提高以及數(shù)據(jù)處理效率遇到瓶頸等問題發(fā)生。為解決海量數(shù)據(jù)分布式存儲及計算問題,Google在2006年前公布了GFS、MapReduce,這也直接支持了Apache Hadoop 項目的誕生[6]。
Hadoop的分布式文件系統(tǒng)為HDFS(Hadoop Distributed File System)[7-9],它是一個高度容錯性的系統(tǒng),解決了分布式計算中數(shù)據(jù)存儲管理問題,適合部署在廉價的機器上。隨著數(shù)據(jù)種類的增多,非關(guān)系型數(shù)據(jù)庫受到更多關(guān)注。如MongoDB是基于分布式文件存儲的數(shù)據(jù)庫,旨在為WEB應用提供可擴展的高性能數(shù)據(jù)存儲解決方案;HBase是一種構(gòu)建在HDFS之上的分布式、面向列的存儲系統(tǒng),利用Hadoop MapReduce來處理HBase中的海量數(shù)據(jù)。
大數(shù)據(jù)算法庫需具備大數(shù)據(jù)的批量計算、流式計算能力,其中批量計算主要針對靜態(tài)數(shù)據(jù)的離線計算,吞吐量好,但是不能保證實時性;流計算主要針對動態(tài)數(shù)據(jù)的在線實時計算,時效性好,但是難以獲取數(shù)據(jù)全貌[10]。針對不同的數(shù)據(jù)類型,平臺需具備可結(jié)合各類業(yè)務邏輯的算法、海量數(shù)據(jù)的離線分析與處理能力。目前存在的多種大數(shù)據(jù)算法庫中以Mahout、Spark下的Spark MLlib較為流行。
Mahout是一個基于Hadoop的機器學習和數(shù)據(jù)挖掘的分布式計算框架,在MapReduce模式下封裝實現(xiàn)了大量數(shù)據(jù)挖掘經(jīng)典算法,為Hadoop開發(fā)人員提供了數(shù)據(jù)建模的標準,從而大大降低了大數(shù)據(jù)應用中并行挖掘產(chǎn)品的開發(fā)難度[11]。
Spark是UC Berkeley AMP Lab開發(fā)的開源集群計算平臺,是以內(nèi)存計算為基礎(chǔ)的集群計算框架[12]。Spark MLlib是Spark中可擴展的機器學習庫,它由一系列機器學習算法和實用程序組成,包括分類、回歸、聚類、協(xié)同過濾、降維,還包括一些底層的優(yōu)化方法[13]。
基于目前各企業(yè)分析主題時的難點和痛點,對大數(shù)據(jù)分析平臺的總體設計如圖1所示。硬件層采用商業(yè)PC服務器,可靠性和性能均能滿足通用大數(shù)據(jù)平臺要求;經(jīng)濟方面采用商業(yè)PC服務器也是可行的;系統(tǒng)硬件是可擴展的,可以通過增加服務器的數(shù)量提升對大量數(shù)據(jù)的處理能力。
圖1 平臺總體架構(gòu)圖
存儲/計算引擎層采用流行的Hadoop/Spark大數(shù)據(jù)處理引擎,同時采用NoSQL數(shù)據(jù)庫(MongoDB、HBase)負責非結(jié)構(gòu)化數(shù)據(jù)的存儲;結(jié)構(gòu)化數(shù)據(jù)采用MySQL進行存儲;批處理數(shù)據(jù)采用HDFS進行存儲。該層以硬件層為基礎(chǔ)負責為應用層為提供數(shù)據(jù)存儲和計算服務[14-15]。
應用層包含主題管理模塊、數(shù)據(jù)探索模塊、數(shù)據(jù)預處理模塊、大數(shù)據(jù)算法模塊。主要負責調(diào)動存儲/計算引擎的存儲資源和計算資源,同時也為展示層進行互動并提供計算結(jié)果。
展示層主要負責數(shù)據(jù)分析人員與系統(tǒng)的交互,如數(shù)據(jù)分析人員可通過Web頁面或命令行請求數(shù)據(jù),應用層可基于展示層的請求調(diào)動資源對數(shù)據(jù)進行處理并呈現(xiàn)給展示層。
大數(shù)據(jù)分析平臺各層之間均需要接口進行銜接,數(shù)據(jù)架構(gòu)關(guān)系著整個平臺是否能夠按照預期需求運行,其數(shù)據(jù)架構(gòu)整體設計如圖2所示。外部系統(tǒng)對數(shù)據(jù)存放路徑或IP地址進行配置生成配置文件,數(shù)據(jù)采集接口通過讀取配置文件來訪問數(shù)據(jù),通過數(shù)據(jù)采集對數(shù)據(jù)進行轉(zhuǎn)換并加載,為數(shù)據(jù)處理提供服務。數(shù)據(jù)可分為少量數(shù)據(jù)、大量數(shù)據(jù)、實時數(shù)據(jù)3種,不同種類的數(shù)據(jù)處理策略不同,針對少量數(shù)據(jù),可將其存儲到單機節(jié)點,利用本地內(nèi)存進行計算;離線批量數(shù)據(jù),則需進行分布式存儲,可利用集群進行并行計算;在線實時數(shù)據(jù),可利用集群進行流式計算。數(shù)據(jù)處理過程需記錄到歷史版本庫,同時加載模型庫及已處理好的文件進行模型構(gòu)建,最終將結(jié)果文件傳遞給外部系統(tǒng)如Web頁面、客戶端或交互終端如API請求等。
圖2 數(shù)據(jù)架構(gòu)設計概圖
大數(shù)據(jù)分析平臺分為主題管理模塊、數(shù)據(jù)探索模塊、數(shù)據(jù)預處理模塊、算法模型模塊,如圖3所示。
圖3 平臺功能架構(gòu)圖
主題管理主要為解決數(shù)據(jù)安全性而設計的,數(shù)據(jù)分析人員基于業(yè)務對主題進行描述,選擇相應數(shù)據(jù)源,最終確定主題,每個主題對應一套針對自己業(yè)務的數(shù)據(jù)集以及數(shù)據(jù)處理流程。由于同一數(shù)據(jù)分析人員業(yè)務背景相同,其分析不同的主題可能用到相同的數(shù)據(jù),而不同的數(shù)據(jù)分析人員可能用到相同的算法模型,主題管理模塊便于對數(shù)據(jù)分析人員復用權(quán)限的管理,復用權(quán)限表如表1所示。
同一用戶可構(gòu)建不同主題,主題之間可共享數(shù)據(jù)源、數(shù)據(jù)半自動處理流程、數(shù)據(jù)半自動化處理結(jié)果以及該用戶所有模型;不同用戶之間可共享公開的數(shù)據(jù)模型。這就避免了重復上傳數(shù)據(jù)和重復構(gòu)建數(shù)據(jù)預處理過程,同時也便于用戶管理自己的模型。
表1 復用權(quán)限表
主題分析中,數(shù)據(jù)分析人員需根據(jù)數(shù)據(jù)特征的分布來判定如何對數(shù)據(jù)進行預處理、選擇什么樣的特征以及如何構(gòu)建合適模型,當加載數(shù)據(jù)源后,針對不同數(shù)據(jù)類型,數(shù)據(jù)分析人員往往看重的分析的指標又不盡相同。此時,該模塊可根據(jù)數(shù)據(jù)列類型給出基本的數(shù)據(jù)描述字段,數(shù)據(jù)列類型主要包括離散型和數(shù)值型,對不同類型可展示數(shù)據(jù)分析人員關(guān)心的指標。離散型主要展示頻次、數(shù)據(jù)條數(shù)、空值個數(shù)等統(tǒng)計描述,同時以柱狀圖、餅圖、表格等可視化手段進行輔助展示;數(shù)值型主要展示標準差、均值、最大值、最小值、四分位點、中位數(shù)、總條數(shù)、空值個數(shù)等統(tǒng)計描述,以盒圖、折線圖等圖表進行輔助展示。該模塊可使數(shù)據(jù)分析人員更清楚地認識數(shù)據(jù),為數(shù)據(jù)預處理和模型構(gòu)建做準備。
數(shù)據(jù)預處理模塊可對待分析數(shù)據(jù)進行半自動化預處理,之所以稱為半自動化預處理,主要是由于數(shù)據(jù)處理與業(yè)務緊密結(jié)合,而該平臺又可構(gòu)建不同業(yè)務的主題,由于無法學習各個主題對應的業(yè)務背景,系統(tǒng)只能通過數(shù)據(jù)分布提出相應的數(shù)據(jù)處理建議,處理建議最終執(zhí)行權(quán)交給數(shù)據(jù)分析人員來判定。如平臺對某一列給出填充的建議,但具體填充0、最大值還是最小值,則需要數(shù)據(jù)分析人員結(jié)合業(yè)務來確認。
該模塊主要包含數(shù)據(jù)清理、數(shù)據(jù)集成、數(shù)據(jù)規(guī)約、數(shù)據(jù)變換4個功能,功能結(jié)構(gòu)圖如圖4所示。
圖4 數(shù)據(jù)預處理模塊
數(shù)據(jù)清洗主要包括對缺失值的處理,可按照行、列來區(qū)分,通過后臺程序制定的策略算法,根據(jù)缺失值的缺失程度給出相應處理操作建議;數(shù)據(jù)集成主要包括冗余特征發(fā)現(xiàn)與多表合并,冗余特征發(fā)現(xiàn)主要找出冗余的特征并建議刪除,如果是離散型則使用卡方檢驗算法求相似度,如果是數(shù)值型則使用皮爾遜相關(guān)系數(shù)求相似度;數(shù)據(jù)規(guī)約包括維度規(guī)約和數(shù)據(jù)離散化,維度歸約主要通過特征選擇或特征提取來減少數(shù)據(jù)集中的維數(shù)(變量)數(shù)量,而不會顯著損失信息,而數(shù)據(jù)離散化主要是將連續(xù)屬性的特征切分為若干“段”來減少給定連續(xù)屬性值的個數(shù);數(shù)據(jù)變換主要實現(xiàn)屬性構(gòu)造,可以選擇多個屬性并構(gòu)建新屬性的公式,并通過后臺程序識別公式進行新屬性的構(gòu)造。
為避免對同一數(shù)據(jù)源進行重復的數(shù)據(jù)預處理操作,平臺可記錄數(shù)據(jù)預處理過程,并將新的數(shù)據(jù)預處理結(jié)果記錄到版本庫中供數(shù)據(jù)分析人員直接使用。如圖5所示。對于同一數(shù)據(jù)集,平臺可記錄不同的數(shù)據(jù)預處理過程并將最終的預處理結(jié)果存儲為相應版本。數(shù)據(jù)分析人員可重用數(shù)據(jù)處理操作并可基于現(xiàn)有版本庫對數(shù)據(jù)繼續(xù)進行預處理。
圖5 歷史版本庫操作
數(shù)據(jù)分析人員可以通過該模塊進行算法模型的定義并上傳已實現(xiàn)的算法模型文件,其余數(shù)據(jù)分析人員可輸入指定的參數(shù)來調(diào)用模型,最終平臺按照輸出類型將結(jié)果輸出。
數(shù)據(jù)分析人員可上傳自定義模型,其中模型名稱以及相應的參數(shù)字段約定如表2所示。
表2 算法模型上傳字段約定
當調(diào)用模型時需要利用算法引擎進行處理,其中算法引擎設計如圖6所示。數(shù)據(jù)分析人員通過API或交互平臺來構(gòu)建輸入?yún)?shù),主要包括選用的模型、模型類型、模型的相應參數(shù)以及選擇的數(shù)據(jù)。算法引擎通過輸入?yún)?shù)來加載算法模型和數(shù)據(jù),首先通過依賴包調(diào)用引擎判斷是否已加載所有的包,如果沒有,則加載相應的包;根據(jù)數(shù)據(jù)存儲位置(本地存儲或集群存儲)來加載數(shù)據(jù)。當兩者均準備就緒后,根據(jù)模型類型選擇SparkMLlib或單機算法調(diào)用引擎來進行模型運算;將執(zhí)行結(jié)果返回到模型輸出引擎,該引擎通過判斷模型輸出類型(字典、數(shù)組或json字符串)將結(jié)果輸出到平臺。
圖6 算法引擎設計圖
大數(shù)據(jù)分析平臺涉及大量的數(shù)據(jù)處理,而目前數(shù)據(jù)分析挖掘中較常使用Python語言,同時有大量的數(shù)據(jù)操作基礎(chǔ)庫是基于Python開發(fā)的,因此選用Python作為大數(shù)據(jù)分析平臺的主要開發(fā)語言。
平臺選擇基于Python的Web框架,這有利于與底層語言的結(jié)合??紤]到Django具有文檔最完善、強大的URL路由配置、容易數(shù)據(jù)遷移等特點,最終選擇Django框架作為平臺的Web框架。
前臺展示以Bootstrap作為前端框架、Echarts作為圖表展示、Jquery Ajax異步請求與后臺action進行交互。底層以MySQL數(shù)據(jù)庫作為大數(shù)據(jù)分析平臺的信息存儲數(shù)據(jù)庫、以Hadoop HDFS集群作為大數(shù)據(jù)存儲、以Spark MLlib算法庫作為大數(shù)據(jù)分析平臺的算法庫。
整體技術(shù)架構(gòu)可將系統(tǒng)分為不同的邏輯塊,通過相應的組件相互訪問,如圖7所示。其中展示層只接受Json格式數(shù)據(jù),可作為API供第三方或Web直接解析;ORM可將關(guān)系型數(shù)據(jù)庫和業(yè)務實體進行映射供控制層直接使用;由于涉及到大數(shù)據(jù)的分布式存儲,本平臺需利用python進行HDFS的訪問,可利用pyhdfs對HDFS內(nèi)容進行操作;同理,對于大數(shù)據(jù)算法模型的計算,可利用pyspark與Spark對接進行操作。這種方式將數(shù)據(jù)訪問和邏輯操作進行分離,增強了系統(tǒng)的復用性及系統(tǒng)的擴展性,同時也大大降低了應用系統(tǒng)開發(fā)和維護的成本。
圖7 各層間訪問接口
平臺部署環(huán)境如表3所示,Web服務器僅負責維護平臺系統(tǒng),配置相對較低。平臺使用Hadoop2.7.0以及Spark1.6.1構(gòu)建的16個節(jié)點集群對數(shù)據(jù)進行存儲和計算,配置相對較高,可根據(jù)業(yè)務需求對硬件進行調(diào)整。該平臺部署在linux系統(tǒng)中,需安裝表3所示的Python包用于數(shù)據(jù)處理及集群的操作。
以2016年電網(wǎng)大數(shù)據(jù)助力2016CCF大數(shù)據(jù)競賽的兩個分析主題為例,一個為客戶畫像;另一個為客戶用電異常行為分析。
表3 平臺所需軟硬件環(huán)境
客戶畫像以電力用戶的95598工單數(shù)據(jù)、電量電費營銷數(shù)據(jù)等為基礎(chǔ),綜合分析電費敏感客戶特征,建立客戶電費敏感度模型,對電費敏感用戶的敏感程度進行量化評判,幫助供電企業(yè)快速、準確的識別電費敏感客戶,從而對應地提供有針對性的電費、電量提醒等精細化用電服務??蛻粲秒姰惓P袨榉治龌趪译娋W(wǎng)公司提供的關(guān)于用戶用電量、電能表停走、電流失流、計量門打開燈計量異常情況、竊電行為等相關(guān)數(shù)據(jù),以及經(jīng)過現(xiàn)場電工人員現(xiàn)場確認的竊電用戶清單,希望參賽者利用大數(shù)據(jù)分析算法與技術(shù),發(fā)現(xiàn)竊電用戶的行為特征,形成竊電用戶行為畫像,準確識別竊電用戶,以幫助系統(tǒng)更快速、準確地識別竊電用戶,提高竊電監(jiān)測效率,降低竊電損失。其中應收電費信息部分信息如表4所示,各列代表含義分別為應收年月、用戶編號、供電單位編號、用戶類別、用電類別、電費金額、總電量,其余信息數(shù)據(jù)格式與之類似,在此不展開詳述。
盡管兩者屬于同一行業(yè)不同主題分析,但分析步驟相同。
客戶畫像的一種分析步驟如下:將現(xiàn)有數(shù)據(jù)按照用戶編號進行合并,根據(jù)業(yè)務對數(shù)據(jù)進行預處理,構(gòu)建相關(guān)特征,利用Kmeans算法或其余聚類算法對用戶進行群分,利用決策樹算法或其余分類算法構(gòu)建評價模型對客戶構(gòu)建評價標簽,利用該標構(gòu)建用戶畫像。
客戶用電異常行為的一種分析步驟如下:將現(xiàn)有數(shù)據(jù)按照用戶編號進行合并,根據(jù)業(yè)務對數(shù)據(jù)進行預處理,構(gòu)建相關(guān)特征,利用決策樹算法或其余分類算法構(gòu)建用電行為識別模型,利用該模型識別異??蛻?。
表4 應收電費信息表數(shù)據(jù)展示
由于兩個主題會用到相同的數(shù)據(jù),如用電客戶信息、電能表相關(guān)信息、電量相關(guān)信息;同時兩者會用到相同的算法模型,如決策樹算法,因此可以利用該系統(tǒng)進行數(shù)據(jù)數(shù)據(jù)處理的重用及模型的重用。
4.3.1 客戶畫像
(1)基于平臺創(chuàng)建客戶畫像主題,上傳相應數(shù)據(jù)并進行數(shù)據(jù)展示與描述,如圖8所示,其中字符型可看到頻次最高列、頻次、數(shù)據(jù)總條數(shù)、空值個數(shù)、非空個數(shù);數(shù)值型可看到類型、標準差、均值、最小值等數(shù)據(jù)分布。
圖8 數(shù)據(jù)描述
(2)數(shù)據(jù)預處理。根據(jù)平臺給出的對行和列的處理建議,數(shù)據(jù)分析人員可進行數(shù)據(jù)預處理操作,平臺默認將數(shù)據(jù)處理記錄到版本庫中,這樣就能保證當該數(shù)據(jù)源再次被用到時,其數(shù)據(jù)處理過程可被復用。如圖9所示,系統(tǒng)根據(jù)各列數(shù)據(jù)的分布,給出刪除和填充的建議,并給出理由,當缺失率高達80%時,建議刪除,存在部分缺失值時建議填充,同時給出數(shù)據(jù)的分布,便于數(shù)據(jù)分析人員結(jié)合業(yè)務選擇填充的具體值。
圖9 針對于列的預處理
(3)算法模塊的構(gòu)建。該主題需要構(gòu)建決策樹算法模型,如圖10所示,數(shù)據(jù)分析人員輸入算法模塊名稱,算法描述,選擇模塊類型為單機-分類算法,選擇公開可被其余用戶調(diào)用,上傳算法文件并配置輸入輸出參數(shù)。
圖10 構(gòu)建決策樹模型
4.3.2 客戶用電異常行為分析
(1)基于平臺創(chuàng)建客戶用電異常行為主題,選擇已存在的數(shù)據(jù)源,避免重復上傳數(shù)據(jù),該主題復用了客戶畫像主題中的用戶基本信息,電量信息等數(shù)據(jù)源。
(2)選擇數(shù)據(jù)源時可選擇相應的版本以及相應的數(shù)據(jù)處理操作進行數(shù)據(jù)處理的重用。如圖11所示,用戶基本信息目前有4個版本,每個版本記錄詳細的數(shù)據(jù)處理過程,可直接使用v2版本的數(shù)據(jù)集,同時也可以應用該版本下的某個操作。
圖11 重用數(shù)據(jù)預處理模型
(3)該主題直接復用客戶畫像主題構(gòu)建的決策樹算法,避免了算法模型的重寫,利用已構(gòu)建好的特征及客戶異常預測目標進行決策樹模型訓練,選擇相應的訓練集和測試集,最終返回一個json字符串顯示預測結(jié)果,其中1代表竊電用戶,0代表正常用戶,預測準確度約為0.802。決策樹算法模型復用和預測結(jié)果分別如圖12和圖13所示。
圖12 決策樹模型調(diào)用
圖13 決策樹預測結(jié)果
客戶用電異常行為分析主題重用了客戶畫像主題的用戶基本信息數(shù)據(jù)、預處理結(jié)果及處理過程,減少了數(shù)據(jù)分析人員重復上傳相同數(shù)據(jù)并進行數(shù)據(jù)預處理的操作。同時,客戶用電異常行為分析主題重用了客戶畫像的決策樹算法模型,避免了數(shù)據(jù)分析人員對同一種算法的重復構(gòu)建,實現(xiàn)了算法模型的重用。基于該平臺實現(xiàn)的兩個主題有力地證明了數(shù)據(jù)重用、預處理過程重用及算法模型重用的可行性。
通過構(gòu)建通用大數(shù)據(jù)分析平臺初步解決了數(shù)據(jù)以及模型的復用,對大數(shù)據(jù)分析流程、大數(shù)據(jù)存儲技術(shù)、大數(shù)據(jù)算法庫等技術(shù)展開研究,對主題模塊、數(shù)據(jù)探索模塊、數(shù)據(jù)預處理模塊、大數(shù)據(jù)分析算法模塊進行了詳細設計,提出了相應的數(shù)據(jù)清洗策略、數(shù)據(jù)集成策略、數(shù)據(jù)規(guī)約策略、數(shù)據(jù)變換策略,制定了算法自定義規(guī)范并設計了算法引擎。借助平臺對真實數(shù)據(jù)集數(shù)據(jù)進行了分析和展示,對該數(shù)據(jù)的處理和分析過程及結(jié)果證明了數(shù)據(jù)重用、預處理過程重用及模型重用的可行性,減少了數(shù)據(jù)分析人員在主題分析中的重復操作,有利于企業(yè)在較短的時間內(nèi)構(gòu)建多個主題分析,幫助企業(yè)提高主題分析效率,以便其更加快速、科學地做出業(yè)務決策。
·名人名言·
任何人都承認實驗是科學之母,這是確定不移的真理,誰也不會否認。
——米丘林