錢翔宇,史海燕
(河北大學 管理學院,河北 保定 07100)
隨著大數據時代的到來,各個領域的信息量都快速增長,信息過載取代了信息貧乏成為如今大多數互聯網用戶的困擾。根據第46次《中國互聯網絡發展狀況統計報告》,截至2020年1月,我國移動互聯網接入流量消費達745億GB,同比增長34.05%[1]。對于企業而言,若能從大數據中提煉出有用信息,并通過各種模型算法為生產決策提供正確參考,將擁有更強競爭力。然而由于傳統企業決策支持系統(DSS)在獲取大數據、處理大數據方面的劣勢,企業難以從各個平臺快速且準確地采集出符合其發展要求的信息,也難以利用該信息實現精準化推薦、個性化服務、市場趨勢預測等更符合大數據時代的功能。基于此,本文設計并實現了基于數據挖掘的新型企業決策支持系統,在理論上為決策支持系統提供了新的實現方法;在實踐上,為處于信息化時代的企業提供更加精準全面的決策支持。
Simon[2]在1960提出了決策的3個階段:情報、設計、選擇,將決策行為劃分為程序化決策和非程序化決策,由此奠定了DSS的理論基礎。在隨后的20年內,DSS進入快速發展期[3],個人決策支持系統(PDSS)[4]、群決策支持系統(GDSS)[5]與智能決策支持系統(IDSS)[6]等新型決策支持系統出現,為解決多人協同決策與處理復雜決策問題提供了可能。20世紀90年代開始,數據倉庫、聯機分析處理和數據挖掘技術的出現,使傳統決策支持系統由利用模型驅動和知識輔助決策,逐漸過渡到從數據中獲取知識和信息,很多研究者都開始注重DSS多種技術的融合,提出新型決策支持系統與傳統決策支持系統的結合才是未來的發展方向。
21世紀至今,在已有的理論基礎上,各個領域都發展了用于解決特定問題的決策支持系統。在醫療領域,不同研究者在醫院人力資源管理[7]、腦卒中患者護理[8]、低血糖患者護理[9]等方向開發了醫學決策支持系統(MDSS);在圖書館領域,陳鴻[10]基于大數據視角,解決了圖書館決策模式中決策主體的單一并且依賴主觀經驗等問題,提高了圖書館決策的科學性;在環境領域,汪西林[11]等人利用主成分分析技術與0-1整數規劃模型等為基本農田規劃構建了決策支持模型。田恬[12]等人采用SOA C/S架構,設計開發了松花江流域水污染防治規劃決策支持系統;同時,在水利[13]、電力[14]、食品[15]等領域,不同研究者也都設計開發了相應的決策支持系統。
在企業決策支持系統領域,目前的大多數研究都集中在財務、會計方向。例如霍曉萍[16]等人基于雙邊匹配算法,通過構建異質資本雙邊匹配決策支持系統,為國有企業引入資本提供可實現信息共享、投資互選的平臺。現有研究在實現用戶行為分析、市場分析以及營銷媒介分析等方面比較匱乏。基于此,本文設計并實現了基于數據挖掘的新型企業決策支持系統,該系統在原有決策支持系統基礎上,不僅使用企業內部數據,還利用網絡爬蟲獲取企業外部數據,結合了最新研究,加入了情感分析、傳播模式分析、用戶畫像描繪等功能,幫助企業利用網絡上的現有信息,分析企業產品、洞察市場、預測未來,進而幫助決策者明確目標,可為正確決策提供有力支持。
為了實現決策支持系統的企業外部數據獲取、數據挖掘、可視化顯示等功能,選擇網絡爬蟲、機器學習等相關技術搭建決策支持系統,全面支撐DSS各類數據的加工管理,支撐對大規模數據進行可視化的需求。本設計將DSS構建劃分為4個主要任務:①根據不同的業務需求,利用網絡爬蟲從互聯網采集企業外部數據,獲取由合作企業提供的企業內部數據;②根據提前設計好的數據治理體系流程,將獲得的原始數據進行抽取、清洗、轉換、裝載等一系列操作;③按照設定的功能,進行數據挖掘的相關操作,其中包括自然語言處理、利用機器學習方法進行數據預測、用戶畫像構建等;④設計接口,使用Echarts模型將處理好的數據進行可視化操作。
企業決策支持系統的核心是獲取企業內外部數據進行清洗分析,形成數據不斷更新與存儲的基礎環境,提供支撐企業決策的增值信息,輔助企業做出最優決策。目前為止,本系統已經為電商、游戲、自媒體三類企業,提供了基礎數據分析、面向用戶分析、面向市場分析、面向營銷媒介分析四類功能,具體的業務架構如圖1所示。
作為輔助企業進行各項業務決策的數據基礎環境,系統的數據來源將嚴格遵循完整性與準確性原則,并且嚴格保護用戶隱私,不違規抓取用戶手機號、住址等隱私信息,避免給企業帶來相關的法律風險。
基于數據挖掘的新型企業決策支持系統以數據抓取、數據分析、數據可視化三個環境分離為研發理念,在數據的不同流通階段對數據進行不同的處理與完善。在數據抓取階段,系統使用以scrapy-redis技術為基礎的分布式爬蟲框架,根據不同行業與企業的需求,利用官方API或抓包工具從第三方平臺(如微博、今日頭條、bilibili等)對數據進行大規模快速抓取,并且根據既定的功能,抽取不同種類數據的特征值;在數據分析階段,系統使用pytorch、sklearn等框架,利用隨機森林、XGBoost、卷積神經網絡等機器學習與深度學習算法,使用數據抓取階段提供的數據,對企業目標群體進行挖掘、預測話題生命周期與商品銷量、實現精準推送等功能,按照設計的可視化顯示接口,輸出相關數據;在數據可視化階段,系統利用echarts技術,將處理后的數據進行可視化顯示,提供給企業相關決策人員。三個環境協同調度工作,實現無縫銜接。從技術層面可以分為數據存儲層、數據抓取層、業務層與可視化顯示層。平臺的技術架構如圖2所示。
系統采用spring boot技術,結合bootstrap進行前端頁面設計,利用Vue. js進行前后端數據交互。系統將前端服務與后端服務分離,整合了mybatis一級二級緩存,增加系統的并發量,并且拓展了反爬及用戶權限管理功能,構建了分布式的決策支持系統。
系統構建要從硬件設施部署與軟件設施部署展開。系統旨在解決企業決策時數據量少、數據不夠全面、數據分析方法較為單一的問題,為不同行業提供內外部數據結合的決策支持系統,構建數據抓取、分析、顯示為一體的,具有用戶權限管理與反爬蟲機制的分布式系統。
3.3.1 硬件設施部署
基于數據挖掘的新型企業決策支持系統基礎設施硬件部署,配備6臺服務器支持數據加工過程,注重數據抓取能力,數據存儲能力以及數據計算能力。其中,兩臺服務器構建分布式爬蟲子系統,一臺服務器進行數據存儲與調度,兩臺服務器用于部署后端項目及數據計算框架,一臺服務器用于部署前端項目、集中管理工具與日志服務應用。
3.3.2 軟件設施部署
(1) 關鍵技術選擇。DSS數據具有多種類、多來源、數據量大等特點,傳統的數據存儲加工技術很難進行高效的處理。在數據抓取階段,因為獲取的第三方數據源分布廣,數據量大,所以選擇scrapy-redis分布式爬蟲框架。服務啟動時,爬蟲子系統會依據事先設計的數據抓取方法與邏輯,在兩臺服務器上進行聯機爬取,保證了數據獲取的時效性與穩定性;
在數據分布式存儲階段,scrapy-redis框架會將抓取的數據自動存儲到redis數據庫中;在數據計算階段,利用python語言,通過調用numpy、pytorch、sklearn等第三方框架,編寫算法對數據進行清洗與分析,最后將處理好的數據按照既定的字段存儲到數據庫中;在數據輸出階段,系統根據用戶請求,利用后端服務器從數據庫中提取數據,通過Vue.js將數據傳輸到前端,最后通過echarts框架將數據可視化顯示,供決策人員使用。
(2) 關鍵技術部署。系統主要從技術架構層中的4層功能區進行部署,即數據存儲層、數據抓取層、業務層與可視化顯示層。系統集成了Django框架、scrapy-redis框架與spring boot框架,在不同服務器上分別部署了前端與后端的項目,前后端分離,并且四臺服務器同時服務于爬蟲子系統與后端計算服務,形成小規模集群,保證了系統的計算效率與穩定性。針對通用分布式技術環境部署進行系統級優化,以開源軟件官方網站提供的說明為基礎結合集群的實際情況進行調優。解決包括數據抓取速度慢、響應請求延遲、系統穩定性不高等問題。

圖2 技術架構
本文基于數據挖掘相關技術,利用相關算法,基于分布式系統開源生態圈技術,自主研發了企業決策支持系統,實現了輔助企業進行更加精準的目標,解決了決策時數據種類及量級少的問題,豐富了傳統決策支持系統的功能,并結合不同行業特點,開發了不同的功能。系統為用戶提供了豐富的數據可視化效果,完成實時指標分析,節省用戶的等待時間。
目前系統已經初步具備服務能力,但也存在一些問題。例如系統集成了Django、spring boot與scrapy-redis框架,不同框架進行數據傳輸時需要通過數據庫進行緩存,需要一定時間。一種解決方案是編寫分布式程序并將它們部署在不同的服務器上,但是維護一組需要單獨開發的分布式系統,有一定的技術難度。同時,該系統在用戶個性化配置和多數據源融合分析方面仍有改進空間。在前一階段的基礎上,未來將通過不斷的探索和實踐,進一步優化和完善系統。