吳浩忠,陳思彤
(無(wú)錫商業(yè)職業(yè)技術(shù)學(xué)院,江蘇 無(wú)錫 214000)
當(dāng)前我國(guó)主流財(cái)務(wù)軟件的自主學(xué)習(xí)、訓(xùn)練、推理演繹功能等嚴(yán)重缺失,會(huì)計(jì)人員被大量簡(jiǎn)單、枯燥的程序化會(huì)計(jì)核算工作捆綁,不具備向管理決策方向轉(zhuǎn)型的基本條件。對(duì)日常業(yè)務(wù)中明顯缺乏合法性與合理性的經(jīng)濟(jì)業(yè)務(wù)缺乏甄別阻斷能力,會(huì)計(jì)信息質(zhì)量也一直是會(huì)計(jì)界長(zhǎng)期難以解決的問(wèn)題。實(shí)際上通過(guò)引入人工智能技術(shù),將單位內(nèi)部會(huì)計(jì)核算與審計(jì)規(guī)則嵌入財(cái)務(wù)軟件規(guī)則庫(kù),很多不合法、不合理的會(huì)計(jì)業(yè)務(wù)很容易被財(cái)務(wù)軟件排除在會(huì)計(jì)信息系統(tǒng)之外。因此,會(huì)計(jì)核算智能化決定了會(huì)計(jì)人員能否成功轉(zhuǎn)型并提升會(huì)計(jì)核算信息質(zhì)量的關(guān)鍵性因素。本文以人工智能技術(shù)為主要工具,研究智能會(huì)計(jì)核算的解決方案,全面提升會(huì)計(jì)信息系統(tǒng)的智能化水平,為助推會(huì)計(jì)人員轉(zhuǎn)型、進(jìn)一步提升會(huì)計(jì)信息質(zhì)量、提升我國(guó)企業(yè)經(jīng)營(yíng)決策水平做出有益的探索。
1.1.1 系統(tǒng)目標(biāo)
智能會(huì)計(jì)系統(tǒng)(IAS)與傳統(tǒng)會(huì)計(jì)信息系統(tǒng)的最大區(qū)別在于IAS 具有學(xué)習(xí)、推理與判斷等智能化特征,具體體現(xiàn)在IAS 可在無(wú)監(jiān)督學(xué)習(xí)模式下從會(huì)計(jì)專(zhuān)家記賬產(chǎn)生的歷史數(shù)據(jù)中學(xué)習(xí)并提取記賬規(guī)則。
1.1.2 功能需求
結(jié)合系統(tǒng)目標(biāo)、相關(guān)人員特點(diǎn),IAS 系統(tǒng)功能性需求被分解為下列七大子系統(tǒng):原始憑證管理子系統(tǒng)、記賬憑證管理子系統(tǒng)、賬簿管理子系統(tǒng)、報(bào)表管理子系統(tǒng)、智能學(xué)習(xí)子系統(tǒng)、規(guī)則庫(kù)管理子系統(tǒng)、推理機(jī)子系統(tǒng)。
1.2.1 IAS 系統(tǒng)外圍架構(gòu)設(shè)計(jì)
為了降低系統(tǒng)的耦合性,提高系統(tǒng)擴(kuò)展性,基于系統(tǒng)訪(fǎng)問(wèn)速度、便捷性等要求,本系統(tǒng)采用了C/S 結(jié)構(gòu)。當(dāng)需要對(duì)數(shù)據(jù)庫(kù)中的數(shù)據(jù)進(jìn)行操作時(shí),客戶(hù)端可自動(dòng)搜尋服務(wù)器程序,并發(fā)出請(qǐng)求,服務(wù)器程序根據(jù)預(yù)定規(guī)則做出應(yīng)答并返回結(jié)果,因此這種結(jié)構(gòu)具有服務(wù)器運(yùn)行數(shù)據(jù)負(fù)荷輕的優(yōu)點(diǎn)[1-2]。
1.2.2 IAS 系統(tǒng)基礎(chǔ)架構(gòu)設(shè)計(jì)
IAS 在系統(tǒng)總體架構(gòu)的設(shè)計(jì)上采用經(jīng)典的三層模型設(shè)計(jì),分別是數(shù)據(jù)存儲(chǔ)層、應(yīng)用層及表示層[1],具體見(jiàn)圖1。

