基于子树模式挖掘的税务中间指标提取方法

文档序号:6551948阅读:132来源:国知局
基于子树模式挖掘的税务中间指标提取方法
【专利摘要】本发明公开了一种基于子树模式挖掘的税务中间指标提取方法,关键步骤包括:(1)通过在税务指标的表达式树的后缀表达式中查找所有的“aab”形式的字串,识别出所有的子树模式;(2)建立极大子树模式的表达式树,并为每个表达式树赋予一个中间指标。本发明能够用中间指标替代税务指标的计算中频次较多的共性计算过程,从而简化税务指标的计算。
【专利说明】基于子树模式挖掘的税务中间指标提取方法

【技术领域】
[0001] 本发明涉及税务数据分析中对税务指标计算表达式树进行极大子树模式挖掘,抽 取税务中间指标,简化税务指标计算的方法。

【背景技术】
[0002] 税务指标是偷漏税识别与跟踪、深化税收信息服务、优化税收政策的重要依据;涉 及不同税种、不同行业以及来自不同数据库表的上万数据项,具有映射复杂、计算冗余两个 显著特点,前者表现为每个指标包含5-15个数据项,数据项间存在各种算术运算关系,这 给后期的指标维护带来了很大的困难;后者指标在计算中存在大量的重复计算过程,如计 算"业务成本在投入产出率异常"指标在"耗电率异常"、"主营业务成本变动率异常"等8个 指标中重复计算,这大大限制了指标计算的效率。


【发明内容】

