本發明涉及人工智能技術領域,具體涉及一種人機交互方法及系統。
背景技術:
人工智能(Artificial Intelligence,AI),是研究、開發用于模擬、延伸和擴展人的智能的理論、方法、技術及應用系統的一門新的技術科學。人工智能是計算機科學的一個分支,它企圖了解智能的實質,并生產出一種新的能以人類智能相似的方式做出反應的智能機器,該領域的研究包括機器人、語義識別、圖像識別、自然語言處理和專家系統等。人工智能從誕生以來,理論和技術日益成熟,應用領域也不斷擴大。人機交互(Human-Computer Interaction,HCI)是指人與計算機之間使用某種對話語言,以一定的交互方式,為完成確定任務的人與計算機之間的信息交換過程。
在智能機器人與用戶交互、響應用戶指令的過程中,需要對用戶的指令進行語義識別?,F有的人機交互過程中能對諸如“播放歌曲xxx”,“打開程序xxx”等固定表達模式的語義進行識別,然而現有的人機交互方法普遍存在的問題是語義識別解析慢,經常識別錯誤。對于變化多樣的表達方式的自然語言(例如,將“播放歌曲xxx”換一種語言表達方式“給我唱一首xxx歌吧”)無法準確識別語義,導致智能機器人無法對自然語言形式的語音指令做出及時、正確的響應,僅是將語音指令輸入到瀏覽器進行搜索,得到與當前語音指令相關的網頁信息,將網頁信息返回后對用戶進行響應,而不能直接識別當前的語音指令的準確語義后,并給出相應的響應,導致智能機器人本地和服務器端的應用一致性較差。
技術實現要素:
本發明所要解決的技術問題是:如何準確識別變化多樣的語言表達方式,實現人機交互。
為解決上述技術問題,本發明提出了一種人機交互方法,該人機交互方法包括:
接收用戶的語音指令,經識別后得到文字結果;
對所述文字結果進行語義識別,得到第一語義識別結果,并根據所述第一語義識別結果與本地應用進行匹配;
若匹配失敗,則將所述文字結果發送至服務端;
接收所述服務端對所述文字結果的第二語義識別結果,根據所述第二語義識別結果在本地應用中篩選,得到相應的目標應用以響應所述語音指令;其中,所述第二語義識別結果是所述服務端通過語義模型對所述文字結果進行語義識別得到的。
可選地,該人機交互方法還包括:
若匹配成功,則根據所述第一語義識別結果在本地應用中篩選,調用相應的目標應用以響應所述語音指令。
可選地,所述根據所述第一語義識別結果與本地應用進行匹配,包括:
若本地應用中存在匹配度大于既定閾值的目標應用,且所述目標應用可響應所述第一語義識別結果,則匹配成功;
否則,所述第一語義識別結果與本地應用匹配失敗。
可選地,所述根據所述第二語義識別結果在本地應用中篩選,包括:
準備與所述第二語義識別結果相匹配的目標應用所需資源和空間,啟動與所述第二語義識別結果相匹配的目標應用相關的應用組件,以響應所述語音指令。
可選地,所述準備與所述第二語義識別結果相匹配的目標應用所需資源和空間,包括:
判斷與所述第二語義識別結果相匹配的目標應用所需資源和空間是否被占用;
若被占用,則與所述第二語義識別結果相匹配的目標應用向占用該資源和空間的應用發送請求指令,以使占用應用釋放該資源和空間。
可選地,所述方法還包括:
掃描本地應用,從所述本地應用中篩選出目標應用組;
相應地,所述根據所述第二語義識別結果在本地應用中篩選,包括:
根據所述第二語義識別結果調用目標應用組中的相應的目標應用以響應所述語音指令;
其中,所述目標應用組中的應用具有請求資源和空間的通信功能。
可選地,所述方法還包括:
接收用戶的動作指令;
本地對所述動作指令進行識別獲得動作識別結果;
根據所述動作識別結果調用相應的目標應用以響應所述動作指令。
本發明還提出了一種人機交互系統,該人機交互系統包括:
語音指令接收單元,用于接收用戶的語音指令,經識別后得到文字結果;
第一語義識別結果獲取單元,用于對所述文字結果進行語義識別,得到第一語義識別結果,并根據所述第一語義識別結果與本地應用進行匹配;
語音指令發送單元,用于當所述第一語義識別結果與本地應用匹配失敗時,則將所述語音指令發送至服務端;
第一語音指令響應單元,用于接收所述服務端對所述文字結果的第二語義識別結果,根據所述第二語義識別結果在本地應用中篩選,得到相應的目標應用以響應所述語音指令;其中,所述第二語義識別結果是所述服務端通過語義模型對所述文字結果進行識別得到的。
可選地,該人機交互系統還包括:
第二語音指令響應單元,用于當所述第一語義識別結果與本地應用匹配成功時,則根據所述第一語義識別結果在本地應用中篩選,調用相應的目標應用以響應所述語音指令。
可選地,所述第一語義識別結果獲取單元進一步用于:
當本地應用中存在響應第一語義識別結果的目標應用,且所述目標應用可響應所述第一語義識別結果時,則判斷所述第一語義識別結果與本地應用匹配成功;否則,判斷所述第一語義識別結果與本地應用匹配失敗。
可選地,所述第一語音指令響應單元包括:
資源空間準備模塊,用于準備與所述第二語義識別結果相匹配的目標應用所需資源和空間;
組件啟動模塊,用于啟動與所述第二語義識別結果相匹配的目標應用相關的應用組件,以響應所述語音指令。
可選地,所述資源空間準備模塊進一步用于:
判斷與所述第二語義識別結果相匹配的目標應用所需資源和空間是否被占用;
若被占用,則與所述第二語義識別結果相匹配的目標應用向占用該資源和空間的應用發送請求指令,以使占用應用釋放該資源和空間。
可選地,該人機交互系統還包括:
本地應用掃描單元,用于掃描本地應用,從所述本地應用中篩選出目標應用組;
相應地,所述第一語音指令響應單元用于:
根據所述第二語義識別結果調用目標應用組中的相應的目標應用以響應所述語音指令;
其中,所述目標應用組中的應用具有請求資源和空間的通信功能。
可選地,該人機交互系統還包括:
動作指令接收單元,用于接收用戶的動作指令;
動作識別結果獲取單元,用于通過本地對所述動作指令進行識別獲得動作識別結果;
動作指令響應單元,用于根據所述動作識別結果調用相應的目標應用以響應所述動作指令。
本發明提供的人機交互方法及系統,通過本地對用戶發送的語音指令經識別獲得的文字結果進行語義識別,當得到的語義識別結果與本地應用匹配失敗時,將文字結果發送至服務端,由服務端對文字結果進行語義識別,本地根據服務端發送的識別結果調用相應的目標應用以響應語音指令,避免了現有的人機交互方法對于變化多樣的表達方式的語音無法識別的缺陷,能準確識別語音指令,適用變化多樣的表達方式的語音,保證了本地和服務器端的應用一致性。
附圖說明
為了更清楚地說明本發明實施例或現有技術中的技術方案,下面將對實施例或現有技術描述中所需要使用的附圖作簡單地介紹,顯而易見地,下面描述中的附圖是本發明的一些實施例,對于本領域普通技術人員來講,在不付出創造性勞動的前提下,還可以根據這些附圖獲得其他的附圖。
圖1是本發明一個實施例的人機交互方法的流程示意圖;
圖2是本發明一個實施例適用的多個場景關系示意圖;
圖3是本發明另一個實施例的人機交互方法的流程示意圖;
圖4是本發明另一個實施例的人機交互方法的流程示意圖;
圖5是本發明一個實施例的人機交互系統的結構示意圖。
具體實施方式
為使本發明實施例的目的、技術方案和優點更加清楚,下面將結合本發明實施例中的附圖,對本發明實施例中的技術方案進行清楚、完整的描述,顯然,所描述的實施例是本發明一部分實施例,而不是全部的實施例?;诒景l明中的實施例,本領域普通技術人員在沒有作出創造性勞動前提下所獲得的所有其他實施例,都屬于本發明保護的范圍。
實施例1
圖1是本發明一個實施例的人機交互方法的流程示意圖。如圖1所示,該實施例的人機交互方法包括:
S11:接收用戶的語音指令,經識別后得到文字結果;
在實際應用中,用戶可根據需求向智能機器人輸入各種語音指令,例如“給我唱首光輝歲月”或“播放歌曲光輝歲月”。具體地,智能機器人可通過麥克風接收用戶的語音指令;智能機器人對接收到的語音指令進行識別得到對應的文字結果。
S12:對所述文字結果進行語義識別,得到第一語義識別結果,并根據所述第一語義識別結果與本地應用進行匹配;
需要說明的是,智能機器人在接收到用戶的語音指令后需要進行語義解析識別,確定具體的應用場景。舉例來說,智能機器人在接收到“給我唱首光輝歲月”的語音指令后,對語音指令進行解析識別,確定應用場景為音樂子場景。
可理解的是,現有的語音識別方法可對預設的固定表達模式的語音指令,例如“播放歌曲光輝歲月”進行識別,但對不符合預設的表達模式的“給我唱首光輝歲月”的語音指令則無法進行識別。本發明實施例應用科大訊飛語義模型的基礎上進行擴展,能準確識別各種表達模式的語音指令。
S13:若匹配失敗,則將所述語音指令發送至服務端;
可理解的是,現有的人機交互方法中當對語音指令對應的文字結果進行識別,得到的語義識別結果與本地應用匹配失敗時,通常將語音指令輸入到瀏覽器進行搜索,得到的是與當前語音指令相關的信息;而本發明實施例中將文字結果發送至AI服務端進行語義識別,增強了本地對語音指令識別的能力。
S14:接收所述服務端對所述文字結果的第二語義識別結果,根據所述第二語義識別結果在本地應用中篩選,得到相應的目標應用以響應所述語音指令;其中,所述第二語義識別結果是所述服務端利用語義模型對上述文字結果進行識別得到的;
在實際應用中,AI服務端利用科大訊飛語義模型從所述文字結果中確定識別結果,例如“給我唱首光輝歲月”的對應的識別結果為播放歌曲光輝歲月;本地接收到AI服務端返回的識別結果后調用音樂播放器播放歌曲光輝歲月。AI服務端比本地具有更豐富的語義識別數據庫,可更準確地對變化多樣的表達方式的語音進行識別。
本發明實施例的人機交互方法,通過本地對用戶發送的語音指令經識別獲得的文字結果進行語義識別,當得到的語義識別結果與本地應用匹配失敗時,將文字結果發送至服務端,由服務端對文字結果進行語義識別,本地根據服務端發送的識別結果調用相應的目標應用以響應語音指令,避免了現有的人機交互方法對于變化多樣的表達方式的語音無法識別的缺陷,能準確識別語音指令,適用多種多樣的應用場景,保證了本地和服務器端的應用一致性。
在本發明實施例的一種優選的實施方式中,與圖1中的方法類似,為了在網絡情況不佳的情況下也能正確的分析響應用戶指令,該方法還包括:
若匹配成功,則根據所述第一語義識別結果在本地應用中篩選,調用相應的目標應用以響應所述語音指令。
本發明實施例的人機交互方法在網絡情況不佳的情況下,利用本地的語義識別模塊對所述語音指令進行識別,無需訪問AI服務端,可對用戶的語音指令進行快速響應。
隨著人工智能的發展,智能機器人需要適用各種應用場景以滿足用戶的各種需求,即調用相應的目標應用以響應用戶的語音指令。圖2是本發明一個實施例適用的多個場景關系示意圖,如圖2所示,本發明實施例可以適用多個應用場景。例如,多個應用場景包括天氣場景、娛樂場景和餐飲場景;娛樂場景可分為多個子場景:音樂子場景和電影子場景。
進一步地,步驟S12包括:
若本地應用中存在匹配度大于既定閾值的目標應用,且所述目標應用可響應所述第一語義識別結果,則匹配成功;否則,所述第一語義識別結果與本地應用匹配失敗。
需要說明的是,本地對語音指令進行識別,經識別后得到文字結果;獲得所述文字結果的特征向量,將獲取的文字結果的特征向量與預先設置的各個場景的特征向量進行匹配;若匹配值大于預設值,則本地存在響應第一語義識別結果的目標應用;若所述目標應用可響應所述第一語義識別結果,則判斷所述第一語義識別結果與本地應用匹配成功。優選地,若存在多個預先設置的多個場景的特征向量與獲取的文字結果的特征向量相匹配,則調用匹配度最高的場景對應的應用以響應所述語音指令。若獲取的文字結果的特征向量與預先設置的各個場景的特征向量的匹配值均小于預設值,則本地不存在響應第一語義識別結果的目標應用,判斷所述第一語義識別結果與本地應用匹配失敗。
舉例來說,當用戶輸入“請給我唱首光輝歲月吧”的自然語言形式的語音指令時,本地對該語音指令進行識別,獲得對應的文字結果,對文字結果進行語義識別獲取的識別結果為(給我<執行主體>,唱<活動>,光輝歲月<音樂>);將獲取的識別結果(給我<執行主體>,唱<活動>,光輝歲月<音樂>)與預先設置的天氣場景、娛樂場景和餐飲場景的特征向量進行匹配,由于本地不存在響應第一語義識別結果的目標應用,即不存在音樂子場景,僅能與娛樂場景中的視頻子場景的特征向量(播放,視頻)進行匹配,則語義識別結果(給我<執行主體>,唱<活動>,光輝歲月<音樂>)與特征向量(播放,視頻)的匹配度小于預設值,判斷第一語義識別結果與本地應用匹配失敗。
具體地,所述根據所述第二語義識別結果在本地應用中篩選,包括:
準備與所述第二語義識別結果相匹配的目標應用所需資源和空間,啟動與所述第二語義識別結果相匹配的目標應用相關的應用組件,以響應所述語音指令。在實際應用中,若由于本地不存在響應第一語義識別結果的目標應用而導致第一語義識別結果與本地應用匹配失敗時,本地需要先向服務端請求下載與第二語義識別結果相匹配的目標應用,然后準備該目標應用所需資源和空間,啟動該目標應用的相關組件。
以音樂播放器為例,其基本組件包括活動Activity和服務Service;其中,目標應用中的Activity代表用戶界面,其上的控件也可以監聽并處理用戶的操作做出響應;目標應用中的Service代表沒有用戶界面的監控類程序。當對文字結果的識別結果為(播放,歌曲)時,則啟動音樂播放器的Activity和Service。
進一步地,所述準備與所述第二語義識別結果相匹配的目標應用所需資源和空間包括:
判斷與所述第二語義識別結果相匹配的目標應用所需資源和空間是否被占用;
若被占用,則與所述第二語義識別結果相匹配的目標應用向占用該資源和空間的應用發送請求指令,以使占用應用釋放該資源和空間。
本發明實施例為了避免本地的各個應用程序之間無序爭奪資源和空間,在目標應用準備資源和空間時,判斷該目標應用所需資源和空間是否被占用,若被占用,則該目標應用向占用該資源和空間的應用發送請求指令,以使占用應用進行資源和空間的釋放。
在實際應用中,資源指的是音效資源、圖片渲染資源等硬件資源,空間指的是內存等存儲空間。
舉例來說,當經過語義識別確定響應語音指令的目標應用為音樂播放器時,要準備音樂播放器所需的資源和空間。當判斷音樂播放器所需的音效資源被視頻播放器占用,則音樂播放器向視頻播放器發送請求,以使視頻播放器釋放音效資源,避免了音樂播放器和視頻播放器無序爭奪資源導致應用意外關閉。
該方法還包括:
掃描本地應用,從所述本地應用中篩選出目標應用組;
相應地,所述根據所述第二語義識別結果在本地應用中篩選,包括:
根據所述第二語義識別結果調用目標應用組中的相應的目標應用以響應所述語音指令;
其中,所述目標應用組中的應用具有請求資源和空間的通信功能。
需要說明的是,本地裝載了多個應用,其中一個子場景可能對應多個可進行響應的應用。舉例來說,對于音樂子場景對應QQ音樂、酷狗音樂兩個音樂播放器;其中QQ音樂具有請求資源和空間的通信功能,而酷狗音樂無此功能。通過掃描本地應用,將QQ音樂加入目標應用組。
本發明實施例的人機交互系統,在系統啟動后,通過掃描本地應用篩選獲得具有請求資源和空間通信功能的目標應用,在后續的響應過程中,根據語義識別結果只從目標應用組中進行匹配,實現了對應用的動態管理,提高了系統的響應速度。
目標應用的請求資源和空間的通信功能是通過在目標應用的服務器端進行注冊進行標識的。具體地,目標應用在服務器注冊添加應用的包名和簽名等信息,通過制定類型集聲明支持的響應類型如:android.roobo.intent.ROOBO_MUSIC代表支持播放音樂。
在目標應用配置文件中加入自定義權限,如:
<permission android:name="com.roobo.os.I_AM_ROOBO"/>
<uses-permission android:name="com.roobo.os.I_AM_ROOBO"/>
就會被系統識別為具有請求資源和空間的通信功能。
在用戶對應用進行安裝和卸載的操作時,為了降低系統的消耗,也會先判斷當前操作的應用是否具有請求資源和空間的通信功能。舉例來說,當用戶卸載酷狗音樂時,由于酷狗音樂不具有請求資源和空間的通信功能,其不在目標應用組中,則無需對目標應用組進行更新掃描。只有在當前操作的應用具有有請求資源和空間的通信功能時,才會對目標應用組進行更新掃描。
另外,為了降低系統功耗,本發明實施例的人機交互系統在沒有用戶交互時處于沉靜狀態,僅僅開啟基本監聽服務,當接收到用戶特定的指令(例如“請開機”)激活整個系統。
進一步地,為了對用戶的動作進行響應,本實施例的人機交互方法還包括:接收用戶的動作指令;本地對所述動作指令進行識別獲得動作識別結果;根據所述動作識別結果調用相應的目標應用以響應所述動作指令。
舉例來說,當用戶用手擺出相框的形狀時,智能機器人通過攝像頭采集用戶的動作,本地對用戶的動作進行識別,獲得的動作識別結果是拍照;本地便調用拍照軟件為用戶拍照。
實施例2
本發明實施例的人機交互方法與實施例1中的類似,不同的是,本實施例確定第一語義識別結果與本地應用的匹配關系的方式是,當本地存在響應第一語義識別結果的目標應用,但由于無法準確確定文字結果的含義或者所述目標應用由于缺少數據而對第一語義識別結果無法響應時,判斷所述第一語義識別結果與本地應用匹配失敗。
如圖3所示,該實施例的人機交互方法包括:
S31:接收用戶的語音指令,經識別后得到文字結果;
S32:對所述文字結果進行語義識別,得到第一語義識別結果,并根據所述第一語義識別結果與本地應用進行匹配;若本地應用中存在響應第一語義識別結果的目標應用,且所述目標應用可響應所述第一語義識別結果,則匹配成功;否則,所述第一語義識別結果與本地應用匹配失敗;
S33:若匹配失敗,則將所述語音指令發送至服務端;
S34:接收所述服務端對所述文字結果的第二語義識別結果,根據所述第二語義識別結果在本地應用中篩選,得到相應的目標應用以響應所述語音指令;其中,所述第二語義識別結果是所述服務端利用語義模型對上述文字結果進行識別得到的;
需要說明的是,本地對語音指令進行識別,經識別后得到文字結果;獲得所述文字結果的特征向量,將獲取的文字結果的特征向量與預先設置的各個場景的特征向量進行匹配;若匹配值大于預設值,則本地存在響應第一語義識別結果的目標應用;若所述目標應用無法響應所述第一語義識別結果,則判斷所述第一語義識別結果與本地應用匹配失敗。進一步地,當本地存在響應第一語義識別結果的目標應用,但由于無法準確確定文字結果的含義或者所述目標應用由于缺少數據而對第一語義識別結果無法響應時,判斷所述第一語義識別結果與本地應用匹配失敗。
舉例來說,當用戶輸入“請給我唱首光輝歲月吧”的自然語言形式的語音指令時,本地對該語音指令進行識別,獲得對應的文字結果,如果用戶通過本地設備看過“光輝歲月”的電影(2013年曾志偉主演劇情片),則對文字結果進行語義識別獲取的識別結果為(給我<執行主體>,唱<活動>,光輝歲月<電影>);將獲取的識別結果(給我<執行主體>,唱<活動>,光輝歲月<電影>)與預先設置的天氣場景、娛樂場景和餐飲場景的特征向量進行匹配,娛樂場景中的音樂子場景的特征向量為(播放,歌曲),則語義識別結果(給我<執行主體>,唱<活動>,光輝歲月<電影>)與(播放,歌曲)的匹配度小于預設值,判斷第一語義識別結果與本地應用匹配失敗。本地由于無法準確確定文字結果的含義(本地無法獲知“光輝歲月”是歌曲),將“請給我唱首光輝歲月吧”的語音指令對應的文字結果發送至服務端,接收服務端對所述文字結果的第二語義識別結果,第二語義識別結果中根據服務器端知識庫的檢索,將“光輝歲月”識別為beyond的歌曲,則第二語義識別結果為(給我<執行主體>,唱<活動>,光輝歲月<歌曲>);根據第二語義識別結果在本地的音樂子場景的應用中匹配,即播放對應的音頻以響應該語音指令。
在其他實施例中,當用戶輸入“請給我唱首光輝歲月吧”的自然語言形式的語音指令時,本地對該語音指令進行識別,獲得對應的文字結果,對文字結果進行語義識別獲取的識別結果為(給我<執行主體>,唱<活動>,光輝歲月<歌曲>);將獲取的識別結果(給我<執行主體>,唱<活動>,光輝歲月<歌曲>)與預先設置的天氣場景、娛樂場景和餐飲場景的特征向量進行匹配,娛樂場景中的音樂子場景的特征向量為(播放,歌曲),則語義識別結果(給我<執行主體>,唱<活動>,光輝歲月<歌曲>)與(播放,歌曲)的匹配度大于預設值,判斷本地存在響應第一語義識別結果(給我<執行主體>,唱<活動>,光輝歲月<歌曲>)的目標應用,即本地應調用音樂播放器播放歌曲“光輝歲月”。然而,當本地沒有存儲光輝歲月的歌曲時,無法對第一語義識別結果(給我<執行主體>,唱<活動>,光輝歲月<歌曲>)進行響應,則判斷第一語義識別結果與本地應用匹配失敗。此時,將“請給我唱首光輝歲月吧”的語音指令對應的文字結果發送至服務端,接收服務端對所述文字結果的第二語義識別結果,同樣為(給我<執行主體>,唱<活動>,光輝歲月<歌曲>),其中還包括“光輝歲月”的歌曲在服務端的存儲位置;本地根據第二語義識別結果在本地應用中篩選,得到相應的目標應用,同時根據服務端的存儲位置向服務器請求下載光輝歲月的歌曲后進行播放,以響應該語音指令。
實施例3
圖4是本發明另一個實施例的人機交互方法的流程示意圖。如圖4所示,本發明實施例的人機交互方法包括:
S41:接收用戶的語音指令,經識別后得到文字結果;
S42:對所述文字結果進行語義識別,得到第一語義識別結果,并根據所述第一語義識別結果與本地應用進行匹配;
S43:若本地應用中存在響應第一語義識別結果的目標應用,且所述目標應用可響應所述第一語義識別結果,則匹配成功;否則,所述第一語義識別結果與本地應用匹配失??;
S44:若匹配失敗,則將所述語音指令發送至服務端;
S45:接收所述服務端對所述語音指令的第二語義識別結果,根據所述第二語義識別結果調用相應的目標應用,以響應所述語音指令;
S46:若匹配成功,則根據所述第一語義識別結果在本地應用中篩選,調用相應的目標應用以響應所述語音指令。
本發明實施例的人機交互方法,通過本地對用戶發送的語音指令經識別獲得的文字結果進行語義識別,當得到的語義識別結果與本地應用匹配失敗時,將文字結果發送至服務端,由服務端對文字結果進行語義識別,本地根據服務端發送的識別結果調用相應的目標應用以響應語音指令,避免了現有的人機交互方法對于變化多樣的表達方式的語音無法識別的缺陷,能準確識別語音指令,適用多種多樣的應用場景,保證了本地和服務器端的應用一致性。
在實際應用中,以用戶輸入“給我唱首歌吧”的語音指令為例進行說明,掃描本地應用,檢查應用的請求資源和空間的通信功能以確定可響應的目標應用組;本地對該語音指令識別,獲得文字結果,對所述文字結果進行語義識別,得到的語義識別結果與本地應用匹配失敗時,將該文字結果以古典密碼算法加密后傳遞給云端的AI服務端。AI服務端分析完成后會返回給本地識別結果,包括應該響應的類型。如本次響應類型為:
State:1
type:android.roobo.intent.ROOBO_MUSIC
size:153145
fileType:mp3
url:http://roobo.com/music/891014
本地根據AI服務端發送識別結果調用相應的目標應用以響應“給我唱首歌吧”的語音指令。
需要說明的是,“State”為識別的標識,當State為1代表識別成功,當State為0代表識別失敗。“type”代表響應的應用,本例中“ROOBO_MUSIC”代表應該調用音樂播放器?!皊ize”“fileType”“url”分別代表文件的大小、類型和存儲地址。
實施例4
圖5是本發明一個實施例的人機交互系統的結構示意圖。如圖5所示,本發明實施例的人機交互系統包括:語音指令接收單元51、第一語義識別結果獲取單元52、語音指令發送單元53和第一語音指令響應單元54;具體地:
語音指令接收單元51,用于接收用戶的語音指令,經識別后得到文字結果;
第一語義識別結果獲取單元52,用于對所述文字結果進行語義識別,得到第一語義識別結果,并根據所述第一語義識別結果與本地應用進行匹配;
語音指令發送單元53,用于當所述第一語義識別結果與本地應用匹配失敗時,則將所述語音指令發送至服務端;
第一語音指令響應單元54,用于接收所述服務端對所述文字結果的第二語義識別結果,根據所述第二語義識別結果在本地應用中篩選,得到相應的目標應用以響應所述語音指令;其中,所述第二語義識別結果是所述服務端通過語義模型對所述文字結果進行識別得到的。
在一種可選的實施方式中,還包括第二語音指令響應單元,用于當所述第一語義識別結果與本地應用匹配成功時,則根據所述第一語義識別結果在本地應用中篩選,調用相應的目標應用以響應所述語音指令。
第一語義識別結果獲取單元52進一步用于:
當本地應用中存在響應第一語義識別結果的目標應用,且所述目標應用可響應所述第一語義識別結果時,則判斷所述第一語義識別結果與本地應用匹配成功;否則,判斷所述第一語義識別結果與本地應用匹配失敗。進一步地,第一語音指令響應單元54包括:
資源空間準備模塊,用于準備與所述第二語義識別結果相匹配的目標應用所需資源和空間;
組件啟動模塊,用于啟動與所述第二語義識別結果相匹配的目標應用相關的應用組件,以響應所述語音指令。
具體地,所述資源空間準備模塊用于:
判斷與所述第二語義識別結果相匹配的目標應用所需資源和空間是否被占用;
若被占用,則與所述第二語義識別結果相匹配的目標應用向占用該資源和空間的應用發送請求指令,以使占用應用釋放該資源和空間。
本實施例的人機交互系統還包括:
本地應用掃描單元,用于掃描本地應用,從所述本地應用中篩選出目標應用組;
相應地,第一語音指令響應單元54用于:
根據所述第二語義識別結果調用目標應用組中的相應的目標應用以響應所述語音指令;
其中,所述目標應用組中的應用具有請求資源和空間的通信功能。
本實施例的人機交互系統還包括:
動作指令接收單元,用于接收用戶的動作指令;
動作識別結果獲取單元,用于通過本地對所述動作指令進行識別獲得動作識別結果;
動作指令響應單元,用于根據所述動作識別結果調用相應的目標應用以響應所述動作指令。
本實施例的人機交互系統可以用于執行上述方法實施例,其原理和技術效果類似,此處不再贅述。
本發明提供的人機交互方法及系統,通過本地對用戶發送的語音指令經識別獲得的文字結果進行語義識別,當得到的語義識別結果與本地應用匹配失敗時,將文字結果發送至服務端,由服務端對文字結果進行語義識別,本地根據服務端發送的識別結果調用相應的目標應用以響應語音指令,避免了現有的人機交互方法對于變化多樣的表達方式的語音無法識別的缺陷,能準確識別語音指令,適用多種多樣的應用場景,保證了本地和服務器端的應用一致性。
本領域內的技術人員應明白,本申請的實施例可提供為方法、系統、或計算機程序產品。因此,本申請可采用完全硬件實施例、完全軟件實施例、或結合軟件和硬件方面的實施例的形式。而且,本申請可采用在一個或多個其中包含有計算機可用程序代碼的計算機可用存儲介質(包括但不限于磁盤存儲器、CD-ROM、光學存儲器等)上實施的計算機程序產品的形式。
本申請是參照根據本申請實施例的方法、設備(系統)、和計算機程序產品的流程圖和/或方框圖來描述的。應理解可由計算機程序指令實現流程圖和/或方框圖中的每一流程和/或方框、以及流程圖和/或方框圖中的流程和/或方框的結合??商峁┻@些計算機程序指令到通用計算機、專用計算機、嵌入式處理機或其他可編程數據處理設備的處理器以產生一個機器,使得通過計算機或其他可編程數據處理設備的處理器執行的指令產生用于實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的裝置。
這些計算機程序指令也可存儲在能引導計算機或其他可編程數據處理設備以特定方式工作的計算機可讀存儲器中,使得存儲在該計算機可讀存儲器中的指令產生包括指令裝置的制造品,該指令裝置實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能。
這些計算機程序指令也可裝載到計算機或其他可編程數據處理設備上,使得在計算機或其他可編程設備上執行一系列操作步驟以產生計算機實現的處理,從而在計算機或其他可編程設備上執行的指令提供用于實現在流程圖一個流程或多個流程和/或方框圖一個方框或多個方框中指定的功能的步驟。
需要說明的是,在本文中,諸如第一和第二等之類的關系術語僅僅用來將一個實體或者操作與另一個實體或操作區分開來,而不一定要求或者暗示這些實體或操作之間存在任何這種實際的關系或者順序。而且,術語“包括”、“包含”或者其任何其他變體意在涵蓋非排他性的包含,從而使得包括一系列要素的過程、方法、物品或者設備不僅包括那些要素,而且還包括沒有明確列出的其他要素,或者是還包括為這種過程、方法、物品或者設備所固有的要素。在沒有更多限制的情況下,由語句“包括一個……”限定的要素,并不排除在包括所述要素的過程、方法、物品或者設備中還存在另外的相同要素。術語“上”、“下”等指示的方位或位置關系為基于附圖所示的方位或位置關系,僅是為了便于描述本發明和簡化描述,而不是指示或暗示所指的裝置或元件必須具有特定的方位、以特定的方位構造和操作,因此不能理解為對本發明的限制。除非另有明確的規定和限定,術語“安裝”、“相連”、“連接”應做廣義理解,例如,可以是固定連接,也可以是可拆卸連接,或一體地連接;可以是機械連接,也可以是電連接;可以是直接相連,也可以通過中間媒介間接相連,可以是兩個元件內部的連通。對于本領域的普通技術人員而言,可以根據具體情況理解上述術語在本發明中的具體含義。
本發明的說明書中,說明了大量具體細節。然而能夠理解的是,本發明的實施例可以在沒有這些具體細節的情況下實踐。在一些實例中,并未詳細示出公知的方法、結構和技術,以便不模糊對本說明書的理解。類似地,應當理解,為了精簡本發明公開并幫助理解各個發明方面中的一個或多個,在上面對本發明的示例性實施例的描述中,本發明的各個特征有時被一起分組到單個實施例、圖、或者對其的描述中。然而,并不應將該公開的方法解釋呈反映如下意圖:即所要求保護的本發明要求比在每個權利要求中所明確記載的特征更多的特征。更確切地說,如權利要求書所反映的那樣,發明方面在于少于前面公開的單個實施例的所有特征。因此,遵循具體實施方式的權利要求書由此明確地并入該具體實施方式,其中每個權利要求本身都作為本發明的單獨實施例。需要說明的是,在不沖突的情況下,本申請中的實施例及實施例中的特征可以相互組合。本發明并不局限于任何單一的方面,也不局限于任何單一的實施例,也不局限于這些方面和/或實施例的任意組合和/或置換。而且,可以單獨使用本發明的每個方面和/或實施例或者與一個或更多其他方面和/或其實施例結合使用。
最后應說明的是:以上各實施例僅用以說明本發明的技術方案,而非對其限制;盡管參照前述各實施例對本發明進行了詳細的說明,本領域的普通技術人員應當理解:其依然可以對前述各實施例所記載的技術方案進行修改,或者對其中部分或者全部技術特征進行等同替換;而這些修改或者替換,并不使相應技術方案的本質脫離本發明各實施例技術方案的范圍,其均應涵蓋在本發明的權利要求和說明書的范圍當中。