圖1 IAS 基礎(chǔ)架構(gòu)圖
分層設(shè)計(jì)與實(shí)現(xiàn)會(huì)計(jì)核算系統(tǒng)具有很好的系統(tǒng)可維護(hù)性與靈活性。表示層也是用戶(hù)界面層,主要是用于操作人員與系統(tǒng)數(shù)據(jù)庫(kù)交互的界面,將操作人員指令轉(zhuǎn)化為系統(tǒng)可識(shí)別的計(jì)算機(jī)指令,以實(shí)現(xiàn)操作人員對(duì)系統(tǒng)的控制[2]。
1.2.3 系統(tǒng)處理流程
根據(jù)本文前述系統(tǒng)目標(biāo)與系統(tǒng)需求分析,IAS實(shí)現(xiàn)系統(tǒng)目標(biāo)需要經(jīng)歷下列7 個(gè)步驟:系統(tǒng)定義與維護(hù)、原始憑證管理、記賬憑證管理、智能學(xué)習(xí)系統(tǒng)、推理機(jī)、賬簿管理、報(bào)表管理。
概念結(jié)構(gòu)是數(shù)據(jù)模型的基礎(chǔ)。為了實(shí)現(xiàn)IAS 的目標(biāo)及各模塊功能,在IAS 概念結(jié)構(gòu)設(shè)計(jì)的基礎(chǔ)上,依據(jù)E-R 模型轉(zhuǎn)換規(guī)則,將系統(tǒng)數(shù)據(jù)庫(kù)E-R圖中的實(shí)體、屬性和聯(lián)系轉(zhuǎn)換為數(shù)據(jù)模型,現(xiàn)將IAS 系統(tǒng)中主要表的結(jié)構(gòu)列示如下:
1)會(huì)計(jì)科目表。為了便于智能學(xué)習(xí)系統(tǒng)(ILS)對(duì)會(huì)計(jì)憑證數(shù)據(jù)庫(kù)進(jìn)行數(shù)據(jù)預(yù)處理,需要在會(huì)計(jì)科目表中增設(shè)“學(xué)習(xí)代碼”列,該列是將科目代碼中與會(huì)計(jì)核算規(guī)則無(wú)關(guān)的部分代碼刪除后形成,由會(huì)計(jì)主管在科目設(shè)置時(shí)具體確定,詳細(xì)的會(huì)計(jì)科目數(shù)據(jù)結(jié)構(gòu)見(jiàn)表1。

表1 會(huì)計(jì)科目數(shù)據(jù)結(jié)構(gòu)表
2)記賬憑證表。記賬憑證表包括記賬憑證基礎(chǔ)信息表與記賬憑證數(shù)據(jù)表。在復(fù)式記賬法下,由于一筆交易或?qū)崿F(xiàn)至少涉及兩個(gè)以上賬戶(hù),為了降低記賬憑證數(shù)據(jù)庫(kù)的數(shù)據(jù)冗余度,增設(shè)記賬憑證數(shù)據(jù)表,其結(jié)構(gòu)主要包括記賬憑證編號(hào)、科目、記賬方向、金額。
3)原始憑證表。原始憑證表包括主要儲(chǔ)存原始憑證基礎(chǔ)數(shù)據(jù),主要包括序號(hào)、編號(hào)、原始憑證編號(hào)、原始綜合、屬性名稱(chēng)、屬性值、賬戶(hù)集、學(xué)習(xí)標(biāo)志、輸出規(guī)則,具體見(jiàn)表2。

