TWI643075B - 雲端頻繁序列型樣資料探勘方法 - Google Patents

雲端頻繁序列型樣資料探勘方法 Download PDF

Info

Publication number
TWI643075B
TWI643075B TW106121319A TW106121319A TWI643075B TW I643075 B TWI643075 B TW I643075B TW 106121319 A TW106121319 A TW 106121319A TW 106121319 A TW106121319 A TW 106121319A TW I643075 B TWI643075 B TW I643075B
Authority
TW
Taiwan
Prior art keywords
data
frequent
sequence
sequence type
cloud
Prior art date
Application number
TW106121319A
Other languages
English (en)
Other versions
TW201905726A (zh
Inventor
陳俊傑
陳銘憲
帥宏翰
Original Assignee
陳俊傑
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 陳俊傑 filed Critical 陳俊傑
Priority to TW106121319A priority Critical patent/TWI643075B/zh
Application granted granted Critical
Publication of TWI643075B publication Critical patent/TWI643075B/zh
Publication of TW201905726A publication Critical patent/TW201905726A/zh

Links

Landscapes

  • Management, Administration, Business Operations System, And Electronic Commerce (AREA)

Abstract

本發明提供一種雲端頻繁序列型樣資料探勘方法,包括:控制多個雲端機器接收大量輸入資料;依據輸入資料決定多個頻繁項目資料;對多個頻繁項目資料執行映射探勘運算以發現多個頻繁序列型樣資料;將多個頻繁序列型樣資料設定為UDLT資料的最新一層的多個節點;對UDLT資料的最新一層的各節點分別執行映射探勘運算以發現新的多個頻繁序列型樣資料;及,重複執行上述步驟直到探勘完成。本發明可有效於大數據中發現頻繁序列型樣資料,並可減少資料探勘所需時間。

Description

雲端頻繁序列型樣資料探勘方法
本發明係與雲端運算與資料探勘有關,特別有關於雲端頻繁序列型樣資料探勘方法。
雲端運算(Cloud Computing)技術是經由網際網路連結大量電腦,並使各電腦可經由網際網路分享各自的運算能力。藉由結合大量電腦的運算能力,雲端運算技術可解決更繁雜的運算問題。
資料探勘(Data Mining)技術是基於人工智慧(Artificial Intelligence,AI)技術、機器學習(Machine Learning)、統計學和資料庫搜尋等技術來於大數據(Big Data)中發現特定的型樣資料(pattern),並做進一步應用。
以分析DNA序列為例,資料探勘技術可於大量DNA序列中發現頻繁序列型樣資料(frequent sequential pattern,如重複性最高的DNA序列),並可供研究人員依據所發現的DNA序列研究特定疾病。
以分析交易資料為例,資料探勘技術可於大量交易資料中找出頻繁序列型樣資料(如重複性最高的購買商品組合),而可供商家依據所發現的購買商品組合預測客戶的購買習慣,並作為未來銷售參考。
雖目前已有許多結合雲端運算技術及資料探勘技術的技術方案被提出,但目前仍未有合適的技術方案可有效率地於大數據中尋找頻繁序列型樣資料。
本發明之主要目的,係在於提供一種雲端頻繁序列型樣資料探勘方法,可使用映射歸納(MapReduce)演算法來於大數據中尋找頻繁序列型樣資料。
為達上述目的,本發明係提供一種雲端頻繁序列型樣資料探勘方法,包括:a)由多個雲端機器分別接收多個輸入資料;b)該多個雲端機器分別對接收的該多個輸入資料執行一映射掃描運算及一歸納掃描運算,以由該多個輸入資料中決定多個頻繁項目資料並建立一可分享通用分散詞彙序列樹資料,其中該可分享通用分散詞彙序列樹資料的第一層的多個節點為該多個頻繁項目資料;c)對該可分享通用分散詞彙序列樹資料的第一層的該多個節點執行一映射探勘運算,以由該多個頻繁項目資料中發現多個頻繁序列型樣資料,其中所發現的各該頻繁序列型樣資料包括該可分享通用分散詞彙序列樹資料的第一層的該多個節點的其中之一及該多個頻繁項目資料的其中之一;d)將所發現的該多個頻繁序列型樣資料分別作為該可分享通用分散詞彙序列樹資料的新一層的多個節點;e)對該可分享通用分散詞彙序列樹資料的新一層的該多個節點執行該映射探勘運算,以發現新的該多個頻繁序列型樣資料,其中新的各該頻繁序列型樣資料包括前一層的該多個節點的其中之一及該多個頻繁項目資料的其中之一;及,f)重複執行該步驟d至該步驟e直到探勘完成。
本發明可有效於大數據中發現頻繁序列型樣資料,並可有效減少資料探勘所需時間。
10‧‧‧實體機器
100‧‧‧電腦程式
102‧‧‧虛擬機器
12‧‧‧資料庫
14‧‧‧管理裝置
16‧‧‧網際網路
200‧‧‧輸入資料
221-22n‧‧‧第一映射器
241-24n‧‧‧第一歸納器
202‧‧‧DHT
261-26n‧‧‧第二映射器
281-28n‧‧‧第二歸納器
204‧‧‧頻繁序列型樣資料
300‧‧‧輸入資料
321-32n‧‧‧第一映射器
341-34n‧‧‧歸納器
302‧‧‧DHT
304‧‧‧UDLT資料
361-36n‧‧‧第二映射器
306‧‧‧頻繁序列型樣資料
S100-S110‧‧‧雲端頻繁序列型樣資料探勘步驟
S20-S24‧‧‧資料輸入步驟
S300-S310‧‧‧掃描步驟
S40-S48‧‧‧探勘步驟
S50-S52‧‧‧更新步驟
S60-S62‧‧‧擴展步驟
圖1為本發明第一實施例的雲端運算系統的架構圖。
圖2為本發明一實施例的雲端資料探勘的示意圖。
圖3為本發明另一實施例的雲端資料探勘的示意圖。
圖4為本發明第一實施例的雲端頻繁序列型樣資料探勘方法的流程圖。
圖5為本發明第二實施例的雲端頻繁序列型樣資料探勘方法的部分流程圖。
圖6為本發明第三實施例的雲端頻繁序列型樣資料探勘方法的部分流程圖。
圖7為本發明的掃描階段的示意圖。
圖8為本發明第四實施例的雲端頻繁序列型樣資料探勘方法的部分流程圖。
圖9為本發明第五實施例的雲端頻繁序列型樣資料探勘方法的部分流程圖。
圖10為本發明第六實施例的雲端頻繁序列型樣資料探勘方法的部分流程圖。
圖11為本發明的序列擴展處理及項目資料擴展處理的示意圖。
茲就本發明之一較佳實施例,配合圖式,詳細說明如後。
首請參閱圖1,為本發明第一實施例的雲端運算系統的架構圖。如圖所示,本發明的雲端系統主要包括多個實體機器(如個人電腦、伺服器、叢集系統或資料中心)10、一或多個資料庫12(圖1僅示出一個資料庫12)及管理裝置14(如管理者或使用者所持有的個人電腦、筆記型電腦、平板電腦或其他電腦裝置)。
實體機器10、資料庫12及管理裝置14連接網際網路16而可相互進行通訊。實體機器10可作為雲端機器來提供雲端運算能力。資料庫12用以儲存資料(如後述輸入資料或頻繁序列型樣資料)。管理裝置14可控制實體機器10及資料庫12執行雲端資料探勘,並可自實體機器10或資料庫12接收雲端資料探勘的結果
於一實施例中,實體機器10的非暫態記憶體中儲存有電腦程式100,電腦程式100記錄有電腦可讀取的程式碼。當實體機器10的處理器執行電腦程式100後,可實作多個虛擬機器(Virtual Machine)102作為雲端機器來提供雲端運算能力。
續請參閱圖2,為本發明一實施例的雲端資料探勘的示意圖。如圖所示,本發明基於映射歸納(MapReduce)演算法提出一種雲端資料探勘方法,可有效於大量輸入資料中發現頻繁序列型樣資料。
為使本領域中具有通常知識者可充分理解本發明的技術思想,後續將以於輸入資料為大量交易資料(各交易資料記錄有所購買的商品)且頻繁序列型樣資料(frequent sequential pattern data)為頻繁購買的商品組合為例進行說明,但不以此限定本發明的應用領域。
於執行雲端資料探勘前,本實施例是先將多個雲端機器(如圖1所示的實體機器10或虛擬機器102分別設定為第一映射器(Mapper)221-22n、第二映射器261-26n、第一歸納器(Reducer)241-24n及第二歸納器281-28n。
接著,進入掃描階段。於掃描階段中,資料庫12發送大量輸入資料(如多個交易資料)200至多個第一映射器221-22n,其中各筆輸入資料分別包括數值資料(如購買時間或消費者身份),以及多個項目資料(如各種被購買商品)的其中之一。多個第一映射器221-22n分別對所收到的部分的輸入資料200執行分類處理,以依據項目資料來對所收到的多個交易資料進行排列。
接著,各第一歸納器241-24n被分配來處理一或多個項目資料。具體而言,多個第一映射器221-22n依據項目資料將排列後的多個交易資料傳送至對應的第一歸納器241-24n。各第一歸納器241-24n對所收到的多個交易資料進行統計以產生各項目資料的統計資料,並依據統計資料判斷各項目資料是否為頻繁項目資料(frequent sequential item data,如頻繁被購買商品)。
若任一第一歸納器241-24n判定任一項目資料為頻繁項目資料,則將此項目資料及其統計資料記錄於分散雜湊表(Distributed Hash Table,DHT)202。並且,第一歸納器241-24n將其餘的項目資料判定為非頻繁項目資料(infrequent sequential item data,如非頻繁被購買商品)並捨棄。藉此,通過DHT 202記錄有所有頻繁項目資料及其統計資料。
接著,進入探勘階段。於探勘階段中,各第二映射器261-26n分別從DHT 202中選擇部分頻繁項目資料來建構特定數量的節點,其中各節點分別為多個頻繁項目資料所組成的序列型樣資料(如被購買商品的可能組合)。
接著,各第二映射器261-26n分別將本次建構的多個序列型樣資料分配給多個第二歸納器281-28n。各該第二歸納器281-28n依據DHT 202判斷所分 配的序列型樣資料是否為頻繁序列型樣資料(frequent sequential pattern data)204。
具體而言,若任一第一歸納器241-24n判斷此序列型樣資料為頻繁序列型樣資料204,則輸出此序列型樣資料,否則即判定此序列型樣資料為非頻繁項目資料(infrequent sequential pattern data,如非頻繁被購買商品組合)並捨棄。
於所有第一歸納器241-24n完成本次資料探勘後,所有第二映射器261-26n及第一歸納器241-24n再次執行前述操作。具體而言,所有第二映射器261-26n依據所發現的頻繁序列型樣資料204繼續延伸建構特定數量的節點(其中各節點分別為由所發現的多個頻繁序列型樣資料204的其中之一組成的序列型樣資料),並且所有第一歸納器241-24n判斷所分配的序列型樣資料是否為頻繁序列型樣資料204,如此不斷迭代直到發現所有頻繁序列型樣資料204(即,所有的節點都是頻繁序列型樣資料204,探勘階段是透過不斷迭代來擴展節點以發現更多頻繁序列型樣資料204)。
前述實施例雖可於大量輸入資料中發現頻繁序列型樣資料204,然而,前述實施例於探勘階段需反覆重啟第二映射器261-26n及第一歸納器241-24n,而每次重啟時皆須重新經由網際網路16進行資料讀寫,這使得探勘時間增加。並且,由於各節點實際能擴展的節點數量不盡相同,各第二映射器261-26n及各第一歸納器241-24n實際處理的資料量亦不盡相同。
有鑑於上述問題,前述實施例並無法達成負載平衡,而會增加處理資料量較小的第二映射器261-26n及第一歸納器241-24n的等待時間,並增加處理資料量較大的第二映射器261-26n及第一歸納器241-24n的處理時間,進而使探勘時間增加。
為解決上述問題,本發明提出另外一種基於映射歸納演算法的雲端資料探勘方法,是以串流方式取代迭代方式來進行探勘,而可有效上述問題。
請同時參閱圖3及圖4,圖3為本發明另一實施例的雲端資料探勘的示意圖,圖4為本發明第一實施例的雲端頻繁序列型樣資料探勘方法的流程圖。相較於圖2所示的實施例,圖3及圖4的實施例於掃描階段會建構用於記錄最新的頻繁序列型樣資料306的可分享通用分散詞彙序列樹(shareable Uniform Distributed Lexical sequence Tree,UDLT)資料304。並且,本實施例於探勘階段是使用第二映射器361-36n來發現頻繁序列型樣資料306並更新UDLT資料304。
於執行雲端資料探勘前,本實施例是先將多個雲端機器分別設定為第一映射器321-32n、第二映射器361-36n及歸納器341-34n,並且依據第一映射器321-32n、第二映射器361-36n以及歸納器341-34n來執行本實施例的雲端頻繁序列型樣資料探勘方法。本實施例的雲端頻繁序列型樣資料探勘方法包括以下步驟。
步驟S100:各第一映射器321-32n自資料庫12接收多個輸入資料300。
接著,進入掃描階段。本實施例中,掃描階段主要包括下述步驟S102及步驟S104。
步驟S102:各第一映射器321-32n對所接收的多個輸入資料(如交易資料)執行映射掃描運算,以依據輸入資料的項目資料(如被購買商品)排列所收到的多個輸入資料。
步驟S104:各歸納器341-34n被分配來處理一或多個項目資料,自多個第一映射器321-32n分別接收對應的輸入資料,並對所收到的輸入資料執行歸納掃描運算以決定多個頻繁項目資料(如頻繁購買的商品)。
較佳地,多個歸納器341-34n還可分別計算多個頻繁項目資料的統計資料(如商品的被購買次數),並建構分散雜湊表(Distributed Hash Table,DHT)302。前述DHT 302可記錄所有頻繁項目資料及其統計資料。
較佳地,多個歸納器341-34n還可建立UDLT資料304,並可將所有頻繁項目資料設定為UDLT資料304的第一層的多個節點,並可將所有頻繁項目資料的統計資料一併記錄於UDLT資料304。
接著,進入探勘階段。本實施例中,探勘階段主要包括下述步驟S106至步驟S110。
步驟S106:各第二映射器361-36n分別自UDLT資料304的最新一層選擇部分的節點,並對所選擇的節點執行映射探勘運算以發現多個頻繁序列型樣資料306。
較佳地,所發現的頻繁序列型樣資料306包括所選擇的節點及多個頻繁項目資料的其中之一。
於一實施例中,各第二映射器361-36n的本地記憶體儲存有完整的DHT 302及所需的部分UDLT資料304。由於執行探勘所需資料已儲存於本地記憶體,本實施例可有效減少讀寫資料時間,進而減少探勘時間。
具體而言,各第二映射器361-36n是於選擇節點時一併取得完整的DHT 302及所需的部分UDLT資料304。並且,各第二映射器361-36n於偵測到所儲存的部分UDLT資料304須更新(如自外部收到更新通知)時,可更新本地記憶體所儲存的部分UDLT資料304。
步驟S108:各第二映射器361-36n將所發現的多個頻繁序列型樣資料306作為UDLT資料304的新一層的節點。
較佳地,各第二映射器361-36n還可輸出最新一層的節點(如輸出至資料庫12或管理裝置14)。
步驟S110:各第二映射器361-36n判斷探勘是否完成,即判斷是否已發現所有頻繁序列型樣資料306。較佳地,第二映射器361-36n是於步驟S106中未發現新的頻繁序列型樣資料306時判定探勘完成(即已發現所有頻繁序列型 樣資料)。或者,第二映射器361-36n是於判斷UDLT資料304已完全遍歷(Traversal)時判定探勘完成。
若第二映射器361-36n判斷探勘完成,則結束雲端頻繁序列型樣資料探勘方法。否則,第二映射器361-36n再次執行步驟S106以繼續探勘新的頻繁序列型樣資料306,並再次執行步驟S108以更新UDLT資料304的新一層的節點。
以第一次探勘(即第一次執行步驟S106-S108)為例,各第二映射器361-36n分別自UDLT資料304選擇第一層的任一節點,並對所選擇的節點執行映射探勘運算以發現多個頻繁序列型樣資料306,其中所發現的各頻繁序列型樣資料306包括所選擇的節點及多個頻繁項目資料的其中之一。接著,第二映射器361-36n可輸出UDLT資料304的第一層的所有節點,並將各第二映射器361-36n所發現的頻繁序列型樣資料306設定為UDLT資料304的第二層的節點。
以第二次探勘(即第二次執行步驟S106)為例,各第二映射器361-36n分別自UDLT304選擇第二層的任一節點(即第一次探勘所發現的頻繁序列型樣資料306),並對所選擇的節點執行映射探勘運算以發現新的多個頻繁序列型樣資料306,其中新的各頻繁序列型樣資料306包括所選擇的節點及多個頻繁項目資料的其中之一。接著,第二映射器361-36n可輸出UDLT資料304的第二層的所有節點,並將新的頻繁序列型樣資料306設定為UDLT資料304的第三層的節點,以此類推。
本發明可有效於大數據中發現頻繁序列型樣資料。並且,本發明經由使用UDLT資料304來記錄最新的頻繁序列型樣資料306,可不須重啟第二映射器,且可不需配置第二歸納器(亦即不須重啟第二歸納器),這使得本發明不需重新進行網路資料讀寫,而可有效減少資料探勘所需時間。
續請一併參閱圖5,為本發明第二實施例的雲端頻繁序列型樣資料探勘方法的部分流程圖。相較於圖4所示的實施例,圖5的實施例的雲端頻繁序列型樣資料探勘方法的步驟S100包括以下步驟。
步驟S20:資料庫12將所有輸入資料300轉換為串流序列資料。
具體而言,串流序列資料可被分解為多個片段,並且,由於各片段可單獨被處理,串流序列資料可適用於分散式處理。
步驟S22:資料庫12將串流序列資料的多個片段分別傳輸至多個雲端機器(即第一映射器321-32n)。
較佳地,資料庫12可先取得各第一映射器321-32n的處理能力,再依據各第一映射器321-32n的處理能力來分配不同資料量的串流序列資料的片段至各第一映射器321-32n。經由依據各第一映射器321-32n的處理能力來分配資料,本發明可使各第一映射器321-32n的處理時間更為相近,減少所有第一映射器321-32n的整體等待時間,進而減少探勘時間。
步驟S24:第一映射器321-32n將所收到的串流序列資料的片段儲存於本地記憶體。
相較於將資料儲存於雲端分散式儲存裝置並經由網路進行存取,本發明經由將資料直接儲存於各第一映射器321-32n的本地記憶體,可有效減少後續處理的資料讀寫時間。
續請一併參閱圖6,為本發明第三實施例的雲端頻繁序列型樣資料探勘方法的部分流程圖。相較於圖4所示的實施例,圖6的實施例的掃描階段包括以下步驟。
步驟S300:各第一映射器321-32n分別依據所收到的輸入資料300產生分別對應多個項目資料的多個鍵值對(key-value pair)資料。
具體而言,各輸入資料300分別包括數值資料(如購買時間或消費者身份),以及多個項目資料(如多種購買商品)的其中之一。各第一映射器321-32n是將項目資料作為鍵資料,並將數值資料作為值資料,來產生各鍵值對資料。
步驟S302:第一映射器321-32n傳送所產生的多個鍵值對資料至歸納器341-34n。較佳地,對應相同的項目資料的多個鍵值對資料(即鍵資料相同的多個鍵值對資料)會被傳送至相同的歸納器341-34n。
步驟S304:各歸納器341-34n分別依據所收到的多個鍵值對資料計算各項目資料的統計資料。
較佳地,所計算出的統計資料是位元圖(bitmap)格式,而可使用位元序列(bit sequence)的方式來表示各項目資料與對應的數值資料之間的關係。
步驟S306:各歸納器341-34n分別依據頻繁臨界值(如50%或2)及各項目資料的統計資料濾除部分項目資料,並將剩餘的項目資料作為頻繁項目資料。
較佳地,歸納器341-34n是比對統計資料與頻繁臨界值,將小於頻繁臨界值的統計資料所對應的項目資料判定為非頻繁項目(infrequent sequential item)資料,並濾除所述非頻繁項目資料。
步驟S308:歸納器341-34n依據所發現的各頻繁項目資料的統計資料建立DHT 302。
具體而言,歸納器341-34n建構DHT 302,並將所有項目資料的統計資料及數值資料對應記錄於DHT 302。
於一實施例中,歸納器341-34n可先對各頻繁項目資料的統計資料進行壓縮,再將壓縮後的各統計資料記錄於DHT 302。
於一實施例中,本發明還可產生DHT 302的多個副本資料,並分別傳送至多個第二映射器361-36n儲存。步驟S310:歸納器341-34n依據所發現的各頻繁項目資料的統計資料建立UDLT資料304。
較佳地,UDLT資料304是樹狀結構資料。歸納器341-34n於建立UDLT資料304後,可將多個頻繁項目資料作為第一層的節點,並將多個頻繁項目資料的統計資料一併記錄於UDLT資料304中。
續請參閱圖7,為本發明的掃描階段的示意圖,用以示例性說明本發明的掃描階段。
如圖所示,於本例子中,輸入資料300包括十二筆交易資料。資料庫12是將前六筆交易資料傳送至第一映射器321,並將後六筆交易資料傳送至第一映射器322。於圖7的實施例中,是以兩個第一映射器321、322為例來進行說明,但不以此為限。
接著,第一映射器321將交易資料中的購買商品做為所述項目資料,並產生多筆鍵值對資料,即鍵值對資料<A,(1,1)>、鍵值對資料<A,(2,2)>、鍵值對資料<B,(3,5)>、鍵值對資料<B,(4,10)>、鍵值對資料<C,(1,7)>、鍵值對資料<C,(3,5)>、鍵值對資料<C,(3,9)>及鍵值對資料<D,(2,2)>。並且,第一映射器322亦將交易資料中的購買商品做為項目資料,並產生多筆鍵值對資料,即鍵值對資料<A,(1,12)>、鍵值對資料<A,(4,6)>、鍵值對資料<A,(4,11)>、鍵值對資料<B,(1,3)>、鍵值對資料<B,(2,4)>及鍵值對資料<B,(3,8)>。
接著,第一映射器321、322依據鍵資料(即項目資料)將所產生的多筆鍵值對資料傳送至歸納器341-344。如鍵資料為A的鍵值對資料被傳送至歸納器341,鍵資料為B的鍵值對資料被傳送至歸納器342,鍵資料為C的鍵值對資料被傳送至歸納器343,鍵資料為D的鍵值對資料被傳送至歸納器344。於圖7的實施例中,是以四個歸納器341-344為例來進行說明,但不以此為限。
接著,歸納器341-344分別計算各項目資料的統計資料(於本例子中,統計資料是位元圖格式),並依據統計資料判斷各項目資料是否為頻繁項目資料。
較佳地,歸納器341-344可依據各鍵值對資料的多個數值資料的其中之一(以消費者身分為例)分類排列多個鍵值對資料。
舉例來說,鍵值對資料<A,(1,1)>、<A,(1,12)>可被轉換為鍵值對資料<A,(1,1001)>,即表示1號消費者於第1、12天購買商品A,於第3、7天未購買商品A。
於另一例子中,鍵值對資料<A,(4,6)>、<A,(4,11)>可被轉換為鍵值對資料<A,(4,101)>,即表示4號消費者於第6、11天購買商品A,於第10天未購買商品A。
於圖7的實施例中,歸納器344判定項目資料D非為頻繁項目資料,故捨棄項目資料D。並且,歸納器341-343分別判定項目資料A-C為頻繁項目資料,並依據項目資料A-C建構DHT 302及UDLT資料304。
續請一併參閱圖8及圖11,圖8為本發明第四實施例的雲端頻繁序列型樣資料探勘方法的部分流程圖,圖11為本發明的序列擴展處理及項目資料擴展處理的示意圖。相較於圖4所示的實施例,圖8的實施例的雲端頻繁序列型樣資料探勘方法的步驟S106包括以下步驟。
步驟S40:各第二映射器361-36n分別選擇UDLT資料304的最新一層的多個節點的其中之一。
具體而言,UDLT資料304的第一層的節點為頻繁項目資料,第二層(後)的節點為頻繁序列型樣資料。因此,當第一次探勘時,各第二映射器361-36n是選擇第一層的任一頻繁項目資料,當第二次探勘時,各第二映射器361-36n是選擇第二層的任一頻繁序列型樣資料,以此類推。
步驟S42:各第二映射器361-36n依據DHT 302及所選擇的節點(於第一次探勘為頻繁項目資料,於第二次以後探勘為頻繁序列型樣資料)產生多個序列型樣資料。
較佳地,所產生的各序列型樣資料包括DHT 302所記錄的多個頻繁項目資料的其中之一及所選擇的節點。
如圖11所示,舉例來說,以第二映射器361選擇頻繁項目資料{A}為例,第二映射器361可產生序列型樣資料{A},{A}、序列型樣資料{A},{B}、序列型樣資料{A},{C}、序列型樣資料{A,A}、序列型樣資料{A,B}及序列型樣資料{A,C}。
步驟S44:各第二映射器361-36n分別計算所產生的各序列型樣資料的統計資料。
較佳地,所計算出的統計資料是位元圖(bitmap)格式,並可以位元序列(bit sequence)的方式來表示各序列型樣資料的出現頻率或出現次數。
步驟S46:各第二映射器361-36n分別依據預設的頻繁臨界值及步驟S44所計算的各序列型樣資料的統計資料濾除部分序列型樣資料,並將剩餘的序列型樣資料作為新的頻繁序列型樣資料。
較佳地,各第二映射器361-36n是依據各序列型樣資料的統計資料來計算各序列型樣資料於所有輸入資料中的出現次數或出現比例,再將所計算的出現次數或出現比例與頻繁臨界值(如1000次或30%)進行比較。
如圖11所示,舉例來說,若第二映射器361判斷項目資料{D}為非頻繁項目資料,則可不將非頻繁項目資料加入UDLT資料304,並且,亦可不將非頻繁項目資料加入DHT302。或者,第二映射器361可先將所有項目資料加入UDLT資料304,再刪除非頻繁項目資料。
於另一例子中,若第二映射器361判斷序列型樣資料{A,B}及序列型樣資料{A,C}為非頻繁序列型樣資料,則可不將非頻繁序列型樣資料加入UDLT資料304。或者,第二映射器361可先將所有序列型樣資料加入UDLT資料304,再刪除非頻繁序列型樣資料。
若第二映射器361-36n判斷任一序列型樣資料的出現次數或出現比例小於頻繁臨界值,則判定此序列型樣資料為非頻繁序列型樣資料,並濾除此序列型樣資料(如捨棄此序列型樣資料)。否則,第二映射器361-36n判定此序列型樣資料為頻繁序列型樣資料。
步驟S48:第二映射器361-36n判斷是否UDLT資料304的最新一層的任一節點未被選擇並進行處理,即判斷是否最新一層的任一節點未經過步驟S40-S46的處理。
若任一第二映射器361-36n判斷UDLT資料304的最新一層的任一節點未被選擇時,則再次執行步驟S40至S46以選擇此節點並進行處理。否則,第二映射器361-36n執行步驟S108。
值得一提的是,由於各第二映射器361-36n的處理能力不同,其所需的處理時間亦不同。本發明經由控制已完成當前節點的處理的第二映射器361-36n接續對其他節點進行處理,可有效減少等待時間,進而減少探勘時間。
續請一併參閱圖9及圖11,為本發明第五實施例的雲端頻繁序列型樣資料探勘方法的部分流程圖。相較於圖4所示的實施例,圖9的實施例的雲端頻繁序列型樣資料探勘方法的步驟S108包括以下步驟。
步驟S50:第二映射器361-36n匯出並刪除UDLT資料304的最新一層的多個節點。
如圖11所示,舉例來說,若最新一層為第一層,則第二映射器361-36n可匯出並刪除節點{A}、節點{B}及節點{C}。若最新一層為第二層,則 第二映射器361-36n可匯出並刪除節點{A},{A}、節點{A},{B}、節點{A},{C}、節點{A,A}、節點{B},{A}、節點{B},{B}、節點{B,C}...,以此類推。
步驟S52:第二映射器361-36n將新發現的多個頻繁序列型樣資料作為UDLT資料304的新一層的多個節點。
本發明經由匯出並刪除已處理的節點,可有效減少UDLT資料304的資料量,進而節省儲存空間。
續請一併參閱圖10及圖11,圖10為本發明第六實施例的雲端頻繁序列型樣資料探勘方法的部分流程圖。相較於圖4結合圖8所示的實施例,圖10的實施例的雲端頻繁序列型樣資料探勘方法的步驟S42包括以下步驟。
步驟S60:第二映射器361-36n依據DHT 302的多個頻繁項目資料及所選擇的UDLT資料304的節點(即頻繁序列型樣資料)執行序列擴展(sequence-extension)處理以獲得多個序列型樣資料。
較佳地,第二映射器361-36n是組合所選擇的節點及各頻繁項目資料以產生多個序列型樣資料。並且,各序列型樣資料的頻繁序列型樣資料及頻繁項目資料屬於不同子集。
如圖11所示,以選擇節點{A},並依據頻繁項目資料{A}執行序列擴展處理為例,序列擴展處理不僅可產生序列型樣資料{A},{A}(如相同消費者於不同的兩個時間分別購買一個商品A),還可進一步產生序列型樣資料{A},{A}的統計資料(本例子中,統計圖是以位元圖格式為例)。
具體而言,序列擴展處理是先對節點{A}的統計資料1001-10-000-101進行轉換,如將各組數值中的第一個“1”位元修改為“0”位元,並將其後的所有位元修改為“1”位元,以獲得轉換後的統計資料0111-01-000-011。接著,對轉換後的統計資料0111-01-000-011與頻繁項目資料 {A}的統計資料1001-10-000-101進行交集運算以獲得序列型樣資料{A},{A}的統計資料0001-00-000-001。
步驟S62:第二映射器361-36n依據DHT 302及所選擇的UDLT資料304的節點(即頻繁序列型樣資料)執行項目資料擴展(itemset-extension)處理以獲得多個序列型樣資料。
較佳地,第二映射器361-36n是組合所選擇的節點及各頻繁項目資料以產生多個序列型樣資料。並且,各序列型樣資料的頻繁序列型樣資料及頻繁項目資料屬於相同子集。
如圖11所示,以選擇節點{A},並依據頻繁項目資料{A}執行項目資料擴展處理為例,項目資料擴展處理不僅可產生序列型樣資料{A},{A}(如相同消費者於相同時購買兩個商品A),還可進一步產生序列型樣資料{A,A}的統計資料(本例子中,統計圖是以位元圖格式為例)。
具體而言,項目資料擴展處理是對節點{A}的統計資料1001-10-000-101與頻繁項目資料{A}的統計資料1001-10-000-101進行交集運算以獲得序列型樣資料{A,A}的統計資料1001-10-000-101。
接著,第二映射器361-36n執行步驟S44。
本發明可有效產生序列型樣資料,並可進一步計算所發現的序列型樣資料的統計資料。
以上所述僅為本發明之較佳具體實例,非因此即侷限本發明之專利範圍,故舉凡運用本發明內容所為之等效變化,均同理皆包含於本發明之範圍內,合予陳明。

Claims (9)

  1. 一種雲端頻繁序列型樣資料探勘方法,包括:a)由多個雲端機器分別接收多個輸入資料;b)該多個雲端機器分別對接收的該多個輸入資料執行一映射掃描運算及一歸納掃描運算,以由該多個輸入資料中決定多個頻繁項目資料並建立一可分享通用分散詞彙序列樹資料,其中該可分享通用分散詞彙序列樹資料的第一層的多個節點為該多個頻繁項目資料;c)對該可分享通用分散詞彙序列樹資料的第一層的該多個節點執行一映射探勘運算,以由該多個頻繁項目資料中發現多個頻繁序列型樣資料,其中所發現的各該頻繁序列型樣資料包括該可分享通用分散詞彙序列樹資料的第一層的該多個節點的其中之一及該多個頻繁項目資料的其中之一;d)將所發現的該多個頻繁序列型樣資料分別作為該可分享通用分散詞彙序列樹資料的新一層的多個節點;e)對該可分享通用分散詞彙序列樹資料的新一層的該多個節點執行該映射探勘運算,以發現新的該多個頻繁序列型樣資料,其中新的各該頻繁序列型樣資料包括前一層的該多個節點的其中之一及該多個頻繁項目資料的其中之一;及f)重複執行該步驟d至該步驟e直到發現所有該頻繁序列型樣資料而判定探勘完成。
  2. 如請求項1所述之雲端頻繁序列型樣資料探勘方法,其中該步驟a)包括以下步驟:a1)於一資料庫將該多個輸入資料轉換為一串流序列資料; a2)依據各該雲端機器的處理能力將該串流序列資料的多個片段分別傳輸至該多個雲端機器;及a3)各該雲端機器將所收到的該串流序列資料的該片段儲存於一本地記憶體。
  3. 如請求項1所述之雲端頻繁序列型樣資料探勘方法,其中部分該雲端機器被設定為用以執行該映射掃描運算的第一映射器,部分該雲端機器被設定為用以執行該歸納掃描運算歸納器,該多個輸入資料分別包括一數值資料及多個項目資料的其中之一,該步驟b)包括以下步驟:b1)該多個第一映射器分別依據所收到的各該多個輸入資料的該數值資料及該項目資料產生分別對應該多個項目資料的多個鍵值對資料;b2)傳送該多個鍵值對資料至該多個歸納器,其中對應相同的該項目資料的該多個鍵值對資料被傳送至相同的該歸納器;b3)該多個歸納器依據所收到的該多個鍵值對資料計算各該項目資料的一統計資料;b4)依據一頻繁臨界值及各該項目資料的該統計資料濾除部分該項目資料,並將剩餘的該項目資料作為該頻繁項目資料;及b5)依據各該頻繁項目資料的該統計資料建立一分散雜湊表及該可分享通用分散詞彙序列樹資料。
  4. 如請求項3所述之雲端頻繁序列型樣資料探勘方法,其中該統計資料是位元圖格式,該步驟b5是先對各該頻繁項目資料的該統計資料進行壓縮,再依據壓縮後的各該頻繁項目資料的該統計資料來建立該分散雜湊表。
  5. 如請求項3所述之雲端頻繁序列型樣資料探勘方法,其中部分該雲端機器被設定為用以執行該映射探勘運算的第二映射器,該步驟c)包括以下步驟: c1)各該第二映射器選擇該可分享通用分散詞彙序列樹資料的第一層的該多個節點的其中之一;c2)依據該分散雜湊表及所選擇的該節點產生多個序列型樣資料,其中各該序列型樣資料包括所選擇的該節點及該多個頻繁項目資料的其中之一;c3)計算各該序列型樣資料的一統計資料;及c4)依據該頻繁臨界值及各該序列型樣資料的該統計資料濾除部分該序列型樣資料,並將剩餘的該序列型樣資料作為該頻繁序列型樣資料。
  6. 如請求項5所述之雲端頻繁序列型樣資料探勘方法,其中該步驟d)包括以下步驟:d1)輸出並刪除該可分享通用分散詞彙序列樹資料的前一層的該多個節點;及d2)將該多個頻繁序列型樣資料分別作為該可分享通用分散詞彙序列樹資料的新一層的該多個節點。
  7. 如請求項6所述之雲端頻繁序列型樣資料探勘方法,其中該步驟e)包括以下步驟:e1)各該第二映射器選擇該可分享通用分散詞彙序列樹資料的新一層的任一該節點;e2)依據該分散雜湊表及所選擇的該節點產生新的該多個序列型樣資料,其中各該序列型樣資料包括所選擇的該節點及該多個頻繁項目資料的其中之一;e3)計算各該序列型樣資料的該統計資料;及e4)依據該頻繁臨界值及各該序列型樣資料的該統計資料濾除部分該序列型樣資料,並將剩餘的該序列型樣資料作為新的該頻繁序列型樣資料。
  8. 如請求項7所述之雲端頻繁序列型樣資料探勘方法,其中該步驟e2)包括以下步驟: e21)依據該分散雜湊表及所選擇的該節點執行一序列擴展處理以發現該多個序列型樣資料,其中各該序列型樣資料的該頻繁序列型樣資料及該頻繁項目資料屬於不同子集;及e22)依據該分散雜湊表及所選擇的該節點執行一項目資料擴展處理以發現該多個序列型樣資料,其中各該序列型樣資料的該頻繁序列型樣資料及該頻繁項目資料屬於相同子集。
  9. 如請求項7所述之雲端頻繁序列型樣資料探勘方法,其中該步驟e)更包括一步驟e5)任一該第二映射器於執行完該步驟e1)至該步驟e4)且判斷該可分享通用分散詞彙序列樹資料的新一層的任一該節點未被選擇時,再次執行該步驟e1)至該步驟e4)。
