陳偉 勾東升 徐發亮
近年來,大數據技術的研究與發展為審計工作帶來了機遇和挑戰,目前國內外高度關注大數據技術在審計工作中的應用,探索在審計實踐中運用大數據技術具有重要的應用價值和理論意義。由于目前被審計單位信息化程度高,信息系統復雜,需要采集和審計的各類數據較多,且不僅僅是數據庫中的電子數據,還包括一些政策文件、項目信息、董事會會議記錄、董事會會議決議、總經理辦公會記錄、會議決議單、辦公會通知、辦公文件,以及內部控制手冊、信息系統使用手冊等非結構化材料。因此,如何對文本格式的非結構化數據進行分析是開展大數據審計的一項重要內容。本文結合目前大數據審計的研究與應用現狀,探索基于文本數據分析的大數據審計方法。
常用的審計數據分析方法包括賬表分析、數據查詢、審計抽樣、統計分析、數值分析、數據相似檢測等,這些方法多是針對結構化數據進行分析,而對于文本數據等非結構化數據則不能進行有效的分析。以統計分析方法和數據相似檢測分析為例,其特點分析如下:
1.統計分析方法
常用的統計分析方法的應用示例如圖1所示,這種統計分析方法多是針對數值型字段進行分析,而不能針對字符型字段中的文本數據進行統計分析。
2.結構化數據的相似檢測方法
對于數據庫中的結構化數據,通過數據相似檢測,可以判斷兩個數據表中的兩條數據是不是相似重復數據,目前在審計中已有相關應用,例如,大數據環境下從不同地方采集來的被審計數據中,被審計數據A中出現的數據不應該出現在被審計數據B中。通過數據相似檢測技術可以有效地發現舞弊案件。其中,兩個數據表中對應字段的相似度計算是關鍵,對于不同類型的字段,一般采用如下不同的計算方法:
(1)布爾型字段相似度計算方法:對于布爾型字段,如果兩字段相等,則相似度取0,如果不同,則相似度取1。
(2)數值型字段相似度計算方法:對于數值型字段,可以采用計算數字的相對差異算法:

(3)字符型字段相似度計算方法:對于字符型字段,一個字段可以看成是一個字符串,字符串的相似檢測最主要的方法是基于編輯距離算法。通過采用編輯距離算法,可以計算出兩個字段間的編輯距離,進而計算出字符型字段的相似度(圖1)。
綜上可知,目前常用的審計數據分析方法多是針對結構化數據。大數據環境下,需要審計的不僅僅是數據庫中的結構化數據,還包括一些政策文件、項目信息等非結構化數據。因此,常用的審計方法不能滿足大數據環境下審計工作的需要,其中,研究如何對文本數據進行審計非常重要。
大數據環境下大量的文本數據使審計人員分析的難度越來越大,傳統的瀏覽和篩選等方法無法滿足大數據環境下文本數據等非結構化數據審計的需要,對非結構化數據進行可視化分析,是大數據審計研究與應用的重要內容。將文本數據中的內容或規律以視覺符號的形式展示給審計人員,有助于審計人員利用視覺感知的優勢來快速獲取大數據中蘊涵的重要信息,從而發現審計線索。對大數據審計來說,文本內容可視化主要是為了快速獲取文本數據內容的重點,快速理解文本的主要內容,可以采用基于詞頻的可視化技術,如采用TFIDF技術、標簽云的可視化形式進行展示。
基于文本數據分析的大數據審計方法原理可概述為:根據對被審計單位的調查,在訪談和現場觀察等基礎上,采集被審計單位的內外部相關信息如政策文件、項目信息、董事會會議記錄、董事會會議決議、總經理辦公會記錄、會議決議單、辦公會通知、辦公文件、項目安排、相關年度資金計劃安排、項目工作總結、相關項目績效評價報告等非結構化數據,以及從外部網上公開數據源采集來的相關文本數據;然后,在審計大數據預處理的基礎上,基于“總體分析、發現疑點、分散核查、系統研究”的審計思路,采用大數據工具對相關文本數據進行分析,審計人員通過對可視化的分析結果進行觀察,快速從被審計大數據信息中發現異常數據,獲得審計線索;在此基礎上,通過對這些結果數據做進一步的延伸審計和審計事實確認,最終獲得審計證據。綜上分析,基于文本數據分析的大數據審計方法原理如圖2所示。
1.相似度分析方法的原理