表2 原始憑證表(YSPZ)
4)科目余額表。該表主要存儲(chǔ)會(huì)計(jì)科目表中所有會(huì)計(jì)科目的期初余額、本期發(fā)生額及期末余額,該表數(shù)據(jù)能為編制會(huì)計(jì)報(bào)表提供支持。
原始憑證提供的數(shù)據(jù)是IAS 的重要學(xué)習(xí)樣本數(shù)據(jù)源,因此本系統(tǒng)需要原始憑證管理子系統(tǒng)實(shí)現(xiàn)模板預(yù)置、原始憑證錄入、審核與查詢(xún)功能,利用存儲(chǔ)過(guò)程實(shí)現(xiàn)原始憑證數(shù)據(jù)庫(kù)的動(dòng)態(tài)更新與調(diào)整。
記賬憑證管理子系統(tǒng)數(shù)據(jù)是IAS 的財(cái)務(wù)信息數(shù)據(jù)窗口,是整個(gè)系統(tǒng)信息的正確性、質(zhì)量高低的決定性因素。
智能學(xué)習(xí)子系統(tǒng)是IAS 的關(guān)鍵子系統(tǒng),需要實(shí)現(xiàn)從原始憑證數(shù)據(jù)庫(kù)及記賬憑證數(shù)據(jù)庫(kù)中學(xué)習(xí)會(huì)計(jì)核算規(guī)則的重要功能。該子系統(tǒng)的智能學(xué)習(xí)流程及實(shí)現(xiàn)如下:
1)參數(shù)設(shè)置。一是系統(tǒng)激活參數(shù)Para_Sys-Activate 的設(shè)置,該參數(shù)主要是控制智能學(xué)習(xí)系統(tǒng)的激活機(jī)制。二是最小支持度Minsup,本系統(tǒng)通過(guò)記賬憑證數(shù)據(jù)庫(kù)挖掘頻繁項(xiàng)集后,最終要通過(guò)原始憑證數(shù)據(jù)庫(kù)挖掘會(huì)計(jì)核算規(guī)則。
2)會(huì)計(jì)科目提取。為了確定是否有足夠的學(xué)習(xí)樣本供IAS 學(xué)習(xí)訓(xùn)練,本環(huán)節(jié)通過(guò)查詢(xún)語(yǔ)句統(tǒng)計(jì)記賬憑證數(shù)據(jù)表(JZPZ)中出現(xiàn)頻次大于Minsup會(huì)計(jì)科目并將統(tǒng)計(jì)結(jié)果存入臨時(shí)表#T_2。
3)參數(shù)驗(yàn)證。比較表#T_2 中元組個(gè)數(shù)@YBZHS 與@@Para_SysActivate 的大小,若@YBZHS 小于@@Para_SysActivate,說(shuō)明記賬憑證數(shù)據(jù)表(JZPZ)中沒(méi)有足量的學(xué)習(xí)樣本,程序終止,否則激活學(xué)習(xí)系統(tǒng),從#XXYB 中提取包含在#T_2 表中所有科目的記錄并形成學(xué)習(xí)樣本數(shù)據(jù)庫(kù)#T_PF。
4)創(chuàng)建布爾型數(shù)據(jù)表。以#T_2 表中的會(huì)計(jì)科目名稱(chēng)XXDM 為表列,創(chuàng)建T_EZB(布爾型數(shù)據(jù)表),為后續(xù)程序提供基本數(shù)據(jù)。
第一階段的數(shù)據(jù)預(yù)處理結(jié)束,最終輸出T_BEB(布爾型數(shù)據(jù)表),為第二階段的數(shù)據(jù)挖掘算法提供基本數(shù)據(jù)。
6)對(duì)布爾型數(shù)據(jù)表T_BEB 進(jìn)行行列處理。主要處理過(guò)程是:第一,計(jì)算每列合計(jì)數(shù),將列合計(jì)數(shù)小于minsup 的列值更新為0;第二,動(dòng)態(tài)更新行合計(jì),刪除合計(jì)數(shù)HJ 小于等于1 的行,同時(shí)更新列合計(jì)數(shù),本系統(tǒng)通過(guò)為相關(guān)表建立觸發(fā)器實(shí)現(xiàn)該功能;第三,檢查列合計(jì)數(shù),如果不為零的值全部大于等于minsup 循環(huán)停止,否則繼續(xù)循環(huán),直到所有列合計(jì)與行合計(jì)都符合設(shè)定條件;第四,部分樣本在經(jīng)過(guò)該步驟處理后元組數(shù)為零或僅剩1 種類(lèi)型的代碼,該種類(lèi)型的代碼即頻繁項(xiàng)集,這兩種情況算法即可終止,否則轉(zhuǎn)入后續(xù)程序處理。
7)對(duì)布爾型數(shù)據(jù)表T_BEB 進(jìn)行頻繁項(xiàng)集挖掘。主要處理過(guò)程是:第一,搜尋T_BEB 表中ZH列的不重復(fù)值并存入表ZFCTH(XH,ZH,HJ);第二,定義游標(biāo),將ZFCTH 中的ZH 中的0 替換成“_”;第三,統(tǒng)計(jì)ZFCTH 中每一個(gè)元組在T_BEB中出現(xiàn)的頻次,刪除小于Minsup 的元組并更新ZFCTH 表中相應(yīng)的PC 列,同時(shí)對(duì)ZFCTH 表按照HJ 逆序排列;第四,若產(chǎn)生的第一行頻繁項(xiàng)集的項(xiàng)目數(shù)為T(mén)_BEB 表HJ 列的最大值@n,則算法終止;第五,若頻繁項(xiàng)集項(xiàng)目數(shù)不是T_BEB 表HJ 列的最大值@n,而是@n-m,則啟動(dòng)回溯算法,尋找有無(wú)隱藏頻繁項(xiàng)集;第六,調(diào)用存儲(chǔ)過(guò)程Proc_LH_DELETE 對(duì)#L_HS 進(jìn)行處理,若無(wú)頻繁項(xiàng)集產(chǎn)生,再調(diào)用存儲(chǔ)過(guò)程ZFCTH 進(jìn)行頻繁項(xiàng)集挖掘,若有頻繁項(xiàng)集產(chǎn)生,則是隱藏的頻繁項(xiàng)集,否則無(wú)隱藏頻繁項(xiàng)集;第七,輸出頻繁項(xiàng)集。
智能學(xué)習(xí)子系統(tǒng)的第三階段主要是原始憑證屬性學(xué)習(xí),其中,原始憑證屬性學(xué)習(xí)環(huán)節(jié)如下:第一,提取原始憑證學(xué)習(xí)樣本數(shù)據(jù);第二,創(chuàng)建布爾型憑證學(xué)習(xí)表SXXX1,原理同第一階段第四步驟,此處不再贅述;第三,根據(jù)T_YSZH 中的數(shù)據(jù)對(duì)SXXX1 表填充二值數(shù)據(jù),原理同第一階段第五步驟,不再贅述;第四,憑證樣本數(shù)據(jù)學(xué)習(xí)。原始憑證屬性學(xué)習(xí)中根據(jù)提取的原始憑證樣本數(shù)據(jù),經(jīng)布爾映射后產(chǎn)生的數(shù)據(jù)庫(kù)界面;第五,屬性學(xué)習(xí)。根據(jù)第四環(huán)節(jié)憑證學(xué)習(xí)輸出結(jié)果,從原始憑證數(shù)據(jù)庫(kù)(YSZH)中提取所有YS_CODE 為憑證學(xué)習(xí)輸出值的元組,驗(yàn)證原始憑證與記賬憑證之間的關(guān)聯(lián)關(guān)系。當(dāng)初始熵值(S 為提取的業(yè)務(wù)總數(shù),為第Si類(lèi)樣本數(shù))時(shí),表明原始憑證與記賬憑證之間的關(guān)系為強(qiáng)關(guān)聯(lián)規(guī)則,更新JZPZ 表中的GZSC 值為1;當(dāng)初始熵值H(X)不等于零,則表明原始憑證與記賬憑證之間的關(guān)系需要通過(guò)屬性學(xué)習(xí)進(jìn)行驗(yàn)證,驗(yàn)證思路是首先計(jì)算樣本數(shù)據(jù)庫(kù)中每一種屬性Ui(i=1,2,…,n)的信息熵E(X)。計(jì)算信息熵E(X)的程序循環(huán)結(jié)束后,程序返回每一列的信息熵E(X),以其中最小的屬性作為第一分類(lèi)標(biāo)志,將其調(diào)整至屬性學(xué)習(xí)表(SXXX)的第一列。計(jì)算第一列中每一類(lèi)屬性值的初始熵值,將H(X)=0 的屬性值中排序靠后的各列屬性值更新為0,對(duì)其他初始熵值不等于0 的屬性值,對(duì)排序在其后面的所有屬性再次調(diào)用本節(jié)循環(huán)程序計(jì)算信息熵E(X),以最小E(X)作為第二列屬性,再計(jì)算各屬性值的初始熵值H(X),直至信息熵E(X)相等為止,循環(huán)結(jié)束。
本次屬性學(xué)習(xí)在驗(yàn)證環(huán)節(jié)學(xué)習(xí)到兩條會(huì)計(jì)核算規(guī)則:一是當(dāng)增值稅專(zhuān)用發(fā)票的購(gòu)買(mǎi)方為“客戶(hù)”,銷(xiāo)售方為“ME”,貨物服務(wù)或勞務(wù)名稱(chēng)為“主營(yíng)”且稅額為“1”時(shí),產(chǎn)生的會(huì)計(jì)賬戶(hù)代碼為“10020-22121-50011”,該代碼的含義為:
借:銀行存款
貸:主營(yíng)業(yè)務(wù)收入
第六,農(nóng)民把糧食存儲(chǔ)到“糧食銀行”,可以拿到相應(yīng)的糧食“存折”。“存折”記錄所存入的糧食品種、數(shù)量和當(dāng)日的糧價(jià),農(nóng)民可以憑“存折”在公司創(chuàng)立的電子商務(wù)平臺(tái)(有農(nóng)業(yè)生產(chǎn)資料和生活用品),以信用形式購(gòu)物,信用額度為存糧金額的70%。
應(yīng)交稅費(fèi)-應(yīng)交增值稅-銷(xiāo)項(xiàng)稅額[3]
二是當(dāng)增值稅專(zhuān)用發(fā)票的購(gòu)買(mǎi)方為“ME”,銷(xiāo)售方為“供應(yīng)商”,貨物服務(wù)或勞務(wù)名稱(chēng)為“原料及主要材料”且稅額為“1”時(shí),產(chǎn)生的會(huì)計(jì)賬戶(hù)代碼為“12200-22110-10021”,該代碼的含義為:
借:原材料
應(yīng)交稅費(fèi)-應(yīng)交增值稅-進(jìn)項(xiàng)稅額
貸:銀行存款
這兩條規(guī)則完全符合會(huì)計(jì)專(zhuān)家的會(huì)計(jì)核算思路,算法達(dá)到了預(yù)期目標(biāo)。
三是更新規(guī)則庫(kù)環(huán)節(jié),規(guī)則庫(kù)中第一條規(guī)則表示:當(dāng)一筆經(jīng)濟(jì)業(yè)務(wù)發(fā)生后如果出現(xiàn)增值稅專(zhuān)用發(fā)票與銀行支票這種組合,并且新業(yè)務(wù)的增值稅專(zhuān)用發(fā)票的四個(gè)屬性值及銀行支票的兩個(gè)屬性值與本規(guī)則庫(kù)中的第一條相關(guān)屬性值一致,即可在記賬憑證數(shù)據(jù)庫(kù)中增加該筆新經(jīng)濟(jì)業(yè)務(wù)對(duì)應(yīng)的本規(guī)則庫(kù)的會(huì)計(jì)賬戶(hù)代碼(10020-22121-50011),該代碼表示如下會(huì)計(jì)分錄:
借:銀行存款
貸:主營(yíng)業(yè)務(wù)收入
應(yīng)交稅費(fèi)-應(yīng)交增值稅-銷(xiāo)項(xiàng)稅額
規(guī)則庫(kù)中第二條規(guī)則表示:當(dāng)一筆經(jīng)濟(jì)業(yè)務(wù)發(fā)生后如果出現(xiàn)增值稅專(zhuān)用發(fā)票、銀行支票及原材料入庫(kù)單這三種原始憑證組合,并且新業(yè)務(wù)的增值稅專(zhuān)用發(fā)票的四個(gè)屬性值、銀行支票的兩個(gè)屬性值及原材料入庫(kù)單的兩個(gè)屬性與本規(guī)則庫(kù)中的第二條相關(guān)屬性值一致,即可在記賬憑證數(shù)據(jù)庫(kù)中增加該筆新經(jīng)濟(jì)業(yè)務(wù)對(duì)應(yīng)的本規(guī)則庫(kù)的會(huì)計(jì)賬戶(hù)代碼(12200-22110-10021),該代碼表示如下會(huì)計(jì)分錄:
借:原材料
應(yīng)交稅費(fèi)-應(yīng)交增值稅-進(jìn)項(xiàng)稅額
貸:銀行存款
賬簿與報(bào)表管理系統(tǒng)是提供賬簿與報(bào)表的模板定義、賬表制作、賬表查詢(xún)、賬表數(shù)據(jù)輸出與打印功能的系統(tǒng)模塊。
系統(tǒng)功能性測(cè)試的主要方式是用戶(hù)采用白盒測(cè)試與黑盒測(cè)試[4]等方法,根據(jù)業(yè)務(wù)流程對(duì)IAS 各功能模塊的運(yùn)行結(jié)果進(jìn)行檢驗(yàn)與測(cè)試,驗(yàn)證系統(tǒng)各功能模塊的輸出結(jié)果的正確性與合理性[5],以確認(rèn)系統(tǒng)能夠按照預(yù)先設(shè)計(jì)的模式運(yùn)行并產(chǎn)生預(yù)期結(jié)果。IAS系統(tǒng)從功能模塊角度包含憑證處理系統(tǒng)、賬表處理系統(tǒng)、智能學(xué)習(xí)系統(tǒng)等,測(cè)試的內(nèi)容與功能很多,本文僅說(shuō)明對(duì)主要模塊的系統(tǒng)測(cè)試結(jié)果。系統(tǒng)性能測(cè)試主要是驗(yàn)證系統(tǒng)在響應(yīng)速度、處理效率、并發(fā)訪(fǎng)問(wèn)能力及抗壓能力方面的性能與指標(biāo)。具體情況見(jiàn)表3。

