本書(shū)為新文科教育指導(dǎo)思想下的金融科技編程教材,通過(guò)示例講解Python編程在審計(jì)行業(yè)的具體應(yīng)用。作者基于20多年的大學(xué)計(jì)算機(jī)教學(xué)經(jīng)歷與行業(yè)大數(shù)據(jù)人工智能軟件開(kāi)發(fā)經(jīng)驗(yàn),從基本的概念開(kāi)始,逐步深入地介紹清洗表格數(shù)據(jù)、采集網(wǎng)絡(luò)信息、手寫(xiě)票據(jù)的光學(xué)字符識(shí)別、財(cái)經(jīng)文本的量化、知識(shí)圖譜自動(dòng)構(gòu)建等熱門(mén)知識(shí)要點(diǎn),并通過(guò)實(shí)例給出算法原理與實(shí)現(xiàn)路徑,同時(shí)詳細(xì)介紹了代碼生成的過(guò)程和結(jié)果,有助于讀者真正掌握大數(shù)據(jù)審計(jì)中的Python編程思想與技術(shù),并將其應(yīng)用于自己的生產(chǎn)實(shí)踐中。
第1章 審計(jì)基礎(chǔ)與審計(jì)報(bào)告的構(gòu)成 1
1.1 審計(jì)概述 1
1.1.1 審計(jì)概念 1
1.1.2 審計(jì)目的 1
1.1.3 審計(jì)風(fēng)險(xiǎn) 2
1.1.4 審計(jì)證據(jù) 2
1.2 會(huì)計(jì)概述 2
1.2.1 會(huì)計(jì)的概念及基本假設(shè) 3
1.2.2 會(huì)計(jì)信息質(zhì)量要求 4
1.2.3 財(cái)務(wù)會(huì)計(jì)報(bào)告簡(jiǎn)述 4
1.2.4 會(huì)計(jì)科目簡(jiǎn)述 5
1.3 審計(jì)報(bào)告的構(gòu)成 8
1.3.1 審計(jì)意見(jiàn) 8
1.3.2 形成審計(jì)意見(jiàn)的基礎(chǔ) 9
1.3.3 關(guān)鍵審計(jì)事項(xiàng) 10
1.3.4 其他信息 10
1.3.5 管理層和治理層對(duì)財(cái)務(wù)報(bào)表的責(zé)任 11
1.3.6 注冊(cè)會(huì)計(jì)師對(duì)財(cái)務(wù)報(bào)表審計(jì)的責(zé)任 11
1.4 智能審計(jì)國(guó)內(nèi)外研究現(xiàn)狀 12
1.4.1 國(guó)外研究現(xiàn)狀 12
1.4.2 國(guó)內(nèi)研究現(xiàn)狀 12
1.5 如何構(gòu)建人工智能審計(jì)規(guī)則 13
1.5.1 基于法律法規(guī)構(gòu)建規(guī)則庫(kù) 14
1.5.2 基于專家經(jīng)驗(yàn)構(gòu)建規(guī)則庫(kù) 14
參考文獻(xiàn) 15
第2章 Python語(yǔ)法基礎(chǔ) 17
2.1 Python開(kāi)發(fā)環(huán)境安裝 17
2.1.1 Anaconda的安裝 17
2.1.2 PyCharm的安裝配置 17
2.2 數(shù)據(jù)類型 19
2.2.1 數(shù)字 19
2.2.2 字符串 19
2.2.3 列表與元組 20
2.2.4 字典與集合 22
2.3 語(yǔ)句語(yǔ)法 24
2.3.1 變量、行、縮進(jìn)與注釋 24
2.3.2 運(yùn)算符 25
2.3.3 布爾值和空值 26
2.3.4 if條件語(yǔ)句 27
2.3.5 for循環(huán)語(yǔ)句 27
2.3.6 while循環(huán)語(yǔ)句 28
2.3.7 break與continue 29
2.4 函數(shù)與庫(kù) 29
2.4.1 函數(shù)的定義與調(diào)用 29
2.4.2 函數(shù)的返回值與作用域 30
2.4.3 常用基本函數(shù)介紹 31
2.4.4 庫(kù) 32
2.5 文件的讀與寫(xiě) 33
2.5.1 input()函數(shù)與print()函數(shù) 33
2.5.2 文件的寫(xiě)操作 34
2.5.3 文件的讀操作 35
2.6 類 36
2.6.1 類和對(duì)象的基本概念 36
2.6.2 面向?qū)ο蟮奶卣?36
2.6.3 type和isinstance 37
2.7 讀寫(xiě)數(shù)據(jù)庫(kù)MySQL 38
2.7.1 MySQL的安裝配置 38
2.7.2 Python與MySQL的交互 39
參考文獻(xiàn) 41
第3章 Python科學(xué)計(jì)算與表格處理 42
3.1 Python科學(xué)計(jì)算 42
3.1.1 Pandas庫(kù) 42
3.1.2 NumPy庫(kù) 44
3.1.3 Pipeline 44
3.2 表格處理 45
3.2.1 讀取表格文件 45
3.2.2 表格數(shù)據(jù)的合并與拼接 51
3.2.3 輸出到表格文件 53
第4章 數(shù)據(jù)預(yù)處理:清洗表格數(shù)據(jù) 55
4.1 數(shù)據(jù)背景 55
4.2 數(shù)據(jù)清洗 55
4.2.1 內(nèi)容替換 55
4.2.2 數(shù)據(jù)類型轉(zhuǎn)換 58
4.2.3 刪除無(wú)效數(shù)據(jù) 61
4.2.4 數(shù)據(jù)創(chuàng)造 64
4.2.5 DataFrame轉(zhuǎn)換 68
第5章 數(shù)據(jù)預(yù)處理:采集網(wǎng)絡(luò)信息 70
5.1 爬蟲(chóng)基礎(chǔ)知識(shí) 70
5.1.1 網(wǎng)頁(yè)源代碼 70
5.1.2 正則表達(dá)式 72
5.2 爬蟲(chóng)基礎(chǔ)方式 74
5.2.1 提取搜狗資訊標(biāo)題、網(wǎng)址、日期和來(lái)源 74
5.2.2 獲取百度翻譯結(jié)果 75
5.2.3 Selenium庫(kù)詳解 77
5.2.4 BeautifulSoup庫(kù)詳解 80
5.3 爬蟲(chóng)處理方法 88
5.3.1 處理數(shù)據(jù)亂碼 88
5.3.2 數(shù)據(jù)清洗與篩選 88
5.3.3 生成數(shù)據(jù)文本文件 91
5.3.4 批量爬取多家公司多頁(yè)資訊 91
5.3.5 基礎(chǔ)爬蟲(chóng)實(shí)踐 92
5.3.6 Python與MySQL的交互實(shí)踐 93
參考文獻(xiàn) 95
第6章 數(shù)據(jù)預(yù)處理:解析財(cái)經(jīng)報(bào)告 96
6.1 批量下載PDF文件至指定位置 96
6.2 解析單個(gè)PDF文件信息 98
6.2.1 解析PDF文件的文本內(nèi)容 98
6.2.2 解析PDF文件的表格內(nèi)容 99
6.3 批量提取PDF文件信息 100
6.3.1 批量輸出PDF文件的文本內(nèi)容 100
6.3.2 篩選并轉(zhuǎn)移PDF文件 101
參考文獻(xiàn) 103
第7章 數(shù)據(jù)預(yù)處理:手寫(xiě)票據(jù)的光學(xué)字符識(shí)別 104
7.1 問(wèn)題場(chǎng)景 104
7.2 表格和單元格定位 108
7.2.1 解析PDF文件 108
7.2.2 表格定位 110
7.2.3 表格自動(dòng)旋轉(zhuǎn) 112
7.2.4 單元格定位 115
7.3 單元格配準(zhǔn) 117
7.3.1 DBSCAN聚類 118
7.3.2 描述性統(tǒng)計(jì) 120
7.3.3 模板可視化 121
7.4 單元格內(nèi)容識(shí)別 122
7.4.1 圖片預(yù)處理 123
7.4.2 LSTM-RNN-CTC模型 124
第8章 自然語(yǔ)言處理:財(cái)經(jīng)文本的量化 127
8.1 自然語(yǔ)言處理 127
8.1.1 自然語(yǔ)言處理概述 127
8.1.2 機(jī)器學(xué)習(xí) 127
8.1.3 語(yǔ)料庫(kù) 128
8.1.4 HanLP環(huán)境搭建 128
8.2 中文分詞 129
8.2.1 中文分詞 129
8.2.2 詞典分詞 130
8.2.3 二元語(yǔ)法分詞 131
8.2.4 詞典的構(gòu)建 132
8.3 命名實(shí)體識(shí)別 135
8.3.1 命名實(shí)體識(shí)別 135
8.3.2 基于規(guī)則的命名實(shí)體識(shí)別 135
8.3.3 基于預(yù)訓(xùn)練模型的實(shí)體關(guān)系抽取 136
8.3.4 基于依存句法分析的實(shí)體關(guān)系抽取 136
8.3.5 財(cái)經(jīng)文本命名實(shí)體識(shí)別 137
8.4 信息提取 138
8.4.1 關(guān)鍵詞提取 138
8.4.2 關(guān)鍵句提取 139
8.4.3 情感分析 140
8.5 綜合訓(xùn)練 141
參考文獻(xiàn) 142
第9章 自然語(yǔ)言處理:金融文本摘要 143
9.1 文本摘要自動(dòng)生成概述 143
9.1.1 研究背景與問(wèn)題定義 143
9.1.2 技術(shù)分類與實(shí)現(xiàn)方法 143
9.1.3 評(píng)價(jià)指標(biāo)與數(shù)據(jù)集 144
9.2 偏好構(gòu)建模塊 145
9.2.1 獲取偏好文本 145
9.2.2 文本預(yù)處理 145
9.2.3 LDA主題模型 147
9.2.4 構(gòu)建偏好語(yǔ)料庫(kù) 148
9.3 鎖定段落中心句 149
9.3.1 獲取偏好文本關(guān)鍵詞 149
9.3.2 相似度計(jì)算 150
9.3.3 提取攜帶偏好的段落中心句 151
9.4 摘要生成模塊 154
9.4.1 依存句法分析 154
9.4.2 結(jié)構(gòu)樹(shù)剪枝 157
參考文獻(xiàn) 159
第10章 自然語(yǔ)言處理:抽取實(shí)體關(guān)系 161
10.1 知識(shí)抽取任務(wù)概述 161
10.1.1 知識(shí)抽取任務(wù)定義 161
10.1.2 知識(shí)抽取任務(wù)分類 162
10.1.3 審計(jì)領(lǐng)域知識(shí)抽取任務(wù) 162
10.2 面向結(jié)構(gòu)化數(shù)據(jù)的知識(shí)抽取 163
10.3 面向非結(jié)構(gòu)化數(shù)據(jù)的知識(shí)抽取 164
10.3.1 深度學(xué)習(xí)與神經(jīng)網(wǎng)絡(luò) 164
10.3.2 基于BERT模型的實(shí)體抽取方法 165
10.3.3 關(guān)系抽取方法 179
10.3.4 實(shí)體消歧 186
10.3.5 實(shí)體關(guān)系抽取結(jié)果保存 186
參考文獻(xiàn) 189
第11章 審計(jì)知識(shí)圖譜自動(dòng)構(gòu)建 190
11.1 知識(shí)圖譜 190
11.1.1 Neo4j介紹 191
11.1.2 Neo4j安裝教程 192
11.1.3 Neo4j啟動(dòng)與服務(wù)器連接 194
11.2 Python操作Neo4j 196
11.2.1 安裝py2neo包 196
11.2.2 py2neo的基本用法 197
11.2.3 簡(jiǎn)單圖數(shù)據(jù)庫(kù)編程實(shí)踐分析 203
11.3 審計(jì)知識(shí)圖譜的實(shí)現(xiàn) 205
11.3.1 案例分析1——讀取MySQL內(nèi)容創(chuàng)建知識(shí)圖譜 206
11.3.2 案例分析2——讀取Excel文件數(shù)據(jù)創(chuàng)建審計(jì)知識(shí)圖譜 209
11.3.3 案例分析3-讀取結(jié)構(gòu)化財(cái)經(jīng)文本創(chuàng)建審計(jì)知識(shí)圖譜 214
11.3.4 案例分析4-多表信息創(chuàng)建知識(shí)圖譜 219
11.3.5 案例分析5-根據(jù)原始文本自動(dòng)生成知識(shí)圖譜 231
參考文獻(xiàn) 233
第12章 審計(jì)應(yīng)用:審計(jì)規(guī)則知識(shí)庫(kù) 234
12.1 用一階謂詞邏輯表示法表示知識(shí) 234
12.1.1 謂詞邏輯概述及其特點(diǎn) 234
12.1.2 謂詞、個(gè)體和量詞 235
12.1.3 聯(lián)結(jié)詞 236
12.1.4 謂詞公式定義及一階謂詞邏輯表示法的特點(diǎn) 236
12.1.5 謂詞公式表示知識(shí)的步驟及方法 236
12.2 審計(jì)規(guī)則知識(shí)庫(kù)的設(shè)計(jì) 237
12.2.1 審計(jì)規(guī)則表 238
12.2.2 新審計(jì)規(guī)則表 238
12.2.3 謂詞邏輯表 238
12.3 程序示例 239
12.3.1 程序整體流程 239
12.3.2 制定規(guī)則的謂詞邏輯表達(dá)式 239
12.3.3 設(shè)計(jì)數(shù)據(jù)表 240
12.3.4 連接數(shù)據(jù)庫(kù) 241
12.3.5 更新替換數(shù)據(jù)表 242
12.3.6 查詢數(shù)據(jù)庫(kù)中的數(shù)據(jù)表 243
12.3.7 判斷數(shù)據(jù)表中的數(shù)據(jù)是否為正確規(guī)則 243
12.3.8 更新、清洗、合并數(shù)據(jù)表中的審計(jì)規(guī)則 245
12.3.9 完整代碼 246
參考文獻(xiàn) 252
第13章 實(shí)踐:綜合風(fēng)險(xiǎn)審計(jì) 253
13.1 審計(jì)語(yǔ)義網(wǎng)絡(luò)構(gòu)建 253
13.1.1 審計(jì)實(shí)體定義 253
13.1.2 審計(jì)關(guān)系定義 254
13.2 傳統(tǒng)審計(jì)中的邏輯推理 256
13.3 審計(jì)推理機(jī) 256
13.4 審計(jì)風(fēng)險(xiǎn)路徑探索實(shí)戰(zhàn) 259
參考文獻(xiàn) 268
第14章 實(shí)踐:審計(jì)報(bào)告自動(dòng)生成 270
14.1 python-docx的基礎(chǔ)知識(shí) 270
14.1.1 python-docx的下載與使用 270
14.1.2 python-docx的基礎(chǔ)操作 270
14.2 審計(jì)報(bào)告中字體的設(shè)置 273
14.2.1 設(shè)置中文字體 273
14.2.2 設(shè)置字號(hào)與字體顏色 274
14.2.3 段落中新增文字 274
14.3 審計(jì)報(bào)告中段落的修改 275
14.3.1 對(duì)齊方式 275
14.3.2 縮進(jìn)方式 275
14.3.3 行距與段落間距 275
14.3.4 編號(hào)與項(xiàng)目符號(hào) 276
14.4 自動(dòng)生成審計(jì)報(bào)告的實(shí)戰(zhàn)演練 276
參考文獻(xiàn) 279