李燕萍 劉凡 謝軍



摘要:目的:研究電子發票摘要與會計科目名稱之間的相關性,考察由電子發票自動生成會計分錄的方法。方法:對收集到的電子發票中的摘要信息和會計科目名稱,運用Apriori關聯規則算法找出兩者之間的對應關系。結果:通過應用Apriori關聯規則算法,在一定程度上找到了發票摘要與科目名稱之間的相關性,為下一步自動生成會計分錄提供了可參考的信息。
關鍵詞:電子發票;會計分錄;關聯規則
中圖分類號:TP311? ? ? 文獻標識碼:A
文章編號:1009-3044(2021)17-0244-02
開放科學(資源服務)標識碼(OSID):
會計分錄將記賬憑證和包括發票的原始憑證得以有效的對應和核對,實際起到了連接會計業務的紐帶作用。記賬憑證和會計賬簿是對經濟業務往來主要內容的簡要記錄。會計科目的設置把各項會計要素的增減變化分門別類地歸集起來,為企業內部經營管理和向有關方面提供一系列具體分類核算指標。會計科目的名稱一般不超過八個漢字,屬于短文本。按其所提供信息的詳細程度及其統馭關系不同,分為總分類科目和明細分類科目。發票摘要要求簡明扼要,既要把情況講明白,但又不能煩瑣,文字敘述簡短,屬于短文本。
1 關聯規則算法
關聯規則是反映一個事件和其他事件之間的依賴或關聯的知識。文本關聯規則挖掘是從大量文本中發現項集之間有意義的關聯或相關聯系。已不少研究在文本較短的情況下,利用關聯規則算法去找尋兩者甚至多者之間的關系,陳海霞等(2018)利用關鍵詞關聯融合CNN的短文本分類[1],荊琪等(2018)基于維基百科的短文本計算相關度[2],但尚未有學者解析發票摘要與會計科目名稱之間的關系。本文利用關聯規則中較為常用的關聯規則算法—Apriori算法計算分析發票摘要與會計科目名稱之間的相關性,為自動生成會計分錄提供可參考的信息。
近幾年大數據的理念和應用逐步深入,大數據應用滲透在各行各業中,并以此為基礎達到快速處理事務的目的。其中,利用數據挖掘技術研究財務報銷已為財務智能的一項主要內容,且數據挖掘技術的一大優勢就是從海量數據中發掘大量隱匿于其中的信息,本文采用的Apriori關聯規則算法在找到發票摘要與會計科目名稱之間的關聯規則之后應用于大量處理發票內容的數據,自動制成會計分錄。
Apriori算法是一種較為常用的通過頻繁項集挖掘關聯規則的算法,它能夠發現事物數據庫中頻繁出現的數據集,構造數據與數據之間的聯系,這些聯系構成的規則可幫助找出某些行為特征,以便迅速地進行事務處理。關聯規則為在某一數據或與其相似數據出現時,可推導另一對應數據信息出現的可能。
Apriori算法中計算的指標包括:
頻繁項集:是指那些經常會同時出現的事物,例如辦公桌對應會計科目的管理費用。
支持度:一個項集的支持度被定義為數據集中包含該項集的記錄所占的比例。支持度是針對項集來說,在實際應用中可設置一個最小支持度,只保留最小支持度的項集。
support = [同時發生的事件(X,Y)總事件]
置信度:反映A和B兩個事物彼此之間同時出現的概率。例如經典案例{啤酒}→{尿布}這樣的關聯規則。
confidence(X→Y) = [同時發生的事件(X,Y)X發生的事件],
confidence(Y→X) = [同時發生的事件(X,Y)Y發生的事件]
提升度:提升度表示含有X的條件下,同時含有Y的概率,與只看Y發生的概率之比。提升度反映了關聯規則中的X與Y的相關性,提升度大于1且越高表明正相關性越高,提升度小于1且越低表明負相關性越高,提升度等于1表明沒有相關性,即相互獨立。
Lift(X→Y) = P(Y | X) / P(Y)
本文運用以上計算方法尋找發票摘要與會計科目名稱之間的關聯規則,為進一步自動生成會計分錄做準備。
2 發票摘要的數據準備
從搜集到的電子發票中隨機抽取200份作為教師數據,按照會計學相關原理,根據發票摘要的信息內容制作了相應的會計分錄,保存在excel里。原始發票摘要多以日常辦公用品及辦公開銷為主,所對應的分錄多為管理費用、銷售費用等。原始數據的具體準備過程如下所述。
電子發票通常為pdf格式,本文使用python開源工具包PDFMiner中的兩個內置工具pdf2txt.py和dumppdf.py獲取發票摘要中的文字內容。首先使用pdf2txt.py從PDF文件中提取所有文本內容,將提取的文字按所在位置劃分區段,再用dumppdf.py把PDF文件內容轉變成pseudo-XML格式,標識出各區段文字的意義。最后利用PDFMiner其他工具識別電子發票提取電子發票摘要里的內容,將其導出到文本文件中。
在前期的準備過程中,綜合考慮到一些發票摘要填寫不規范,以及填寫的內容所涉及的范圍較廣,產品術語和名詞術語較多等方面問題,對發票摘要中的信息用jieba分詞中的全模式進行分詞處理,使摘要中的文字信息保持一致,進行數據挖掘及統計分析。
根據發票摘要中的這些信息,按照會計學相關原理人工選取對應的會計科目名稱,填寫會計分錄,并制成表格,表1列舉了部分發票摘要對應的會計科目名稱。利用python的pandas工具包讀取所填的會計分錄的表格,導出其中的摘要文本后,再用jieba分詞將發票摘要短文本中所有可能成詞的詞語都掃描出來,這樣做便于發現發票摘要與會計科目名稱的關聯性。
3 基于Apriori算法的關聯規則挖掘
關聯規則最早出現在購物籃問題的研究中,如經典的“啤酒與尿布”案例,常用的關聯規則挖掘算法包括Eclat、FP-growth、Apriori等,本文采用Apriori算法對已經填寫過會計科目名稱的樣本數據進行關聯規則挖掘,旨在找出發票摘要與會計科目名稱的關聯關系。
3.1 算法的步驟
以apriori算法為基礎尋找關聯規則的方法主要由以下幾個步驟組成:
步驟一:使用pdfminer提取發票摘要內容,人工選取對應的會計科目名稱,制作會計分錄表格;
步驟二:使用pandas讀取表格,使用jieba分詞將發票摘要分詞;
步驟三:根據發票數量及摘要的詞頻,設置最小支持度和最小置信度;
步驟四:讀取分詞處理后的發票摘要分詞表;
步驟五:根據最小置信度尋找符合條件的關聯規則;
步驟六:輸出關聯規則;
步驟七:將所有發票摘要的數據進行處理,檢驗規則;
步驟八:輸出結果。
3.2 運行結果
設置最小支持度為1%,最小置信度為15%,運用Apriori算法在200份已經處理好的實驗發票數據中計算得到57條符合條件的關聯規則。最小支持度是根據實際情況定義衡量支持度的一個閾值,表示需要完成的項目集中統計意義上的最低程度。在本文的實驗數據中,設置最小支持度為1%時,可最快速簡便地得到最想要的關聯規則;將最小支持度設置為其他數值時,計算結果包含大量無效數據。表2是計算得出的部分關聯規則及其包含的支持度、置信度與提升度。
利用Apriori關聯規則算法對收集的電子發票進行分析,得出發票摘要和會計科目名稱之間的關聯規則,即表2中的規則項集欄,用A→B表示,A是發票摘要的單詞,B是會計科目名稱。
本文使用的原始發票數據在現實業務中常見,上述結果經財務專業人員檢查,符合財務制作記賬憑證填寫會計分錄的部分要求,說明關聯規則方法可以提取挖掘發票摘要和會計科目名稱之間的關聯規則,并為進一步自動生成會計分錄提供參考信息。
3.3 驗證
在機器學習、自然語言處理及信息檢索等領域,評測(Evaluation)是一項必要工作,常采用的評測指標有精確率(Precision)和召回率(Recall)。其中精確率=TP/(TP+FP),表示所有“正確被檢索的item(TP)”占所有“實際被檢索到的(TP+FP)”的比例;
召回率=TP/(TP+FN),表示“正確被檢索的item(TP)”占所有“應該檢索到的item(TP+FN)”的比例。
本文利用上述關聯規則針對另外200份發票判斷對應的會計科目名稱,得到精確率為0.17,召回率為0.185。表明計算的準確程度不高,主要是因為發票摘要的內容繁雜以及經濟業務往來內容的不確定。
4 結論與展望
本文以從眾多發票中隨機抽取的兩百張發票內容為數據樣本進行了摘要與科目名稱之間關聯規則的挖掘,實際驗證了關聯規則挖掘的準確程度。根據apriori算法挖掘出的關聯規則,可以為將發票摘要輸入時直接生成會計分錄提供參考,便于財會人員更快速地進行財務處理,可節約財會人員的時間和精力。
在本課題的調查中作者了解到,目前市場上的財務報銷應用還無法將發票中的摘要自動生成會計分錄。在后繼研究中,將采用人工填寫制作的大量會計分錄數據挖掘出關聯規則,利用規則對發票內容進行有規律的處理,快速精準地將報銷中發票的摘要自動生成會計分錄,為財務核算提供實際且有效的幫助。
根據財會人員填制正確會計分錄的實際情況來看,發票摘要涉及的業務實為廣泛,難以精準確定應該歸屬于哪一類,為此在后繼研究中,將自動推測摘要中的中心詞,并進行擴展,探討大幅提高短文本分類精度的方法。另外,將業務范圍進行劃分,優化數據,在此基礎上再提高精確度。
參考文獻:
[1] 陳海霞,楊喜旺,衛潔潔.關鍵詞關聯融合CNN的短文本分類算法[J].電腦知識與技術,2018,14(22):261-264.
[2] 荊琪,段利國,李愛萍,等.基于維基百科的短文本相關度計算[J].計算機工程,2018,44(2):197-202.
【通聯編輯:李雅琪】