關(guān)鍵字相對應(yīng)的操作指令。語法規(guī)則庫中記載了不同的關(guān) 鍵字對應(yīng)的操作指令。
[0043] 具體而言,語法規(guī)則庫包括映射關(guān)系和語法規(guī)則。映射關(guān)系中至少包括:關(guān)鍵字與 應(yīng)用程序的映射關(guān)系(對應(yīng)關(guān)系)、應(yīng)用程序與操作指令的映射關(guān)系、操作指令與顯示信息 的映射關(guān)系。語法規(guī)則至少包括:容錯規(guī)則、解析規(guī)則、標準化處理規(guī)則。進一步地,語法規(guī) 則庫可W是數(shù)據(jù)表或數(shù)據(jù)庫。
[0044] 在一個實施例中,語法規(guī)則庫中的操作指令和應(yīng)用程序使用機器識別碼或機器識 別語句。機器識別碼或和機器識別語句能被系統(tǒng)快速識別。比如在an化oid系統(tǒng)中的可W 用startActivity(Intent)語句來用于啟動一個進程或應(yīng)用。
[0045] 語法規(guī)則庫可W由本地生成,如;通過搜集本地的應(yīng)用程序生成;也可W由服務(wù) 器生成,通過服務(wù)端同步加載/更新到本地,但是,本地需要設(shè)置一個程序,用于檢測哪些 操作指令是本地可W實現(xiàn)的,否則可能出現(xiàn)空指針異常。
[0046] 在一個實施例中,在解析文本信息中的關(guān)鍵字之前,還包括;對提取到的文本信息 進行容錯處理。容錯處理的目的在于;對文本信息進行拼寫、語法檢查,糾正文本信息中的 錯誤。如;糾正文本信息中的錯別字。
[0047] 在一個實施例中,在解析文本信息中的關(guān)鍵字之后,還包括;對解析出的關(guān)鍵字進 行標準化處理,使關(guān)鍵字的形式統(tǒng)一。
[0048] 如圖2所示,圖2是根據(jù)本發(fā)明一實施例的獲得與文本信息對應(yīng)的操作指令的步 驟流程圖。
[0049] 步驟S210,對提到的文本信息進行容錯處理。
[0050] 預(yù)先在語法規(guī)則庫中設(shè)置容錯規(guī)則。具體的容錯規(guī)則可W是錯誤的拼寫、語法與 正確的拼寫、語法的映射關(guān)系,還可W按照人工智能的方式進行訓練,得到的檢錯算法,也 可W是現(xiàn)有的檢錯算法。
[0051] 步驟S220,解析出文本信息中的關(guān)鍵字。
[0052] 預(yù)先在語法規(guī)則庫中設(shè)置解析規(guī)則。該解析規(guī)則用于確定文本信息中的關(guān)鍵字。 例如:該解析規(guī)則包括可W作為關(guān)鍵字的文字、字母、字符,文本信息中若出現(xiàn)送些文字、字 母、字符,則可W作為文本信息的關(guān)鍵字。
[0053] 具體而言,根據(jù)解析規(guī)則中包含的關(guān)鍵字,直接檢索出文本信息中的關(guān)鍵字。還可 W對文本信息進行拆分,對拆分出的各個數(shù)據(jù)部分進行分析,抽取出其中的關(guān)鍵字,該拆分 規(guī)則可W在解析規(guī)則中設(shè)置??蒞按照語法結(jié)構(gòu),對文本信息進行拆分,例如:文本信息為 "我在中山路",則按照主、謂、賓、定、狀、補的語法結(jié)構(gòu)拆分文本信息,文本信息被拆分后, 可W得到"我"、"在"、"中山"、"路"送幾個部分,其中,在解析規(guī)則中包括"路",則可W將文 本信息中的"路"作為關(guān)鍵字。
[0054] 步驟S230,針對解析出的關(guān)鍵字進行標準化處理。
[00巧]該標準化處理是指,將不同形式的關(guān)鍵字進行統(tǒng)一。
[0056] 因為解析的出的關(guān)鍵字形式多樣,如;關(guān)鍵字可W是中文、英文、日文等形式。所 W,將不同形式的關(guān)鍵字轉(zhuǎn)化為統(tǒng)一的形式,如:將關(guān)鍵字都轉(zhuǎn)化為英文形式。
[0057] 關(guān)鍵字的標準化處理規(guī)則,可W預(yù)先在語法規(guī)則庫中設(shè)置。如;為每個中文的字或 詞,設(shè)置一一對應(yīng)的英文單詞。
[0058] 將標準化后的關(guān)鍵字緩存在字符數(shù)組或堆找中。
[0059] 在一個實施例中,在對關(guān)鍵字進行標準化處理后,基于關(guān)鍵字,形成轉(zhuǎn)義語句。該 轉(zhuǎn)義語句為機器識別碼或機器識別語句。轉(zhuǎn)義語句的形成規(guī)則可W在語法規(guī)則庫中設(shè)置。 例如;關(guān)鍵字"路"的英文單詞為road,該road的轉(zhuǎn)義語句為gotoXroad, "X"為轉(zhuǎn)義語 句中的變量。在對文本信息進行拆分時,若得到關(guān)鍵字和關(guān)鍵字的定語,可W將定語作為 轉(zhuǎn)義語句中的變量的變量值,如;對"中山路"進行拆分得至Γ中山"、"路","中山"為關(guān)鍵字 "路"的定語,則可W將"中山"作為變量值。如果可W將關(guān)鍵字轉(zhuǎn)化為轉(zhuǎn)義語句,則在語法 規(guī)則庫中預(yù)先設(shè)置關(guān)鍵字和轉(zhuǎn)義語句的映射關(guān)系,根據(jù)關(guān)鍵字和其轉(zhuǎn)義語句在語法規(guī)則庫 中進行信息檢索。
[0060] 步驟S240,在預(yù)先設(shè)置的語法規(guī)則庫中,檢索與關(guān)鍵字相對應(yīng)的操作指令。該關(guān)鍵 字經(jīng)過標準化處理。
[0061] 將關(guān)鍵字作為檢索詞,檢索與關(guān)鍵字相關(guān)的映射關(guān)系,從而獲得與關(guān)鍵字對應(yīng)的 操作指令。如果未檢索到與關(guān)鍵字相對應(yīng)的操作指令,則顯示檢索失敗或者繼續(xù)提取用戶 界面中的文本信息。
[0062] 提取出的關(guān)鍵字可W是一個或多個。與關(guān)鍵字對應(yīng)的操作指令也可W是一個或多 個。如果關(guān)鍵字為C和D的形式,則在語法規(guī)則庫中可w檢索與C有關(guān)的映射關(guān)系、與D有 關(guān)的映射關(guān)系、W及與C和D有關(guān)的映射關(guān)系。如;關(guān)鍵字為"天氣"+"路",則在語法規(guī)則 庫中可W檢索與"天氣"有關(guān)的映射關(guān)系、與"路"有關(guān)的映射關(guān)系、W及與"天氣"和"路" 有關(guān)的映射關(guān)系。
[0063]當基于關(guān)鍵字形成轉(zhuǎn)義語句后,可W將關(guān)鍵字和轉(zhuǎn)義語句作為檢索詞,在映射關(guān) 系中進行檢索,從而獲得與關(guān)鍵字、轉(zhuǎn)義語句對應(yīng)的操作指令。
[0064] 例如;關(guān)鍵字為road、轉(zhuǎn)義語句為gotoXroad,可W檢索到如表1所示映射關(guān) 系。
[00巧] 表1
[0066]
[0068] 步驟S130,執(zhí)行操作指令。
[0069] 檢索成功,獲得與關(guān)鍵字對應(yīng)的一個或多個操作指令。
[0070]當獲得多個操作指令時,執(zhí)行被選定的操作指令,或者按照預(yù)先設(shè)置的順序執(zhí)行。 執(zhí)行順序可W按照檢索的時間先后,也可W按照操作指令的優(yōu)先級高低。操作指令的優(yōu)先 級可W由設(shè)計者進行設(shè)置。
[0071] 可W對多個操作指令進行類型劃分,相同類型的操作指令組成一個隊列。操作指 令的類型可W是操作指令的優(yōu)先級、操作指令需要啟動的應(yīng)用程序等。例如:形成單獨的隊 列來處理鬧鐘指令,形成單獨的隊列來處理定位指令。
[0072] 在執(zhí)行文本信息對應(yīng)的操作指令之前,還包括;顯示為操作指令設(shè)置的顯示信息 和/或動作選項。顯示信息與操作指令對應(yīng),如表示1所示,可W在語法規(guī)則庫中獲得。動 作選項是指人機交互的選項。例如:請用戶選擇是否執(zhí)行操作指令。進一步地,當獲得的操 作指令為多個時,可W顯示包含多個顯示信息的菜單動作選項,當菜單中的顯示信息被選 中后,執(zhí)行該顯示信息對應(yīng)的操作指令。
[0073] 執(zhí)行操作指令后,在an化oid系統(tǒng)中,使用intent組件啟動相應(yīng)的應(yīng)用程序或服 務(wù)進程;在windos系統(tǒng)下,可使用hook程序啟動相應(yīng)的應(yīng)用程序或服務(wù)進程。
[0074] 執(zhí)行文本信息對應(yīng)的操作指令之后,啟動相應(yīng)的應(yīng)用程序或服務(wù)進行,將關(guān)鍵字 作為執(zhí)行應(yīng)用程序或服務(wù)進程的信息,來執(zhí)行與關(guān)鍵字相關(guān)的動作。例如:表1的操作指 令"sendintentto(com.baidu.map,xroad,gps(nowstation))"中包括語句"gps(now station)",則執(zhí)行操作指令后,可W調(diào)用GI^系統(tǒng),定位當前的地理位置,在定位當前的地 理位置后,實現(xiàn)當前地理位置到"Xroad"的導航。
[00巧]通過上述方法,可w達到在語音識別技術(shù)受限的環(huán)境中,快速啟動應(yīng)用程序或服 務(wù)的目的。在此過程中,可W自動識別用戶的需求,如果發(fā)現(xiàn)用戶可能需要啟動應(yīng)用程序或 服務(wù)時,為用戶提供后續(xù)動作的選擇,并采用系統(tǒng)級命令進行執(zhí)行,執(zhí)行效率較高,用戶體 驗較好。
[0076] 基于上述方法,給出一個實例,來說明本發(fā)明的數(shù)據(jù)處理方法。如圖3所示,圖3 是根據(jù)本發(fā)明一實施例的用戶界面的示意圖。本實施例所使用的系統(tǒng)為amlroid系統(tǒng)。
[0077] 步驟S310,獲取用戶界面中的元素及text屬性值(文本信息)。
[0078] 利用uiautomatorviewer獲取用戶界面中的元素及text屬性值。
[0079]當前用戶界面有3個控件:
[0080] 控件1為TextView,其text屬性值1 (文本信息)為"X與Y聊天界面"。
[00引]控件2為Multil