表3 系統(tǒng)性能測(cè)試記錄表
隨著人工智能技術(shù)在會(huì)計(jì)領(lǐng)域的深入應(yīng)用,會(huì)計(jì)智能化已成為現(xiàn)階段會(huì)計(jì)行業(yè)發(fā)展中最熱門(mén)的話(huà)題之一。本文基于行業(yè)企業(yè)一線(xiàn)會(huì)計(jì)人員在會(huì)計(jì)核算中的痛點(diǎn)難點(diǎn),以計(jì)算機(jī)智能判斷代替會(huì)計(jì)專(zhuān)家職業(yè)判斷為目標(biāo),對(duì)無(wú)人監(jiān)督模式下計(jì)算機(jī)智能編制記賬憑證這一個(gè)長(zhǎng)期束縛我國(guó)會(huì)計(jì)智能化發(fā)展的瓶頸問(wèn)題展開(kāi)了系統(tǒng)深入的研究。本文從IAS 系統(tǒng)需求分析入手,通過(guò)對(duì)系統(tǒng)的架構(gòu)與功能設(shè)計(jì),綜合運(yùn)用基于布爾映射矩陣的Apriori 改進(jìn)算法、基于信息熵技術(shù)的屬性歸納學(xué)習(xí)算法及推理機(jī)技術(shù),開(kāi)發(fā)并實(shí)現(xiàn)了具有學(xué)習(xí)、邏輯推理與智能判斷功能的智能會(huì)計(jì)核算系統(tǒng)。本文研究的主要內(nèi)容包括原始憑證數(shù)據(jù)采集與基于信息熵的屬性歸納學(xué)習(xí)算法改進(jìn)研究,基于布爾映射矩陣的Apriori 算法改進(jìn)及應(yīng)用研究,基于推理機(jī)的自動(dòng)生成記賬憑證研究與應(yīng)用。