基于关联规则的电子发票摘要与会计科目名称相关性分析
李燕萍 刘凡 谢军
摘要:目的:研究电子发票摘要与会计科目名称之间的相关性,考察由电子发票自动生成会计分录的方法。方法:对收集到的电子发票中的摘要信息和会计科目名称,运用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.
【通联编辑:李雅琪】