基于子樹模式挖掘的稅務(wù)中間指標(biāo)提取方法
【專利摘要】本發(fā)明公開了一種基于子樹模式挖掘的稅務(wù)中間指標(biāo)提取方法,關(guān)鍵步驟包括:(1)通過在稅務(wù)指標(biāo)的表達(dá)式樹的后綴表達(dá)式中查找所有的“aab”形式的字串,識別出所有的子樹模式;(2)建立極大子樹模式的表達(dá)式樹,并為每個(gè)表達(dá)式樹賦予一個(gè)中間指標(biāo)。本發(fā)明能夠用中間指標(biāo)替代稅務(wù)指標(biāo)的計(jì)算中頻次較多的共性計(jì)算過程,從而簡化稅務(wù)指標(biāo)的計(jì)算。
【專利說明】基于子樹模式挖掘的稅務(wù)中間指標(biāo)提取方法
【技術(shù)領(lǐng)域】
[0001] 本發(fā)明涉及稅務(wù)數(shù)據(jù)分析中對稅務(wù)指標(biāo)計(jì)算表達(dá)式樹進(jìn)行極大子樹模式挖掘,抽 取稅務(wù)中間指標(biāo),簡化稅務(wù)指標(biāo)計(jì)算的方法。
【背景技術(shù)】
[0002] 稅務(wù)指標(biāo)是偷漏稅識別與跟蹤、深化稅收信息服務(wù)、優(yōu)化稅收政策的重要依據(jù);涉 及不同稅種、不同行業(yè)以及來自不同數(shù)據(jù)庫表的上萬數(shù)據(jù)項(xiàng),具有映射復(fù)雜、計(jì)算冗余兩個(gè) 顯著特點(diǎn),前者表現(xiàn)為每個(gè)指標(biāo)包含5-15個(gè)數(shù)據(jù)項(xiàng),數(shù)據(jù)項(xiàng)間存在各種算術(shù)運(yùn)算關(guān)系,這 給后期的指標(biāo)維護(hù)帶來了很大的困難;后者指標(biāo)在計(jì)算中存在大量的重復(fù)計(jì)算過程,如計(jì) 算"業(yè)務(wù)成本在投入產(chǎn)出率異常"指標(biāo)在"耗電率異常"、"主營業(yè)務(wù)成本變動率異常"等8個(gè) 指標(biāo)中重復(fù)計(jì)算,這大大限制了指標(biāo)計(jì)算的效率。
【發(fā)明內(nèi)容】
[0003] 針對現(xiàn)有技術(shù)對稅務(wù)指標(biāo)的處理中所存在的重復(fù)計(jì)算,效率低下,并且維護(hù)困難 的缺陷,本發(fā)明提出了一種可簡化稅務(wù)指標(biāo)計(jì)算的稅務(wù)指標(biāo)處理方法。
[0004] 為達(dá)到以上目的,本發(fā)明是采取如下技術(shù)方案予以實(shí)現(xiàn)的:
[0005] -種基于子樹模式挖掘的稅務(wù)中間指標(biāo)提取方法,其特征在于,首先根據(jù)稅務(wù)計(jì) 算表達(dá)式生成相應(yīng)的表達(dá)式樹集合{Tj n,進(jìn)而從表達(dá)式樹集合中抽取極大子樹模式,抽取 極大子樹模式的具體步驟如下:
[0006] (1)執(zhí)行以下初始化操作:1)對每個(gè)i e [1. · n],對表達(dá)式樹Ti進(jìn)行后序遍歷生 成字符串形式的后綴表達(dá)式Si,從而形成后綴表達(dá)式集合S = {Si}n ;2)初始化變量id = 88880000,用于標(biāo)示后綴表達(dá)式中頻繁出現(xiàn)的字符串;3)初始化五元組(iteml,item2,op, id,max)為結(jié)點(diǎn)的空鏈表P,該鏈表結(jié)點(diǎn)用于存放以op為根節(jié)點(diǎn),iteml、item2為葉結(jié)點(diǎn)的 子樹模式;iteml與item2表示數(shù)據(jù)項(xiàng)或所嵌套的子樹模式的ID, op表示運(yùn)算符號;id表 示該子樹模式的ID ;max表示以op為根節(jié)點(diǎn),iteml、item2為葉結(jié)點(diǎn)的子樹模式是否為極 大子樹模式,用max = 1表示是極大子樹模式,max = 0表示不是極大子樹模式;
[0007] (2)初始化四元組(iteml,item2, op, num)為結(jié)點(diǎn)的空鏈表L,iteml與item2表 示數(shù)據(jù)項(xiàng)或子樹模式ID,op表示運(yùn)算符號,num表示由iteml、item2、op構(gòu)成的字符串在后 綴表達(dá)式集合S中出現(xiàn)的次數(shù);
[0008] (3)對每個(gè)s e S,分別執(zhí)行以下操作:1)掃描后綴表達(dá)式S,匹配S中所有"aab" 形式的子串,該子串對應(yīng)一顆以b為根節(jié)點(diǎn),a為葉結(jié)點(diǎn)的表達(dá)式樹,其中a表示計(jì)算表達(dá) 式中的數(shù)據(jù)項(xiàng)或子樹模式ID,b表示計(jì)算表達(dá)式中的運(yùn)算符號;2)如果未匹配出"aab"形 式的子串,則S = S-{s} ;3)如果匹配出"aab"形式的子串,對于每個(gè)子串執(zhí)行:設(shè)該子串為 axaybz ;在鏈表 L 查找滿足 iteml = ax Λ item2 = ay Λ op = bz 或 iteml = ay Λ item2 = ax Λ op = bz的結(jié)點(diǎn),若找到,假設(shè)該結(jié)點(diǎn)為1,則1. num = 1. num+1 ;若未找到,貝U在L的末 尾加入一個(gè)結(jié)點(diǎn) 1,并使得 1. iteml = ax,1. item2 = ay,1. op = bz,1. unm = 1 ;
[0009] (4)掃描鏈表L,若L為空,或者L中的每個(gè)結(jié)點(diǎn)1都滿足1. num < 5,則轉(zhuǎn)到(6); 否則,對每個(gè)滿足1. num彡5的結(jié)點(diǎn)1,執(zhí)行以下操作:1)對每個(gè)s e S,查詢S是否包含 1. iteml、1. item2、1. op連接形成的字符串或1. item2、1. iteml、1. op連接形成的字符串, 若包含,則將s中的該字符串用id替換,id可作為以l.op為根節(jié)點(diǎn),1. iteml、l. item2為 葉結(jié)點(diǎn)的子樹模式ID ;2)在P中加入一個(gè)結(jié)點(diǎn)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)轉(zhuǎn)到⑵執(zhí)行;
[0011] (6)掃描鏈表P,若P為空,則表達(dá)式樹集合{?γ}η中不存在子樹模式,即不存在出 現(xiàn)頻次大于或等于的完全子樹,算法退出;否則,對Ρ中的每個(gè)結(jié)點(diǎn)Ρ,若存在Ρ中除了 Ρ以 外的結(jié)點(diǎn)1^,滿足1^.11^1111 =卩.1(1或1^.;^61]12 =卩.1(1,則卩.1]1&叉=-1,表示以卩.〇卩 為根節(jié)點(diǎn),P. iteml、p. item2為葉結(jié)點(diǎn)的子樹模式不是極大子樹模式;
[0012] (7)對鏈表P中的每個(gè)結(jié)點(diǎn)p,若ρ· max = 1,則利用迭代算法TreeGene建立結(jié)點(diǎn) P對應(yīng)的表達(dá)式樹,算法如下:
[0013] 輸入:ρ· ορ,ρ· iteml, ρ· item2 ;
[0014] 輸出:表達(dá)式樹T;
[0015] TreeGene (p. op, p. iteml, p. item2)
[0016] {
[0017] 建立p. op為根節(jié)點(diǎn),p. iteml、p. item2為葉結(jié)點(diǎn)的表達(dá)式樹T ;
[0018] 若鏈表Ρ存在除了 ρ以外的結(jié)點(diǎn)ρ ',滿足p ' . id = p. iteml,則將 TreeGene (p' . op, p' . iteml, ρ' · item2)創(chuàng)建的表達(dá)式樹替代 T 的葉結(jié)點(diǎn) p. iteml ;
[0019] 若鏈表P存在除了 ρ以外的結(jié)點(diǎn)ρ ',滿足p ' . id = p. item2,則將 TreeGene (p' . op, p' . iteml, ρ' · item2)創(chuàng)建的表達(dá)式樹替代 T 的葉結(jié)點(diǎn) p. item2 ;
[0020] }。
[0021] (8)對(7)生成每個(gè)表達(dá)式樹分別賦予一個(gè)中間指標(biāo)。
[0022] 本發(fā)明的優(yōu)點(diǎn)是,對稅務(wù)指標(biāo)計(jì)算表達(dá)式樹進(jìn)行極大子樹模式挖掘,抽取中間指 標(biāo),用中間指標(biāo)替代稅務(wù)指標(biāo)計(jì)算中頻次較多的共性計(jì)算過程,能夠簡化稅務(wù)指標(biāo)計(jì)算與 后期維護(hù)。
【專利附圖】
【附圖說明】
[0023] 以下結(jié)合附圖及【具體實(shí)施方式】對本發(fā)明作進(jìn)一步的詳細(xì)說明。
[0024] 圖1是本發(fā)明從表達(dá)式樹集合中抽取極大子樹模式的流程圖。
【具體實(shí)施方式】
[0025] 設(shè)稅務(wù)指標(biāo)集合為M = {mJu,指標(biāo)叫的表達(dá)式樹為?\ = (VpEi);其中,為結(jié)點(diǎn) 集合,可進(jìn)一步表示為\ = {mj U Q U Dp指標(biāo)叫作為表達(dá)式樹?\的根結(jié)點(diǎn)A為指標(biāo)叫 的計(jì)算表達(dá)式中的運(yùn)算符號集合,作為表達(dá)式樹?\的中間結(jié)點(diǎn);Di為指標(biāo)ffli的計(jì)算表達(dá)式 中的數(shù)據(jù)項(xiàng)集合,作為表達(dá)式樹凡的葉結(jié)點(diǎn);A g V) X li為表達(dá)式樹的邊集合;例如, 對于指標(biāo)"耗電率",其計(jì)算表達(dá)式為"評估期電費(fèi)+ (評估期主營業(yè)務(wù)成本+期末存貨-期 初存貨)",對應(yīng)表達(dá)式樹的根結(jié)點(diǎn)為"耗電率",中間結(jié)點(diǎn)為" + "、" + "、"-",葉結(jié)點(diǎn)為"評估 期電費(fèi)"、"評估期主營業(yè)務(wù)成本"、期末存貨"、"期初存貨";
[0026] 對于樹T。= (V。,E。)與凡=%,Ε),若滿足以下條件,稱T。為凡的完全子樹,表 示為7; E 7):
[0027]
【權(quán)利要求】
1. 一種基于子樹模式挖掘的稅務(wù)中間指標(biāo)提取方法,其特征在于,首先根據(jù)稅務(wù)計(jì)算 表達(dá)式生成相應(yīng)的表達(dá)式樹集合{Tik,進(jìn)而從表達(dá)式樹集合中抽取極大子樹模式,抽取極 大子樹模式的具體步驟如下: (1) 執(zhí)行以下初始化操作: i. 對每個(gè)i e [1.. n],對表達(dá)式樹1進(jìn)行后序遍歷生成字符串形式的后綴表達(dá)式Si, 從而形成后綴表達(dá)式集合S = {Si}n; ii. 初始化變量id = 88880000,用于標(biāo)示后綴表達(dá)式中頻繁出現(xiàn)的字符串; iii. 初始化五元組(iteml,item2,op,id,max)為結(jié)點(diǎn)的空鏈表P,該鏈表結(jié)點(diǎn)用于存 放以〇P為根節(jié)點(diǎn),iteml、item2為葉結(jié)點(diǎn)的子樹模式;iteml與item2表示數(shù)據(jù)項(xiàng)或所嵌 套的子樹模式的ID, op表示運(yùn)算符號;id表示該子樹模式的ID ;max表示以op為根節(jié)點(diǎn), iteml、item2為葉結(jié)點(diǎn)的子樹模式是否為極大子樹模式,用max = 1表示是極大子樹模式, max = 0表示不是極大子樹模式; (2) 初始化四元組(iteml, item2, op, num)為結(jié)點(diǎn)的空鏈表L, iteml與item2表示數(shù) 據(jù)項(xiàng)或子樹模式ID,op表示運(yùn)算符號,num表示由iteml、item2、op構(gòu)成的字符串在后綴表 達(dá)式集合S中出現(xiàn)的次數(shù); (3) 對每個(gè)s e S,分別執(zhí)行以下操作: i. 掃描后綴表達(dá)式s,匹配s中所有"aab"形式的子串,該子串對應(yīng)一顆以b為根節(jié)點(diǎn), a為葉結(jié)點(diǎn)的表達(dá)式樹,其中a表示計(jì)算表達(dá)式中的數(shù)據(jù)項(xiàng)或子樹模式ID,b表示計(jì)算表達(dá) 式中的運(yùn)算符號; ii. 如果未匹配出"aab"形式的子串,則S = S-{s}; iii. 如果匹配出"aab"形式的子串,對于每個(gè)子串執(zhí)行: 設(shè)該子串為axaybz ;在鏈表L查找滿足iteml = ax Λ item2 = ay Λ op = bz或者iteml =ay Λ item2 = ax Λ op = bz的結(jié)點(diǎn),若找到,假設(shè)該結(jié)點(diǎn)為1,則1. num = 1. num+1 ;若未 找到,貝1J在L的末尾加入一個(gè)結(jié)點(diǎn)1,并使得1. iteml = ax,1. item2 = ay,1. op = bz,1. num =1 ; (4) 掃描鏈表L,若L為空,或者L中的每個(gè)結(jié)點(diǎn)1都滿足1. num < 5,則轉(zhuǎn)到步驟(6); 否則,對每個(gè)滿足1. num彡5的結(jié)點(diǎn)1,執(zhí)行以下操作: i. 對每個(gè)seS,查詢s是否包含1. iteml、1. item2、l.op連接形成的字符串或 1. item2、1. iteml、1. op連接形成的字符串,若包含,則將s中的該字符串用id替換,id可 作為以1. op為根節(jié)點(diǎn),1. iteml、1. item2為葉結(jié)點(diǎn)的子樹模式ID ; ii. 在 P 中加入一個(gè)結(jié)點(diǎn) p,并使得 ρ· iteml = 1. iteml,ρ· item2 = 1. item2, ρ· op = 1. op? p. ΓΠΒΧ - 1,p. id - id ; iii. id = id+1 ; (5) 轉(zhuǎn)到步驟(2)執(zhí)行; (6) 掃描鏈表P,若P為空,則表達(dá)式樹集合{?γ}η中不存在子樹模式,即不存在出現(xiàn)頻 次大于或等于的完全子樹,算法退出;否則,對Ρ中的每個(gè)結(jié)點(diǎn)Ρ,若存在Ρ中除了 Ρ以外的 結(jié)點(diǎn)口/,滿足口/.11^1111=卩.1(1或卩/.;^61]12 =卩.1(1,則卩.1]1&叉=-1,表示以卩.〇卩為根 節(jié)點(diǎn),p. iteml、p. item2為葉結(jié)點(diǎn)的子樹模式不是極大子樹模式; (7) 對鏈表P中的每個(gè)結(jié)點(diǎn)P,若P. max = 1,利用迭代算法TreeGene建立結(jié)點(diǎn)ρ對應(yīng) 的表達(dá)式樹。 (8)對步驟(7)生成每個(gè)表達(dá)式樹分別賦予一個(gè)中間指標(biāo)。
2.如權(quán)利要求1所述的基于子樹模式挖掘的稅務(wù)中間指標(biāo)提取方法,其特征在于,步 驟(7)中所述的迭代算法TreeGene具體包括: 輸入:ρ· op, ρ· iteml,ρ· item2 ; 輸出:表達(dá)式樹T ; TreeGene (p. op, p. iteml, p. item2) { 建立p. op為根節(jié)點(diǎn),p. iteml、p. item2為葉結(jié)點(diǎn)的表達(dá)式樹T ; 若鏈表P存在除了 P以外的結(jié)點(diǎn)P',滿足P' .id = p.iteml,則將1'代666116(口/· op, p' . iteml, p' . item2)創(chuàng)建的表達(dá)式樹替代T的葉結(jié)點(diǎn)p. iteml ; 若鏈表P存在除了 P以外的結(jié)點(diǎn)P',滿足P' .id = p.item2,則將1'代666116(口/· op, p' . iteml, p' . item2)創(chuàng)建的表達(dá)式樹替代T的葉結(jié)點(diǎn)p. item2 ; }〇
【文檔編號】G06F17/30GK104111987SQ201410310973
【公開日】2014年10月22日 申請日期:2014年7月1日 優(yōu)先權(quán)日:2014年7月1日
【發(fā)明者】劉均, 孟瑋, 鄭慶華 申請人:西安交通大學(xué)