


【摘 要】 審計數據的采集是進行大數據審計的基礎,審計數據采集質量直接關系到審計結果,因此,在大數據背景下進行審計數據采集技術與方法的研究尤為重要。文章以網絡爬蟲技術為核心進行審計大數據采集技術與方法的探索研究,形成了審計數據采集框架,該框架能夠根據具體的審計需求,自動采集和預處理相關的審計公開數據,從而有效補充審計內部數據不足、質量不高等問題,力求快速發現審計問題,提高大數據審計效率。同時,以互聯網金融企業專項審計為例,驗證審計數據采集框架的必要性和有效性,研究成果為大數據審計提供了一個可供借鑒的研究方法。
【關鍵詞】 審計大數據; 數據采集; 網絡爬蟲技術
【中圖分類號】 TP391;F239? 【文獻標識碼】 A? 【文章編號】 1004-5937(2020)19-0114-06
一、引言
大數據的運用給人類社會各行各業帶來深刻影響和巨大變化,以大數據技術為代表的信息化、智能化建設,正有力地推動著國家治理能力走向更高水平。審計是黨和國家監督體系的重要組成部分,是國家治理的基石,審計行業的使命促進國家良治和全球良知及全球可持續發展。為迎接大數據時代,大力推進大數據審計,已成為我們必然的發展方向和現實選擇。
習近平總書記在中央審計委員會第一次會議上指出:“深化審計制度改革,解放思想、與時俱進,創新審計理念,及時揭示和反映經濟社會各領域的新情況、新問題、新趨勢。要堅持科技強審,加強審計信息化建設。”目前,國家審計署“金審工程三期”正是以大數據審計為核心,開展國家重大工程項目建設,在大數據審計模式下,通過構建全維化數據畫像,開展財政、金融與企業間,財務與業務數據間,中央、部門與地方間,部門縱向各級間,單個系統和單個被審計對象與宏觀經濟運行間的上下、左右、各種關聯分析,力圖全面、立體、系統地認識被審計對象,以全維視角、智能化技術,實現總體分析,試圖建立“國家審計云”。可以說,應用大數據技術是實現審計全覆蓋目標的必由之路,大數據審計建設是影響審計事業未來發展的核心技術工程。新時代信息技術下審計技術與方法的研究已經成為當下以及今后一段時期亟需研究的重大課題。
綜上所述,本文以網絡爬蟲技術為核心進行審計大數據采集技術與方法的探索,形成審計數據采集框架。該框架能夠根據具體的審計需求,自動采集和預處理相關的審計公開數據,增加審計數據采集質量與完整性,力求快速發現審計問題,提高大數據審計效率。
二、文獻回顧
審計大數據采集技術不但完成對大量數據的自動采集,而且能對采集的數據進行各種預處理,也就是數據的ETL(Extract-Transform-Load),為挖掘數據的潛在價值做準備,為用戶構建解決方案或者實現決策提供支持。審計大數據采集是審計大數據分析生命周期的重要一環,是實現高效可靠審計的基礎,不少學者從數據采集方式方法以及數據采集系統的安全性等方面已經開展了相關研究。在國內,徐超和吳平平[ 1 ]指出,大數據審計工作應該是“三個集成、五個關聯”,也就是在審計的時候要將數據、分析和審計工作三方面綜合起來進行,而數據作為第一個要素,需要建立有效的采集機制,規范其采集格式及要素。陳琦和陳偉[ 2 ]設計了一種多源的審計數據采集方法,可以對多種不同格式的數據進行集中采集。趙華和閔志剛[ 3 ]基于Oracle數據庫,完成了一套高效的數據采集和轉換系統,能夠有效地提升審計人員的工作效率。張立[ 4 ]和王志之[ 5 ]闡述了如何對采集的審計數據進行預處理,以提高數據質量,更好地為審計服務。盧學英[ 6 ]從數據采集和預處理的四個方面,對如何保證審計數據采集的完整性進行了探討。賴春林[ 7 ]針對醫保基金審計采集的數據如何處理進行了深入分析,給出了一些可能的應用方式。張志恒和成雪嬌[ 8 ]以采集的文本數據為出發點,設計了一個審計數據分析框架,重點闡述了如何對采集的文本數據進行預處理并加以利用。在國外,Samtani等[ 9 ]發現數據采集系統并不是絕對安全的,他們基于Shodan搜索引擎,對數據采集設備的安全漏洞進行了評估,識別了大量SCADA數據采集設備的安全漏洞。Colombo 等[ 10 ]針對歐洲核子研究中心ATLAS探測器數據采集系統遇到的數據傳輸延遲問題,設計了相應的數據采集仿真工具,用以分析不同的流量和調度策略,以及網絡硬件情況下的系統行為,為未來改進數據采集系統提供支持。Lee等[ 11 ]使用一個安全的數據采集和簽名模塊生成用于流數據完整性檢查的元數據,然后借助元數據校驗遠程數據采集的完整性和有效性。
綜上可以看出,在大數據審計采集方面主要是運用高效快速的采集技術以及采集質量、采集數據標準化等的研究;而對審計大數據采集的完整性、真實性、有效性研究較少,尤其與被審計單位相關聯外部數據采集研究較少。因此,本文主要集中于對被審計單位相關聯的外部數據采集的研究,提出利用網絡爬蟲技術采集與審計對象相關的外部數據,從而對內部數據進行有力補充,力圖使審計大數據采集更加完整和真實有效。
三、網絡爬蟲技術
網絡爬蟲技術是一種基于互聯網,自動抓取網頁特定的一種技術。它的實現機制類似于人對網頁的點擊操作,可以在非人工干預下完成客戶端(瀏覽器)和服務器之間的交互,實現對網絡數據自動、精準、大范圍的提取。根據爬取任務的不同,網絡爬蟲可分為通用型、聚焦型、優先型、增量型、深層型等多種類型,同時,用戶還可以根據實際需求構建自定義網絡爬蟲。
使用網絡爬蟲,用戶首先要根據自己的需求選擇一個或幾個目標網站作為網絡爬蟲的初始URL,并加入到待抓取URL隊列中。然后網絡爬蟲將自動進行以下循環操作:(1)如果待抓取URL隊列為空,則終止循環,停止網絡爬蟲,輸出爬取的結果(即網頁數據庫中的內容);否則,從待抓取隊列中取出隊首的URL地址,然后在互聯網中進行查找,找到它相對應的網頁,并把它下載下來。(2)對下載的網頁進行數據提取。提取的數據包括URL地址以及感興趣的內容兩個方面。對于提取的URL地址,如果這個URL地址以前沒有分析過,那么就將這個URL地址加入到待抓取URL隊列中;對于提取的內容,則經過數據清洗,保存到網頁數據庫中,作為爬蟲的結果供后續分析。基本流程如圖1所示。
網絡爬蟲技術在審計領域中的應用,例如商業銀行進行小微企業貸款審計,數據采集難一直是審計部門十分困擾的問題。小微企業客戶貸款信息的真實一般由自己報送,客戶資源的真實性、完整性、有效性亟需驗證。審計部門對材料真實審查往往無從下手,通常會面臨企業客戶的財務信息、非財務信息搜索整合困難,尤其是小微企業的財務信息難以核實、難以識別客戶資料信息造假以及來自銀行內部工作人員“偽造”信息等一系列問題。網絡爬蟲技術作為大數據前端的數據采集技術,可以很好地解決這一系列問題。利用網絡爬蟲技術,配合圖像識別、語音識別、語義理解等大數據技術,可以實現海量的外部高價值數據收集,包括如表1所示的政府公開數據、企業官網數據、社交數據、新聞輿情數據等。審計部門得以通過客戶動態數據的獲取,為客戶建立“全景畫像”,對客戶的實際業務、運行情況以及報送材料的一致性進行全方位、細粒度的實時審查,從而使得商業銀行審計部門在審計范圍、時效性、前瞻性等方面得到有效改善。
四、基于網絡爬蟲技術的審計大數據采集框架
網絡爬蟲技術下的審計大數據采集框架,需要支持不同部門、不同平臺的數據采集,其采集的對象千差萬別,而且內容和形式也是多樣的,如果采用單一類型的網絡爬蟲,將難以滿足如此靈活的需求,因此本文將通用型爬蟲和深層網絡爬蟲兩類技術相結合,首先基于通用型爬蟲,對基本的、通用的審計數據進行抓取,其次基于深層網絡爬蟲,對某些重點方面和特殊需求進行深度分析,以進一步爬取針對性更強的數據。采集框架如圖2所示,主要包括審計采集數據預定義、網絡爬蟲系統、審計采集數據實時監控,具體如下:
(一)審計采集數據預定義
在進行網絡爬蟲技術下的審計大數據采集前,需要對采集數據預先定義,以確定采集數據的范圍和數據精準有效,具體根據審計計劃,圍繞審計目標,針對具體審計業務內容進行預定義,使得數據采集的來源可靠有效,采集的內容準確高效。
(1)預定義采集需求。針對不同審計目標,用戶創建主題,選擇可靠數據來源,構建數據爬取的約束條件和觸發條件,預定義審計采集標準、需求及內容,選擇的數據目標應能實現審計項目方案。在進行采集數據前,首先應在對被審計單位信息系統充分了解的基礎上進行外部數據選擇,其次需要根據具體審計業務內容來采集所需的審計大數據。
(2)選擇審計數據來源。確定審計目標后,應在對被審計單位業務流程及關鍵控制點充分了解的基礎上進行數據來源選擇,需要尋找能夠完成審計項目方案的可靠數據來源網站或App軟件系統進行數據采集。例如,固定資產審計,采集的可靠審計數據來源包括企業官方網站的數據、供應鏈數據、政府及各部門發布的各類相關數據,如征信數據、司法數據、海關數據、稅務數據、工商數據以及網絡輿情等相關外部數據。
(二)網絡爬蟲系統
網絡爬蟲技術下審計大數據的采集,主要采用鏈接結構評價的爬行策略,以審計目標預先定義的主題為需求,選擇性地爬行與審計對象主題內容相關的頁面。但是,互聯網數據不是孤立的,爬取的頁面之間總存在各種聯系,因此,本文基于鏈接結構的搜索策略模式,利用網頁之間的結構特征,根據審計目標構建頁面重要性評價方法,以優化爬蟲搜索順序,提高爬蟲質量。
網絡爬蟲策略基于PageRank算法來進行審計大數據的采集。如果一個網頁多次被審計對象相關主題預定義或者引用,則可能是很重要的網頁,與爬取審計目標密切相關;如果一個網頁沒有被多次引用,但還是被重要審計主題預定義或者引用,則該網頁也有可能是重要的網頁。因此,基于這兩個基本假設,對每個網頁的重要性進行審計大數據采集,具體步驟如算法1所示。
算法1:網絡爬蟲算法(審計大數據采集)
Intput:? ? ?相關審計需求URL
Output: 與之相關各字段采集信息
Step1 審計目標預定義,生成任務模塊,根據種子任務獲取數據爬取URL,同時,生成待下載任務。
Step2 根據待下載任務,圍繞預定義的審計內容進行爬取,如果選擇數據源對應的爬蟲URL在任務里面不存在時,就會新插入一個任務,并把這個任務ID取出來保存到主題任務表中。
Step3 URL解析與讀取,利用正則表達式提取出設定的目標數據,對已經爬取的網頁,連同待爬取URL隊列中的URL形成網頁集合,同時把任務ID和主題ID放在這個URL的后面,在保存數據時會把任務ID保存到全量數據表中。
Step4 對網頁集合進行排序去重,計算每個頁面的PageRank值,計算完成之后,將待爬取URL隊列中的URL按照PageRank值的大小優先級排列,同時對其進行過濾去重,按照該順序爬取頁面,并判斷是否繼續爬取種子任務。
Step5 種子任務迭代模塊,從種子任務隊列取出待下載的種子任務生成待下載任務。
Step6 進入循環,轉Step2。
Step7 數據約束條件判斷,爬取數據保存到全量數據表中就會調用服務端提供的API,并且帶上任務ID和主題ID信息,服務端的API會根據這個任務ID和主題ID去全量數據表和主題任務表中獲取對應的數據和約束條件。
Step8 根據全量數據表的數據和主題任務表約束條件填充對應的數據到審計業務表里面推送給滿足條件的審計用戶。
(三)審計采集數據實時監控
在利用網絡爬蟲技術進行審計大數據采集過程中,會出現爬蟲程序異常、自動終止、實時性差、出現錯誤位置不明確、修復爬蟲時間長等問題,因此,對爬蟲爬取的數據需要進行實時監控,以確保整個審計大數據采集過程的順利進行。本文將根據審計目標爬取的審計大數據用時序數據庫(Influxdb)進行技術處理,而后利用可視化工具(Grafana)將爬蟲數據情況通過可視化圖形界面展示出來,這樣能夠對網絡爬蟲系統以及采集到的數據實時監測,發現異常及時處理,從而保障了整個網絡爬蟲數據采集框架的有序運行。時序數據庫(Influxdb)是一款開源的時間序列數據庫,專門用來存儲和時間相關的數據,例如用它存儲某個時間點爬蟲抓取信息的數量。可視化工具(Grafana)是一個跨平臺、開源的度量分析工具,也是一個實時監控系統,擁有精美的網絡產品界面(web UI),支持多種圖表,可以展示時序數據庫(Influxdb)中存儲的數據,并且有報警的功能。
五、互聯網金融審計具體應用
(一)審計背景
互聯網金融是一種更加普惠的大眾化金融模式,在網絡上實現支付結算、貨幣借貸、銷售金融產品等,能夠提高金融服務效率,降低金融服務成本,這是互聯網技術與現代金融有機結合的產物,給金融市場帶來了新的活力和發展機遇。互聯網金融的主要特點是便捷隱蔽、成本低廉、風險多維性等,對其監管和審計比傳統金融更加復雜,審計部門如何對互聯網金融開展審計監督成為一個新的命題。
根據審計計劃,對某市200多家互聯網金融企業進行一次重點專項審計,審計目標是以互聯網金融企業為背景,審計某市互聯網金融企業在運營過程中是否存在違規、違法現象。主要從四個方面進行關注,即網絡非法集資、非法經營或者虛假交易、網絡產品的兌付風險、互聯網金融信息安全。傳統審計主要對互聯網金融企業申報信息進行真實性審計,對財務預算、收入、支出等進行合規性審計,同時,與相關人員座談走訪、對互聯網金融企業相關金融產品及合同進行抽樣檢閱等。實踐表明,僅僅依靠被審計單位提供的數據進行審計,已經無法滿足審計需要。不少審計人員覺得“對會計資料進行逐一審查,未發現有明顯的違紀違法現象”,“整本賬目上數字工整清晰,毫無違法違規現象”[ 12 ]。因此,在大數據背景下利用網絡爬蟲技術獲取公開外部數據信息尤為重要,是對審計大數據采集完整性、真實性、有效性的極大補充,是快速發現審計問題與線索的關鍵,是審計報告的重要依據。
(二)審計大數據采集
審計數據采集預定義。根據審計目標,針對某市互聯網金融企業的特點以及相關業務內容進行審計數據采集預定義,選擇可靠審計數據來源進行審計大數據采集,形成如圖3所示的企業基礎數據、企業征信數據、企業關聯/投資數據、企業歷史違約數據以及企業網絡輿情數據。
網絡爬蟲系統。通過以上審計數據采集預定義,審計人員利用網絡爬蟲技術從公開信息網絡中爬取對應互聯網金融企業的數據信息,具體使用如圖4所示的Python語言編寫爬蟲代碼。
(1)根據預先定義采集數據需求。以互聯網金融企業名稱為索引,確立數據來源網站。利用網絡爬蟲技術爬取企業基礎數據以及相關信息,如國家企業征信系統、司法系統、天眼查、企查查、啟信寶等,重點對工商數據、商標數據、公開訴訟數據、輿情數據以及企業關系的深度挖掘與爬取。
(2)構造種子URL初始化爬蟲。利用已有互聯網金融企業的名稱數據,根據各網站的URL特點構造初始化爬蟲的URL。
(3)獲取網頁源文檔。利用Python語言的requests、urllib2等庫解析種子URL獲得網頁源文檔。
(4)解析網頁源文檔。使用Python的pyquery、BeautifulSoup、xpath等庫或正則表達式解析網頁的源文檔,獲得需要的文本內容存入數據庫,或抽取需要的URL放入待爬取URL隊列再進入循環爬取。
(5)數據預處理與存儲。對采集的審計數據進行預處理,使得數據滿足審計需求,并使用Pymongo存儲到MongoDB數據庫。
審計數據采集實時監控。對網絡爬蟲等采集系統采集到的數據進行實時監控,避免出現爬蟲程序異常自動終止,實時性差,錯誤位置不明確修復爬蟲時間長等問題,用時序數據庫(Influxdb)進行技術處理,而后通過可視化工具(Grafana)將爬蟲數據情況通過可視化圖形化界面展示出來,如圖5所示。
(三)審計采集結果分析
利用網絡爬蟲技術的審計大數據采集框架,獲取互聯網金融企業基礎數據、企業征信數據、企業關聯/投資數據、企業歷史違約數據以及企業網絡輿情數據等外部數據,補充對互聯網金融企業專項審計項目工作,使審計采集數據更加完整,從而對某市的互聯網金融企業審計數據分析更加準確、真實。在對公開獲取的外部數據進行整合清洗之后,審計發現能夠迅速判斷互聯網金融企業是否存在偽造經營狀態信息、企業股東之間是否存在關聯關系、企業是否存在信用問題。同時,在研判網絡非法集資、非法經營或者虛假交易、網絡產品的兌付風險、互聯網金融信息安全等方面發揮重要作用。
六、總結與展望
隨著大數據時代的到來,未來審計必將從目前的發現問題逐漸發展為預測問題、預防問題,而這一系列的發展必將基于大量高質量數據的獲取和積累。因此,本文以目前廣泛使用的數據采集技術——網絡爬蟲技術為基礎,探討了審計領域大數據采集的方式方法,設計了審計數據采集框架,能夠針對不同的具體審計需求自動采集和預處理相關的審計公開數據,有效地補充審計內部數據不足。同時,為提升采集的數據質量,本文開發了混合網絡爬蟲技術,該技術能夠結合通用爬蟲和深層爬蟲,大幅提升網絡爬蟲獲取審計數據的有效性和質量,為大數據審計奠定了堅實的數據基礎。
【參考文獻】
[1] 徐超,吳平平.淺析各國大數據審計工作現狀:基于世界審計組織大數據工作組第一次會議的研討結果[EB/OL]. http://www.audit.gov.cn / n6 / n41 /c96373 / content.html,2017-06-01.
[2] 陳琦,陳偉.一種基于C#的審計數據采集方法的設計與實現[J].中國管理信息化,2015(17):37-39.
[3] 趙華,閔志剛.Oracle審計數據的采集與轉換[J].審計與理財,2015(3):17-18.
[4] 張立.ETL技術在數據審計中的具體應用[J].中國審計,2015(24):52-53.
[5] 王志之.審計數據預處理探析[J].中國經貿,2017(16):260-261.
[6] 盧學英.計算機審計中如何獲取真實完整的電子數據[J].價值工程,2017,36(20):205-206.
[7] 賴春林.如何有效利用審計采集的數據?——以醫保基金審計為例[J].審計與理財,2016(11):17-18.
[8] 張志恒,成雪嬌.大數據環境下基于文本挖掘的審計數據分析框架[J].會計之友,2017(16):117-120.
[9] SAMTANI S, YU S, ZHU H, et al. Identifying supervisory control and data acquisition (SCADA) devices and their vulnerabilities on the internet of things (IoT):a text mining approach[J].IEEE Intelligent Systems,2018,33(2):63-73.
[10] COLOMBO T, FRONING H, GARCIA P J,et al. Optimizing the data-collection time of a large-scale data-acquisition system through a simulation framework[J]. Journal? of? Supercomputing,2016,72(12):4546-4572.
[11] LEE K M, LEE K M, SANG H L. Remote data integrity check for remotely acquired and stored stream data[J]. Journal? of? Supercomputing,2018,74(9):1182-1201.
[12] 許偉,雷玥.狼狽為奸終現形[J].中國審計,2013(24):29-30.