圖1 統計分析方法的應用示例

圖2 基于文本數據分析的大數據審計方法原理
大數據環境下,相似度分析是目前有效的一種文本數據審計方法。大數據審計環境下,有時需要分析文本數據之間是否相似,成熟可行的方法可以采用 T FIDF(Term Frequency-Inverse Document Frequency,詞頻-逆文檔頻率)技術,它是一種常用的自然語言處理(NLP,Natural Language Processing)方法,TF-IDF的主要思想是:根據字詞的在文本中出現的頻率和在整個文本庫中出現的頻率來計算一個字詞在整個文本庫中的重要程度。如果某個詞或短語在一篇文章中出現的頻率TF高,并且在其他文本中出現的很少,則認為該詞或者短語具有很好的代表性,適合用來分類。TF-IDF可用于比較兩個文本文件相似程度、文本聚類、文本分類等方面。 TF-IDF的計算步驟如下:
(1)計算TF(詞頻)
TF(Term Frequency,詞頻)表示某個詞組在整個文本中出現的頻率,其計算公式如下:

(2)計算IDF(逆文檔頻率)
IDF(Inverse Document Frequency,逆文檔頻率)計算逆文檔頻率。文檔頻率是指某個關鍵詞在整個文本庫所有文件中出現的次數。逆文檔頻率又稱為倒文檔頻率,它是文檔頻率的倒數,主要用于降低所有文檔中一些常見卻對文檔影響不大的詞語的作用。為防止分母為0(即詞語在文本庫中不存在),使用“包含該詞的文本數+1”作為分母。IDF的計算公式如下:

(3)計算TF-IDF(詞頻-逆文檔頻率)
綜上,T F-I D F的計算方法如下:

不難發現:TF-IDF值越大,表示該特征詞對這個文本的重要性越大。
由以上分析可知,TF-IDF的優點是能過濾掉一些常見的卻無關緊要的詞語,同時保留影響整個文本的重要詞語,該方法簡單快速,結果比較符合實際情況;缺點是有時重要的詞語可能出現次數并不多,僅僅以詞頻衡量一個詞的重要性還不夠全面,另外,這種算法無法體現詞語的位置信息。

圖3 基于Python語言的文本數據相似檢測方法運行代碼示例

圖4 基于Python語言的標簽云分析方法運行代碼示例

表1 某省2014-2017年扶貧項目內容相似度分析結果
綜上分析,如果同時計算一個文件中所有詞組的TF-IDF,將這些詞的TF-IDF相加,可以得到整個文本文件的值,從而可用于文本文件的相似度比較。
2.相似度分析方法的實現
根據前文對TF-IDF方法的分析,采用Python語言實現了文本數據相似檢測方法,運行代碼實現示例如圖3所示。
1.標簽云分析方法原理分析
標簽云(Tag Cloud)是常用的可視化分析方式之一,它由一組相關的標簽以及與標簽相對應的權重組成,這些標簽按字母順序或其他順序,或者再結合顏色深淺進行排列,呈現出來供用戶瀏覽的文本可視化方法。其中,權重值的大小決定標簽的字體大小、顏色或其他視覺效果。
通過對被審計文本數據進行標簽云可視化分析,可以整體把握被審計文本數據的主要內容。實現標簽云分析的主要步驟包括:(1)分詞;(2)統計詞頻;(3)根據詞頻自動設置顏色深淺、字體大小并進行可視化展示。
2.標簽云分析方法的實現
基于以上分析,采用Python語言實現了文本數據的標簽云分析方法,其運行代碼示例如圖4所示。
扶貧審計是目前審計領域研究與應用的一個重點,為了便于審計人員從整體上把握扶貧項目內容等情況,快速發現可疑問題,提高審計效率,實現“集中分析、分散核查”的審計方式,本節以扶貧審計為例,分析如何應用基于文本數據分析的大數據審計方法。其基本思路為:為了總體了解被審計單位對扶貧政策的執行情況,可以通過對某一時期內每年的扶貧項目內容進行相似度分析,檢測每年扶貧項目內容的變化情況,如果每年的項目內容相似度高,說明扶貧項目內容變化不大,在此基礎上,進行扶貧項目內容標簽云分析,檢查相關扶貧項目關注的重點,檢測關注的重點是否有變化。另外,對扶貧資金使用情況進行標簽云分析,檢查是否存在違規使用的問題
基于以上分析,以某省扶貧項目審計為例,采用本文研究的基于文本數據的相似度分析方法分別對該省2014到2017年的扶貧項目內容進行相似度分析,分析結果如表1所示。

