背景技術(shù):
1、個(gè)體經(jīng)常操作計(jì)算設(shè)備以在不同的上下文中執(zhí)行語義上相似的任務(wù)。例如,個(gè)體可以使用第一計(jì)算機(jī)應(yīng)用來參與動(dòng)作序列以執(zhí)行給定任務(wù),諸如設(shè)置各種應(yīng)用偏好、檢索/查看可由第一計(jì)算機(jī)應(yīng)用訪問的特定數(shù)據(jù)、執(zhí)行特定域內(nèi)的操作序列(例如,3d建模、圖形編輯、文字處理)等。同一個(gè)體稍后可能參與語義上相似但句法上不同的動(dòng)作序列,以在不同的上下文中執(zhí)行相同或語義上相似的任務(wù),諸如在使用不同的計(jì)算機(jī)應(yīng)用時(shí)。重復(fù)執(zhí)行包括這些任務(wù)的動(dòng)作可能是麻煩的,易于出錯(cuò),并且可能不必要地消耗計(jì)算資源和/或個(gè)體的注意力。
2、許多計(jì)算機(jī)應(yīng)用向用戶提供記錄動(dòng)作序列的選項(xiàng),使得這些動(dòng)作可以被自動(dòng)化,例如,使用嵌入到計(jì)算機(jī)應(yīng)用中的腳本語言。有時(shí)這些記錄的序列被稱為“宏”。然而,這些記錄的動(dòng)作序列和/或它們生成的腳本可能遭受各種缺點(diǎn)。它們往往被限制在特定計(jì)算機(jī)應(yīng)用內(nèi)的操作,并且通常被狹義地定制以適應(yīng)非常具體的上下文。此外,作為它們基礎(chǔ)的腳本往往太復(fù)雜而不能被不熟悉計(jì)算機(jī)編程的人理解,更不用說操縱。
技術(shù)實(shí)現(xiàn)思路
1、本文描述了用于跨多個(gè)上下文自動(dòng)化語義上相似的計(jì)算任務(wù)的實(shí)施方式。更具體地但非排他地,本文描述了用于使個(gè)體(通常被稱為“用戶”)能夠允許或請(qǐng)求他們執(zhí)行以在一個(gè)上下文中(例如,在給定計(jì)算機(jī)應(yīng)用中、在給定域中等)履行或完成任務(wù)的動(dòng)作序列被捕獲(例如,記錄)并無縫地?cái)U(kuò)展到其他上下文中而不需要編程知識(shí)的實(shí)施方式。在各種實(shí)施方式中,捕獲的動(dòng)作序列可以被抽象為廣義“動(dòng)作嵌入空間”中的“動(dòng)作嵌入”。該域不可知的動(dòng)作嵌入可以抽象地表示“語義任務(wù)”,其可以使用相應(yīng)的域模型轉(zhuǎn)換到任何數(shù)量的域的動(dòng)作空間中。換句話說,“語義任務(wù)”是域不可知的更高階任務(wù),其在特定域內(nèi)查找作為域特定動(dòng)作的序列/多個(gè)域特定動(dòng)作的表達(dá)。
2、連同捕獲的動(dòng)作序列(其如上所述是在用戶許可的情況下或在他們的請(qǐng)求下被捕獲的),個(gè)體可以提供自然語言輸入,例如口頭或鍵入的,其向這些捕獲的動(dòng)作序列提供附加語義上下文。可以對(duì)這些自然語言輸入執(zhí)行自然語言處理(nlp)以生成“任務(wù)”或“策略”嵌入,然后可以將“任務(wù)”或“策略”嵌入與同時(shí)創(chuàng)建的動(dòng)作嵌入相關(guān)聯(lián)。然后,個(gè)體隨后可以在不同的上下文中提供可以匹配到一個(gè)或多個(gè)任務(wù)/策略嵌入的自然語言輸入。匹配的任務(wù)/策略嵌入可以用于標(biāo)識(shí)廣義動(dòng)作嵌入空間中的對(duì)應(yīng)的動(dòng)作嵌入??梢允褂门c個(gè)體在其中操作的當(dāng)前域/上下文相關(guān)聯(lián)的域模型來處理這些對(duì)應(yīng)的動(dòng)作嵌入,以從當(dāng)前域的動(dòng)作空間中選擇多個(gè)動(dòng)作,該多個(gè)動(dòng)作可以在句法上不同于但在語義上等同于在先前域中捕獲的原始動(dòng)作序列。
3、在一些實(shí)施方式中,一種方法可以使用一個(gè)或多個(gè)處理器來實(shí)現(xiàn),并且可以包括:獲得初始自然語言輸入和使用第一計(jì)算機(jī)應(yīng)用執(zhí)行的第一多個(gè)動(dòng)作;對(duì)所述初始自然語言輸入執(zhí)行自然語言處理(nlp)以生成第一任務(wù)嵌入,所述第一任務(wù)嵌入表示由所述初始自然語言輸入傳達(dá)的第一任務(wù);使用第一域模型處理所述第一多個(gè)動(dòng)作以生成表示使用所述第一計(jì)算機(jī)應(yīng)用執(zhí)行的所述第一多個(gè)動(dòng)作的第一動(dòng)作嵌入,其中,所述第一域模型被訓(xùn)練為在所述第一計(jì)算機(jī)應(yīng)用的動(dòng)作空間和包括所述第一動(dòng)作嵌入的動(dòng)作嵌入空間之間轉(zhuǎn)換;將所述第一任務(wù)嵌入和第一動(dòng)作嵌入之間的關(guān)聯(lián)存儲(chǔ)在存儲(chǔ)器中;對(duì)后續(xù)自然語言輸入執(zhí)行nlp以生成第二任務(wù)嵌入,所述第二任務(wù)嵌入表示由所述后續(xù)自然語言輸入傳達(dá)的第二任務(wù);基于所述第一任務(wù)嵌入和所述第二任務(wù)嵌入之間的相似性度量,確定所述第二任務(wù)在語義上對(duì)應(yīng)于所述第一任務(wù);響應(yīng)于所述確定,使用第二域模型來處理所述第一動(dòng)作嵌入以選擇要使用第二計(jì)算機(jī)應(yīng)用執(zhí)行的第二多個(gè)動(dòng)作,其中,所述第二域模型被訓(xùn)練為在所述第二計(jì)算機(jī)應(yīng)用的動(dòng)作空間和所述動(dòng)作嵌入空間之間轉(zhuǎn)換;以及使得使用第二計(jì)算機(jī)應(yīng)用來執(zhí)行第二多個(gè)動(dòng)作。
4、在各種實(shí)施方式中,第一計(jì)算機(jī)應(yīng)用和第二計(jì)算機(jī)應(yīng)用中的至少一個(gè)可以是操作系統(tǒng)。在各種實(shí)施方式中,可以從在第一計(jì)算機(jī)應(yīng)用和底層操作系統(tǒng)之間交換的數(shù)據(jù)攔截使用第一計(jì)算機(jī)應(yīng)用執(zhí)行的第一多個(gè)動(dòng)作。在各種實(shí)施方式中,交換的數(shù)據(jù)可以包括指示擊鍵和指向設(shè)備輸入的數(shù)據(jù)。
5、在各種實(shí)施方式中,可以從第一計(jì)算機(jī)程序的應(yīng)用編程接口(api)捕獲使用第一計(jì)算機(jī)應(yīng)用執(zhí)行的第一多個(gè)動(dòng)作。在各種實(shí)施方式中,使用第一計(jì)算機(jī)應(yīng)用執(zhí)行的第一多個(gè)動(dòng)作可以從與第一域相關(guān)聯(lián)的域特定編程語言捕獲。在各種實(shí)施方式中,使用第一計(jì)算機(jī)應(yīng)用執(zhí)行的第一多個(gè)動(dòng)作可以從嵌入在第一計(jì)算機(jī)應(yīng)用中的腳本語言捕獲。
6、在各種實(shí)施方式中,使用第一計(jì)算機(jī)應(yīng)用執(zhí)行的第一多個(gè)動(dòng)作可以包括與由第一計(jì)算機(jī)應(yīng)用渲染的第一圖形用戶界面(gui)的交互。在各種實(shí)施方式中,使用第二計(jì)算機(jī)應(yīng)用執(zhí)行的第二多個(gè)動(dòng)作可以包括與由第二計(jì)算機(jī)應(yīng)用渲染的第二gui的交互。
7、在各種實(shí)施方式中,第一計(jì)算機(jī)應(yīng)用可以可操作以與具有第一數(shù)據(jù)庫模式的第一數(shù)據(jù)庫交換數(shù)據(jù),并且第二計(jì)算機(jī)應(yīng)用可操作以與具有不同于第一數(shù)據(jù)庫模式的第二數(shù)據(jù)庫模式的第二數(shù)據(jù)庫交換數(shù)據(jù)。在各種實(shí)施方式中,第一多個(gè)動(dòng)作可以根據(jù)第一數(shù)據(jù)庫模式與來自第一數(shù)據(jù)庫的第一數(shù)據(jù)交互,并且第二多個(gè)動(dòng)作可以根據(jù)第二數(shù)據(jù)庫模式與來自第二數(shù)據(jù)庫的第二數(shù)據(jù)交互,并且第二數(shù)據(jù)在語義上對(duì)應(yīng)于第一數(shù)據(jù)。
8、在各種實(shí)施方式中,第一計(jì)算機(jī)應(yīng)用可以是已經(jīng)被操作以與第一多個(gè)聯(lián)系人通信的第一通信應(yīng)用,并且第二計(jì)算機(jī)應(yīng)用可以是已經(jīng)被操作以與第二多個(gè)聯(lián)系人通信的第二通信應(yīng)用。在各種實(shí)施方式中,第二任務(wù)可以尋求與包括在第二多個(gè)聯(lián)系人中的一個(gè)或多個(gè)聯(lián)系人的過去通信。在各種實(shí)施方式中,第二任務(wù)還可以尋求與包括在第一多個(gè)聯(lián)系人中的一個(gè)或多個(gè)聯(lián)系人的過去通信。
9、在各種實(shí)施方式中,第一計(jì)算機(jī)應(yīng)用可以可操作以與具有第一數(shù)據(jù)庫模式的第一數(shù)據(jù)庫交換數(shù)據(jù),并且第二計(jì)算機(jī)應(yīng)用可操作以與具有不同于第一數(shù)據(jù)庫模式的第二數(shù)據(jù)庫模式的第二數(shù)據(jù)庫交換數(shù)據(jù)。在各種實(shí)施方式中,第一多個(gè)動(dòng)作可以根據(jù)第一數(shù)據(jù)庫模式與來自第一數(shù)據(jù)庫的第一數(shù)據(jù)交互,并且第二多個(gè)動(dòng)作可以根據(jù)第二數(shù)據(jù)庫模式與來自第二數(shù)據(jù)庫的第二數(shù)據(jù)交互,并且第二數(shù)據(jù)可以在語義上對(duì)應(yīng)于第一數(shù)據(jù)。
10、在另一方面,一種使用一個(gè)或多個(gè)處理器實(shí)現(xiàn)的方法可以包括:獲得初始自然語言輸入和使用為第一域配置的第一輸入表單執(zhí)行的第一多個(gè)動(dòng)作;對(duì)所述初始自然語言輸入執(zhí)行nlp以生成第一策略嵌入,所述第一策略嵌入表示由所述初始自然語言輸入傳達(dá)的第一輸入策略;使用第一域模型處理所述第一多個(gè)動(dòng)作以生成第一動(dòng)作嵌入,所述第一動(dòng)作嵌入表示使用所述第一輸入表單執(zhí)行的所述第一多個(gè)動(dòng)作,其中,所述第一域模型被訓(xùn)練為在所述第一域的動(dòng)作空間和包括所述第一動(dòng)作嵌入的動(dòng)作嵌入空間之間轉(zhuǎn)換;將所述第一策略嵌入和第一動(dòng)作嵌入之間的關(guān)聯(lián)存儲(chǔ)在存儲(chǔ)器中;對(duì)后續(xù)自然語言輸入執(zhí)行nlp以生成第二策略嵌入,所述第二策略嵌入表示由所述后續(xù)自然語言輸入傳達(dá)的第二策略;基于所述第一策略嵌入和所述第二策略嵌入之間的相似性度量,確定所述第二策略在語義上對(duì)應(yīng)于所述第一策略;響應(yīng)于所述確定,使用第二域模型處理所述第一動(dòng)作嵌入,以選擇要使用為第二域配置的第二輸入表單執(zhí)行的第二多個(gè)動(dòng)作,其中,所述第二域模型被訓(xùn)練為在所述第二域的動(dòng)作空間和所述動(dòng)作嵌入空間之間轉(zhuǎn)換;以及使得使用第二輸入表單執(zhí)行第二多個(gè)動(dòng)作。在各種實(shí)施方式中,第一多個(gè)動(dòng)作可包括用第一組值填充第一多個(gè)表單字段,第二多個(gè)動(dòng)作包括用第一組值中的至少一些填充第二多個(gè)表單字段。
11、此外,一些實(shí)施方式包括一個(gè)或多個(gè)計(jì)算設(shè)備的一個(gè)或多個(gè)處理器,其中,一個(gè)或多個(gè)處理器可操作以執(zhí)行存儲(chǔ)在相關(guān)聯(lián)的存儲(chǔ)器中的指令,并且其中,指令被配置為使得執(zhí)行任何前述方法。一些實(shí)施方式包括至少一個(gè)非暫時(shí)性計(jì)算機(jī)可讀存儲(chǔ)介質(zhì),其存儲(chǔ)可由一個(gè)或多個(gè)處理器執(zhí)行以執(zhí)行任何前述方法的計(jì)算機(jī)指令。
12、應(yīng)當(dāng)理解,本文更詳細(xì)描述的前述概念和附加概念的所有組合被設(shè)想為本文公開的主題的一部分。例如,出現(xiàn)在本公開結(jié)尾處的所要求保護(hù)的主題的所有組合被設(shè)想為是本文公開的主題的一部分。