TW106121319A 2017-06-26 2017-06-26 雲端頻繁序列型樣資料探勘方法 TWI643075B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
TW106121319A TWI643075B (zh) 2017-06-26 2017-06-26 雲端頻繁序列型樣資料探勘方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
TW106121319A TWI643075B (zh) 2017-06-26 2017-06-26 雲端頻繁序列型樣資料探勘方法

Publications (2)

Publication Number Publication Date
TWI643075B true TWI643075B (zh) 2018-12-01
TW201905726A TW201905726A (zh) 2019-02-01

Family

ID=65431899

Family Applications (1)

Application Number Title Priority Date Filing Date
TW106121319A TWI643075B (zh) 2017-06-26 2017-06-26 雲端頻繁序列型樣資料探勘方法

Country Status (1)

Country Link
TW (1) TWI643075B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI719488B (zh) * 2019-05-23 2021-02-21 核桃運算股份有限公司 具有一使用者介面之資料追蹤裝置、方法及其電腦程式產品

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5819266A (en) * 1995-03-03 1998-10-06 International Business Machines Corporation System and method for mining sequential patterns in a large database
US8145512B1 (en) * 2004-06-09 2012-03-27 Amazon Technologies, Inc. Data mining of user activity data to identify sequential item acquisition patterns
WO2016028252A1 (en) * 2014-08-18 2016-02-25 Hewlett Packard Enterprise Development Lp Interactive sequential pattern mining
US20160070763A1 (en) * 2013-05-31 2016-03-10 Teradata Us, Inc. Parallel frequent sequential pattern detecting

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5819266A (en) * 1995-03-03 1998-10-06 International Business Machines Corporation System and method for mining sequential patterns in a large database
US8145512B1 (en) * 2004-06-09 2012-03-27 Amazon Technologies, Inc. Data mining of user activity data to identify sequential item acquisition patterns
US20160070763A1 (en) * 2013-05-31 2016-03-10 Teradata Us, Inc. Parallel frequent sequential pattern detecting
WO2016028252A1 (en) * 2014-08-18 2016-02-25 Hewlett Packard Enterprise Development Lp Interactive sequential pattern mining

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
Chun-Chieh Chen, Chi-Yao Tseng, and Ming-Syan Chen, "Highly Scalable Sequential Pattern Mining Based on MapReduce Model on the Cloud," 2013 IEEE International Congress on Big Data, 2013. *
Jiaqi Ge and Yuni Xia, "Distributed Sequential Pattern Mining in Large Scale Uncertain Databases," PAKDD 2016, Part II, LNAI 9652, pp. 17–29, 2016.^&amp;rn^
Jiaqi Ge and Yuni Xia, "Distributed Sequential Pattern Mining in Large Scale Uncertain Databases," PAKDD 2016, Part II, LNAI 9652, pp. 17–29, 2016.^&rn^ *