圖5 2014年項目內容分析示例

圖6 2015年項目內容分析示例

圖7 2016年項目內容分析示例
由表2不難發現:2014年、2015年、2016年項目內容相似度較高,與2014年、2015年、2016年項目內容相比,2017年項目內容變化較大。由此可見,該省2017年扶貧項目內容發生了重大變化,值得審計人員進一步關注。

圖8 2017年項目內容分析示例

圖9 某地污染高能耗項目分析示例

圖10 某省扶貧資金使用情況內容分析示例
在扶貧項目內容相似度分析的基礎上,為了進一步了解該省2014-2017年扶貧項目的主要內容,掌握扶貧政策的變化情況,審計人員可以采用標簽云對采集來的扶貧項目數據進行綜合分析,總體掌握扶貧項目內容情況,以及某一時期內扶貧項目內容的變化情況,從而可以幫助審計人員判斷被審計單位的扶貧政策執行情況。
1.扶貧政策執行情況分析
基于以上分析,以某省扶貧項目審計為例,采用基于文本數據的標簽云分析方法對該省2014到2017年的扶貧項目內容進行標簽云分析,其示例結果如圖5—8所示,其中,標簽云中字體的大小表示扶貧項目內容出現的次數情況。圖5—8的分析結果表明,與前文的相似度分析結果一致,該省2017年扶貧項目內容發生了變化,比如,建檔立卡等工作成為2017年扶貧項目關注的重點,從而表明被審計單位有效地執行了國家的扶貧政策。
2.扶貧內容合理性分析
通過對扶貧項目內容進行分析,可以整體把握一些扶貧項目內容是否符合國家產業政策,例如,分析扶貧項目是否投向一些高污染、高能耗等國家禁止的行業項目,如果存在,則需要審計人員進一步關注。
基于以上分析,以某地扶貧項目審計為例,采用基于文本數據的標簽云分析方法對該地扶貧項目內容進行標簽云分析,其示例結果如圖9所示。分析結果表明,該省扶貧項目內容中存在“制革”、“有色”、“冶煉”等關鍵詞,從而表明被審計單位可能存在扶貧項目內容屬于高污染、高能耗行業,需要審計人員做進一步的延伸分析。

為了掌握扶貧資金的整體使用情況,確認扶貧資金的使用是否合理、合規和合法,需要對某一時期內扶貧資金使用內容進行總體分析。針對這一需要,基于文本數據的標簽云分析方法對從被審計單位采集來的相關扶貧資金支出數據進行分析,根據分析結果可以初步發現扶貧資金是否存在違規使用的問題。例如,采用標簽云對從某省采集來的扶貧資金進行綜合分析,其示例結果如圖10所示。
圖10的分析結果表明,該被審計單位一部分扶貧資金用在了餐費、高爾夫、中介費、煙酒等方面。根據這一分析,審計人員可以對這些扶貧資金數據做進一步的詳細分析,查找所有含有“餐費、高爾夫、中介費、煙酒”等方面的支出,從而發現審計線索。
對文本數據進行分析是大數據審計的一項重要內容,但由于目前常用審計軟件中缺少針對文本數據的審計方法,審計人員無法采用這一方法進行審計。本文采用易于實現的大數據開源分析語言Python實現了文本數據審計方法,包括文本相似度分析和標簽云分析,采用該方法不需要開發或購買專門的審計軟件,審計人員能夠在低成本、易實現的情況下實現對文本數據的分析,從而為大數據審計的廣泛應用打下了基礎。