本發(fā)明總體說來涉及人工智能領(lǐng)域,更具體地說,涉及一種執(zhí)行機器學(xué)習(xí)流程的方法及系統(tǒng)。
背景技術(shù):
隨著海量數(shù)據(jù)的出現(xiàn),人工智能技術(shù)得到了迅速發(fā)展,其中,機器學(xué)習(xí)技術(shù)普遍被用于從海量的數(shù)據(jù)記錄(例如,金融數(shù)據(jù)、互聯(lián)網(wǎng)數(shù)據(jù)等)中挖掘出有益的價值,
然而,人工智能技術(shù)應(yīng)用的一大難題在于缺少有效易用的機器學(xué)習(xí)工具,很多現(xiàn)有的機器學(xué)習(xí)平臺都僅面向精通機器學(xué)習(xí)技術(shù)的使用者,并且,由于機器學(xué)習(xí)往往所針對的是海量復(fù)雜數(shù)據(jù)和復(fù)雜數(shù)據(jù)運算,因此,即便是精通機器學(xué)習(xí)技術(shù)的使用者也難以有效地操作目前的機器學(xué)習(xí)工具。實際上,要想培養(yǎng)出精通機器學(xué)習(xí)的技術(shù)專家,需要花費大量的時間和精力,這使得人工智能技術(shù)的應(yīng)用存在較高的人才門檻。另一方面,機器學(xué)習(xí)模型的預(yù)測效果與模型的選擇、可用的數(shù)據(jù)和特征的提取等都有關(guān)系,例如,在確定特征提取方式的過程中,往往不僅需要掌握機器學(xué)習(xí)的技術(shù)知識,還需要對實際預(yù)測問題有深入的理解,而預(yù)測問題往往結(jié)合著不同行業(yè)的不同實踐經(jīng)驗,導(dǎo)致很難僅依靠技術(shù)專家來達到滿意的機器學(xué)習(xí)效果??梢钥闯?,機器學(xué)習(xí)工具需要在操作性上有所改進,以幫助不同用戶更好地執(zhí)行機器學(xué)習(xí)流程。
作為示例,Azure Machine Learning(簡稱“AML”)是微軟在其公有云Azure上推出的基于Web使用的一項機器學(xué)習(xí)服務(wù),該產(chǎn)品的目標是簡化使用機器學(xué)習(xí)的過程,以便于開發(fā)人員、業(yè)務(wù)分析師和數(shù)據(jù)科學(xué)家進行廣泛、便捷地應(yīng)用。
在AML中,用戶可通過DAG(有向無環(huán)圖)來完成機器學(xué)習(xí)流程中各個機器學(xué)習(xí)任務(wù)(例如,數(shù)據(jù)導(dǎo)入、數(shù)據(jù)格式轉(zhuǎn)換、數(shù)據(jù)變換、特征抽取、模型訓(xùn)練等)的配置,其中,在用戶選擇運行DAG中的特定頂點之后,該頂點所代表的機器學(xué)習(xí)任務(wù)將被執(zhí)行,并且,作為執(zhí)行結(jié)果而得到的數(shù)據(jù)的字段名稱被顯示在屏幕上。
具體說來,參照圖1A,在AML中建立的機器學(xué)習(xí)流程可包括諸如成人調(diào)查收入表的導(dǎo)入(Adult Census Income Binary)、選擇數(shù)據(jù)集中的列(Select Columns in Dataset)和清理丟失數(shù)據(jù)(Clean Missing Data)等機器學(xué)習(xí)任務(wù),其中,在完成了對“選擇數(shù)據(jù)集中的列”的配置之后,可開始配置下游機器學(xué)習(xí)任務(wù)“清理丟失數(shù)據(jù)”。
然而,如圖1B中所示,由于之前的“選擇數(shù)據(jù)集中的列”這一任務(wù)沒有執(zhí)行,所以無法按照字段名稱來配置“清理丟失數(shù)據(jù)”,相應(yīng)地,在屏幕上顯示了提醒消息“將在執(zhí)行實驗之后啟用基于名稱的列選擇(Name-based column selection will be enabled after running the experiment)”。
在圖1C中,可以看出,通過點擊屏幕下方的“RUN”而實際執(zhí)行了機器學(xué)習(xí)任務(wù)“選擇數(shù)據(jù)集中的列”。相應(yīng)地,在圖1D中,下游機器學(xué)習(xí)任務(wù)“清理丟失數(shù)據(jù)”變得能夠基于名稱來進行相應(yīng)的配置。
可以看出,在AML中,在配置機器學(xué)習(xí)流程的過程中,用戶無法預(yù)先了解到任何關(guān)于經(jīng)過各個機器學(xué)習(xí)任務(wù)處理后所得到的數(shù)據(jù)字段的信息,只有在相應(yīng)機器學(xué)習(xí)任務(wù)被實際執(zhí)行之后,才能知曉結(jié)果數(shù)據(jù)的字段名稱。然而,由于機器學(xué)習(xí)過程常常涉及海量數(shù)據(jù),執(zhí)行機器學(xué)習(xí)任務(wù)將花費大量的時間和計算資源,這使得無法及時有效地獲取或利用各階段的數(shù)據(jù)屬性信息。
技術(shù)實現(xiàn)要素:
本發(fā)明的示例性實施例旨在克服現(xiàn)有技術(shù)中在執(zhí)行機器學(xué)習(xí)流程時無法及時有效地獲取數(shù)據(jù)屬性信息的缺陷。
根據(jù)本發(fā)明的示例性實施例,提供一種執(zhí)行機器學(xué)習(xí)流程的方法,包括:(A)向用戶展示用于配置機器學(xué)習(xí)任務(wù)的圖形界面并檢測用戶通過圖形界面執(zhí)行的輸入操作,其中,機器學(xué)習(xí)任務(wù)用于執(zhí)行機器學(xué)習(xí)流程所包括的數(shù)據(jù)處理;(B)根據(jù)檢測到的用戶通過所述圖形界面執(zhí)行的輸入操作來配置所述機器學(xué)習(xí)任務(wù);以及(C)在不執(zhí)行配置的所述機器學(xué)習(xí)任務(wù)的情況下,推斷與所述機器學(xué)習(xí)任務(wù)有關(guān)的數(shù)據(jù)屬性信息,其中,數(shù)據(jù)屬性信息包括數(shù)據(jù)屬性字段的名稱和/或數(shù)據(jù)類型。
可選地,所述方法還包括:(D)向用戶展示在步驟(C)推斷出的數(shù)據(jù)屬性信息。
可選地,在所述方法中,在步驟(C)中,推斷出的數(shù)據(jù)屬性信息是所述機器學(xué)習(xí)任務(wù)的輸入數(shù)據(jù)、輸出數(shù)據(jù)和/或中間處理數(shù)據(jù)的數(shù)據(jù)屬性信息。
可選地,所述方法還包括:(E)向用戶展示用于配置以所述機器學(xué)習(xí)任務(wù)為上游機器學(xué)習(xí)任務(wù)的下游機器學(xué)習(xí)任務(wù)的圖形界面并檢測用戶通過所述圖形界面執(zhí)行的輸入操作;(F)根據(jù)檢測到的用戶通過所述圖形界面執(zhí)行的輸入操作來配置所述下游機器學(xué)習(xí)任務(wù);(G)基于在步驟(C)推斷出的數(shù)據(jù)屬性信息來檢驗所述下游機器學(xué)習(xí)任務(wù)的配置。
可選地,在所述方法中,在步驟(E)中,在圖形界面中向用戶展示在步驟(C)推斷出的數(shù)據(jù)屬性信息,使得用戶基于展示的數(shù)據(jù)屬性信息來配置所述下游機器學(xué)習(xí)任務(wù)。
可選地,在所述方法中,響應(yīng)于所述機器學(xué)習(xí)任務(wù)的配置結(jié)束來自動執(zhí)行步驟(C),或者,響應(yīng)于以所述機器學(xué)習(xí)任務(wù)為上游機器學(xué)習(xí)任務(wù)的下游機器學(xué)習(xí)任務(wù)的配置開始來自動執(zhí)行步驟(C),或者,響應(yīng)于用戶的推斷指示來執(zhí)行步驟(C)。
可選地,在所述方法中,機器學(xué)習(xí)任務(wù)被實現(xiàn)為有向無環(huán)圖中的可配置頂點,其中,響應(yīng)于所述機器學(xué)習(xí)任務(wù)的配置結(jié)束來自動執(zhí)行步驟(C),并且,在用戶連接代表配置的所述機器學(xué)習(xí)任務(wù)的可配置頂點與代表以所述機器學(xué)習(xí)任務(wù)為上游機器學(xué)習(xí)任務(wù)的下游機器學(xué)習(xí)任務(wù)的可配置頂點時自動執(zhí)行步驟(D)。
可選地,所述方法還包括:(H)根據(jù)用戶的執(zhí)行指示來執(zhí)行一個或多個配置的機器學(xué)習(xí)任務(wù)。
可選地,在所述方法中,在步驟(C)中,通過解釋所述機器學(xué)習(xí)任務(wù)的執(zhí)行指令和/或通過針對從所述機器學(xué)習(xí)任務(wù)的輸入數(shù)據(jù)之中抽取的抽樣數(shù)據(jù)執(zhí)行所述執(zhí)行指令來推斷所述機器學(xué)習(xí)任務(wù)的中間處理數(shù)據(jù)和/或輸出數(shù)據(jù)的數(shù)據(jù)屬性信息。
根據(jù)本發(fā)明的另一示例性實施例,提供一種執(zhí)行機器學(xué)習(xí)流程的系統(tǒng),包括:顯示裝置,用于向用戶展示用于配置機器學(xué)習(xí)任務(wù)的圖形界面,其中,機器學(xué)習(xí)任務(wù)用于執(zhí)行機器學(xué)習(xí)流程所包括的數(shù)據(jù)處理;檢測裝置,用于檢測用戶通過圖形界面執(zhí)行的輸入操作;配置裝置,用于根據(jù)檢測到的用戶通過所述圖形界面執(zhí)行的輸入操作來配置所述機器學(xué)習(xí)任務(wù);以及推斷裝置,用于在不執(zhí)行配置的所述機器學(xué)習(xí)任務(wù)的情況下,推斷與所述機器學(xué)習(xí)任務(wù)有關(guān)的數(shù)據(jù)屬性信息,其中,數(shù)據(jù)屬性信息包括數(shù)據(jù)屬性字段的名稱和/或數(shù)據(jù)類型。
可選地,在所述系統(tǒng)中,顯示裝置還向用戶展示由推斷裝置所推斷出的數(shù)據(jù)屬性信息。
可選地,在所述系統(tǒng)中,推斷裝置推斷出的數(shù)據(jù)屬性信息是所述機器學(xué)習(xí)任務(wù)的輸入數(shù)據(jù)、輸出數(shù)據(jù)和/或中間處理數(shù)據(jù)的數(shù)據(jù)屬性信息。
可選地,在所述系統(tǒng)中,顯示裝置還向用戶展示用于配置以所述機器學(xué)習(xí)任務(wù)為上游機器學(xué)習(xí)任務(wù)的下游機器學(xué)習(xí)任務(wù)的圖形界面;檢測裝置還檢測用戶通過所述圖形界面執(zhí)行的輸入操作;配置裝置根據(jù)檢測到的用戶通過所述圖形界面執(zhí)行的輸入操作來配置所述下游機器學(xué)習(xí)任務(wù);并且,配置裝置基于由推斷裝置所推斷出的與所述機器學(xué)習(xí)任務(wù)有關(guān)的數(shù)據(jù)屬性信息來檢驗所述下游機器學(xué)習(xí)任務(wù)的配置。
可選地,在所述系統(tǒng)中,顯示裝置在圖形界面中向用戶展示由推斷裝置所推斷出的與所述機器學(xué)習(xí)任務(wù)有關(guān)的數(shù)據(jù)屬性信息,使得用戶基于展示的數(shù)據(jù)屬性信息來配置所述下游機器學(xué)習(xí)任務(wù)。
可選地,在所述系統(tǒng)中,推斷裝置響應(yīng)于所述機器學(xué)習(xí)任務(wù)的配置結(jié)束來自動推斷與所述機器學(xué)習(xí)任務(wù)有關(guān)的數(shù)據(jù)屬性信息,或者,推斷裝置響應(yīng)于以所述機器學(xué)習(xí)任務(wù)為上游機器學(xué)習(xí)任務(wù)的下游機器學(xué)習(xí)任務(wù)的配置開始來自動推斷與所述機器學(xué)習(xí)任務(wù)有關(guān)的數(shù)據(jù)屬性信息,或者,推斷裝置響應(yīng)于用戶的推斷指示來推斷與所述機器學(xué)習(xí)任務(wù)有關(guān)的數(shù)據(jù)屬性信息。
可選地,在所述系統(tǒng)中,機器學(xué)習(xí)任務(wù)被實現(xiàn)為有向無環(huán)圖中的可配置頂點,其中,推斷裝置響應(yīng)于所述機器學(xué)習(xí)任務(wù)的配置結(jié)束來自動推斷與所述機器學(xué)習(xí)任務(wù)有關(guān)的數(shù)據(jù)屬性信息,并且,在用戶連接代表配置的所述機器學(xué)習(xí)任務(wù)的可配置頂點與代表以所述機器學(xué)習(xí)任務(wù)為上游機器學(xué)習(xí)任務(wù)的下游機器學(xué)習(xí)任務(wù)的可配置頂點時,顯示裝置自動向用戶展示由推斷裝置推斷出的與所述機器學(xué)習(xí)任務(wù)有關(guān)的數(shù)據(jù)屬性信息。
可選地,所述系統(tǒng)還包括:執(zhí)行裝置,用于根據(jù)用戶的執(zhí)行指示來執(zhí)行一個或多個配置的機器學(xué)習(xí)任務(wù)。
可選地,在所述系統(tǒng)中,配置裝置通過解釋所述機器學(xué)習(xí)任務(wù)的執(zhí)行指令和/或通過針對從所述機器學(xué)習(xí)任務(wù)的輸入數(shù)據(jù)之中抽取的抽樣數(shù)據(jù)執(zhí)行所述執(zhí)行指令來推斷所述機器學(xué)習(xí)任務(wù)的中間處理數(shù)據(jù)和/或輸出數(shù)據(jù)的數(shù)據(jù)屬性信息。
根據(jù)本發(fā)明的另一示例性實施例,提供一種用于執(zhí)行機器學(xué)習(xí)流程的計算機可讀介質(zhì),其中,在所述計算機可讀介質(zhì)上記錄有用于執(zhí)行以下步驟的計算機程序:(A)向用戶展示用于配置機器學(xué)習(xí)任務(wù)的圖形界面并檢測用戶通過圖形界面執(zhí)行的輸入操作,其中,機器學(xué)習(xí)任務(wù)用于執(zhí)行機器學(xué)習(xí)流程所包括的數(shù)據(jù)處理;(B)根據(jù)檢測到的用戶通過所述圖形界面執(zhí)行的輸入操作來配置所述機器學(xué)習(xí)任務(wù);以及(C)在不執(zhí)行配置的所述機器學(xué)習(xí)任務(wù)的情況下,推斷與所述機器學(xué)習(xí)任務(wù)有關(guān)的數(shù)據(jù)屬性信息,其中,數(shù)據(jù)屬性信息包括數(shù)據(jù)屬性字段的名稱和/或數(shù)據(jù)類型。
可選地,在所述計算機可讀介質(zhì)中,所述計算機程序還用于執(zhí)行步驟(D):向用戶展示在步驟(C)推斷出的數(shù)據(jù)屬性信息。
可選地,在所述計算機可讀介質(zhì)中,在步驟(C)中,推斷出的數(shù)據(jù)屬性信息是所述機器學(xué)習(xí)任務(wù)的輸入數(shù)據(jù)、輸出數(shù)據(jù)和/或中間處理數(shù)據(jù)的數(shù)據(jù)屬性信息。
可選地,在所述計算機可讀介質(zhì)中,所述計算機程序還用于執(zhí)行以下步驟:(E)向用戶展示用于配置以所述機器學(xué)習(xí)任務(wù)為上游機器學(xué)習(xí)任務(wù)的下游機器學(xué)習(xí)任務(wù)的圖形界面并檢測用戶通過所述圖形界面執(zhí)行的輸入操作;(F)根據(jù)檢測到的用戶通過所述圖形界面執(zhí)行的輸入操作來配置所述下游機器學(xué)習(xí)任務(wù);(G)基于在步驟(C)推斷出的數(shù)據(jù)屬性信息來檢驗所述下游機器學(xué)習(xí)任務(wù)的配置。
可選地,在所述計算機可讀介質(zhì)中,在步驟(E)中,在圖形界面中向用戶展示在步驟(C)推斷出的數(shù)據(jù)屬性信息,使得用戶基于展示的數(shù)據(jù)屬性信息來配置所述下游機器學(xué)習(xí)任務(wù)。
可選地,在所述計算機可讀介質(zhì)中,響應(yīng)于所述機器學(xué)習(xí)任務(wù)的配置結(jié)束來自動執(zhí)行步驟(C),或者,響應(yīng)于以所述機器學(xué)習(xí)任務(wù)為上游機器學(xué)習(xí)任務(wù)的下游機器學(xué)習(xí)任務(wù)的配置開始來自動執(zhí)行步驟(C),或者,響應(yīng)于用戶的推斷指示來執(zhí)行步驟(C)。
可選地,在所述計算機可讀介質(zhì)中,機器學(xué)習(xí)任務(wù)被實現(xiàn)為有向無環(huán)圖中的可配置頂點,其中,響應(yīng)于所述機器學(xué)習(xí)任務(wù)的配置結(jié)束來自動執(zhí)行步驟(C),并且,在用戶連接代表配置的所述機器學(xué)習(xí)任務(wù)的可配置頂點與代表以所述機器學(xué)習(xí)任務(wù)為上游機器學(xué)習(xí)任務(wù)的下游機器學(xué)習(xí)任務(wù)的可配置頂點時自動執(zhí)行步驟(D)。
可選地,在所述計算機可讀介質(zhì)中,所述計算機程序還用于執(zhí)行步驟(H):根據(jù)用戶的執(zhí)行指示來執(zhí)行一個或多個配置的機器學(xué)習(xí)任務(wù)。
可選地,在所述計算機可讀介質(zhì)中,在步驟(C)中,通過解釋所述機器學(xué)習(xí)任務(wù)的執(zhí)行指令和/或通過針對從所述機器學(xué)習(xí)任務(wù)的輸入數(shù)據(jù)之中抽取的抽樣數(shù)據(jù)執(zhí)行所述執(zhí)行指令來推斷所述機器學(xué)習(xí)任務(wù)的中間處理數(shù)據(jù)和/或輸出數(shù)據(jù)的數(shù)據(jù)屬性信息。
根據(jù)本發(fā)明的另一示例性實施例,提供一種執(zhí)行機器學(xué)習(xí)流程的計算裝置,包括存儲部件和處理器,存儲部件中存儲有計算機可執(zhí)行指令集合,當(dāng)所述計算機可執(zhí)行指令集合被所述處理器執(zhí)行時,執(zhí)行下述步驟:(A)向用戶展示用于配置機器學(xué)習(xí)任務(wù)的圖形界面并檢測用戶通過圖形界面執(zhí)行的輸入操作,其中,機器學(xué)習(xí)任務(wù)用于執(zhí)行機器學(xué)習(xí)流程所包括的數(shù)據(jù)處理;(B)根據(jù)檢測到的用戶通過所述圖形界面執(zhí)行的輸入操作來配置所述機器學(xué)習(xí)任務(wù);以及(C)在不執(zhí)行配置的所述機器學(xué)習(xí)任務(wù)的情況下,推斷與所述機器學(xué)習(xí)任務(wù)有關(guān)的數(shù)據(jù)屬性信息,其中,數(shù)據(jù)屬性信息包括數(shù)據(jù)屬性字段的名稱和/或數(shù)據(jù)類型。
可選地,在所述計算裝置中,當(dāng)所述計算機可執(zhí)行指令集合被所述處理器執(zhí)行時,還執(zhí)行步驟(D):向用戶展示在步驟(C)推斷出的數(shù)據(jù)屬性信息。
可選地,在所述計算裝置中,在步驟(C)中,推斷出的數(shù)據(jù)屬性信息是所述機器學(xué)習(xí)任務(wù)的輸入數(shù)據(jù)、輸出數(shù)據(jù)和/或中間處理數(shù)據(jù)的數(shù)據(jù)屬性信息。
可選地,在所述計算裝置中,當(dāng)所述計算機可執(zhí)行指令集合被所述處理器執(zhí)行時,還執(zhí)行以下步驟:(E)向用戶展示用于配置以所述機器學(xué)習(xí)任務(wù)為上游機器學(xué)習(xí)任務(wù)的下游機器學(xué)習(xí)任務(wù)的圖形界面并檢測用戶通過所述圖形界面執(zhí)行的輸入操作;(F)根據(jù)檢測到的用戶通過所述圖形界面執(zhí)行的輸入操作來配置所述下游機器學(xué)習(xí)任務(wù);(G)基于在步驟(C)推斷出的數(shù)據(jù)屬性信息來檢驗所述下游機器學(xué)習(xí)任務(wù)的配置。
可選地,在所述計算裝置中,在步驟(E)中,在圖形界面中向用戶展示在步驟(C)推斷出的數(shù)據(jù)屬性信息,使得用戶基于展示的數(shù)據(jù)屬性信息來配置所述下游機器學(xué)習(xí)任務(wù)。
可選地,在所述計算裝置中,響應(yīng)于所述機器學(xué)習(xí)任務(wù)的配置結(jié)束來自動執(zhí)行步驟(C),或者,響應(yīng)于以所述機器學(xué)習(xí)任務(wù)為上游機器學(xué)習(xí)任務(wù)的下游機器學(xué)習(xí)任務(wù)的配置開始來自動執(zhí)行步驟(C),或者,響應(yīng)于用戶的推斷指示來執(zhí)行步驟(C)。
可選地,在所述計算裝置中,機器學(xué)習(xí)任務(wù)被實現(xiàn)為有向無環(huán)圖中的可配置頂點,其中,響應(yīng)于所述機器學(xué)習(xí)任務(wù)的配置結(jié)束來自動執(zhí)行步驟(C),并且,在用戶連接代表配置的所述機器學(xué)習(xí)任務(wù)的可配置頂點與代表以所述機器學(xué)習(xí)任務(wù)為上游機器學(xué)習(xí)任務(wù)的下游機器學(xué)習(xí)任務(wù)的可配置頂點時自動執(zhí)行步驟(D)。
可選地,在所述計算裝置中,當(dāng)所述計算機可執(zhí)行指令集合被所述處理器執(zhí)行時,還執(zhí)行步驟(H):根據(jù)用戶的執(zhí)行指示來執(zhí)行一個或多個配置的機器學(xué)習(xí)任務(wù)。
可選地,在所述計算裝置中,在步驟(C)中,通過解釋所述機器學(xué)習(xí)任務(wù)的執(zhí)行指令和/或通過針對從所述機器學(xué)習(xí)任務(wù)的輸入數(shù)據(jù)之中抽取的抽樣數(shù)據(jù)執(zhí)行所述執(zhí)行指令來推斷所述機器學(xué)習(xí)任務(wù)的中間處理數(shù)據(jù)和/或輸出數(shù)據(jù)的數(shù)據(jù)屬性信息。
在根據(jù)本發(fā)明示例性實施例的執(zhí)行機器學(xué)習(xí)流程的方法和系統(tǒng)中,可在不執(zhí)行已經(jīng)配置的機器學(xué)習(xí)任務(wù)的情況下,推斷出與該機器學(xué)習(xí)任務(wù)有關(guān)的數(shù)據(jù)屬性信息,使得能夠花費較少資源和時間而有效地得到機器學(xué)習(xí)流程中各個階段的數(shù)據(jù)屬性信息,從而改善機器學(xué)習(xí)工具的可操作性。
附圖說明
從下面結(jié)合附圖對本發(fā)明實施例的詳細描述中,本發(fā)明的這些和/或其他方面和優(yōu)點將變得更加清楚并更容易理解,其中:
圖1A到圖1D示出現(xiàn)有技術(shù)的機器學(xué)習(xí)平臺中執(zhí)行機器學(xué)習(xí)流程的界面的示例;
圖2示出根據(jù)本發(fā)明示例性實施例的執(zhí)行機器學(xué)習(xí)流程的系統(tǒng)的框圖;
圖3示出根據(jù)本發(fā)明另一示例性實施例的執(zhí)行機器學(xué)習(xí)流程的系統(tǒng)的框圖;
圖4示出根據(jù)本發(fā)明示例性實施例的執(zhí)行機器學(xué)習(xí)流程的方法的流程圖;
圖5示出根據(jù)本發(fā)明另一示例性實施例的執(zhí)行機器學(xué)習(xí)流程的方法的流程圖;
圖6示出根據(jù)本發(fā)明另一示例性實施例的執(zhí)行機器學(xué)習(xí)流程的方法的流程圖;以及
圖7A到圖7F示出根據(jù)本發(fā)明示例性實施例的機器學(xué)習(xí)平臺中執(zhí)行機器學(xué)習(xí)流程的界面的示例。
具體實施方式
為了使本領(lǐng)域技術(shù)人員更好地理解本發(fā)明,下面結(jié)合附圖和具體實施方式對本發(fā)明的示例性實施例作進一步詳細說明。
在本發(fā)明的示例性實施例中,通過以下方式來執(zhí)行機器學(xué)習(xí)流程:在配置好機器學(xué)習(xí)流程中涉及的特定機器學(xué)習(xí)任務(wù)之后,推斷與該特定機器學(xué)習(xí)任務(wù)有關(guān)的數(shù)據(jù)屬性信息,使得可在不執(zhí)行該特定機器學(xué)習(xí)任務(wù)的情況下,花費較少計算資源和時間而預(yù)先得到機器學(xué)習(xí)流程中經(jīng)過各個處理環(huán)節(jié)后更新的數(shù)據(jù)屬性信息,以便在后續(xù)利用這些數(shù)據(jù)屬性信息,從而增強機器學(xué)習(xí)的易操作性。
這里,機器學(xué)習(xí)是人工智能研究發(fā)展到一定階段的必然產(chǎn)物,其致力于通過計算的手段,利用經(jīng)驗來改善系統(tǒng)自身的性能。在計算機系統(tǒng)中,“經(jīng)驗”通常以“數(shù)據(jù)”形式存在,這里,每條數(shù)據(jù)記錄可被看做關(guān)于一個事件或?qū)ο蟮拿枋?,對?yīng)于一個示例或樣例。在數(shù)據(jù)記錄中,包括反映事件或?qū)ο笤谀撤矫娴谋憩F(xiàn)或性質(zhì)的各個事項,這些事項可稱為“屬性”。通過機器學(xué)習(xí)算法,可從數(shù)據(jù)中產(chǎn)生“模型”,也就是說,將經(jīng)驗數(shù)據(jù)提供給機器學(xué)習(xí)算法,就能基于這些經(jīng)驗數(shù)據(jù)產(chǎn)生模型,在面對新的情況時,模型會提供相應(yīng)的判斷,即,預(yù)測結(jié)果。機器學(xué)習(xí)可被實現(xiàn)為“有監(jiān)督學(xué)習(xí)”、“無監(jiān)督學(xué)習(xí)”或“半監(jiān)督學(xué)習(xí)”的形式,應(yīng)注意,本發(fā)明對具體的機器學(xué)習(xí)算法并不進行特定限制。此外,還應(yīng)注意,在訓(xùn)練和應(yīng)用模型的過程中,還可結(jié)合統(tǒng)計算法等其他手段。
圖2示出根據(jù)本發(fā)明示例性實施例的執(zhí)行機器學(xué)習(xí)流程的系統(tǒng)的框圖。具體說來,所述系統(tǒng)可以是基于C/S(客戶端/服務(wù)器)架構(gòu)、B/S(瀏覽器/服務(wù)器)架構(gòu)或單機運行的機器學(xué)習(xí)平臺,該機器學(xué)習(xí)平臺可包括機器學(xué)習(xí)模型的訓(xùn)練、測試和/或應(yīng)用等各種機器學(xué)習(xí)流程。上述流程所要處理的數(shù)據(jù)記錄可以是在線產(chǎn)生的數(shù)據(jù)、預(yù)先生成并存儲的數(shù)據(jù)、也可以是通過輸入裝置或傳輸媒介而從外部接收的數(shù)據(jù)。這些數(shù)據(jù)可涉及個人、企業(yè)或組織的信息,例如,身份、學(xué)歷、職業(yè)、資產(chǎn)、聯(lián)系方式、負債、收入、盈利、納稅等信息?;蛘?,這些數(shù)據(jù)也可涉及業(yè)務(wù)相關(guān)項目的信息,例如,關(guān)于買賣合同的交易額、交易雙方、標的物、交易地點等信息。應(yīng)注意,本發(fā)明的示例性實施例中提到的數(shù)據(jù)屬性信息可涉及任何對象或事務(wù)在某方面的表現(xiàn)或性質(zhì),而不限于對個人、物體、組織、單位、機構(gòu)、項目、事件等進行限定或描述。
這些數(shù)據(jù)可來源于期望執(zhí)行機器學(xué)習(xí)流程的實體內(nèi)部,例如,來源于期望獲取機器學(xué)習(xí)結(jié)果的銀行、企業(yè)、學(xué)校等;這些數(shù)據(jù)也可來源于上述實體以外,例如,來源于數(shù)據(jù)提供商、互聯(lián)網(wǎng)(例如,社交網(wǎng)站)、移動運營商、APP運營商、快遞公司、信用機構(gòu)等??蛇x地,上述內(nèi)部數(shù)據(jù)和外部數(shù)據(jù)可組合使用,以形成攜帶更多信息的機器學(xué)習(xí)樣本。
在根據(jù)本發(fā)明示例性實施例的系統(tǒng)中,可通過圖形化的方式來配置機器學(xué)習(xí)流程(該機器學(xué)習(xí)流程由一個或多個機器學(xué)習(xí)任務(wù)所組成),并且,可在不實際執(zhí)行配置好的機器學(xué)習(xí)任務(wù)的情況下,有效地得到相關(guān)的數(shù)據(jù)屬性信息。圖2所示的系統(tǒng)可全部通過計算機程序以軟件方式來實現(xiàn),也可由專門的硬件裝置來實現(xiàn),還可通過軟硬件結(jié)合的方式來實現(xiàn)。相應(yīng)地,組成圖2所示的系統(tǒng)的各個裝置可以是僅依靠計算機程序來實現(xiàn)相應(yīng)功能的虛擬模塊,也可以是依靠硬件結(jié)構(gòu)來實現(xiàn)所述功能的通用或?qū)S闷骷€可以是運行有相應(yīng)計算機程序的硬件裝置等。
如圖2所示,顯示裝置100用于向用戶展示用于配置機器學(xué)習(xí)任務(wù)的圖形界面,其中,機器學(xué)習(xí)任務(wù)用于執(zhí)行機器學(xué)習(xí)流程所包括的數(shù)據(jù)處理。具體說來,機器學(xué)習(xí)流程可由一個或多個可執(zhí)行的機器學(xué)習(xí)任務(wù)組成,這些機器學(xué)習(xí)任務(wù)可執(zhí)行諸如數(shù)據(jù)拆分、特征提取、特征重要性分析、模型訓(xùn)練、模型預(yù)測、模型評估等數(shù)據(jù)處理。從執(zhí)行順序和/或數(shù)據(jù)流向上來看,各個機器學(xué)習(xí)任務(wù)之間的相對關(guān)系可表述為上游機器學(xué)習(xí)任務(wù)和下游機器學(xué)習(xí)任務(wù),通常說來,下游機器學(xué)習(xí)任務(wù)位于上游機器學(xué)習(xí)任務(wù)之后,并且,上游機器學(xué)習(xí)任務(wù)的至少部分輸出數(shù)據(jù)可作為下游機器學(xué)習(xí)任務(wù)的至少部分輸入數(shù)據(jù)。此外,從實現(xiàn)方式上看,這些機器學(xué)習(xí)任務(wù)可以是用戶能夠通過選擇操作來完成配置的可執(zhí)行任務(wù),也可以是用戶能夠利用SQL(結(jié)構(gòu)化查詢語言)或PySpark(Spark Python API)進行編寫的可執(zhí)行任務(wù)。
在顯示裝置100顯示的圖形界面中,可包括用于配置機器學(xué)習(xí)任務(wù)的各種元素,這樣,通過檢測用戶在所述圖形界面上執(zhí)行的輸入操作,即可相應(yīng)地配置有關(guān)的機器學(xué)習(xí)任務(wù)。
檢測裝置200用于檢測用戶通過圖形界面執(zhí)行的輸入操作。這里,用戶可通過諸如鼠標、鍵盤、手勢、觸摸、語音、動作等各種方式來執(zhí)行輸入操作,相應(yīng)地,檢測裝置200可通過相應(yīng)的感測手段來檢測到用戶針對圖形界面所執(zhí)行的各種輸入操作。
作為示例,顯示裝置100可以是具有觸摸功能的顯示屏,在這種情況下,檢測裝置200可集成在顯示裝置100中,相應(yīng)地,用戶可通過在顯示的圖形界面上執(zhí)行觸摸操作來完成機器學(xué)習(xí)任務(wù)的配置。
配置裝置300用于根據(jù)檢測到的用戶通過所述圖形界面執(zhí)行的輸入操作來配置所述機器學(xué)習(xí)任務(wù)。具體說來,檢測裝置200可將檢測到的用戶輸入操作傳送給配置裝置300,相應(yīng)地,配置裝置300可確定這些輸入操作的含義,并根據(jù)確定結(jié)果來完成機器學(xué)習(xí)任務(wù)的配置,例如,機器學(xué)習(xí)任務(wù)的輸入數(shù)據(jù)、執(zhí)行參數(shù)、輸出結(jié)果顯示等。
推斷裝置400用于在不執(zhí)行配置的所述機器學(xué)習(xí)任務(wù)的情況下,推斷與所述機器學(xué)習(xí)任務(wù)有關(guān)的數(shù)據(jù)屬性信息,其中,數(shù)據(jù)屬性信息包括數(shù)據(jù)屬性字段的名稱和/或數(shù)據(jù)類型。
具體說來,推斷裝置400不需要實際執(zhí)行配置好的機器學(xué)習(xí)任務(wù),即,不需要按照配置的執(zhí)行參數(shù),通過相應(yīng)的執(zhí)行指令來實際處理所配置的輸入數(shù)據(jù),而是僅預(yù)先推斷出與配置好的機器學(xué)習(xí)任務(wù)有關(guān)的數(shù)據(jù)屬性信息。這里,數(shù)據(jù)屬性信息可以是關(guān)于相關(guān)數(shù)據(jù)屬性的任何信息,例如,可以是屬性字段的名稱,或者,可以是屬性字段的數(shù)據(jù)類型,或者,還可以同時包括字段名稱和數(shù)據(jù)類型兩者。
這里,推斷裝置400可在任何適當(dāng)?shù)臅r機或觸發(fā)下開始進行推斷操作。作為示例,為了提高操作的便利性,推斷裝置400可在適當(dāng)?shù)臅r機自動地執(zhí)行推斷操作,例如,推斷裝置400可響應(yīng)于所述機器學(xué)習(xí)任務(wù)的配置結(jié)束來自動推斷與所述機器學(xué)習(xí)任務(wù)有關(guān)的數(shù)據(jù)屬性信息,或者,推斷裝置400可響應(yīng)于以所述機器學(xué)習(xí)任務(wù)為上游機器學(xué)習(xí)任務(wù)的下游機器學(xué)習(xí)任務(wù)的配置開始來自動推斷與所述機器學(xué)習(xí)任務(wù)有關(guān)的數(shù)據(jù)屬性信息。然而,應(yīng)理解,本發(fā)明并非受限于此,作為可選方式,推斷裝置400可響應(yīng)于用戶的推斷指示來推斷與所述機器學(xué)習(xí)任務(wù)有關(guān)的數(shù)據(jù)屬性信息。
例如,在當(dāng)前機器學(xué)習(xí)任務(wù)的配置結(jié)束(例如,用戶點擊了確認當(dāng)前機器學(xué)習(xí)任務(wù)的配置完成的按鈕并相應(yīng)地完成了機器學(xué)習(xí)任務(wù)的實際配置)時,推斷裝置400可自動執(zhí)行推斷操作;或者,當(dāng)緊接在當(dāng)前機器學(xué)習(xí)任務(wù)之后的下一機器學(xué)習(xí)任務(wù)的配置開始(例如,用戶新建了下游機器學(xué)習(xí)任務(wù))時,推斷裝置400可自動執(zhí)行針對所述當(dāng)前機器學(xué)習(xí)任務(wù)的推斷操作。或者,當(dāng)用戶手動作出推斷指示(例如,用戶點擊了專門設(shè)置的啟動推斷操作的按鈕)時,推斷裝置400可相應(yīng)地執(zhí)行推斷操作。
此外,根據(jù)本發(fā)明的示例性實施例,推斷裝置400可推斷出與機器學(xué)習(xí)任務(wù)有關(guān)的各種數(shù)據(jù)屬性信息,作為示例,這些數(shù)據(jù)屬性信息可涉及機器學(xué)習(xí)任務(wù)的處理數(shù)據(jù)(例如,輸入數(shù)據(jù)、輸出數(shù)據(jù)或中間處理數(shù)據(jù)),也就是說,推斷裝置400可將所述機器學(xué)習(xí)任務(wù)的輸入數(shù)據(jù)、輸出數(shù)據(jù)和/或中間處理數(shù)據(jù)的數(shù)據(jù)屬性信息推斷為與所述機器學(xué)習(xí)任務(wù)有關(guān)的數(shù)據(jù)屬性信息。此外,數(shù)據(jù)屬性信息也可以涉及其他任何與機器學(xué)習(xí)任務(wù)有關(guān)的數(shù)據(jù),也就是說,在機器學(xué)習(xí)任務(wù)被配置的情況下,能夠由推斷裝置40根據(jù)機器學(xué)習(xí)任務(wù)的配置或響應(yīng)于機器學(xué)習(xí)任務(wù)被配置而推斷出的任何相關(guān)數(shù)據(jù)屬性信息均可應(yīng)用于本發(fā)明的示例性實施例。
根據(jù)本發(fā)明的示例性實施例,除了按照預(yù)先的設(shè)置來直接推斷相應(yīng)的數(shù)據(jù)屬性信息之外,還可根據(jù)各種機器學(xué)習(xí)任務(wù)各自的特性或在整個機器學(xué)習(xí)流程中的位置,靈活地設(shè)置不同的推斷機制。作為示例,推斷裝置40可根據(jù)機器學(xué)習(xí)任務(wù)的類型來相應(yīng)地推斷出有關(guān)的數(shù)據(jù)屬性信息。也就是說,從整個機器學(xué)習(xí)流程來看,針對不同類型的機器學(xué)習(xí)任務(wù),可按照不同的機制來推斷相應(yīng)的數(shù)據(jù)屬性信息,以便從不同的角度增強系統(tǒng)的易操作性。
例如,推斷裝置400可根據(jù)所述機器學(xué)習(xí)任務(wù)的類型,選擇性地將所述機器學(xué)習(xí)任務(wù)的輸入數(shù)據(jù)、輸出數(shù)據(jù)和/或中間處理數(shù)據(jù)的數(shù)據(jù)屬性信息推斷為與所述機器學(xué)習(xí)任務(wù)有關(guān)的數(shù)據(jù)屬性信息。
作為示例,對于某些機器學(xué)習(xí)任務(wù)而言,其輸出的每條數(shù)據(jù)記錄的各個屬性字段中可能只有一部分將按照原有的格式來參與后續(xù)的機器學(xué)習(xí)處理,為此,下游機器學(xué)習(xí)任務(wù)會需要從作為上游機器學(xué)習(xí)任務(wù)的所述某些機器學(xué)習(xí)任務(wù)所輸出的數(shù)據(jù)記錄的所有字段中選取一部分。在這種情況下,推斷裝置400可根據(jù)當(dāng)前機器學(xué)習(xí)任務(wù)的配置推斷出其輸出數(shù)據(jù)的全部數(shù)據(jù)屬性信息(例如,各個字段名稱和/或數(shù)據(jù)類型),以便預(yù)先展示給用戶,使得用戶能夠有效地從中選擇一部分數(shù)據(jù)屬性字段參與下游機器學(xué)習(xí)任務(wù);或者,用戶可在不參照任何展示的數(shù)據(jù)字段的情況下通過編寫代碼等方式來選擇一部分數(shù)據(jù)屬性字段,在這種情況下,推斷出的屬性信息還可用于檢驗下游機器學(xué)習(xí)任務(wù)的配置(即,選擇數(shù)據(jù)屬性字段的代碼)是否符合規(guī)范。
然而,應(yīng)理解:上述示例并非用于限制本發(fā)明示例性示例的范圍,本領(lǐng)域技術(shù)人員可根據(jù)應(yīng)用的場景來靈活地設(shè)置推斷哪些數(shù)據(jù)的數(shù)據(jù)屬性信息,例如,如果當(dāng)前機器學(xué)習(xí)任務(wù)對輸入數(shù)據(jù)的處理不僅涉及字段的篩選,還涉及格式的轉(zhuǎn)換(例如,轉(zhuǎn)換為key-value(鍵值對)格式),在這種情況下,由于key-value格式可讀性差,而用戶在配置下游機器學(xué)習(xí)任務(wù)時會希望能夠觀察到篩選字段的原始格式,為此,推斷裝置400可根據(jù)當(dāng)前機器學(xué)習(xí)任務(wù)的配置推斷出其中間處理數(shù)據(jù)的數(shù)據(jù)屬性信息,即,原始格式下的篩選字段的名稱和/或數(shù)據(jù)類型。
同樣地,根據(jù)需要,推斷裝置400還可根據(jù)當(dāng)前機器學(xué)習(xí)任務(wù)的類型推斷出其輸入數(shù)據(jù)的數(shù)據(jù)屬性信息,以用于后續(xù)的機器學(xué)習(xí)任務(wù)。
此外,在執(zhí)行推斷操作時,推斷裝置400可依據(jù)機器學(xué)習(xí)任務(wù)自身的配置、以所述機器學(xué)習(xí)任務(wù)為上游機器學(xué)習(xí)任務(wù)的下游機器學(xué)習(xí)任務(wù)的配置、和/或所述上游機器學(xué)習(xí)任務(wù)與下游機器學(xué)習(xí)任務(wù)之間的關(guān)聯(lián)性等來推斷出相應(yīng)數(shù)據(jù)的屬性信息。
作為示例,推斷裝置400可采用原封不動的透傳方式將與先前的機器學(xué)習(xí)任務(wù)(例如,上一機器學(xué)習(xí)任務(wù))相應(yīng)的數(shù)據(jù)屬性信息直接作為當(dāng)前機器學(xué)習(xí)任務(wù)的數(shù)據(jù)屬性信息。
此外,推斷裝置400可通過解釋機器學(xué)習(xí)任務(wù)的執(zhí)行指令和/或通過針對從所述機器學(xué)習(xí)任務(wù)的輸入數(shù)據(jù)之中抽取的抽樣數(shù)據(jù)執(zhí)行所述執(zhí)行指令來推斷所述機器學(xué)習(xí)任務(wù)的中間處理數(shù)據(jù)和/或輸出數(shù)據(jù)的數(shù)據(jù)屬性信息。這里,推斷裝置400可采用單一的指令解釋或抽樣數(shù)據(jù)運行的方式來推斷出數(shù)據(jù)屬性信息,也可根據(jù)指令的復(fù)雜程度來動態(tài)地選擇上述兩種推斷方式之中的適合方式。
根據(jù)本發(fā)明的示例性實施例,由推斷裝置400所推斷出的數(shù)據(jù)屬性信息旨在提高機器學(xué)習(xí)過程的可操作性。
例如,顯示裝置100可還向用戶展示由推斷裝置400所推斷出的數(shù)據(jù)屬性信息,相應(yīng)地,用戶可通過展示的數(shù)據(jù)屬性信息來了解機器學(xué)習(xí)流程的各階段運行情況或者從展示的數(shù)據(jù)屬性信息中選擇下游機器學(xué)習(xí)任務(wù)的輸入數(shù)據(jù)。
如上所述,本領(lǐng)域技術(shù)人員可按照適當(dāng)?shù)姆绞絹碓O(shè)置推斷操作所產(chǎn)生的內(nèi)容以及執(zhí)行推斷操作的時機,并將推斷出的內(nèi)容進行展示。以按照有向無環(huán)圖來配置機器學(xué)習(xí)流程的情況作為示例,其中,機器學(xué)習(xí)任務(wù)可被實現(xiàn)為有向無環(huán)圖中的可配置頂點,相應(yīng)地,推斷裝置400可響應(yīng)于所述機器學(xué)習(xí)任務(wù)的配置結(jié)束來自動推斷與所述機器學(xué)習(xí)任務(wù)有關(guān)的數(shù)據(jù)屬性信息,并且,在用戶連接代表配置的所述機器學(xué)習(xí)任務(wù)的可配置頂點與代表以所述機器學(xué)習(xí)任務(wù)為上游機器學(xué)習(xí)任務(wù)的下游機器學(xué)習(xí)任務(wù)的可配置頂點時,顯示裝置100可自動向用戶展示由推斷裝置400推斷出的與所述機器學(xué)習(xí)任務(wù)有關(guān)的數(shù)據(jù)屬性信息。
此外,作為另一示例,所推斷出的數(shù)據(jù)屬性信息還可用于檢驗下游機器學(xué)習(xí)任務(wù)的配置。具體說來,顯示裝置100可還向用戶展示用于配置以所述機器學(xué)習(xí)任務(wù)為上游機器學(xué)習(xí)任務(wù)的下游機器學(xué)習(xí)任務(wù)的圖形界面,相應(yīng)地,檢測裝置200還檢測用戶通過上述圖形界面執(zhí)行的輸入操作,并且,配置裝置300根據(jù)檢測到的用戶通過所述圖形界面執(zhí)行的輸入操作來配置所述下游機器學(xué)習(xí)任務(wù);在這種情況下,配置裝置300可基于由推斷裝置400之前所推斷出的與上游機器學(xué)習(xí)任務(wù)有關(guān)的數(shù)據(jù)屬性信息來檢驗所述下游機器學(xué)習(xí)任務(wù)的配置。在該示例中可以看出,由于機器學(xué)習(xí)流程是多個機器學(xué)習(xí)任務(wù)相互連接而成的,因此,需要依次配置各個機器學(xué)習(xí)任務(wù),這里,配置各個機器學(xué)習(xí)任務(wù)的圖形界面可以相同或不同,典型地,圖形界面所包括的元素可大致相同,并且,部分元素可根據(jù)不同機器學(xué)習(xí)任務(wù)各自的特點而進行調(diào)整。在這種情況下,之前推斷出的上游機器學(xué)習(xí)任務(wù)的數(shù)據(jù)屬性信息可用于檢驗下游機器學(xué)習(xí)任務(wù)的配置,例如,可檢驗用戶在配置下游機器學(xué)習(xí)任務(wù)時編寫的代碼中是否輸入了正確的數(shù)據(jù)字段名稱、是否使用了正確的數(shù)據(jù)類型等。在上述示例中,作為優(yōu)選方式,顯示裝置100還可在圖形界面中向用戶展示由推斷裝置400之前所推斷出的與上游機器學(xué)習(xí)任務(wù)有關(guān)的數(shù)據(jù)屬性信息,使得用戶可參考展示的數(shù)據(jù)屬性信息來編寫下游機器學(xué)習(xí)任務(wù)的配置項。也就是說,推斷出的上游機器學(xué)習(xí)任務(wù)的數(shù)據(jù)屬性信息既可用作用戶配置下游機器學(xué)習(xí)任務(wù)時的參照內(nèi)容,也可用作檢驗下游機器學(xué)習(xí)任務(wù)的配置的基礎(chǔ)。
圖3示出根據(jù)本發(fā)明另一示例性實施例的執(zhí)行機器學(xué)習(xí)流程的系統(tǒng)的框圖。在圖3所示的系統(tǒng)中,除了上述顯示裝置100、檢測裝置200、配置裝置300和推斷裝置400之外,還包括執(zhí)行裝置500。
具體說來,在圖3所示的系統(tǒng)中,顯示裝置100、檢測裝置200、配置裝置300和推斷裝置400可按照在圖2所示的系統(tǒng)中的方式進行操作。此外,執(zhí)行裝置500可根據(jù)用戶的執(zhí)行指示來執(zhí)行一個或多個配置的機器學(xué)習(xí)任務(wù)。
這里,執(zhí)行裝置500可用于執(zhí)行整個機器學(xué)習(xí)流程,或其中的一個或多個機器學(xué)習(xí)任務(wù)。具體說來,當(dāng)用戶針對特定的一個或多個配置好的機器學(xué)習(xí)任務(wù)作出執(zhí)行指示(例如,按下執(zhí)行按鈕)時,執(zhí)行裝置500可執(zhí)行所述一個或多個配置好的機器學(xué)習(xí)任務(wù);而當(dāng)用戶針對配置好的整個機器學(xué)習(xí)流程作出執(zhí)行指示(例如,按下執(zhí)行按鈕)時,執(zhí)行裝置500可執(zhí)行整個機器學(xué)習(xí)流程。
應(yīng)理解,上述裝置可被分別配置為執(zhí)行特定功能的軟件、硬件、固件或上述項的任意組合。例如,這些裝置可對應(yīng)于專用的集成電路,也可對應(yīng)于純粹的軟件代碼,還可對應(yīng)于軟件與硬件相結(jié)合的單元或模塊。此外,這些裝置所實現(xiàn)的一個或多個功能也可由物理實體設(shè)備(例如,處理器、客戶端或服務(wù)器等)中的組件來統(tǒng)一執(zhí)行。
以下參照圖4來描述根據(jù)本發(fā)明示例性實施例的執(zhí)行機器學(xué)習(xí)流程的方法的流程圖。這里,作為示例,圖4所示的方法可由圖2所示的系統(tǒng)來執(zhí)行,也可完全通過計算機程序以軟件方式實現(xiàn),還可通過特定配置的計算裝置來執(zhí)行圖4所示的方法。為了描述方便,假設(shè)圖4所示的方法由圖2所示的系統(tǒng)來執(zhí)行。
這里,機器學(xué)習(xí)過程可基于采集的數(shù)據(jù)來執(zhí)行,其中,數(shù)據(jù)采集(或?qū)?的操作可在機器學(xué)習(xí)流程之外被預(yù)先執(zhí)行,也可作為機器學(xué)習(xí)流程中的第一個機器學(xué)習(xí)任務(wù)而執(zhí)行。
這里,作為示例,可通過手動、半自動或全自動的方式來采集數(shù)據(jù),或?qū)Σ杉脑紨?shù)據(jù)進行處理,使得處理后的數(shù)據(jù)記錄具有適當(dāng)?shù)母袷交蛐问健W鳛槭纠?,可批量地采集?shù)據(jù)。這里,可通過輸入裝置(例如,工作站)接收用戶手動輸入的數(shù)據(jù)記錄。此外,可通過全自動的方式從數(shù)據(jù)源系統(tǒng)地取出數(shù)據(jù)記錄,例如,通過以軟件、固件、硬件或其組合實現(xiàn)的定時器機制來系統(tǒng)地請求數(shù)據(jù)源并從響應(yīng)中得到所請求的數(shù)據(jù)。所述數(shù)據(jù)源可包括一個或多個數(shù)據(jù)庫或其他服務(wù)器。可經(jīng)由內(nèi)部網(wǎng)絡(luò)和/或外部網(wǎng)絡(luò)來實現(xiàn)全自動獲取數(shù)據(jù)的方式,其中可包括通過互聯(lián)網(wǎng)來傳送加密的數(shù)據(jù)。在服務(wù)器、數(shù)據(jù)庫、網(wǎng)絡(luò)等被配置為彼此通信的情況下,可在沒有人工干預(yù)的情況下自動進行數(shù)據(jù)采集,但應(yīng)注意,在這種方式下仍舊可存在一定的用戶輸入操作。半自動方式介于手動方式與全自動方式之間。半自動方式與全自動方式的區(qū)別在于由用戶激活的觸發(fā)機制代替了例如定時器機制。在這種情況下,在接收到特定的用戶輸入的情況下,才產(chǎn)生提取數(shù)據(jù)的請求。每次獲取數(shù)據(jù)時,優(yōu)選地,可將捕獲的數(shù)據(jù)存儲在非易失性存儲器中。作為示例,可利用數(shù)據(jù)倉庫來存儲在獲取期間采集的原始數(shù)據(jù)以及處理后的數(shù)據(jù)。
可從相同或不同的數(shù)據(jù)源來采集數(shù)據(jù),例如,除了采集客戶向銀行申請開通信用卡時填寫的信息數(shù)據(jù)記錄(其包括收入、學(xué)歷、職務(wù)、資產(chǎn)情況等屬性信息字段)之外,作為示例,可還采集該客戶在該銀行的其他數(shù)據(jù)記錄,例如,貸款記錄、日常交易數(shù)據(jù)等,這些采集的數(shù)據(jù)記錄可在后續(xù)被拼接為完整的數(shù)據(jù)記錄。此外,還可采集來源于其他私有源或公共源的數(shù)據(jù),例如,來源于數(shù)據(jù)提供商的數(shù)據(jù)、來源于互聯(lián)網(wǎng)(例如,社交網(wǎng)站)的數(shù)據(jù)、來源于移動運營商的數(shù)據(jù)、來源于APP運營商的數(shù)據(jù)、來源于快遞公司的數(shù)據(jù)、來源于信用機構(gòu)的數(shù)據(jù)等等。
可選地,可借助硬件集群(諸如Hadoop集群、Spark集群等)對采集到的數(shù)據(jù)進行存儲和/或處理,例如,存儲、分類和其他離線操作。此外,也可對采集的數(shù)據(jù)進行在線的流處理。
作為示例,可將文本等非結(jié)構(gòu)化數(shù)據(jù)轉(zhuǎn)換為更易于使用的結(jié)構(gòu)化數(shù)據(jù)以在后續(xù)進行進一步的處理或引用?;谖谋镜臄?shù)據(jù)可包括電子郵件、文檔、網(wǎng)頁、圖形、電子數(shù)據(jù)表、呼叫中心日志、交易報告等。
這樣,采集的各種數(shù)據(jù)可選擇性地被配置為機器學(xué)習(xí)任務(wù)的輸入數(shù)據(jù)。
參照圖4,在步驟S100中,由顯示裝置100向用戶展示用于配置機器學(xué)習(xí)任務(wù)的圖形界面,并由檢測裝置200檢測用戶通過圖形界面執(zhí)行的輸入操作,其中,機器學(xué)習(xí)任務(wù)用于執(zhí)行機器學(xué)習(xí)流程所包括的數(shù)據(jù)處理。作為示例,這里的機器學(xué)習(xí)任務(wù)可包括數(shù)據(jù)拆分、特征提取、特征重要性分析、模型訓(xùn)練、模型預(yù)測、模型評估等數(shù)據(jù)處理。
根據(jù)本發(fā)明的示例性實施例,顯示裝置100可響應(yīng)于用戶的指示來展示用于配制機器學(xué)習(xí)任務(wù)的圖形界面。作為示例,顯示裝置100可響應(yīng)于用戶期望建立機器學(xué)習(xí)流程的指示而展示用于配置各個機器學(xué)習(xí)任務(wù)的統(tǒng)一圖形界面,在該界面中,可顯示有用于配置機器學(xué)習(xí)任務(wù)的相關(guān)區(qū)域,例如,用于羅列所有可配置機器學(xué)習(xí)任務(wù)的區(qū)域、用于展示當(dāng)前配置完畢的機器學(xué)習(xí)流程的區(qū)域、用于配置當(dāng)前機器學(xué)習(xí)任務(wù)的區(qū)域等,這里,當(dāng)用戶選擇配置特定機器學(xué)習(xí)任務(wù)時,界面上的某些元素會相應(yīng)地改變,例如,涉及該特定機器學(xué)習(xí)任務(wù)的具體配置項的相關(guān)元素會在內(nèi)容或顯示形式上有所變化。這里,應(yīng)理解,顯示裝置100展示圖形界面的方式并不受限于上述示例,例如,顯示裝置100可響應(yīng)于用戶期望配置機器學(xué)習(xí)任務(wù)的指示而分別展示與各機器學(xué)習(xí)任務(wù)相應(yīng)的圖形界面。
作為示例,顯示裝置100向用戶展示的圖形界面可以是用于主要通過選擇操作來完成機器學(xué)習(xí)任務(wù)配置的輸入選擇型界面,或者,所述圖像界面也可以是能夠直接輸入代碼或腳本的文本編輯界面。上述兩種圖形界面可以互相切換。
在步驟S100中,還可由檢測裝置200來檢測用戶在圖形界面上執(zhí)行的選擇操作、確認操作和文本輸入操作(例如,代碼編寫操作)等各種輸入操作。這里,檢測裝置200可結(jié)合相應(yīng)的傳感器裝置來檢測用戶針對圖形界面所輸入的各種形式的操作,例如,語音、姿勢、動作、觸摸、鍵入等。
這些輸入操作旨在按照用戶的意圖來配置機器學(xué)習(xí)流程之中的相應(yīng)機器學(xué)習(xí)任務(wù),例如,配置機器學(xué)習(xí)任務(wù)的輸入數(shù)據(jù)、對輸入數(shù)據(jù)執(zhí)行數(shù)據(jù)處理的參數(shù)、數(shù)據(jù)處理結(jié)果的輸出形式等。
接下來,在步驟S300中,由配置裝置300根據(jù)檢測到的用戶通過所述圖形界面執(zhí)行的輸入操作來配置所述機器學(xué)習(xí)任務(wù)。
具體說來,由檢測裝置200所檢測到的用戶輸入操作可由配置裝置300轉(zhuǎn)換為相應(yīng)的配置指令和/或配置參數(shù),并且,配置裝置300可根據(jù)這些配置指令和/或配置參數(shù)來實際配置機器學(xué)習(xí)任務(wù)。例如,在通過有向無環(huán)圖(DAG)來配置整個機器學(xué)習(xí)流程的示例中,如果檢測裝置200檢測到用戶利用連接線將新的機器學(xué)習(xí)任務(wù)連接到之前配置完畢的機器學(xué)習(xí)任務(wù)之后(其中,連接線從所述之前配置完畢的機器學(xué)習(xí)任務(wù)指向所述新的機器學(xué)習(xí)任務(wù)),則配置裝置300可根據(jù)檢測到的連接線的連接對象和箭頭方向?qū)⑺鲂碌臋C器學(xué)習(xí)任務(wù)作為所述之前配置完畢的機器學(xué)習(xí)任務(wù)的下游機器學(xué)習(xí)任務(wù)來進行配置。配置的具體內(nèi)容(例如,執(zhí)行參數(shù)等)可由配置裝置300根據(jù)由檢測裝置200所檢測到的用戶的進一步操作來執(zhí)行。
類似地,在各種設(shè)計好的交互機制下,針對由檢測裝置200所檢測到的具體用戶輸入操作,配置裝置300可相應(yīng)地根據(jù)檢測到的輸入操作來完成機器學(xué)習(xí)任務(wù)的配置。例如,如果檢測裝置200所檢測到的是用戶針對各個機器學(xué)習(xí)任務(wù)輸入的數(shù)據(jù)表名稱(例如,用戶輸入各個機器學(xué)習(xí)任務(wù)的輸入數(shù)據(jù)表和輸出數(shù)據(jù)表的名稱),則配置裝置300可相應(yīng)地根據(jù)輸入數(shù)據(jù)表名稱和輸出數(shù)據(jù)表名稱來配置上游機器學(xué)習(xí)任務(wù)與下游機器學(xué)習(xí)任務(wù)之間的連接關(guān)系,也就是說,在某個機器學(xué)習(xí)任務(wù)的輸出數(shù)據(jù)表名稱與另一機器學(xué)習(xí)任務(wù)的輸入數(shù)據(jù)表名稱一致的情況下,前者被配置為后者的上游機器學(xué)習(xí)任務(wù),相應(yīng)地,后者被配置為前者的下游機器學(xué)習(xí)任務(wù)。
根據(jù)本發(fā)明的示例性實施例,在完成機器學(xué)習(xí)任務(wù)的配置之后,并非如現(xiàn)有技術(shù)中一般執(zhí)行所配置的機器學(xué)習(xí)任務(wù),而是在不實際執(zhí)行機器學(xué)習(xí)任務(wù)的情況下,預(yù)判出與所述機器學(xué)習(xí)任務(wù)有關(guān)的數(shù)據(jù)屬性信息,并且,作為可選方式,可進一步地沿著機器學(xué)習(xí)流程的數(shù)據(jù)流向而傳遞所預(yù)判出的數(shù)據(jù)屬性信息。
具體說來,在步驟S400中,由推斷裝置400在不執(zhí)行配置的所述機器學(xué)習(xí)任務(wù)的情況下,推斷與所述機器學(xué)習(xí)任務(wù)有關(guān)的數(shù)據(jù)屬性信息,其中,數(shù)據(jù)屬性信息包括數(shù)據(jù)屬性字段的名稱和/或數(shù)據(jù)類型。
作為示例,在DAG形式的機器學(xué)習(xí)流程中,當(dāng)配置完了當(dāng)前機器學(xué)習(xí)任務(wù)時,推斷裝置400可自動推斷出與配置好的當(dāng)前機器學(xué)習(xí)任務(wù)有關(guān)的數(shù)據(jù)屬性信息,例如,推斷裝置400可獲取按照當(dāng)前機器學(xué)習(xí)任務(wù)的配置,可預(yù)計的執(zhí)行結(jié)果數(shù)據(jù)(即,當(dāng)前機器學(xué)習(xí)任務(wù)的預(yù)計輸出數(shù)據(jù))的各個屬性字段的名稱和/或數(shù)據(jù)類型。此后,當(dāng)用戶開始配置當(dāng)前機器學(xué)習(xí)任務(wù)的下游機器學(xué)習(xí)任務(wù)(例如,用戶將新的機器學(xué)習(xí)任務(wù)連接到當(dāng)前機器學(xué)習(xí)任務(wù)之后)時,推斷裝置400可將推斷出的數(shù)據(jù)屬性信息傳遞到下游機器學(xué)習(xí)任務(wù),這部分傳遞來的數(shù)據(jù)屬性信息可與下游機器學(xué)習(xí)任務(wù)將要實際處理的輸入數(shù)據(jù)合為一體,也可以將兩者分開。
作為另一示例,在DAG形式的機器學(xué)習(xí)流程中,當(dāng)配置完了當(dāng)前機器學(xué)習(xí)任務(wù)時,推斷裝置400可并不推斷數(shù)據(jù)屬性信息,而是當(dāng)用戶開始配置當(dāng)前機器學(xué)習(xí)任務(wù)的下游機器學(xué)習(xí)任務(wù)時(例如,當(dāng)用戶將新的機器學(xué)習(xí)任務(wù)連接到當(dāng)前機器學(xué)習(xí)任務(wù)之后時,或者,當(dāng)用戶選取了作為下游機器學(xué)習(xí)任務(wù)的新的機器學(xué)習(xí)任務(wù)并開始配置所述新的機器學(xué)習(xí)任務(wù)時),推斷裝置400可自動獲取按照所述當(dāng)前機器學(xué)習(xí)任務(wù)的配置,可預(yù)計的執(zhí)行結(jié)果數(shù)據(jù)(即,當(dāng)前機器學(xué)習(xí)任務(wù)的預(yù)計輸出數(shù)據(jù))的各個屬性字段的名稱和/或數(shù)據(jù)類型,并在當(dāng)前機器學(xué)習(xí)任務(wù)與下游機器學(xué)習(xí)任務(wù)相互連接的情況下將推斷出的數(shù)據(jù)屬性信息傳遞到下游機器學(xué)習(xí)任務(wù)。
除了根據(jù)上下游機器學(xué)習(xí)任務(wù)的配置需要來自動推斷數(shù)據(jù)屬性信息之外,在本發(fā)明的示例性實施例中,還可根據(jù)用戶的推斷指示來執(zhí)行推斷操作,即,可額外設(shè)置用于啟動推斷操作的輸入手段,使得推斷裝置400根據(jù)用戶輸入的推斷指示來啟動推斷處理。
推斷裝置400可采用任何適當(dāng)?shù)姆绞絹眍A(yù)先推斷與機器學(xué)習(xí)任務(wù)有關(guān)的數(shù)據(jù)屬性信息,使得推斷出的數(shù)據(jù)屬性信息可有助于用戶針對機器學(xué)習(xí)流程進行后續(xù)的操作。
作為示例,推斷裝置400可基于機器學(xué)習(xí)任務(wù)的輸入數(shù)據(jù)本身來得到相關(guān)的數(shù)據(jù)屬性信息。例如,推斷裝置400可直接將上游機器學(xué)習(xí)任務(wù)的推斷數(shù)據(jù)屬性信息作為下游機器學(xué)習(xí)任務(wù)的推斷數(shù)據(jù)屬性信息而傳遞給下游機器學(xué)習(xí)任務(wù),而不考慮上游機器學(xué)習(xí)任務(wù)的實際處理過程,即,在上下游機器學(xué)習(xí)任務(wù)之間進行數(shù)據(jù)屬性信息的透傳。
作為另一示例,推斷裝置400可結(jié)合機器學(xué)習(xí)任務(wù)的實際數(shù)據(jù)處理來推斷出與機器學(xué)習(xí)任務(wù)的中間處理數(shù)據(jù)和/或輸出數(shù)據(jù)有關(guān)的數(shù)據(jù)屬性信息。例如,推斷裝置400可通過解釋所述機器學(xué)習(xí)任務(wù)的執(zhí)行指令和/或通過針對從所述機器學(xué)習(xí)任務(wù)的輸入數(shù)據(jù)之中抽取的抽樣數(shù)據(jù)執(zhí)行所述執(zhí)行指令來推斷所述機器學(xué)習(xí)任務(wù)的中間處理數(shù)據(jù)和/或輸出數(shù)據(jù)的數(shù)據(jù)屬性信息。
具體說來,機器學(xué)習(xí)任務(wù)作為可執(zhí)行實體,其配置信息用于得出該機器學(xué)習(xí)任務(wù)的執(zhí)行指令,其中,所述執(zhí)行指令明確指示了機器學(xué)習(xí)任務(wù)在執(zhí)行時將針對何種輸入數(shù)據(jù)執(zhí)行何種數(shù)據(jù)處理并輸出何種輸出數(shù)據(jù)等。相應(yīng)地,推斷裝置400通過對執(zhí)行指令進行語義解釋則可推斷出機器學(xué)習(xí)任務(wù)的中間處理數(shù)據(jù)和/或輸出數(shù)據(jù)的數(shù)據(jù)屬性信息,例如,輸出數(shù)據(jù)的字段名稱和/或數(shù)據(jù)類型、和/或格式變換前的中間處理數(shù)據(jù)的字段名稱和/或數(shù)據(jù)類型。
除了解釋指令的方式之外,推斷裝置400還可通過對少量抽樣數(shù)據(jù)實際執(zhí)行配置好的執(zhí)行指令來推斷出機器學(xué)習(xí)任務(wù)的中間處理數(shù)據(jù)和/或輸出數(shù)據(jù)的數(shù)據(jù)屬性信息。這里,推斷裝置400可不執(zhí)行任何指令解釋的處理,而是從待處理的輸入數(shù)據(jù)中抽取出少量的數(shù)據(jù),并對抽取的數(shù)據(jù)執(zhí)行實際處理。相應(yīng)的處理結(jié)果可用于反映機器學(xué)習(xí)任務(wù)的中間處理數(shù)據(jù)和/或輸出數(shù)據(jù),這些數(shù)據(jù)的數(shù)據(jù)屬性信息即可作為推斷出的數(shù)據(jù)屬性信息。
應(yīng)注意,各種推斷數(shù)據(jù)屬性信息的方式還可結(jié)合使用,即,推斷裝置400可根據(jù)預(yù)先的設(shè)置或機器學(xué)習(xí)任務(wù)的類型來選擇性地采取不同的推斷方式。
如上所述,根據(jù)本發(fā)明的示例性實施例,可在不實際執(zhí)行配置的機器學(xué)習(xí)任務(wù)的情況下,預(yù)先得到與所述機器學(xué)習(xí)相關(guān)的數(shù)據(jù)屬性信息,這些數(shù)據(jù)屬性信息可包括數(shù)據(jù)字段的名稱和/或數(shù)據(jù)類型,從而可應(yīng)用于后續(xù)的機器學(xué)習(xí)任務(wù),例如,可用于幫助用戶配置后續(xù)機器學(xué)習(xí)任務(wù)的輸入數(shù)據(jù),或者,可用于幫助驗證后續(xù)機器學(xué)習(xí)任務(wù)的配置,或者,可用于幫助后續(xù)機器學(xué)習(xí)任務(wù)的輸出數(shù)據(jù)的展示。應(yīng)理解,上述應(yīng)用情形僅作為示例,任何能夠有效利用推斷出的數(shù)據(jù)屬性信息的方式均可適用于本發(fā)明的示例性實施例。
圖5示出根據(jù)本發(fā)明另一示例性實施例的執(zhí)行機器學(xué)習(xí)流程的方法的流程圖。在圖5所示的方法中,除了上述步驟S100、步驟S300和步驟S400之外,還包括步驟S450。其中,步驟S100、步驟S300和步驟S400可按照在圖4所示的方法中的方式進行操作,而在步驟S450中,可由顯示裝置100向用戶展示由推斷裝置400所推斷出的數(shù)據(jù)屬性信息。
作為示例,假設(shè)由推斷裝置400所推斷出的數(shù)據(jù)屬性信息是機器學(xué)習(xí)任務(wù)的預(yù)計的輸出結(jié)果的數(shù)據(jù)屬性信息,而所述輸出結(jié)果可作為下游機器學(xué)習(xí)任務(wù)的輸入數(shù)據(jù)的來源。在這種情況下,顯示裝置100可將所述數(shù)據(jù)屬性信息顯示在下游機器學(xué)習(xí)任務(wù)的輸入候選區(qū)域,例如,可在用于配置下游機器學(xué)習(xí)任務(wù)的輸入數(shù)據(jù)字段的下拉框中展示所述數(shù)據(jù)屬性信息中的字段名稱,這樣,用戶可通過從下拉框中選擇相應(yīng)的字段來配置下游機器學(xué)習(xí)任務(wù)的輸入數(shù)據(jù)。
作為另一示例,假設(shè)所推斷出的數(shù)據(jù)屬性信息可有助于下游機器學(xué)習(xí)任務(wù)的數(shù)據(jù)處理結(jié)果的展示效果。具體說來,在諸如特征抽取等機器學(xué)習(xí)任務(wù)中,數(shù)據(jù)處理會涉及哈希(hash)變換等處理且數(shù)據(jù)處理的結(jié)果會具有諸如key-value等可讀性差的格式。在這種情況下,可將數(shù)據(jù)記錄的有關(guān)原始屬性字段名稱和/或數(shù)據(jù)類型作為推斷出的數(shù)據(jù)屬性信息從上游機器學(xué)習(xí)任務(wù)透傳到下游機器學(xué)習(xí)任務(wù),并且,這些數(shù)據(jù)屬性信息還被展示給用戶。相應(yīng)地,當(dāng)下游機器學(xué)習(xí)任務(wù)涉及數(shù)據(jù)處理結(jié)果的輸出(例如,當(dāng)需要將模型預(yù)估結(jié)果展示給用戶時),用戶可從展示出的數(shù)據(jù)屬性信息中選取隨著模型預(yù)估結(jié)果一同輸出的原始字段,以提高模型預(yù)估結(jié)果的可讀性。
應(yīng)注意,以上僅為了說明對推斷出的數(shù)據(jù)屬性信息進行展示以應(yīng)用于后續(xù)機器學(xué)習(xí)任務(wù)的示例,而本發(fā)明的示例性實施例并不受限于此。推斷出的數(shù)據(jù)屬性信息除了被展示之外,還可用于對下游機器學(xué)習(xí)任務(wù)的配置進行校驗。
圖6示出根據(jù)本發(fā)明另一示例性實施例的執(zhí)行機器學(xué)習(xí)流程的方法的流程圖。在圖6所示的方法中,除了上述步驟S100、步驟S300和步驟S400之外,還包括步驟S100’、步驟S300’和步驟S600。其中,步驟S100、步驟S300和步驟S400可按照在圖4所示的方法中的方式進行操作。
在通過執(zhí)行步驟S100、步驟S300和步驟S400而完成機器學(xué)習(xí)任務(wù)的配置及其數(shù)據(jù)屬性信息的推斷之后,用戶可繼續(xù)配置以該機器學(xué)習(xí)任務(wù)為上游機器學(xué)習(xí)任務(wù)的下游機器學(xué)習(xí)任務(wù)。這里,所述方法可通過步驟S100’和步驟S300’來完成下游機器學(xué)習(xí)任務(wù)的配置,具體說來,步驟S100’和步驟S300’與步驟S100和步驟S300類似,只是所針對的機器學(xué)習(xí)任務(wù)有所差別(即,步驟S100’和步驟S300’所針對的是下游機器學(xué)習(xí)任務(wù))。相應(yīng)地,在步驟S100’中,顯示裝置100向用戶展示用于配置下游機器學(xué)習(xí)任務(wù)的圖形界面,而檢測裝置200檢測用戶通過所述圖形界面執(zhí)行的輸入操作;接下來,在步驟S300’中,配置裝置300根據(jù)檢測到的用戶通過所述圖形界面執(zhí)行的輸入操作來配置所述下游機器學(xué)習(xí)任務(wù)。這里,在步驟S100’中顯示的用戶界面可大致上與在步驟S100中顯示的用戶界面相同而只是在涉及配置項的細節(jié)上有所區(qū)別,或者,在步驟S100’中顯示的用戶界面也可與在步驟S100中顯示的用戶界面完全不同。此外,作為可選方式,在步驟S300’中,顯示裝置100還可在圖形界面中向用戶展示在步驟S300推斷出的上游機器學(xué)習(xí)任務(wù)的數(shù)據(jù)屬性信息,使得用戶可基于展示的數(shù)據(jù)屬性信息來配置所述下游機器學(xué)習(xí)任務(wù)。
在完成了下游機器學(xué)習(xí)任務(wù)的配置之后,根據(jù)本發(fā)明的示例性實施例,在步驟S600中,由配置裝置300基于由推斷裝置400所推斷出的與上游機器學(xué)習(xí)任務(wù)有關(guān)的數(shù)據(jù)屬性信息來檢驗所述下游機器學(xué)習(xí)任務(wù)的配置。具體說來,由于數(shù)據(jù)屬性信息可涉及上游機器學(xué)習(xí)任務(wù)的相關(guān)數(shù)據(jù)屬性字段名稱和/或相應(yīng)的數(shù)據(jù)類型,因此,配置裝置300可檢驗出下游機器學(xué)習(xí)任務(wù)的相關(guān)配置(例如,輸入數(shù)據(jù)字段、運算參數(shù)、運算類型等)是否符合由上游機器學(xué)習(xí)任務(wù)所提供的數(shù)據(jù)源。
可選地,當(dāng)配置裝置300基于上游機器學(xué)習(xí)任務(wù)的數(shù)據(jù)屬性信息而確定下游機器學(xué)習(xí)任務(wù)的配置不符合上游機器學(xué)習(xí)任務(wù)提供的數(shù)據(jù)源時,顯示裝置100可將相應(yīng)的警告消息顯示在屏幕上,用于提醒用戶下游機器學(xué)習(xí)任務(wù)的配置存在問題。作為示例,警告消息中可注明出錯的配置項和/或出錯詳情。
應(yīng)注意,根據(jù)本發(fā)明的示例性實施例,針對配置完畢的一個或多個機器學(xué)習(xí)任務(wù),可根據(jù)用戶的指示來執(zhí)行所述機器學(xué)習(xí)任務(wù)。也就是說,在上述執(zhí)行機器學(xué)習(xí)流程的方法中,還包括步驟:根據(jù)用戶的執(zhí)行指示來執(zhí)行一個或多個配置的機器學(xué)習(xí)任務(wù)。這里,用戶可通過預(yù)設(shè)的按鍵或其他手段來啟動配置好的一個或多個機器學(xué)習(xí)任務(wù),這些機器學(xué)習(xí)任務(wù)可構(gòu)成整個機器學(xué)習(xí)流程或其中的一部分。
以下,將參照圖7A到圖7F來描述根據(jù)本發(fā)明示例性實施例的機器學(xué)習(xí)平臺中執(zhí)行機器學(xué)習(xí)流程的界面的示例。在所述示例中,按照DAG的形式來配置機器學(xué)習(xí)流程,然而,應(yīng)理解:結(jié)合圖7A到圖7F所描述的技術(shù)細節(jié)僅僅是作為示例以便直觀地解釋本發(fā)明的示例性實施例,而非用于限制本發(fā)明示例性示例的范圍。
參照圖7A,其示出了用于配置機器學(xué)習(xí)任務(wù)的圖形界面,該圖形界面的中間區(qū)域是機器學(xué)習(xí)流程的DAG區(qū)域,左側(cè)列出了可選的機器學(xué)習(xí)任務(wù),右側(cè)是用于配置特定機器學(xué)習(xí)任務(wù)的區(qū)域。在所述圖形界面中,用戶可通過諸如點擊、拖拽、鍵入等操作來配置“數(shù)據(jù)拆分”,例如,配置拆分方式以及拆分比例等。如圖7A所示,在“導(dǎo)入銀行數(shù)據(jù)源(“bank”)”這一機器學(xué)習(xí)任務(wù)之后,用戶可通過右側(cè)區(qū)域來進行“數(shù)據(jù)拆分”這一機器學(xué)習(xí)任務(wù)的配置,在基于檢測到的用戶在右側(cè)區(qū)域的輸入操作而完成“數(shù)據(jù)拆分”的配置之后,可基于“數(shù)據(jù)拆分”的配置來推斷出相應(yīng)的數(shù)據(jù)屬性信息。接下來,用戶通過點擊右側(cè)的“SQL”來選擇繼續(xù)配置下一機器學(xué)習(xí)任務(wù)“SQL”。
參照圖7B,用戶可通過點擊右側(cè)區(qū)域中的“配置”圖標對“SQL”進行具體的配置。相應(yīng)地,在用戶點擊上述圖標之后,可顯示如圖7C所示的界面。這里,應(yīng)注意,在該示例中,只有在用戶連接代表配置完畢的上游機器學(xué)習(xí)任務(wù)的可配置頂點與代表將要配置的下游機器學(xué)習(xí)任務(wù)的可配置頂點時,才會將所推斷出的上游機器學(xué)習(xí)任務(wù)的數(shù)據(jù)屬性信息傳遞給現(xiàn)有機器學(xué)習(xí)任務(wù),而由于用戶尚未在“數(shù)據(jù)拆分”與“SQL”這兩個頂點之間進行連線,因此在圖7C的界面中提醒用戶“暫無輸入源schema,請連接輸入源”,這里,schema作為數(shù)據(jù)屬性信息的具體示例。
為此,如圖7D所示,用戶可將“SQL”作為下游機器學(xué)習(xí)任務(wù)連接到上游的“數(shù)據(jù)拆分”,使得之前推斷出的與“數(shù)據(jù)拆分”有關(guān)的數(shù)據(jù)屬性信息能夠傳遞到“SQL”。相應(yīng)地,當(dāng)用戶點擊“配置”圖標時,可顯示如圖7E所示的界面,其中,列出了作為“數(shù)據(jù)拆分”任務(wù)的輸出數(shù)據(jù)的全部字段名稱,使得用戶可參照這些數(shù)據(jù)屬性信息來完成腳本的編寫。
根據(jù)本發(fā)明的示例性實施例,還可基于“數(shù)據(jù)拆分”的相關(guān)數(shù)據(jù)屬性信息(例如,字段名稱)來檢驗用戶對SQL的配置是否符合規(guī)范。參照圖7F,當(dāng)用戶編寫的腳本中出現(xiàn)了“數(shù)據(jù)拆分”作為數(shù)據(jù)源并未提供的字段名稱(例如,age1)時,可向用戶展示警告消息“field age 1is not found,字段不存在,請修改”。
以上參照圖2到圖7F描述了根據(jù)本發(fā)明示例性實施例的執(zhí)行機器學(xué)習(xí)流程的方法和系統(tǒng)以及相應(yīng)的機器學(xué)習(xí)平臺應(yīng)用實例。應(yīng)理解,上述執(zhí)行機器學(xué)習(xí)流程的方法可通過記錄在計算可讀介質(zhì)上的程序來實現(xiàn),相應(yīng)地,根據(jù)本發(fā)明的示例性實施例,可提供一種用于執(zhí)行機器學(xué)習(xí)流程的計算機可讀介質(zhì),在所述計算機可讀介質(zhì)上記錄有用于執(zhí)行以下方法步驟的計算機程序:(A)向用戶展示用于配置機器學(xué)習(xí)任務(wù)的圖形界面并檢測用戶通過圖形界面執(zhí)行的輸入操作,其中,機器學(xué)習(xí)任務(wù)用于執(zhí)行機器學(xué)習(xí)流程所包括的數(shù)據(jù)處理;(B)根據(jù)檢測到的用戶通過所述圖形界面執(zhí)行的輸入操作來配置所述機器學(xué)習(xí)任務(wù);以及(C)在不執(zhí)行配置的所述機器學(xué)習(xí)任務(wù)的情況下,推斷與所述機器學(xué)習(xí)任務(wù)有關(guān)的數(shù)據(jù)屬性信息,其中,數(shù)據(jù)屬性信息包括數(shù)據(jù)屬性字段的名稱和/或數(shù)據(jù)類型。
上述計算機可讀介質(zhì)中的計算機程序可在諸如客戶端、主機、代理裝置、服務(wù)器等計算機設(shè)備中部署的環(huán)境中運行,應(yīng)注意,所述計算機程序還可用于執(zhí)行除了上述步驟以外的附加步驟或者在執(zhí)行上述步驟時執(zhí)行更為具體的處理,這些附加步驟和進一步處理的內(nèi)容已經(jīng)參照圖2到圖7F進行了描述,這里為了避免重復(fù)將不再進行贅述。
相應(yīng)地,上述執(zhí)行機器學(xué)習(xí)流程的系統(tǒng)也可完全依賴計算機程序的運行來實現(xiàn)相應(yīng)的功能,即,各個裝置與計算機程序的功能架構(gòu)中的各步驟相應(yīng),使得整個系統(tǒng)通過專門的軟件包(例如,lib庫)而被調(diào)用,以實現(xiàn)相應(yīng)的功能。
另一方面,圖2和圖3所示的各個裝置以及未示出的相關(guān)裝置也可以通過硬件、軟件、固件、中間件、微代碼或其任意組合來實現(xiàn)。當(dāng)以軟件、固件、中間件或微代碼實現(xiàn)時,用于執(zhí)行相應(yīng)操作的程序代碼或者代碼段可以存儲在諸如存儲介質(zhì)的計算機可讀介質(zhì)中,使得處理器可通過讀取并運行相應(yīng)的程序代碼或者代碼段來執(zhí)行相應(yīng)的操作。
這里,本發(fā)明的示例性實施例還可以實現(xiàn)為計算裝置,該計算裝置包括存儲部件和處理器,存儲部件中存儲有計算機可執(zhí)行指令集合,當(dāng)所述計算機可執(zhí)行指令集合被所述處理器執(zhí)行時,執(zhí)行上述執(zhí)行機器學(xué)習(xí)流程的方法。
具體說來,所述計算裝置可以部署在服務(wù)器或客戶端中,也可以部署在分布式網(wǎng)絡(luò)環(huán)境中的節(jié)點裝置上。此外,所述計算裝置可以是PC計算機、平板裝置、個人數(shù)字助理、智能手機、web應(yīng)用或其他能夠執(zhí)行上述指令集合的裝置。
這里,所述計算裝置并非必須是單個的計算裝置,還可以是任何能夠單獨或聯(lián)合執(zhí)行上述指令(或指令集)的裝置或電路的集合體。計算裝置還可以是集成控制系統(tǒng)或系統(tǒng)管理器的一部分,或者可被配置為與本地或遠程(例如,經(jīng)由無線傳輸)以接口互聯(lián)的便攜式電子裝置。
在所述計算裝置中,處理器可包括中央處理器(CPU)、圖形處理器(GPU)、可編程邏輯裝置、專用處理器系統(tǒng)、微控制器或微處理器。作為示例而非限制,處理器還可包括模擬處理器、數(shù)字處理器、微處理器、多核處理器、處理器陣列、網(wǎng)絡(luò)處理器等。
上述關(guān)于執(zhí)行機器學(xué)習(xí)流程的方法中所描述的某些操作可通過軟件方式來實現(xiàn),某些操作可通過硬件方式來實現(xiàn),此外,還可通過軟硬件結(jié)合的方式來實現(xiàn)這些操作。
處理器可運行存儲在存儲部件之一中的指令或代碼,其中,所述存儲部件還可以存儲數(shù)據(jù)。指令和數(shù)據(jù)還可經(jīng)由網(wǎng)絡(luò)接口裝置而通過網(wǎng)絡(luò)被發(fā)送和接收,其中,所述網(wǎng)絡(luò)接口裝置可采用任何已知的傳輸協(xié)議。
存儲部件可與處理器集成為一體,例如,將RAM或閃存布置在集成電路微處理器等之內(nèi)。此外,存儲部件可包括獨立的裝置,諸如,外部盤驅(qū)動、存儲陣列或任何數(shù)據(jù)庫系統(tǒng)可使用的其他存儲裝置。存儲部件和處理器可在操作上進行耦合,或者可例如通過I/O端口、網(wǎng)絡(luò)連接等互相通信,使得處理器能夠讀取存儲在存儲部件中的文件。
此外,所述計算裝置還可包括視頻顯示器(諸如,液晶顯示器)和用戶交互接口(諸如,鍵盤、鼠標、觸摸輸入裝置等)。計算裝置的所有組件可經(jīng)由總線和/或網(wǎng)絡(luò)而彼此連接。
上述關(guān)于執(zhí)行機器學(xué)習(xí)流程的方法所涉及的操作可被描述為各種互聯(lián)或耦合的功能塊或功能示圖。然而,這些功能塊或功能示圖可被均等地集成為單個的邏輯裝置或按照非確切的邊界進行操作。
具體說來,如上所述,根據(jù)本發(fā)明示例性實施例的執(zhí)行機器學(xué)習(xí)流程的計算裝置可包括存儲部件和處理器,存儲部件中存儲有計算機可執(zhí)行指令集合,當(dāng)所述計算機可執(zhí)行指令集合被所述處理器執(zhí)行時,執(zhí)行下述步驟:(A)向用戶展示用于配置機器學(xué)習(xí)任務(wù)的圖形界面并檢測用戶通過圖形界面執(zhí)行的輸入操作,其中,機器學(xué)習(xí)任務(wù)用于執(zhí)行機器學(xué)習(xí)流程所包括的數(shù)據(jù)處理;(B)根據(jù)檢測到的用戶通過所述圖形界面執(zhí)行的輸入操作來配置所述機器學(xué)習(xí)任務(wù);以及(C)在不執(zhí)行配置的所述機器學(xué)習(xí)任務(wù)的情況下,推斷與所述機器學(xué)習(xí)任務(wù)有關(guān)的數(shù)據(jù)屬性信息,其中,數(shù)據(jù)屬性信息包括數(shù)據(jù)屬性字段的名稱和/或數(shù)據(jù)類型。
應(yīng)注意,以上已經(jīng)結(jié)合圖2到圖7F描述了根據(jù)本發(fā)明示例性實施例的執(zhí)行機器學(xué)習(xí)流程的方法的各處理細節(jié),這里將不再贅述計算裝置執(zhí)行各步驟時的處理細節(jié)。
以上已經(jīng)描述了本發(fā)明的各示例性實施例,應(yīng)理解,上述描述僅是示例性的,并非窮盡性的,并且本發(fā)明也不限于所披露的各示例性實施例。在不偏離本發(fā)明的范圍和精神的情況下,對于本技術(shù)領(lǐng)域的普通技術(shù)人員來說許多修改和變更都是顯而易見的。因此,本發(fā)明的保護范圍應(yīng)該以權(quán)利要求的范圍為準。