[0003] 针对现有技术对税务指标的处理中所存在的重复计算,效率低下,并且维护困难 的缺陷,本发明提出了一种可简化税务指标计算的税务指标处理方法。
[0004] 为达到以上目的,本发明是采取如下技术方案予以实现的:
[0005] -种基于子树模式挖掘的税务中间指标提取方法,其特征在于,首先根据税务计 算表达式生成相应的表达式树集合{Tj n,进而从表达式树集合中抽取极大子树模式,抽取 极大子树模式的具体步骤如下:
[0006] (1)执行以下初始化操作:1)对每个i e [1. · n],对表达式树Ti进行后序遍历生 成字符串形式的后缀表达式Si,从而形成后缀表达式集合S = {Si}n ;2)初始化变量id = 88880000,用于标示后缀表达式中频繁出现的字符串;3)初始化五元组(iteml,item2,op, id,max)为结点的空链表P,该链表结点用于存放以op为根节点,iteml、item2为叶结点的 子树模式;iteml与item2表示数据项或所嵌套的子树模式的ID, op表示运算符号;id表 示该子树模式的ID ;max表示以op为根节点,iteml、item2为叶结点的子树模式是否为极 大子树模式,用max = 1表示是极大子树模式,max = 0表示不是极大子树模式;
[0007] (2)初始化四元组(iteml,item2, op, num)为结点的空链表L,iteml与item2表 示数据项或子树模式ID,op表示运算符号,num表示由iteml、item2、op构成的字符串在后 缀表达式集合S中出现的次数;
[0008] (3)对每个s e S,分别执行以下操作:1)扫描后缀表达式S,匹配S中所有"aab" 形式的子串,该子串对应一颗以b为根节点,a为叶结点的表达式树,其中a表示计算表达 式中的数据项或子树模式ID,b表示计算表达式中的运算符号;2)如果未匹配出"aab"形 式的子串,则S = S-{s} ;3)如果匹配出"aab"形式的子串,对于每个子串执行:设该子串为 axaybz ;在链表 L 查找满足 iteml = ax Λ item2 = ay Λ op = bz 或 iteml = ay Λ item2 = ax Λ op = bz的结点,若找到,假设该结点为1,则1. num = 1. num+1 ;若未找到,贝U在L的末 尾加入一个结点 1,并使得 1. iteml = ax,1. item2 = ay,1. op = bz,1. unm = 1 ;
[0009] (4)扫描链表L,若L为空,或者L中的每个结点1都满足1. num < 5,则转到(6); 否则,对每个满足1. num彡5的结点1,执行以下操作:1)对每个s e S,查询S是否包含 1. iteml、1. item2、1. op连接形成的字符串或1. item2、1. iteml、1. op连接形成的字符串, 若包含,则将s中的该字符串用id替换,id可作为以l.op为根节点,1. iteml、l. item2为 叶结点的子树模式ID ;2)在P中加入一个结点p,并使得p. iteml = 1. iteml,p. item2 = 1. item2, p. op = 1. op, p. max = 1, p. id = id ;3) id = id+1 ;
[0010] (5)转到⑵执行;
[0011] (6)扫描链表P,若P为空,则表达式树集合{?γ}η中不存在子树模式,即不存在出 现频次大于或等于的完全子树,算法退出;否则,对Ρ中的每个结点Ρ,若存在Ρ中除了 Ρ以 外的结点1^,满足1^.11^1111 =卩.1(1或1^.;^61]12 =卩.1(1,则卩.1]1&叉=-1,表示以卩.〇卩 为根节点,P. iteml、p. item2为叶结点的子树模式不是极大子树模式;
[0012] (7)对链表P中的每个结点p,若ρ· max = 1,则利用迭代算法TreeGene建立结点 P对应的表达式树,算法如下:
[0013] 输入:ρ· ορ,ρ· iteml, ρ· item2 ;
[0014] 输出:表达式树T;
[0015] TreeGene (p. op, p. iteml, p. item2)
[0016] {
[0017] 建立p. op为根节点,p. iteml、p. item2为叶结点的表达式树T ;
[0018] 若链表Ρ存在除了 ρ以外的结点ρ ',满足p ' . id = p. iteml,则将 TreeGene (p' . op, p' . iteml, ρ' · item2)创建的表达式树替代 T 的叶结点 p. iteml ;
[0019] 若链表P存在除了 ρ以外的结点ρ ',满足p ' . id = p. item2,则将 TreeGene (p' . op, p' . iteml, ρ' · item2)创建的表达式树替代 T 的叶结点 p. item2 ;
[0020] }。
[0021] (8)对(7)生成每个表达式树分别赋予一个中间指标。
[0022] 本发明的优点是,对税务指标计算表达式树进行极大子树模式挖掘,抽取中间指 标,用中间指标替代税务指标计算中频次较多的共性计算过程,能够简化税务指标计算与 后期维护。

【专利附图】

【附图说明】
[0023] 以下结合附图及【具体实施方式】对本发明作进一步的详细说明。
[0024] 图1是本发明从表达式树集合中抽取极大子树模式的流程图。

【具体实施方式】
[0025] 设税务指标集合为M = {mJu,指标叫的表达式树为?\ = (VpEi);其中,为结点 集合,可进一步表示为\ = {mj U Q U Dp指标叫作为表达式树?\的根结点A为指标叫 的计算表达式中的运算符号集合,作为表达式树?\的中间结点;Di为指标ffli的计算表达式 中的数据项集合,作为表达式树凡的叶结点;A g V) X li为表达式树的边集合;例如, 对于指标"耗电率",其计算表达式为"评估期电费+ (评估期主营业务成本+期末存货-期 初存货)",对应表达式树的根结点为"耗电率",中间结点为" + "、" + "、"-",叶结点为"评估 期电费"、"评估期主营业务成本"、期末存货"、"期初存货";
[0026] 对于树T。= (V。,E。)与凡=%,Ε),若满足以下条件,称T。为凡的完全子树,表 示为7; E 7):
[0027]

【权利要求】
1. 一种基于子树模式挖掘的税务中间指标提取方法,其特征在于,首先根据税务计算 表达式生成相应的表达式树集合{Tik,进而从表达式树集合中抽取极大子树模式,抽取极 大子树模式的具体步骤如下: (1) 执行以下初始化操作: i. 对每个i e [1.. n],对表达式树1进行后序遍历生成字符串形式的后缀表达式Si, 从而形成后缀表达式集合S = {Si}n; ii. 初始化变量id = 88880000,用于标示后缀表达式中频繁出现的字符串; iii. 初始化五元组(iteml,item2,op,id,max)为结点的空链表P,该链表结点用于存 放以〇P为根节点,iteml、item2为叶结点的子树模式;iteml与item2表示数据项或所嵌 套的子树模式的ID, op表示运算符号;id表示该子树模式的ID ;max表示以op为根节点, iteml、item2为叶结点的子树模式是否为极大子树模式,用max = 1表示是极大子树模式, max = 0表示不是极大子树模式; (2) 初始化四元组(iteml, item2, op, num)为结点的空链表L, iteml与item2表示数 据项或子树模式ID,op表示运算符号,num表示由iteml、item2、op构成的字符串在后缀表 达式集合S中出现的次数; (3) 对每个s e S,分别执行以下操作: i. 扫描后缀表达式s,匹配s中所有"aab"形式的子串,该子串对应一颗以b为根节点, a为叶结点的表达式树,其中a表示计算表达式中的数据项或子树模式ID,b表示计算表达 式中的运算符号; ii. 如果未匹配出"aab"形式的子串,则S = S-{s}; iii. 如果匹配出"aab"形式的子串,对于每个子串执行: 设该子串为axaybz ;在链表L查找满足iteml = ax Λ item2 = ay Λ op = bz或者iteml =ay Λ item2 = ax Λ op = bz的结点,若找到,假设该结点为1,则1. num = 1. num+1 ;若未 找到,贝1J在L的末尾加入一个结点1,并使得1. iteml = ax,1. item2 = ay,1. op = bz,1. num =1 ; (4) 扫描链表L,若L为空,或者L中的每个结点1都满足1. num < 5,则转到步骤(6); 否则,对每个满足1. num彡5的结点1,执行以下操作: i. 对每个seS,查询s是否包含1. iteml、1. item2、l.op连接形成的字符串或 1. item2、1. iteml、1. op连接形成的字符串,若包含,则将s中的该字符串用id替换,id可 作为以1. op为根节点,1. iteml、1. item2为叶结点的子树模式ID ; ii. 在 P 中加入一个结点 p,并使得 ρ· iteml = 1. iteml,ρ· item2 = 1. item2, ρ· op = 1. op? p. ΓΠΒΧ - 1,p. id - id ; iii. id = id+1 ; (5) 转到步骤(2)执行; (6) 扫描链表P,若P为空,则表达式树集合{?γ}η中不存在子树模式,即不存在出现频 次大于或等于的完全子树,算法退出;否则,对Ρ中的每个结点Ρ,若存在Ρ中除了 Ρ以外的 结点口/,满足口/.11^1111=卩.1(1或卩/.;^61]12 =卩.1(1,则卩.1]1&叉=-1,表示以卩.〇卩为根 节点,p. iteml、p. item2为叶结点的子树模式不是极大子树模式; (7) 对链表P中的每个结点P,若P. max = 1,利用迭代算法TreeGene建立结点ρ对应 的表达式树。 (8)对步骤(7)生成每个表达式树分别赋予一个中间指标。
2.如权利要求1所述的基于子树模式挖掘的税务中间指标提取方法,其特征在于,步 骤(7)中所述的迭代算法TreeGene具体包括: 输入:ρ· op, ρ· iteml,ρ· item2 ; 输出:表达式树T ; TreeGene (p. op, p. iteml, p. item2) { 建立p. op为根节点,p. iteml、p. item2为叶结点的表达式树T ; 若链表P存在除了 P以外的结点P',满足P' .id = p.iteml,则将1'代666116(口/· op, p' . iteml, p' . item2)创建的表达式树替代T的叶结点p. iteml ; 若链表P存在除了 P以外的结点P',满足P' .id = p.item2,则将1'代666116(口/· op, p' . iteml, p' . item2)创建的表达式树替代T的叶结点p. item2 ; }〇
【文档编号】G06F17/30GK104111987SQ201410310973
【公开日】2014年10月22日 申请日期:2014年7月1日 优先权日:2014年7月1日
【发明者】刘均, 孟玮, 郑庆华 申请人:西安交通大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1