孫夢(mèng)蝶
隨著大數(shù)據(jù)技術(shù)的發(fā)展,各行業(yè)的信息化程度大大提高,審計(jì)工作涉及行業(yè)廣,這就要求審計(jì)工作必須發(fā)展大數(shù)據(jù)技術(shù)。近年來相關(guān)文件也做出了指示,如《國(guó)務(wù)院關(guān)于加強(qiáng)審計(jì)工作的意見》在2014年10月提出要在審計(jì)實(shí)踐中運(yùn)用信息化技術(shù)審查問題的能力,探索大數(shù)據(jù)技術(shù)的運(yùn)用。國(guó)務(wù)院2015年8月頒布的 《關(guān)于促進(jìn)大數(shù)據(jù)發(fā)展行動(dòng)綱要》中的國(guó)家大數(shù)據(jù)戰(zhàn)略,促進(jìn)我國(guó)大數(shù)據(jù)發(fā)展。同年12月,構(gòu)建大數(shù)據(jù)審計(jì)工作模式的要求在《關(guān)于完善審計(jì)制度若干重大問題的框架意見》文件中被明確。劉家義提出:“推進(jìn)以大數(shù)據(jù)審計(jì)是實(shí)現(xiàn)審計(jì)全覆蓋的必由之路?!?/p>
在此情況和背景下,如何獲取、存儲(chǔ)和使用大數(shù)據(jù)技術(shù)進(jìn)行數(shù)據(jù)分析是審計(jì)部門和審計(jì)機(jī)構(gòu)面臨的重大挑戰(zhàn)。在審計(jì)研究領(lǐng)域,許多機(jī)構(gòu)和學(xué)者對(duì)大數(shù)據(jù)對(duì)審計(jì)的影響進(jìn)行了闡述。大數(shù)據(jù)環(huán)境下開展審計(jì)工作已引起了廣泛關(guān)注。因此,對(duì)大數(shù)據(jù)審計(jì)的展望也十分有研究?jī)r(jià)值,本文將重點(diǎn)分析Python語言在大數(shù)據(jù)環(huán)境下實(shí)施審計(jì)的可行性,為審計(jì)人員在大數(shù)據(jù)環(huán)境下實(shí)施審計(jì),獲取數(shù)據(jù)和進(jìn)行數(shù)據(jù)分析挖掘數(shù)據(jù)價(jià)值提供理論參考。
一、大數(shù)據(jù)審計(jì)特征
維基百科把“無法在一定時(shí)間內(nèi)用常規(guī)軟件工具對(duì)其內(nèi)容進(jìn)行抓取、管理和處理的數(shù)據(jù)集合”稱為大數(shù)據(jù)。大數(shù)據(jù)環(huán)境下非格式化數(shù)據(jù)比例非常大,如何審計(jì)非格式化數(shù)據(jù),發(fā)現(xiàn)審計(jì)線索,是值得研究的。大數(shù)據(jù)4V的特點(diǎn)給電子數(shù)據(jù)審計(jì)帶來機(jī)遇的同時(shí)又帶來了挑戰(zhàn)。
從數(shù)據(jù)層次來看,審計(jì)大數(shù)據(jù)涉及廣泛的數(shù)據(jù)來源,結(jié)構(gòu)化數(shù)據(jù)是當(dāng)前被審計(jì)數(shù)據(jù)的主要類型,但半結(jié)構(gòu)化數(shù)據(jù)、非結(jié)構(gòu)化數(shù)據(jù)越來越多。數(shù)據(jù)類型的多樣化與以往便于存儲(chǔ)、分析的結(jié)構(gòu)化數(shù)據(jù)相比,對(duì)大數(shù)據(jù)的處理能力提出了更難的挑戰(zhàn)。被審計(jì)單位的財(cái)務(wù)數(shù)據(jù)和業(yè)務(wù)數(shù)據(jù),數(shù)據(jù)不僅產(chǎn)生于組織內(nèi)部運(yùn)作的各個(gè)環(huán)節(jié),也來自于組織外部。這些數(shù)據(jù)的價(jià)值對(duì)審計(jì)工作來說也是不可否認(rèn)的。因此,被審計(jì)數(shù)據(jù)作為各種數(shù)據(jù)集合,自然具有體量大、多樣化、價(jià)值高等大數(shù)據(jù)特征。
從技術(shù)層次來看,大數(shù)據(jù)審計(jì)技術(shù)是一系列具體的技術(shù)和方法,用于挖掘和呈現(xiàn)審計(jì)大數(shù)據(jù),收集、存儲(chǔ)、分類和分析挖掘以及可視化來實(shí)現(xiàn)數(shù)據(jù)的價(jià)值,審計(jì)的多樣化使得審計(jì)數(shù)據(jù)更加復(fù)雜,不難想象與大數(shù)據(jù)應(yīng)用在單一行業(yè)相比,審計(jì)數(shù)據(jù)獲取,分配和存儲(chǔ)技術(shù)面臨的挑戰(zhàn)。
從應(yīng)用層次來看,大數(shù)據(jù)審計(jì)在應(yīng)用中的實(shí)踐主要體現(xiàn)在深度挖掘?qū)徲?jì)證據(jù),跨部門、多行業(yè)開展數(shù)據(jù)分析,關(guān)聯(lián)分析財(cái)務(wù)與業(yè)務(wù)數(shù)據(jù)、挖掘過去數(shù)據(jù)與實(shí)時(shí)數(shù)據(jù)的相關(guān)性,以發(fā)現(xiàn)審計(jì)問題、得出合理的審計(jì)結(jié)論。
大數(shù)據(jù)技術(shù)可以助推實(shí)現(xiàn)審計(jì)全覆蓋。并且大數(shù)據(jù)審計(jì)可以推進(jìn)制度完善,即通過挖掘某種社會(huì)現(xiàn)象的潛在規(guī)律,作為政策制定的依據(jù),針對(duì)問題進(jìn)行大數(shù)據(jù)分析、不斷完善政策,推動(dòng)國(guó)家治理現(xiàn)代化。同時(shí),有部分政府審計(jì)領(lǐng)域的學(xué)者認(rèn)為大數(shù)據(jù)審計(jì)的目標(biāo)之一使政府審計(jì)揭示宏觀經(jīng)濟(jì)社會(huì)運(yùn)行風(fēng)險(xiǎn)的能力和效率大大提高,以揭露重大違法違紀(jì)問題,最終實(shí)現(xiàn)審計(jì)全覆蓋、維護(hù)國(guó)家經(jīng)濟(jì)安全的目的。大數(shù)據(jù)審計(jì)的應(yīng)用,十分符合推行現(xiàn)代審計(jì)綜合模式的要求,符合數(shù)字化審計(jì)方式的特征。
二、Python的特點(diǎn)及其優(yōu)勢(shì)
Python是一種面向?qū)ο蟮挠?jì)算機(jī)程序設(shè)計(jì)語言,它具有簡(jiǎn)單、解釋型、交互式和可移植的特點(diǎn),在數(shù)據(jù)分析領(lǐng)域正在得到越來越多的應(yīng)用(官網(wǎng):https://www.python.org)。隨著其數(shù)據(jù)科學(xué)計(jì)算庫的升級(jí),Python程序設(shè)計(jì)語言越來越適用于分析數(shù)據(jù)科學(xué)。Python是一門真正的通用設(shè)計(jì)語言, Python編程語言的通用性,腳本語言應(yīng)用的廣范性,有眾多組件、擴(kuò)展庫的支持,并且適用于多種平臺(tái)的操作系統(tǒng),從這些方面來看Python都優(yōu)于科學(xué)計(jì)算領(lǐng)域最流行的商業(yè)軟件Matlab。雖然目前Matlab中的某些高級(jí)數(shù)據(jù)分析功能Python還無法替代,但是對(duì)于基礎(chǔ)性、前瞻性的審計(jì)數(shù)據(jù)處理工作,完全可以用Python來完成。
大數(shù)據(jù)審計(jì)需要用到的Python主要包括:Numpy,Scripy,Pandas,Matplotlib等。Numpy是一個(gè)科學(xué)計(jì)算的庫,提供了矩陣運(yùn)算等功能;Scripy工具包包括統(tǒng)計(jì),優(yōu)化,整合,線性代數(shù)模塊,常微方程求解器等,可以和Numpy數(shù)組一起工作,并提供許多像數(shù)值積分、優(yōu)化這樣的對(duì)用戶友好的和有效的數(shù)值例程;Pandas是Python的一個(gè)數(shù)據(jù)分析包,最初作為金融數(shù)據(jù)分析工具被開發(fā)出來。因此,提供了能使審計(jì)人員便捷處理數(shù)據(jù)的函數(shù)和方法。
Pandas建立在Numpy之上,使以Numpy為中心的應(yīng)用變得簡(jiǎn)單,并且非常適合進(jìn)行數(shù)據(jù)清洗和整理。Matplotlib是Python的一個(gè)可視化模塊,審計(jì)人員可以利用該模塊更方便的制作線條圖、柱狀圖等專業(yè)圖形。Python有著像Matlab一樣強(qiáng)大的計(jì)算工具包Numpy,有Matplotlib繪圖工具包能夠?qū)?shù)據(jù)進(jìn)行可視化,有科學(xué)計(jì)算工具包Scripy,Pandas可以像SQL對(duì)數(shù)據(jù)進(jìn)行控制,對(duì)于大數(shù)據(jù)環(huán)境下的電子數(shù)據(jù)審計(jì)而言,使用Python可以實(shí)現(xiàn)數(shù)據(jù)獲取、分析和可視化,非常有發(fā)展?jié)摿Α?/p>
1.Python數(shù)據(jù)獲取研究。使用Python內(nèi)置函數(shù)讀取文本和數(shù)字,打開審計(jì)文件讀取文件內(nèi)容,獲取word、excel文件指定行的內(nèi)容,以實(shí)現(xiàn)從鍵盤、文本文件、Office 文件獲取。
Python的標(biāo)準(zhǔn)數(shù)據(jù)庫接口支持多種數(shù)據(jù)庫。接口定義了必須的對(duì)象和數(shù)據(jù)庫存取方式,以便為各種底層數(shù)據(jù)庫和數(shù)據(jù)庫接口提供一致的訪問接口,審計(jì)人員可以根據(jù)適合審計(jì)項(xiàng)目的數(shù)據(jù)庫下載不同的模塊,聯(lián)接數(shù)據(jù)庫后,可以通過執(zhí)行SQL語句等方式完成查找和存儲(chǔ)。
隨著大數(shù)據(jù)時(shí)代的到來,大量的信息從網(wǎng)絡(luò)中涌出,爬蟲像蜘蛛一樣在網(wǎng)絡(luò)中穿梭,自動(dòng)收集有價(jià)值的信息,使用簡(jiǎn)單的Python腳本就能夠抓取網(wǎng)頁信息,滿足數(shù)據(jù)分析的需求。爬蟲前期可以使用Google Chrome的檢查功能,查看網(wǎng)頁的URL、請(qǐng)求方式、狀態(tài)碼和網(wǎng)站地址代理名稱等特定信息,了解網(wǎng)頁的構(gòu)成,以便于進(jìn)一步通過編寫Python腳本,實(shí)現(xiàn)爬蟲。
2.Matplotlib繪圖工具包。Matplotlib是Python一個(gè)可視化模塊,一個(gè) 2D繪圖庫。審計(jì)人員寫幾行代碼,便可以完成直方圖、條形圖、散點(diǎn)圖等基礎(chǔ)繪圖,根據(jù)圖像的趨勢(shì)判斷數(shù)據(jù)的合理性,以進(jìn)一步做出正確的審計(jì)結(jié)論。
3.Jieba和PyTagCloud實(shí)現(xiàn)中文標(biāo)簽云。Jieba是Python的一個(gè)中文分詞組件,支持多種分詞模式。PyTagCloud是Python的一個(gè)擴(kuò)展庫,可以生成一個(gè)標(biāo)簽云,當(dāng)前它可以輸出圖片和網(wǎng)頁兩種格式。通過Jieba組件對(duì)被審計(jì)的文檔分詞,去除標(biāo)點(diǎn)符號(hào)、“的”、“地”、“了”等停用詞,通過設(shè)置參數(shù)提取文檔內(nèi)權(quán)重大、詞頻高的詞語。Jieba分詞的結(jié)果結(jié)合PyTagCloud的標(biāo)簽云可視化功能,可以實(shí)現(xiàn)對(duì)審計(jì)文件進(jìn)行充分的理解。在被審計(jì)單位提供審計(jì)數(shù)據(jù),或已通過爬蟲技術(shù)獲取的數(shù)據(jù)的基礎(chǔ)上,可使用標(biāo)簽云技術(shù)實(shí)現(xiàn)可視化分析。
4.使用gensim進(jìn)行文本相似度計(jì)算。文本相似度計(jì)算的需求始于搜索引擎,它需要計(jì)算用戶查詢和爬下來的眾多網(wǎng)頁之間的相似度,從而把最相似的排在最前返回給用戶。使用的主要算法是tf-idf(詞頻-逆文檔頻率)。文本相似度計(jì)算主要的步驟有,首先導(dǎo)入jieba和gensim庫,使用jieba對(duì)文章進(jìn)行分詞,然后建立TF-IDF模型,通過模型計(jì)算文本與query文本的相似度即可。
三、總結(jié)
本文研究了在大數(shù)據(jù)審計(jì)方法方面Python語言的數(shù)據(jù)獲取方式,包括從文件獲取、從數(shù)據(jù)庫獲取,介紹了利用網(wǎng)絡(luò)爬蟲技術(shù)抓取網(wǎng)頁信息,獲取外部數(shù)據(jù)以滿足數(shù)據(jù)分析的需求方式;然后介紹了幾個(gè)實(shí)用的Python模塊,Matplotlib繪圖工具包、Jieba分詞組件等,以實(shí)現(xiàn)審計(jì)工作的基本繪圖、中文標(biāo)簽云和相似度分析功能。
值得思考的是,在“4V”的定義下,政府掌握的數(shù)據(jù)資源不太符合“價(jià)值密度低”的界定,并且審計(jì)工作中接觸到的非結(jié)構(gòu)化數(shù)據(jù)還是很少,看起來不應(yīng)歸為“大數(shù)據(jù)”,審計(jì)人員通過使用基本的數(shù)據(jù)處理技術(shù)就能夠?qū)φ當(dāng)?shù)據(jù)進(jìn)行分析處理。但從另一個(gè)角度看,大數(shù)據(jù)不僅代表的是具有其特征的數(shù)據(jù)集,更是一項(xiàng)技術(shù)的集——能夠采集、存儲(chǔ)和關(guān)聯(lián)性分析數(shù)量巨大、來源分散、格式多樣的數(shù)據(jù),更是一種大數(shù)據(jù)思維,審計(jì)人員利用這種創(chuàng)新的思維模式,得以從審計(jì)數(shù)據(jù)中發(fā)現(xiàn)疑點(diǎn),從而提升審計(jì)人員發(fā)現(xiàn)數(shù)據(jù)價(jià)值、獲取知識(shí)和更新認(rèn)知領(lǐng)域的能力。在大數(shù)據(jù)審計(jì)模式下,審計(jì)人員不僅要對(duì)大數(shù)據(jù)技術(shù)充分利用,而更應(yīng)該具有系統(tǒng)化大數(shù)據(jù)的思維。
為有效解決當(dāng)前現(xiàn)象,可采取以下措施實(shí)現(xiàn)對(duì)大數(shù)據(jù)審計(jì)發(fā)展的推動(dòng):首先,構(gòu)建審計(jì)大數(shù)據(jù)信息資源平臺(tái),通過建設(shè)大數(shù)據(jù)信息資源平臺(tái),實(shí)現(xiàn)資源共享和關(guān)聯(lián)分析各被審計(jì)單位、行業(yè)、地方等多個(gè)系統(tǒng)間的數(shù)據(jù)。其次,創(chuàng)新數(shù)據(jù)分析方法,審計(jì)人員從簡(jiǎn)單的匯總、統(tǒng)計(jì)數(shù)據(jù),向運(yùn)用各種深度挖掘、智能學(xué)習(xí)算法、可視化等技術(shù)實(shí)現(xiàn)的大數(shù)據(jù)分析。審計(jì)人員可以通過學(xué)習(xí)Python等技術(shù),將豐富的審計(jì)工作經(jīng)驗(yàn)與前沿分析技術(shù)相結(jié)合,在審計(jì)過程中實(shí)現(xiàn)大數(shù)據(jù)技術(shù)的應(yīng)用,以進(jìn)一步提高審計(jì)能力和效率。再其次,完善審計(jì)制度體系,在審計(jì)數(shù)據(jù)的標(biāo)準(zhǔn)方面,設(shè)定統(tǒng)一標(biāo)準(zhǔn),規(guī)范數(shù)據(jù)、統(tǒng)一接口,制定大數(shù)據(jù)審計(jì)工作規(guī)范,建立健全符合我國(guó)國(guó)情且系統(tǒng)化的準(zhǔn)則體系。
(作者單位:南京審計(jì)大學(xué))