Also Published As

Publication number Publication date
TW201905726A (zh) 2019-02-01

Similar Documents

Publication Publication Date Title
Wen et al. Exploiting GPUs for efficient gradient boosting decision tree training
CN104573124B (zh) 一种基于并行化关联规则算法的教育云应用统计方法
TWI730043B (zh) 關聯分析方法和裝置
WO2016101628A1 (zh) 一种数据建模中的数据处理方法及装置
WO2019015631A1 (zh) 生成机器学习样本的组合特征的方法及系统
CN101403978A (zh) 用于机器集群的并行编程的基础构造
WO2017096892A1 (zh) 索引构建方法、查询方法及对应装置、设备、计算机存储介质
Cheng et al. Efficient event correlation over distributed systems
WO2013046667A1 (ja) 情報システム、その管理方法およびプログラム、データ処理方法およびプログラム、ならびに、データ構造
Nagesh et al. High performance computation of big data: performance optimization approach towards a parallel frequent item set mining algorithm for transaction data based on hadoop MapReduce framework
US8655920B2 (en) Report updating based on a restructured report slice
CN107870949A (zh) 数据分析作业依赖关系生成方法和系统
US10599614B1 (en) Intersection-based dynamic blocking
US20190362010A1 (en) Epsilon-closure for frequent pattern analysis
Benlachmi et al. A comparative analysis of hadoop and spark frameworks using word count algorithm
TWI643075B (zh) 雲端頻繁序列型樣資料探勘方法
CN109086381A (zh) 模糊概念格的一种更新生成方法
US20220360458A1 (en) Control method, information processing apparatus, and non-transitory computer-readable storage medium for storing control program
JP5555238B2 (ja) ベイジアンネットワーク構造学習のための情報処理装置及びプログラム
Yin et al. Content‐Based Image Retrial Based on Hadoop
CN108256694A (zh) 基于重复遗传算法的模糊时间序列预测系统、方法及装置
US7979451B2 (en) Data manipulation command method and system
Khurana An introduction to temporal graph data management
Senevirathne et al. Memory efficient graph convolutional network based distributed link prediction
JP2020038610A (ja) 検索処理プログラム、検索処理方法及び情報処理装置