[發明專利]無重疊的三支序列模式挖掘方法在審
| 申請號: | 202010544976.0 | 申請日: | 2020-06-15 |
| 公開(公告)號: | CN111581263A | 公開(公告)日: | 2020-08-25 |
| 發明(設計)人: | 武優西;羅嵐方;王月華;李曉峰;馬鵬飛;耿萌;王珠林 | 申請(專利權)人: | 河北工業大學 |
| 主分類號: | G06F16/2458 | 分類號: | G06F16/2458 |
| 代理公司: | 天津翰林知識產權代理事務所(普通合伙) 12210 | 代理人: | 胡安朋 |
| 地址: | 300130 天津市紅橋區*** | 國省代碼: | 天津;12 |
| 權利要求書: | 查看更多 | 說明書: | 查看更多 |
| 摘要: | |||
| 搜索關鍵詞: | 重疊 序列 模式 挖掘 方法 | ||
1.無重疊的三支序列模式挖掘方法,其特征在于:利用模式拼接縮減候選模式的空間,通過在隊列中采用深度優先和回溯策略計算候選模式的模式支持度來解決無重疊的三支序列模式挖掘問題,具體步驟如下:
第一步,讀入序列數據庫SDB、強字符集Γ、中字符集Λ、弱字符集Ω、最小間隙min、最大間隙max和最小支持度閾值minsup:
讀入給定的序列數據庫SDB,確定其中包含的序列總數為N,該序列數據庫SDB中的每個序列分別記為序列S1、序列S2、…、序列Sk、…、序列SN,其中1≤k≤N,序列Sk中所包含的字符分別記作字符s1、字符s2、…、字符sn,讀入給定強字符集Γ、中字符集Λ、弱字符集Ω、最小間隙min、最大間隙max和最小支持度閾值minsup;
第二步,處理模式長度為1的頻繁三支序列模式集合fre1:
計算上述第一步讀入的強字符集和中字符集中各字符的出現次數即為模式支持度,將模式支持度大于等于最小支持度閾值minsup的字符加入模式長度為1的頻繁三支序列模式集合fre1;
第三步,生成候選模式集合candL+1:
生成候選模式集合candL+1,其中L表示頻繁三支序列模式的長度,
①當L=1時,采用fre1中的字符相互組合的方法生成候選模式集合candL+1:
將上述第二步處理獲得的模式長度為1的頻繁三支序列模式集合fre1中的字符相互組合,生成模式長度為L+1的候選模式集合candL+1;
②當L1時,采用模式拼接的方法生成候選模式集合candL+1:
當L1時,在生成候選模式的過程中,模式P=p1p2…pm-1pm,prefix(P)為模式P的前綴,除去模式P的最后一個子模式pm剩余的部分稱為模式P的前綴,即prefix(P)=p1p2…pm-1,suffix(P)為模式P的后綴,除去模式P的第一個子模式p1剩余的部分稱為模式P的后綴,即suffix(P)=p2…pm-1pm;當兩個模式長度為L的模式P的后綴與模式Q的前綴相等時,能夠拼接為模式長度為L+1的模式T,即suffix(P)=p2p3…pL=prefix(Q)=q1q2…qL-1時,模式
采用上述模式拼接的方法生成候選模式集合candL+1的具體處理方法如下:
當模式長度為L的頻繁三支序列模式集合freL不為空時,從左到右遍歷頻繁三支序列模式集合freL,依次取出頻繁三支序列模式集合freL中的模式Pa,計算suffix(Pa),然后從左到右尋找滿足suffix(Pa)=prefix(Pb)條件的模式Pb,對模式Pa與模式Pb進行拼接為模式長度為L+1的模式將模式T加入模式長度為L+1的候選模式集合candL+1中,對頻繁三支序列模式集合freL中的所有滿足suffix(Pa)=prefix(Pb)條件的模式Pb進行拼接,直到在頻繁三支序列模式集合freL中模式Pb的下一個模式Pc,suffix(Pa)≠prefix(Pc)時,對模式Pa的拼接結束,從頻繁三支序列模式集合freL中模式Pa的下一個模式開始,繼續重復上述步驟,直到最后一個模式拼接結束,模式長度為L+1的候選模式集合candL+1生成完畢;
第四步,計算模式Ph在序列數據庫SDB中的模式支持度sup(Ph,SDB):
第(4.1)步,計算模式Ph在序列Sk中的模式支持度sup(Ph,Sk):
模式Ph在序列Sk中的模式支持度sup(Ph,Sk)通過如下步驟計算:
第(4.1.1)步,確定隊列的個數:
讀入模式Ph,確定其長度為m,該模式Ph的各個子模式分別記作子模式p1、子模式p2、…、子模式pm,這里0m≤n,根據給定模式Ph中的子模式數確定隊列的個數,則確定隊列共有m個,分別記作隊列1、隊列2、…、隊列m,模式支持度sup(Ph,Sk)初始化為0;
第(4.1.2)步,采用深度優先和回溯策略創建隊列中的結點:
根據上述第一步中給定的強字符集Γ、中字符集Λ、弱字符集Ω、最小間隙min、最大間隙max、序列Sk和上述第(4.1.1)步讀入的模式Ph創建在隊列j末尾標簽為i的結點,該結點記為
具體處理方法如下:
1)計算隊列1末尾結點的范圍:
根據上述第一步中的序列Sk和上述第(4.1.1)步讀入的模式Ph,通過上述第一步中給定的最小間隙min,用如下公式(1)計算隊列1中的最大結點Maxroot,即隊列1末尾的結點不能超過Maxroot,
Maxroot=n-m-min*(m-1)+1 (1),
公式(1)中,n為序列Sk的長度,m為模式Ph的長度,模式的長度m和隊列的個數m相等;
2)判斷是否需要創建隊列j末尾的結點
當字符si=子模式pj時,分別從以下兩種情況判斷是否創建隊列j末尾的結點
①當字符si=子模式pj時,結點在隊列j中不存在,在隊列j的末尾創建結點同時通過如下公式(2)和公式(3)分別計算結點的最小邊界和最大邊界
公式(2)和(3)中,i為結點在序列Sk中的字符si的位置;
②當字符si=子模式pj時,結點在隊列j中已經存在,繼續尋找滿足三支間隙條件且與子模式pj相等的字符;
3)當隊列j末尾的結點被創建之后,通過如下步驟創建隊列j+1末尾的結點:
a)判斷結點在序列Sk中的字符si與最小邊界在序列Sk中的字符si+min+1之間的字符st是否屬于中或弱字符,其中iti+min+1:
①當存在字符st不屬于中或弱字符時,說明通過結點不可能存在一個出現,需要采用回溯策略,回溯到隊列j-1末尾的結點從隊列j末尾的結點在序列Sk中的字符si的下一個字符si+1繼續尋找滿足三支間隙條件且與子模式pj相等的字符;
②當任意字符st均屬于中或弱字符,執行下面的步驟b);
b)依次判斷從結點的最小邊界在序列Sk中的字符si+min+1到最大邊界在序列Sk中的字符si+max+1之間的字符sx是否與子模式pj+1相等,其中i+min+1≤x≤i+max+1:
①當字符sx與子模式pj+1不相等時,先判斷字符sx是否屬于中字符,當字符sx屬于中字符,再判斷字符sx的下一個字符是否與子模式pj+1相等;當字符sx不屬于中字符時,說明通過結點不存在一個出現,需要采用回溯策略,與上述步驟a)中的①回溯相同;
②當字符sx與子模式pj+1相等時,結點在隊列j+1中不存在,直接在隊列j+1末尾創建結點
③當字符sx與子模式pj+1相等時,結點在隊列j+1中已經存在,繼續尋找滿足三支間隙條件且與子模式pj+1相等的字符;
4)當隊列m中的結點被創建時,說明找到了模式Ph在序列Sk中的一個出現,模式Ph的模式支持度sup(Ph,Sk)加1,然后再從隊列1末尾的結點在序列Sk中的字符sl1的下一個字符sl1+1開始繼續創建隊列1末尾的結點,迭代上述過程依次創建隊列2、隊列3、…、隊列m末尾的結點,當創建隊列1末尾的結點時,字符sr中的rMaxroot,隊列中的結點創建結束,模式Ph在序列Sk中的出現也尋找完畢,Maxroot是依據上述第(4.1.2)步中第1)步的公式(1)計算得到的;
由此完成計算模式Ph在序列Sk中的模式支持度sup(Ph,Sk);
第(4.2)步,計算模式Ph在給定序列數據庫SDB的模式支持度:
通過如下公式(4)計算候選模式集合candL+1中的模式Ph在給定序列數據庫SDB中的模式支持度sup(Ph,SDB),
公式(4)中,sup(Ph,Sk)為模式Ph在序列Sk中的模式支持度,即出現數,k為序列數據庫SDB中的第k個序列;
通過上述第(4.1)步依次計算模式Ph在序列數據庫SDB中序列S1、序列S2、…、序列Sk、…、序列SN的模式支持度sup(Ph,S1)、sup(Ph,S2)、…、sup(Ph,Sk)、…、sup(Ph,SN),其中1≤k≤N,然后通過上述公式(4)得到模式Ph在序列數據庫SDB中的模式支持度sup(Ph,SDB);
第五步,獲得所有模式長度為L+1的頻繁三支序列模式集合freL+1:
通過上述第四步依次計算上述第三步生成的模式長度為L+1的候選模式集合candL+1中每個模式Ph的模式支持度sup(Ph,SDB),當sup(Ph,SDB)≥minsup時,添加到模式長度為L+1的頻繁三支序列模式集合freL+1中,并且按字母順序排列,由此獲得所有模式長度為L+1的頻繁三支序列模式集合freL+1;
第六步,當模式長度為L+1的候選模式集合candL+1為空或當模式長度為L+1的頻繁三支序列模式集合freL+1為空時,頻繁三支序列模式挖掘完畢。
該專利技術資料僅供研究查看技術是否侵權等信息,商用須獲得專利權人授權。該專利全部權利屬于河北工業大學,未經河北工業大學許可,擅自商用是侵權行為。如果您想購買此專利、獲得商業授權和技術合作,請聯系【客服】
本文鏈接:http://www.szxzyx.cn/pat/books/202010544976.0/1.html,轉載請聲明來源鉆瓜專利網。





