本發(fā)明涉及海量數(shù)據分析工具技術領域,具體為一種基于數(shù)據結構識別的自動化可視化呈現(xiàn)方法,以及基于數(shù)據結構識別的自動化可視化呈現(xiàn)系統(tǒng)。
背景技術:
隨著全球信息化過程的逐漸完善,以及計算資源的日益廉價,社會各界越發(fā)關注海量數(shù)據的內在聯(lián)系和數(shù)據分析挖掘技術的巨大應用前景,市場中涌現(xiàn)了大量的商業(yè)智能系統(tǒng),其中的優(yōu)秀產品提供了強大的數(shù)據存儲、數(shù)據處理、建模分析與豐富的可視化呈現(xiàn)能力,極大地降低了普通用戶發(fā)掘自身數(shù)據資源價值的門檻。
然而對于最終用戶而言,其更關注于使用預定義的分析場景得出結論以輔助決策,而非深入學習底層復雜的數(shù)據分析模型結構和系統(tǒng)的運作機制;同時視覺又占據人類獲取信息途經的絕對首位,因此一套良好的分析結果呈現(xiàn)界面是所有商業(yè)智能產品所必備的組成部分,甚至其設計的好壞是整個系統(tǒng)成敗的關鍵。
當前市面上的商業(yè)智能系統(tǒng)均提供了允許用戶自定義布局與內容的可視化呈現(xiàn)界面,但均需用戶自行配置,一般采用如下的兩種方式:
1、由用戶選擇圖表類型(餅圖、柱圖)以及樣式,并選擇該圖表所使用分析結果中的字段信息(如圖1-1所示);
2、提供多個計算維度,允許用戶向xy兩個呈現(xiàn)維度任意放置數(shù)據維度,并選取相應的測量指標,依據固定規(guī)則生成圖表(如圖1-2所示);
前者對用戶的專業(yè)性要求很高,僅適合專業(yè)人員,不便于普通用戶使用,后者雖針對用戶選擇的不同觀測維度實現(xiàn)了一定的自動化可視化能力,但依賴固定的模式,仍需要用戶手動選擇布局形式,且生成的可視化呈現(xiàn)單一,冗長,不具備基本的聯(lián)想功能,同樣需要用戶具備一定的可視化圖形經驗。
有鑒于此,特提出本發(fā)明。
技術實現(xiàn)要素:
本發(fā)明要解決的技術問題在于克服現(xiàn)有技術的不足,提供一種基于數(shù)據結構識別的自動化可視化呈現(xiàn)方法,通過分析處理數(shù)據結構,自動匹配合理的圖表配置,降低操作難度,保證準確性;另一方面本發(fā)明還提供了基于數(shù)據結構識別的自動化可視化呈現(xiàn)系統(tǒng)。
為解決上述技術問題,本發(fā)明采用技術方案的基本構思是:
一種基于數(shù)據結構識別的自動化可視化呈現(xiàn)方法,包括如下步驟:
接收數(shù)據輸入,通過數(shù)據結構描述規(guī)則生成輸入數(shù)據的數(shù)據結構描述信息;
根據該數(shù)據結構描述信息,提取數(shù)據的結構特征向量信息;
對提取的數(shù)據結構特征向量信息進行識別,并以此得出與該特性向量匹配的圖表配置;
根據圖表配置信息生成多圖表布局并得出可視化圖形。
進一步的,上述基于數(shù)據結構識別的自動化可視化呈現(xiàn)方法中,還包括
將數(shù)據結構特征向量以及與之匹配的多種圖表配置存儲起來形成圖表配置與數(shù)據結構模型庫;
根據提取的數(shù)據結構特征向量信息在模型庫中識別出與之相似的結構特征向量,基于識別得到的存儲在模型庫中的結構特征向量檢索得到與該特性向量匹配度大于閾值的圖表配置信息。
進一步的,上述基于數(shù)據結構識別的自動化可視化呈現(xiàn)方法中,所述數(shù)據結構描述規(guī)則包括:對數(shù)據中的列信息進行如下定義:
(1)列號,定義當前列在數(shù)據所有列中的序號;
(2)列名,定義當前列的原始名稱;
(3)列類型,定義當前列的數(shù)據類型;
(4)列格式,定義當前列的數(shù)據格式;
(5)列權重,定義當前列在數(shù)據所有列中的權重;
對數(shù)據中的行信息進行如下定義:
(6)行號,定義當前行在數(shù)據所有行中的序號。
進一步的,上述基于數(shù)據結構識別的自動化可視化呈現(xiàn)方法中,所述根據該數(shù)據結構描述信息,提取數(shù)據的結構特征向量信息包括:
以數(shù)據結構描述信息中的列信息為參數(shù),通過映射函數(shù)轉換為多維特征向量輸出。
進一步的,上述基于數(shù)據結構識別的自動化可視化呈現(xiàn)方法中,所述映射函數(shù)表示為:
f(x)=(x[0],x[1],...,x[n]);
以數(shù)據結構描述信息x中的列類型、列格式與列權重作為該映射函數(shù)的參數(shù),通過針對不同列類型和列格式計算離散值,將數(shù)據結構描述信息映射為n維離散向量,列權重可用于進行加權干預與調整。
進一步的,上述基于數(shù)據結構識別的自動化可視化呈現(xiàn)方法中,所述根據提取的數(shù)據結構特征向量信息在模型庫中識別出與之相似的結構特征向量包括:
通過數(shù)據結構特征相似度識別函數(shù)f(x1,x2),計算輸入的兩個結構特征向量的相似度并返回;其中輸入參數(shù)x1、x2分別為提取的數(shù)據結構特征向量和數(shù)據庫中的結構特性向量;該識別函數(shù)f(x1,x2)如下所示:
f(x1,x2)=d12*cos(θ)
其中,d12為x1、x2之間的距離,n為向量維度,k為參數(shù)序號;
d12值越小,兩個結構特征向量越相似。
進一步的,上述基于數(shù)據結構識別的自動化可視化呈現(xiàn)方法中,所述基于識別得到的存儲在模型庫中的結構特征向量檢索得到與該特性向量匹配度大于閾值的圖表配置信息包括:
通過圖表配置推薦函數(shù)f(x,φ)在模型庫中查找與指定結構特征向量相似度高于指定閾值的所有特征向量;φ作為相似度閾值,x為輸入的數(shù)據結構特征向量,具體查找步驟為:遍歷模型庫中的所有的數(shù)據結構特征向量x’,調用所述結構特征相似度識別函數(shù)計算x與x’的相似度,如果相似度超過閾值φ,則x’作為候選,直至遍歷結束;將所有候選x’依據其與x的相似度進行倒序排序,選擇相似度最大的x’所對應的圖表配置作為最終的推薦結果。
進一步的,上述基于數(shù)據結構識別的自動化可視化呈現(xiàn)方法中,所述根據圖表配置信息生成多圖表布局包括:
預設圖像矩形定義以及空間切分與布局算法,根據得到的圖表配置信息,將配置的圖表生成多圖表布局。
進一步的,上述基于數(shù)據結構識別的自動化可視化呈現(xiàn)方法中,圖像矩形定義規(guī)則如下:
(1)圖像的序號,以標記圖表的次序;
(2)圖像最小寬度,以標記圖表在布局中的最小寬度;
(3)圖像常規(guī)寬度,以標記圖表在布局中的常規(guī)寬度;
(4)圖像最小高度,以標記圖表在布局中的最小高度;
(5)圖像常規(guī)高度,以標記圖表在布局中的常規(guī)高度;
(6)圖像最小寬高比,以標記圖表在布局中的最小寬高比;
(7)圖像最大寬高比,以標記圖表在布局中的最大寬高比;
(8)圖像常規(guī)寬高比,以標記圖表在布局中的常規(guī)寬高比;
(9)圖像相關性系數(shù),以標記圖表間的相關性系數(shù)。
進一步的,上述基于數(shù)據結構識別的自動化可視化呈現(xiàn)方法中,所述空間切分與布局算法通過函數(shù)f(x0,x1,...,xn),接受一個或多個圖像矩形定義集合同時輸入,并依據所輸入的所有圖像矩形定義集合對全體圖表進行重新排布,具體包括:
將寬w高h的圖形空間在水平方向與垂直方向上劃分為n和m等份,即形成nxm個寬為w=w/n、高為h=h/m的子空間;每個子空間依據行列序號進行編碼,其中行序號記作i,取值從1至m,列序號記作j,取值從1至n,任意子空間可記作p(i,j);設置行游標ix與列游標jx,依次遍歷圖像矩形定義集合,并取出元素,通過圖像矩形定義的寬和高判定圖表應占用的連續(xù)子空間規(guī)模,并以此來移動行列游標,計算出合適的行列游標,以及待占用的子空間,并將所占用的子空間均標記為已占用,繼續(xù)下一個元素重復過程,直到遍歷完成,對全體圖表進行排布,生成多圖表布局。
第二方面,本發(fā)明提供了一種基于數(shù)據結構識別的自動化可視化呈現(xiàn)系統(tǒng),包括:
結構信息描述生成模塊:被配置為接收數(shù)據輸入,通過數(shù)據結構描述規(guī)則生成輸入數(shù)據的數(shù)據結構描述信息;
數(shù)據結構特征提取模塊:被配置為根據數(shù)據結構描述信息,提取數(shù)據的結構特征向量信息;
數(shù)據結構特征相似度識別與推薦模塊:被配置為對提取的數(shù)據結構特征向量信息進行識別,并以此得出與該特性向量匹配度大于閾值的圖表配置;
自動化布局模塊:被配置為將得出的圖表配置信息生成多圖表布局;
圖表呈現(xiàn)模塊:被配置為對所述多圖表布局進行可視化呈現(xiàn)。
進一步的,上述基于數(shù)據結構識別的自動化可視化呈現(xiàn)系統(tǒng)還包括
圖表配置與數(shù)據結構模型庫:被配置為存儲數(shù)據結構特征向量以及與之匹配的多種圖表配置;所述數(shù)據結構特征相似度識別與推薦模塊根據提取的數(shù)據結構特征向量信息在模型庫中識別出與之相似的結構特征向量,基于識別得到的存儲在模型庫中的結構特征向量檢索得到與該特性向量匹配度大于閾值的圖表配置信息
采用上述技術方案后,本發(fā)明與現(xiàn)有技術相比具有以下有益效果:
一方面,本發(fā)明基于數(shù)據結構識別的自動化可視化呈現(xiàn)方法步驟簡單,通過采用數(shù)據結構識別技術實現(xiàn)自動化的數(shù)據可視化呈現(xiàn),避免了傳統(tǒng)系統(tǒng)中較高專業(yè)性知識要求與復雜配置對用戶所造成的使用問題,在數(shù)據分析產品中應用,可極大地降低用戶操作難度,提高數(shù)據圖表使用的準確性、合理性與有效性;
另一方面,本發(fā)明基于數(shù)據結構識別的自動化可視化呈現(xiàn)系統(tǒng)架構合理,各模塊分工明確,無需用戶預先依據經驗選擇數(shù)據的可視化表現(xiàn)形式,從分析結果的數(shù)據結構入手,通過對數(shù)據結構中各個維度的類型、內容等信息進行識別,在檢索庫中尋找模式匹配度較高的表現(xiàn)形式,自動對圖表進行合理化配置,并在多個圖表的場合依據易讀、美觀、實用等原則自動規(guī)劃布局,解決傳統(tǒng)的分析結果可視化呈現(xiàn)方法中存在的易用性問題。
附圖說明
圖1-1是現(xiàn)有技術中需要用戶選擇圖表類型的圖表配置方式示意圖;
圖1-2是現(xiàn)有技術中允許用戶向xy兩個維度放置數(shù)據的圖表配置方式示意圖;
圖2是本發(fā)明一種基于數(shù)據結構識別的自動化可視化呈現(xiàn)方法中圖表配置與數(shù)據結構構建成的稀疏矩陣圖;
圖3是本發(fā)明一種基于數(shù)據結構識別的自動化可視化呈現(xiàn)系統(tǒng)的結構框圖;
圖4是圖3中所示各模塊的配合示意圖;
具體實施方式
下面結合附圖和具體實施例,對本發(fā)明作進一步說明,以助于理解本發(fā)明的內容。
第一方面,本發(fā)明提供了一種基于數(shù)據結構識別的自動化可視化呈現(xiàn)方法,包括如下步驟:
接收數(shù)據輸入,通過數(shù)據結構描述規(guī)則生成輸入數(shù)據的數(shù)據結構描述信息;
根據該數(shù)據結構描述信息,提取數(shù)據的結構特征向量信息;
對提取的數(shù)據結構特征向量信息進行識別,并檢索出與該特性向量匹配度大于閾值的圖表配置;
根據所述圖表配置信息生成多圖表布局并得出可視化圖形。
具體的,上述步驟實施中:
s1.首先將接收的輸入數(shù)據,按照預定義的數(shù)據結構描述規(guī)則進行處理,生成形式統(tǒng)一的數(shù)據結構描述信息以便于后續(xù)流程中進行數(shù)據結構特征提取操作和相應處理。本發(fā)明中該數(shù)據結構描述規(guī)則作為描述輸入數(shù)據本身信息內容的標準規(guī)則,基于xml(extensiblemarkuplanguage,可擴展標記語言)格式進行擴展,所有的輸入數(shù)據均抽象為行列形式,其中針對數(shù)據中的列信息進行如下內容的定義:
(1)列號,定義當前列在數(shù)據所有列中的序號;
(2)列名,定義當前列的原始名稱;
(3)列類型,定義當前列的數(shù)據類型,如時間、字符串、整型、浮點型、結構體等;
(4)列格式,定義當前列的數(shù)據格式,如針對時間的格式有yyyy-mm-dd等;
(5)列權重,定義當前列在數(shù)據所有列中的權重。
針對數(shù)據中的行信息進行如下內容的定義:
(6)行號,定義當前行在數(shù)據所有行中的序號。
故基于輸入數(shù)據本身內容,通過上述定義將數(shù)據轉換為抽象的行列形式,可詳細描述任意輸入數(shù)據的結構描述信息。
s2.依據生成的數(shù)據結構描述信息,來提取數(shù)據結構特征向量信息;數(shù)據結構特征向量信息是指數(shù)據結構辨識信息,特征指數(shù)據的數(shù)據類型與結構描述信息,由設定的映射函數(shù)將數(shù)據特征轉換為多維特征向量;數(shù)據結構特征向量信息也是后續(xù)圖表配置推薦的基礎。
在提取數(shù)據結構特征向量信息時,主要基于數(shù)據結構描述信息中的列信息,本發(fā)明實施例中,設定一套映射函數(shù)f(x),將輸入數(shù)據的結構描述信息x中的列信息映射為n維離散向量,其中n等于數(shù)據中列信息的總和,將此n維離散向量作為輸入數(shù)據結構的特征向量,可為后續(xù)流程提供識別基礎。該映射函數(shù)f(x)如下所示:
f(x)=(x[0],x[1],...,x[n]);
在該函數(shù)f(x)的內部以列類型、列格式與列權重作為映射函數(shù)的參數(shù),通過針對不同列類型和列格式計算離散值,可將數(shù)據映射為n維離散向量,同時列權重可用于針對特殊數(shù)據結構作加權干預與調整。
s3.將數(shù)據結構特征向量以及與之匹配的多種圖表配置存儲起來形成圖表配置與數(shù)據結構模型庫,根據提取的數(shù)據結構特征向量信息在模型庫中識別出與之相似的結構特征向量,基于識別得到的存儲在模型庫中的結構特征向量檢索,得到與該特性向量匹配度大于閾值的圖表配置信息。
將常見的數(shù)據結構特征向量以及與其匹配的多種圖表配置,其中包括二者之間的映射關系,存儲起來形成模型庫,為后續(xù)流程中相似度匹配提供特征樣本,供識別參考。所述圖表配置包括圖表類型以及通過使用一定信息壓縮的映射矩陣,可高效的進行關聯(lián)信息的存儲與檢索。
在模型庫中,數(shù)據結構特征的存儲形式為多維向量,圖表配置為nosql結構體,兩者能夠構建起一套稀疏矩陣圖,如圖2所示,為結構特征向量與圖表配置之間的相關指數(shù)(即匹配度)。
在匹配過程中,根據數(shù)據結構特征向量信息進行識別,再利用預設的算法進行檢索,在所述模型庫中檢索與識別的特征向量匹配度大于閾值的圖表配置,閾值根據實際情況設定。
本發(fā)明實施例中提供的兩套函數(shù):結構特征相似度識別函數(shù)f(x1,x2)和圖表配置推薦函數(shù)f(x,φ)。在數(shù)據結構特征相似度識別函數(shù)f(x1,x2)中,輸入參數(shù)x1、x2分別為所述提取的數(shù)據結構特征向量和參考向量,參考向量x2為數(shù)據庫中的結構特性向量,用于判斷步驟s2中得到的數(shù)據結構特征向量x1是否與之相似來達到識別的目的。
該函數(shù)結合歐氏距離與余弦相似度算法計算輸入的兩個結構特征向量的相似度并返回。該識別函數(shù)f(x1,x2)如下所示:
f(x1,x2)=d12*cos(θ);
其中,d12為x1、x2之間的距離,n為向量維度,k為參數(shù)序號。
d12值越小,兩個結構特征向量越相似,以此為基礎后續(xù)得到的結果越準確。
圖表配置推薦函數(shù)f(x,φ)的輸入參數(shù)為指定的結構特征向量(即上述需要識別的結構特征向量)與相似度閾值,該函數(shù)可通過在前述模型庫中查找與指定結構特征向量相似度高于指定閾值的所有特征向量,從而得出所有匹配的圖表配置信息。
在f(x,φ)函數(shù)中,φ作為相似度閾值,可依據實際場合進行調整,如設置為0.618,x為輸入的數(shù)據結構特征向量,具體查找步驟為:遍歷模型庫中的所有的數(shù)據結構特征向量x’,調用上述結構特征相似度識別函數(shù)計算x與x’的相似度,如果相似度超過閾值φ,則x’作為候選,直至遍歷結束;將所有候選x’依據其與x的相似度進行倒序排序,選擇相似度最大的x’所對應的圖表配置作為最終的推薦結果。
s4.預設圖像矩形定義以及空間切分與布局算法,根據上述得到的圖表配置信息,將配置的圖表生成多圖表布局。其中,圖像矩形定義規(guī)則進行了如下的描述:
(1)圖像的序號,以標記圖表的次序;
(2)圖像最小寬度,以標記圖表在布局中的最小寬度;
(3)圖像常規(guī)寬度,以標記圖表在布局中的常規(guī)寬度;
(4)圖像最小高度,以標記圖表在布局中的最小高度;
(5)圖像常規(guī)高度,以標記圖表在布局中的常規(guī)高度;
(6)圖像最小寬高比,以標記圖表在布局中的最小寬高比;
(7)圖像最大寬高比,以標記圖表在布局中的最大寬高比;
(8)圖像常規(guī)寬高比,以標記圖表在布局中的常規(guī)寬高比;
(9)圖像相關性系數(shù),以標記圖表間的相關性系數(shù)。
所述空間切分與布局算法提供一套函數(shù)f(x0,x1,...,xn),接受多個圖像矩形定義集合同時輸入,并依據所輸入的所有圖像矩形定義集合對全體圖表進行重新排布。最后將生成的多圖表布局繪制渲染得出全部可視化圖形。
函數(shù)具備如下執(zhí)行過程:將抽象的圖形空間(寬w高h)在水平方向與垂直方向上劃分為n和m等份,即形成nxm個寬為w=w/n高為h=h/m的子空間;每個子空間依據行列序號進行編碼,其中行序號記作i,取值從1至m,列序號記作j,取值從1至n,任意子空間可記作p(i,j);設置行游標ix與列游標jx,依次遍歷圖像矩形定義集合,并取出元素(即圖表),通過圖像矩形定義的寬和高判定圖表應占用的連續(xù)子空間規(guī)模,并以此來移動行列游標,最終計算出合適的行列游標,以及待占用的子空間,并將所占用的子空間均標記為已占用,繼續(xù)下一個元素重復過程,直到遍歷完成,對全體圖表進行排布,生成多圖表布局,多圖表布局進行繪制渲染得出全部可視化圖形。
第二方面,本發(fā)明還提供了一種基于數(shù)據結構識別的自動化可視化呈現(xiàn)系統(tǒng),如圖3、4所示,包括:
結構信息描述生成模塊1:被配置為接收數(shù)據輸入,通過數(shù)據結構描述規(guī)則生成輸入數(shù)據的數(shù)據結構描述信息;
數(shù)據結構特征提取模塊2:被配置為根據數(shù)據結構描述信息,提取數(shù)據的結構特征向量信息。生成數(shù)據結構描述信息后,數(shù)據結構特征提取模塊被調用,通過對輸入數(shù)據的結構描述信息進行特征抽取,主要基于結構描述信息的列信息,通過映射函數(shù)生成離散的多為特征向量信息序列輸出;執(zhí)行上述步驟s2。
圖表配置與數(shù)據結構模型庫3:被配置為存儲數(shù)據結構特征向量以及與之匹配的多種圖表配置,其中包括二者之間的相關指數(shù)(即匹配度);圖表配置包括圖表類型以及通過經一定信息壓縮的映射矩陣,來與相匹配的結構特征向量進行關聯(lián)映射,一個結構特征向量可能對應多種圖表類型。
數(shù)據結構特征相似度識別與推薦模塊4:被配置為對提取的數(shù)據結構特征向量信息進行識別,根據識別出的數(shù)據結構特征向量在所述模型庫中進行檢索匹配,并以此得出與該特性向量匹配度大于閾值的所有圖表配置。具體實施時,該模塊能夠對輸入數(shù)據生成的結構特征向量與模型庫中存儲的結構特征向量(下稱參考向量)進行相似度判斷,通過結構特征相似度識別函數(shù)進行識別,查找出在所述模型庫中與需要識別的結構特征向量相似度最高的結構特征向量,然后基于存儲在模型庫中結構特征向量與圖表配置之間的相關性,通過圖表配置推薦函數(shù)得到與該識別得到的參考向量匹配的所有圖表配置信息。如果輸入數(shù)據生成的結構特征向量與數(shù)據庫存儲的某結構特征向量相似度越高,則以此最終得到的圖表配置信息越準確,具體相似度識別與推薦過程參考上述步驟s3。
自動化布局模塊5:被配置為將得出的所有圖表配置信息生成多圖表布局;具體實施時,該模塊對數(shù)據結構特征相似度識別與推薦模塊匹配出的所有圖表進行圖像矩形定義,以此通過空間切分與布局算法對所有圖表進行重新排布,參考上述步驟s4。
圖表呈現(xiàn)模塊6:被配置為對所述多圖表布局進行可視化呈現(xiàn),將上述重新布局的多圖表進行繪制渲染得出全部可視化圖形,圖表的繪制渲染是本領域成熟技術,此處不做贅述。
本發(fā)明系統(tǒng)中還包括人機交互界面7,以提供完整的圖形化界面供用戶進行數(shù)據輸入,并調用自動化布局模塊和圖表呈現(xiàn)模塊完成圖表的自動化布局與呈現(xiàn),實現(xiàn)人機交互功能。
本發(fā)明的基于數(shù)據結構識別的自動化可視化呈現(xiàn)系統(tǒng)構思巧妙、合理,操作方便,可基于識別與匹配技術實現(xiàn)計算機對任意數(shù)據結果自動化選擇可視化表現(xiàn)形式,從而避免了較多專業(yè)性知識要求與復雜配置對用戶所造成的使用問題,在數(shù)據分析產品中應用,可極大地降低用戶操作難度,提高數(shù)據圖表使用的準確性、合理性與有效性。
以上所述僅是本發(fā)明的優(yōu)選實施方式,應當指出,對于本技術領域的普通技術人員來說,在不脫離本發(fā)明原理的前提下,還可以做出若干改進和潤飾,這些改進和潤飾也應視為本發(fā)明的保護范圍。