本發明一般地涉及工作流自動化。更具體地說,本發明涉及一種用于基于本體(ontology)的工作流自動化和執行的方法、系統和計算機程序。
背景技術:
1、工作流自動化是指由計算機自動執行一序列任務(即工作流)的過程。例如,工作流可包括在撰寫電子郵件中涉及的所有任務(例如,打開電子郵件應用、選擇“撰寫”、選擇一個或多個收件人、在“主題”欄中輸入文本、以及在電子郵件的主體中輸入文本)。自動化該工作流允許用一個命令和可選參數(argument)(例如,“給勞拉電子發郵件,提醒她星期二的會議”)來執行整個序列。自動化工作流在各種上下文中是有用的,但是當結合使用口頭命令與用戶通信的基于自然語言的虛擬助理使用時是特別有用的。
2、虛擬助理是可以基于諸如命令或問題(包括口頭的命令或問題)的用戶輸入來為用戶執行一系列任務或服務的軟件代理。技能是命名的工作流,即,軟件應用知道如何執行的一個或多個任務。一些技能是預編程的,而其他技能可以在部署虛擬助理或自動化實現以供使用之后被添加到虛擬助理或自動化實現。
3、意圖是指例如通過調用一個或多個技能來滿足用戶請求的動作。意圖可以可選地具有帶有稱為槽的占位符的參數。例如,調用電子郵件技能的意圖可以是“給勞拉電子發郵件,提醒她星期二的會議”),其中“勞拉”和“提醒她星期二的會議”是當調用電子郵件技能時被填充到槽中的參數。
4、本體是類別、屬性以及實現主題領域的概念、數據和實體之間的關系的表示、形式命名和定義。本體是通過定義表示主題領域的概念和類別的集合來組織主題領域的屬性以及這些屬性如何相關的方式。
5、說明性實施例認識到,組織正投資于使用各種軟件工具來自動化工作流,從而增加了信息技術基礎設施的復雜性。不同的應用具有不同的接口和特征,并且現有的自動化工具通常依賴于限制可用性的專用腳本語言或視覺排序接口。因此,需要一種工作流程自動化實現,其不依賴于腳本語言,并且對于非技術用戶來說簡單地“教導”自動化工具新的技能。
6、一種現有的自動化方法涉及使用桌面記錄器,該桌面記錄器采集關于外圍(例如,鼠標或鍵盤)輸入和屏幕上視覺改變的信息以采集用戶的技能執行。該記錄流可被轉換為可以在另一用戶的桌面上重新創建的腳本,從而實現自動化。然而,當前可用的機器人過程自動化(rpa)實現不能識別記錄中可能因用戶而異的步驟。現有rpa實現通常要求用戶以特定邏輯序列顯式地編碼交互以實現有效的概括,這對于非技術用戶是困難的。通常,要求主題專家使特定工作流自動化。此外,僅依賴于特定輸入序列(例如,鼠標點擊或鍵盤輸入)的基于記錄的工具是脆弱的,如果是特定應用的用戶界面則會破壞。同樣,基于記錄的工具是應用特定的(例如,如果新應用替換現有應用,則必須重新教導),并且因此它們已經被教導的工作流在相同類型的應用之間不容易概括。例如,即使每個應用的用戶界面稍有不同,在不同的電子郵件應用中編寫電子郵件的步驟也趨于相似。因此,一次自動化工作流,并以最小的額外特定于應用的努力在類似應用上概括工作流將是有用的。
7、因此,說明性實施例認識到需要一種工作流自動化實現,其不依賴于腳本語言,對于非技術用戶來說簡單地“教導”自動化工具新的技能,并且可以通過概括要自動化的工作流的示例的單個用戶演示來實現。
技術實現思路
1、說明性實施例提供了基于本體的工作流自動化和執行。實施例包括記錄包括技能的工作流的執行,該記錄生成工作流數據。實施例包括使用工作流數據選擇與工作流具有高于閾值量的相似性的本體樹。實施例包括使用本體樹和工作流數據來構造與工作流相對應的第一技能樹。實施例包括將第一技能樹集成到應用的現有技能樹中,該集成產生應用的集成技能樹。實施例包括響應于請求使用新數據執行技能的意圖,使用集成技能樹和新數據來執行技能。這個方面的其它實施例包括對應的計算機系統、裝置和記錄在一個或多個計算機存儲設備上的計算機程序,每個被配置為執行實施例的動作。因此,實施例提供了基于本體的工作流自動化和執行。
2、進一步的實施例包括驗證工作流數據,該驗證包括確認與工作流相關聯的意圖。因此,實施例提供了對在基于本體的工作流自動化和執行中使用的工作流數據的驗證。
3、進一步的實施例包括驗證工作流數據,該驗證包括確認工作流的用戶特定性。因此,實施例提供了對在基于本體的工作流自動化和執行中使用的工作流數據的驗證。
4、進一步的實施例包括驗證工作流數據,該驗證包括移除工作流中的步驟。因此,實施例提供了對在基于本體的工作流自動化和執行中使用的工作流數據的驗證。
5、在進一步的實施例中,構造第一技能樹包括將本體樹中的第一節點添加到第一技能樹,本體樹中的第一節點對應于在工作流數據中識別的動作。因此,實施例提供了構造在基于本體的工作流自動化和執行中使用的技能樹的附加細節。
6、進一步的實施例包括驗證第一技能樹,該驗證包括移除第一技能樹中的步驟。因此,實施例提供了對在基于本體的工作流自動化和執行中使用的技能樹的驗證。
7、實施例包括計算機可用程序產品。計算機可用程序產品包括計算機可讀存儲介質和存儲在存儲介質上的程序指令。
8、實施例包括計算機系統。該計算機系統包括處理器、計算機可讀存儲器、計算機可讀存儲介質以及存儲在存儲介質上以供處理器經由存儲器執行的程序指令。
1.一種計算機實現的方法,包括:
2.根據權利要求1所述的計算機實現的方法,還包括:
3.根據權利要求1所述的計算機實現的方法,還包括:
4.根據權利要求1所述的計算機實現的方法,還包括:
5.根據權利要求1所述的計算機實現的方法,其中,構建所述第一技能樹包括將所述本體樹中的第一節點添加到所述第一技能樹,所述本體樹中的所述第一節點對應于在所述工作流數據中識別的動作。
6.根據權利要求1所述的計算機實現的方法,還包括:
7.一種計算機程序產品,包括一個或多個計算機可讀存儲介質以及共同存儲在所述一個或多個計算機可讀存儲介質上的程序指令,所述程序指令可由處理器執行以使所述處理器執行操作,所述操作包括:
8.根據權利要求7所述的計算機程序產品,其中,所存儲的程序指令被存儲在數據處理系統中的計算機可讀存儲設備中,并且其中,通過網絡從遠程數據處理系統傳輸所存儲的程序指令。
9.根據權利要求7所述的計算機程序產品,其中,所存儲的程序指令被存儲在服務器數據處理系統中的計算機可讀存儲設備中,并且其中,所存儲的程序指令響應于請求而通過網絡被下載到遠程數據處理系統,以在與所述遠程數據處理系統相關聯的計算機可讀存儲設備中使用,所存儲的程序指令還包括:
10.根據權利要求7所述的計算機程序產品,還包括:
11.根據權利要求7所述的計算機程序產品,還包括:
12.根據權利要求7所述的計算機程序產品,還包括:
13.根據權利要求7所述的計算機程序產品,其中,構建所述第一技能樹包括將所述本體樹中的第一節點添加到所述第一技能樹,所述本體樹中的所述第一節點對應于在所述工作流數據中識別的動作。
14.根據權利要求7所述的計算機程序產品,還包括:
15.一種計算機系統,包括處理器和一個或多個計算機可讀存儲介質,以及共同存儲在所述一個或多個計算機可讀存儲介質上的程序指令,所述程序指令可由所述處理器執行以使所述處理器執行操作,所述操作包括:
16.根據權利要求15所述的計算機系統,還包括:
17.根據權利要求15所述的計算機系統,還包括:
18.根據權利要求15所述的計算機系統,還包括:
19.根據權利要求15所述的計算機系統,其中,構建所述第一技能樹包括將所述本體樹中的第一節點添加到所述第一技能樹,所述本體樹中的所述第一節點對應于在所述工作流數據中識別的動作。
20.根據權利要求15所述的計算機系統,還包括:
21.一種系統,包括分別用于執行根據權利要求1-6中任一項所述的方法的步驟的模塊。