語音互動方法、裝置及系統
本發明涉及電腦技術領域,尤其涉及一種語音互動方法、裝置及系統。
過去十幾年來,網際網路在人們生活的各個領域不斷深化,人們可以通過網際網路方便地進行購物、社交、娛樂、理財等活動。同時,為提高用戶體驗,研究人員實現了很多互動方案,如文字輸入、手勢輸入、語音輸入等。其中,智慧語音互動由於其操作的便捷性而成為新一代互動模式的研究熱點。
隨著語音互動技術的逐步發展,越來越多的智慧設備具有了語音喚醒功能。當前市面上比較流行的智慧設備都配置有固定的喚醒詞,當接收到用戶輸入的語音資料時,直接判斷用戶輸入的語音資料與預設的固定喚醒詞是否匹配。若兩者匹配,則將處於休眠狀態的智慧設備轉為互動狀態或工作狀態。這樣,每次用戶想與智慧設備進行互動時,必須先使用固定的喚醒詞將該設備喚醒,再輸入語音指令。當結束一次語音互動的過程後,若用戶要再次與該智慧設備進行互動,需要再次輸入固定的喚醒詞將其喚醒,再輸入語音指令。
這種方式下,在每一次語音互動之前,用戶需要先輸入固定喚醒詞,這無疑增加了用戶的操作次數,從而會增加互動成本,降低用戶的互動體驗。因此,需要一種優化的語音互動方案。
為此,本發明提供了一種語音互動方法、裝置及系統,以力圖解決或至少緩解上面存在的至少一個問題。
根據本發明的一個態樣,提供了一種語音互動方法,包括步驟:將用戶輸入的第一語音資料發送給伺服器,以便伺服器根據所述第一語音資料確認互動場景;基於互動場景獲取配置資訊;以及基於所獲取的配置資訊對用戶輸入的第二語音資料進行處理並輸出回應。
可選地,根據本發明的方法還包括步驟:預先設置各互動場景下的配置資訊,其中,配置資訊中包含至少一條用於在該互動場景下使用的目標資料。
可選地,在根據本發明的方法中,基於配置資訊對用戶輸入的第二語音資料進行處理並輸出回應的步驟包括:判斷用戶輸入的第二語音資料與配置資訊中的目標資料是否匹配;若匹配則獲取當前時刻的狀態資料;將第二語音資料與狀態資料發送給伺服器,以便伺服器根據狀態資料對第二語音資料進行識別處理並返回回應指令;以及根據回應指令輸出回應給用戶。
可選地,根據本發明的方法還包括接收用戶輸入的第三語音資料的步驟:檢測用戶輸入的第三語音資料中是否包含預定對象;以及若第三語音資料中包含預定對象,則進入互動狀態。
可選地,在根據本發明的方法中,將用戶輸入的第一語音資料發送給伺服器,以便伺服器根據第一語音資料確認互動場景的步驟包括:回應於用戶輸入第一語音資料,獲取當前時刻的狀態資料;以及將第一語音資料與狀態資料發送給伺服器,以便伺服器根據狀態資料對所述第一語音資料進行識別處理並返回回應指令,其中回應指令中還包括互動場景。
可選地,在根據本發明的方法中,基於互動場景獲取配置資訊的步驟還包括:根據回應指令輸出回應給用戶。
可選地,根據本發明的方法還包括步驟:回應於用戶切換互動場景的請求,轉發請求至伺服器,以便伺服器確認待切換的互動場景;判斷是否關閉切換前的互動場景;若關閉切換前的互動場景,則基於切換後的互動場景得到配置資訊;以及若不關閉切換前的互動場景,則基於切換前的互動場景和切換後的互動場景得到配置資訊。
根據本發明的另一態樣,提供了一種語音互動方法,包括步驟:根據用戶輸入的第一語音資料確定互動場景;基於互動場景獲取配置資訊;以及基於所獲取的配置資訊對用戶輸入的第二語音資料進行處理並輸出回應。
根據本發明的又一態樣,提供了一種語音互動裝置,包括:連接管理單元,適於接收用戶輸入的第一語音資料併發送給伺服器,以便伺服器根據第一語音資料確認互動場景;資訊獲取單元,適於基於互動場景獲取配置資訊;以及資料處理單元,適於基於所獲取的配置資訊對用戶輸入的第二語音資料進行處理並輸出回應。
可選地,根據本發明的裝置還包括資訊儲存單元,適於預先儲存各互動場景下的配置資訊,其中,配置資訊中包含至少一條用於在該互動場景下使用的目標資料。
可選地,在根據本發明的裝置中,資料處理單元還包括判斷模組,適於判斷用戶輸入的第二語音資料與配置資訊中的目標資料是否匹配;資訊獲取單元還適於在第二語音資料與所述目標資料匹配時,獲取當前時刻的狀態資料;連接管理單元還適於將第二語音資料與狀態資料發送給伺服器,並接收該伺服器根據狀態資料對第二語音資料進行識別處理後返回的回應指令;以及連接管理單元還適於根據該回應指令輸出回應給用戶。
可選地,在根據本發明的裝置中,連接管理單元還適於接收用戶輸入的第三語音資料;裝置還包括檢測單元,適於檢測用戶輸入的第三語音資料中是否包含預定對象,並在第三語音資料包含預定對象時進入互動狀態。
可選地,在根據本發明的裝置中,連接管理單元還適於回應於用戶切換互動場景的請求,轉發請求至伺服器,以便伺服器確認待切換的互動場景;資訊獲取單元還包括判決模組,適於判斷是否關閉切換前的互動場景;資訊獲取單元還適於在關閉切換前的互動場景時,基於切換後的互動場景得到配置資訊,且在不關閉切換前的互動場景時,基於切換前的互動場景和切換後的互動場景得到配置資訊。
根據本發明的再一個態樣,提供了一種語音互動系統,包括:用戶端,包括如上所述的語音互動裝置;以及伺服器,適於接收來自用戶端的語音資料和狀態資料,並基於狀態資料和語音資料,確定用戶端的互動場景。
可選地,在根據本發明的系統中,伺服器還適於根據狀態資料對語音資料進行識別處理、返回回應指令給用戶端。
可選地,在根據本發明的系統中,用戶端是智慧音箱。
根據本發明的再一態樣,提供了一種智慧音箱,包括:介面單元,適於接收用戶輸入的第一語音資料;互動控制單元,適於根據用戶輸入的第一語音資料確定互動場景,並基於互動場景獲取配置資訊,互動控制單元還適於基於配置資訊對第二語音資料進行處理,並輸出回應。
根據本發明的再一個態樣,提供了一種計算設備,包括:至少一個處理器;和儲存有程式指令的記憶體,其中,程式指令被配置為適於由至少一個處理器執行,程式指令包括用於執行如上所述任一方法的指令。
根據本發明的再一個態樣,提供了一種儲存有程式指令的可讀儲存媒體,當程式指令被計算設備讀取並執行時,使得計算設備執行如上所述的任一方法。
根據本發明的語音互動方法,用戶端在接收到用戶輸入的第一語音資料時,將第一語音資料轉發給伺服器,由伺服器確認互動場景;而後用戶端根據互動場景獲取配置資訊,在該互動場景下,只要用戶輸入的語音資料與配置資訊中的目標資料相匹配,則直接喚醒用戶端進行語音互動。相比於現有的語音互動方案,本方案能夠降低互動成本,提高用戶體驗。
上述說明僅是本發明技術方案的概述,為了能夠更清楚瞭解本發明的技術手段,而可依照說明書的內容予以實施,並且為了讓本發明的上述和其它目的、特徵和優點能夠更明顯易懂,以下特舉本發明的具體實施方式。
下面將參照圖式更詳細地描述本公開的示例性實施例。雖然圖式中顯示了本公開的示例性實施例,然而應當理解,可以以各種形式實現本公開而不應被這裡闡述的實施例所限制。相反,提供這些實施例是為了能夠更透徹地理解本公開,並且能夠將本公開的範圍完整的傳達給本領域的技術人員。
圖1示出了根據本發明一個實施例的語音互動系統100的場景示意圖。如圖1所示,系統100中包括用戶端110和伺服器120。應當指出,圖1所示的系統100僅作為一個示例,本領域技術人員可以理解,在實際應用中,系統100通常包括多個用戶端110和伺服器120,本發明對系統100中所包括的用戶端110和伺服器120的數量均不做限制。
用戶端110為具有語音互動裝置(如,根據本發明實施例的語音互動裝置500)的智慧設備,其可以接收用戶發出的語音指示,以及向用戶返回語音或非語音資訊。一個典型的語音互動裝置包括麥克風等語音輸入單元、揚聲器等語音輸出單元以及處理器。語音互動裝置可以內置在用戶端110中,也可以作為一個獨立的模組與用戶端110配合使用(例如經由API或通過其它方式與用戶端110進行通訊,調用用戶端110上的功能或應用),本發明的實施例對此不做限制。用戶端110例如可以是具有語音互動裝置的移動設備(如,智慧音箱)、智慧型機器人、智慧家電(包括智慧電視、智慧冰箱、智慧微波爐等),但不限於此。用戶端110的一個應用場景為家用場景,即,用戶端110放置於用戶家中,用戶可以向用戶端110發出語音指示以實現某些功能,例如上網、點播歌曲、購物、瞭解天氣預報、對家中的其他智慧家居設備進行控制,等等。
伺服器120與用戶端110通過網路進行通訊,其例如可以是物理上位於一個或多個地點的雲伺服器。伺服器120為用戶端110上接收的語音資料提供識別服務,以得到用戶輸入的語音資料的文本表示;伺服器120還會基於文本表示得到用戶意圖的表示,並產生回應指令,返回給用戶端110。用戶端110根據該回應指令執行相應的操作,來為用戶提供相應的服務,例如設置鬧鐘、撥打電話、發送郵件、播報資訊、播放歌曲、視頻等。當然,用戶端110也可以根據回應指令輸出相應的語音回應給用戶,本發明的實施例對此不做限制。
根據一些實施例,在用戶端110中,語音互動模組的麥克風持續接收外部聲音。當用戶要使用用戶端110進行語音互動時,需要先說出相應的喚醒詞來喚醒用戶端110 (更具體地說,通過輸入喚醒詞來喚醒用戶端110中的語音互動模組),使其進入互動狀態。在用戶端110結束一次語音互動後,若用戶要再次使用用戶端110進行互動,就需要再次輸入喚醒詞來喚醒用戶端110。
以下示例性地示出了一些語音互動過程。其中,固定的喚醒詞設置為“小精靈”。
用戶:小精靈。
用戶端:我在,你說。
用戶;我想聽**的歌。
用戶端:好的,即將為你播放**的歌。
用戶:小精靈。
用戶端:我在,你說。
用戶:把聲音調到50。
用戶端:好的,聲音已調到50。
用戶;小精靈,收藏這首歌。
用戶端:好的,歌曲已收藏。
用戶:小精靈,播放收藏。
用戶端:好的,即將為你播放收藏。
用戶:小精靈。
用戶端:我在,你說。
用戶:下一首。
用戶端:好的。
用戶:小精靈,上一首。
用戶端:好的。
從上例可以看到,用戶在每次互動時,都需要先輸入喚醒詞、再輸入相應的語音指令。也就是說,用戶每要指示用戶端110去執行一個操作,都需要先輸入一次喚醒詞。對用戶而言,這樣的對話模式過於繁瑣。為降低互動成本,減少用戶重複輸入喚醒詞,在根據本發明的系統100中,根據用戶與用戶端110進行語音互動的互動場景,預先設置各互動場景下,用戶可能要使用的一條或多條目標資料,以此構成各互動場景下的配置資訊。換句話說,配置資訊中包含了各種互動場景對應的互動範本。根據本發明的實施方式,在特定的互動場景下,用戶無需多次輸入喚醒詞來與用戶端110進行互動,只要輸入的語音指令中包含了該互動場景下的目標資料即可。
例如,在上述示例中所展現的聽歌的互動場景中,目標資料就可以是:“上一首”“下一首”“收藏這首歌”“聲音大一點”“暫停播放”“繼續播放”“當前是什麼歌”等等,這些目標資料就構成了聽歌的互動場景所對應的配置資訊。應當指出,上述說明僅作為示例,本發明的實施例並不限於此。在具體的實施例中,目標資料可以設置為“聲音大一點”,也可以設置為“調大音量”,等等。
根據本發明的實施方式,用戶端110在接收到用戶輸入的語音資料後,還會獲取當前時刻用戶端110上的狀態資料,連同該語音資料一併傳送給伺服器120。用戶端110的狀態資料例如是用戶正在操作用戶端110上的某個應用或者類似軟體的狀態。例如,用戶可能正在使用某個應用播放視頻流資料;又如,用戶正在使用某個社交軟體與特定個人進行交流;但不限於此。
伺服器120在產生回應指令的同時,還可以依據狀態資料和語音資料進行場景分析,以確認出用戶輸入語音資料時所期望進入的互動場景。例如,用戶輸入語音資料——“我想看劇”,伺服器120通過狀態資料確認當前用戶端110上正在使用音樂播放機軟體,伺服器120基本可以確定出用戶期望進入播放視頻的互動場景。又如,用戶輸入語音資料——“現在杭州的天氣怎樣”,伺服器120基本能夠確認出用戶期望進入查看天氣預報的互動場景。
伺服器120將確認的互動場景連同回應指令返回給用戶端110。用戶端110根據該互動場景,獲取其對應的配置資訊。這樣,在該互動場景下,用戶端110只需要判斷用戶輸入的語音資料與配置資訊中的目標資料是否一致,若一致則直接輸出回應。
還是以上述示例中所展現的聽歌的互動場景為例,在根據本發明的語音互動系統100中,用戶和用戶端110的語音互動過程可以優化為:
用戶:小精靈。
用戶端:我在,你說。
用戶;我想聽**的歌。
用戶端:好的,即將為你播放**的歌。
用戶:把聲音調到50。
用戶端:好的,聲音已調到50。
用戶;收藏這首歌。
用戶端:好的,歌曲已收藏。
用戶:播放收藏。
用戶端:好的,即將為你播放收藏。
用戶:下一首。
用戶端:好的。
用戶:上一首。
用戶端:好的。
對比上面示出的互動過程可以看出,根據本發明的語音互動系統100,只要沒有切換出當前的互動場景,用戶端110就一直處於互動狀態,用戶可以直接輸入語音指令來指示用戶端110執行相應的操作。這樣,系統100無需多次重複之前已經執行過的互動流程(例如,喚醒用戶端110的流程),降低了互動成本,提高了用戶體驗。
以下以用戶端110被實現為智慧音箱為例,概括說明根據本發明實施例的語音互動方案。
除基本的配置外,根據本發明一個實施例的智慧音箱還包括:介面單元和互動控制單元。其中,介面單元接收用戶輸入的第一語音資料;互動控制單元根據用戶輸入的第一語音資料確定互動場景,並基於該互動場景獲取配置資訊,同時,互動控制單元還能夠基於配置資訊對第二語音資料進行處理,並輸出回應。
關於智慧音箱進行語音互動過程的具體描述,可參考前文及下文關於圖3的相關描述,此處不再進行贅述。
應當指出,在根據本發明的另一些實施方式中,伺服器120也可以實現為通過網路與用戶端110相連的其他電子設備(如,同處於一個物聯網環境中的其他計算設備)。甚至,當用戶端110具有足夠的儲存空間和算力的條件下,伺服器120也可以實現為用戶端110本身。
根據本發明的實施方式,用戶端110和伺服器120均可以通過如下所述的計算設備200來實現。圖2示出了根據本發明一個實施例的計算設備200的示意圖。
如圖2所示,在基本配置202中,計算設備200典型地包括系統記憶體206和一個或者多個處理器204。記憶體匯流排208可以用於在處理器204和系統記憶體206之間的通訊。
取決於期望的配置,處理器204可以是任何類型的處理,包括但不限於:微處理器(µP)、微控制器(µC)、數位資訊處理器(DSP)或者它們的任何組合。處理器204可以包括諸如一級快取記憶體210和二級快取記憶體212之類的一個或者多個級別的快取記憶體、處理器核心214和暫存器216。示例的處理器核心214可以包括運算邏輯單元(ALU)、浮點數單元(FPU)、數位信號處理核心(DSP核心)或者它們的任何組合。示例的記憶體控制器218可以與處理器204一起使用,或者在一些實現中,記憶體控制器218可以是處理器204的一個內部部分。
取決於期望的配置,系統記憶體206可以是任意類型的記憶體,包括但不限於:揮發性記憶體(諸如RAM)、非揮發性記憶體(諸如ROM、快閃記憶體等)或者它們的任何組合。系統記憶體206可以包括作業系統220、一個或者多個應用222以及程式資料224。在一些實施方式中,應用222可以佈置為在作業系統上由一個或多個處理器204利用程式資料224執行指令。
計算設備200還可以包括有助於從各種周邊設備(例如,輸出設備242、外設介面244和通訊設備246)到基本配置202經由匯流排/介面控制器230的通訊的介面匯流排240。示例的輸出設備242包括圖形處理單元248和音訊處理單元250。它們可以被配置為有助於經由一個或者多個A/V埠252與諸如顯示器或者揚聲器之類的各種外部設備進行通訊。示例外設介面244可以包括串行介面控制器254和並行介面控制器256,它們可以被配置為有助於經由一個或者多個I/O埠258和諸如輸入裝置(例如,鍵盤、滑鼠、筆、語音輸入裝置、觸摸輸入裝置)或者其他外設(例如印表機、掃描器等)之類的外部設備進行通訊。示例的通訊設備246可以包括網路控制器260,其可以被佈置為便於經由一個或者多個通訊連接埠264與一個或者多個其他計算設備262通過網路通訊鏈路的通訊。
網路通訊鏈路可以是通訊媒體的一個示例。通訊媒體通常可以體現為在諸如載波或者其他傳輸機制之類的調製資料信號中的電腦可讀指令、資料結構、程式模組,並且可以包括任何資訊遞送媒體。“調製資料信號”可以是這樣的信號,它的資料集中的一個或者多個或者它的改變可以在信號中編碼資訊的方式進行。作為非限制性的示例,通訊媒體可以包括諸如有線網路或者專線網路之類的有線媒體,以及諸如聲音、射頻(RF)、微波、紅外(IR)或者其它無線媒體在內的各種無線媒體。這裡使用的術語電腦可讀媒體可以包括儲存媒體和通訊媒體二者。
計算設備200可以實現為伺服器,例如檔案伺服器、資料庫伺服器、應用程式伺服器和WEB伺服器等,也可以實現為包括桌上型電腦和筆記型電腦配置的個人電腦。當然,計算設備200也可以實現為小尺寸便攜(或者移動)電子設備的一部分。在根據本發明的實施例中,計算設備200被配置為執行根據本發明的語音互動方法。計算設備200的應用222中包含執行根據本發明的語音互動方法300的多條程式指令。
圖3示出了根據本發明一個實施例的語音互動方法300的互動流程圖。該互動方法300適於在上述系統100中執行。需要說明的是,為使下述說明更清楚,此處將用戶輸入的語音資料(或語音指令)區分為,第三語音資料(用於喚醒用戶端110的語音資料,一般包含預定對象/喚醒詞)、第一語音資料(在用戶端110被喚醒後,用戶輸入的包含一般指令的語音資料)、第二語音資料(在確認互動場景後,用戶輸入的語音資料,一般會包含目標資料)。但應當理解,它們都是用戶輸入的語音資料,本發明不受限於此。
如圖3所示,方法300始於步驟S301。
在步驟S301中,用戶端110接收用戶輸入的第三語音資料,並檢測其中是否包含預定對象(預定對象例如是預定的喚醒詞),若包含預定對象則進入互動狀態。
在根據本發明的實施例中,第三語音資料一般用於喚醒用戶端110,使其處於互動狀態。需要說明的是,預定對象可以在用戶端110出廠時預先設置,也可以由用戶在使用用戶端110的過程中自行設置,本發明對預定對象的長短、內容均不做限制。
在一種實施例中,用戶端110在檢測到第三語音資料中包含預定對象時,以播放語音的方式回應用戶,例如,用戶端110播放語音——“你好,請講”,以此來告知用戶,用戶端110已處於互動狀態,可以開始語音互動。
隨後在步驟S302中,用戶端110接收用戶輸入的第一語音資料,並且回應於用戶輸入,獲取用戶端110在當前時刻的狀態資料。
用戶端110的狀態資料可以包括任意可以得到的用戶端110上的資訊。在一些實施例中,用戶端110的狀態資料包括下列資訊中的一個或多個:用戶端的進程資料、用戶端的應用清單、用戶端上應用使用歷史資料、關聯於該用戶端的用戶個人資料、從用戶端的至少一個感測器上獲得的資料(如用戶端的位置資訊、環境資訊等)、用戶端顯示介面中的文本資料,但不限於此。
隨後在步驟S303中,用戶端110將來自用戶的第一語音資料與本地的狀態資料,一併發送給伺服器120。
隨後,在步驟S304中,伺服器120根據所接收到的狀態資料對第一語音資料進行識別處理。
在根據本發明的實施例中,伺服器120對第一語音資料的識別處理可以分為兩部分。
首先,伺服器120通過ASR(Automatic Speech Recognition)語音辨識技術對第一語音資料進行識別。伺服器120可以先將第一語音資料表示為文本資料,再對文本資料進行分詞處理,得到第一語音資料的文本表示(應當指出,也可以採用其他方式來表示語音資料,本發明的實施例並不限於文本表示)。典型的ASR語音辨識方法例如可以是:基於聲道模型和語音知識的方法、範本匹配的方法、以及利用神經網路的方法等,本發明的實施例對採用何種ASR方法進行語音辨識處理並不做過多限制,任何已知的或未來可知的此類演算法均可以與本發明的實施例相結合,以實現本發明的方法300。
需要說明的是,伺服器120在通過ASR技術進行識別時,還可以包括對第一語音資料的一些預處理操作,如:採樣、量化、去除不包含語音內容的語音資料(如,靜默的語音資料)、對語音資料進行分框、加窗等處理,等等。本發明的實施例在此處不做過多展開。
然後,伺服器120再結合狀態資料對文本表示進行處理,以理解用戶意圖,最終得到用戶意圖的表示。在一些實施例中,伺服器120可以採用NLP(Natural Language Processing)自然語言處理方法來對用戶輸入的第一語音資料進行理解,最終識別出用戶的意圖,用戶的意圖往往對應著實際的操作,如播放音樂、查看通訊錄等。在另一些實施例中,伺服器120還可以進一步確定用戶意圖的參數,如具體播放哪首歌或哪位歌手的歌曲,等等。本發明的實施例對採用何種NLP演算法來理解用戶意圖並不做過多限制,任何已知的或未來可知的此類演算法均可以與本發明的實施例相結合,以實現本發明的方法300。
在根據本發明的實施例中,伺服器120通過分析用戶意圖,確定當前的互動場景。互動場景表徵的是用戶端110當前或(按照用戶輸入)即將處於的互動場景。互動場景例如可以是通話場景、短消息場景、音樂場景、視頻場景、瀏覽資訊場景等等。
在根據本發明的實施例中,伺服器120在對第一語音資料進行上述識別後,產生回應指令。
一方面,回應指令包含了對用戶意圖的回應、及具體的執行參數。例如,用戶輸入的第一語音資料為——“我要聽歌”,伺服器120產生的回應指令中就包含了播放指令。同時,回應指令中還可以包含相應的文本資料,用以回覆用戶輸入的語音資料。例如,回應指令中包含“好的,即將為您播放”的文本資料。除此之外,回應指令中還可以包含播放指令的執行參數,如播放清單、播放歌曲的封面、下載地址等等,不限於此。
另一方面,回應指令還包含了互動場景。例如,伺服器120通過處理分析得到,“我要聽歌”對應的互動場景是“音樂場景”,那麼,伺服器120產生的回應指令中除上述參數外,還包含“音樂場景”。
隨後,在步驟S305中,伺服器120返回上述回應指令給用戶端110。
之後在步驟S306中,用戶端110一方面基於所接收到的回應指令中的互動場景,獲取配置資訊。
如前文所述,用戶端110上預先設置有各互動場景下的配置資訊。其中,配置資訊中包含至少一條用於在該互動場景下使用的目標資料。關於配置資訊的具體描述可參考前文圖1的相關描述,此處不再贅述。
另一方面,用戶端110根據該回應指令中的相關指令和執行參數,輸出回應給用戶。例如,用戶端110通過TTS技術將回應指令中包含的文本資料轉換為語音資料,通過語音回覆用戶——“好的,即將為您播放”;同時,用戶端110執行播放指令,為用戶播放歌曲。在又一些實施例中,用戶端110還可以根據執行參數下載相應的歌曲、封面等,此處不再一一贅述。
接下來,在步驟S307中,用戶端110接收用戶輸入的第二語音資料,並判斷用戶輸入的第二語音資料與配置資訊中的目標資料是否匹配。
根據本發明的實施例,若第二語音資料與配置資訊中的至少一條目標資料相匹配,則直接進入互動狀態。即,用戶不用再次輸入預定對象,即可喚醒用戶端110。接上例,在音樂場景下,用戶輸入第二語音資料——“下一首”,用戶端110經判斷後確認該第二語音資料與音樂場景下的目標資料相匹配,則直接進入互動狀態。
需要說明的是,關於採用何種方法來判斷第二語音資料和目標資料是否匹配,本發明的實施例並不做過多地限制。例如,本領域技術人員可以通過任意一種方式來計算第二語音資料和目標資料的匹配度,當匹配度高於預設值時,就判定二者相匹配。
用戶端110在互動狀態下,同步驟S302所描述的,獲取當前時刻的狀態資料。此處不再贅述。
隨後在步驟S308中,用戶端110將第二語音資料與狀態資料發送給伺服器120。
接下來,在步驟S309中,伺服器120根據所接收到的狀態資料對對應的第二語音資料進行識別。在根據本發明的實施例中,對第二語音資料的處理與對第一語音資料的處理過程完全一致,故關於識別的具體內容,可參考步驟S304的相關描述,此處不再進行贅述。
隨後,在步驟S310中,伺服器120返回回應指令給用戶端110。由用戶端110根據該回應指令輸出回應給用戶。
之後,只要用戶輸入的第二語音資料與配置資訊中的目標資料相匹配,即,一直處於當前的互動場景中,則重複步驟S307~步驟S310的過程。
根據一些實施方式,方法300中還可能包含切換互動場景的情形。
在步驟S311中,回應於用戶切換互動場景的請求,用戶端110轉發該請求給伺服器120。
在根據本發明的實施例中,用戶切換互動場景的請求可以由如下兩種方式來觸發。
在一種實施例中,用戶重新發送包含預定對象的第三語音資料給用戶端110。此時,用戶端110檢測到預定對象,則判定用戶要切換互動場景。例如,在音樂場景下,用戶輸入——“小精靈,幫我查一下當前天氣”,即觸發切換互動場景的請求。
在另一種實施例中,用戶切換用戶端110的顯示介面,使用戶端110跳轉到其他應用或業務。例如在視頻場景下,用戶端110的顯示介面是視頻播放介面,當用戶切換顯示介面到圖片拍攝的顯示介面時,就觸發了切換互動場景的請求。
在隨後的步驟S312中,伺服器120確認待切換的互動場景,並在隨後的步驟S313中,返回回應指令。
伺服器120可以根據用戶輸入的第三語音資料,來分析用戶想切換的互動場景。例如,用戶輸入——“小精靈,幫我查一下當前天氣”,伺服器120可以據此分析出待切換的互動場景為天氣查詢場景。
另外,回應於切換互動場景的請求,用戶端110同樣會採集當前時刻的狀態資料,並與該請求一起,發送給伺服器120。這樣,伺服器120就可以利用狀態資料來進行場景分析,以確認待切換的互動場景。例如,當用戶端110的顯示介面由視頻播放介面切換到圖片拍攝介面時,伺服器120可以分析出待切換的互動場景是圖片拍攝場景。
當然,伺服器120還可以結合狀態資料和用戶輸入的第三語音資料來進行場景分析,以確認待切換的互動場景。關於本部分的具體內容可參考前文步驟S304中的相關描述,此處不做贅述。
在確認出待切換的互動場景後,伺服器120產生相應的回應指令給用戶端110,由其輸出回應給用戶。例如,切換到用戶期望打開的應用。回應指令的相關描述可參見前文描述,此處不再展開。
同時,在步驟S314中,用戶端110判斷是否關閉切換前的互動場景。
根據本發明的實施方式,用戶端110通過狀態資料來判斷是否關閉切換前的互動場景。用戶端110獲取正在執行的進程資料來進行判斷:若正在執行的進程資料中不包含切換前的互動場景所對應的進程資料,則說明上一個進程已經被關閉,故關閉切換前的互動場景;若正在執行的進程資料中還包含切換前的互動場景所對應的進程資料,則說明上一個進程還在執行中,故不關閉切換前的互動場景。
接著,在經判斷確認關閉切換前的互動場景時,基於切換後的互動場景得到配置資訊。在經判斷確認不關閉切換前的互動場景時,基於切換前的互動場景和切換後的互動場景得到配置資訊。即,在保有原先的配置資訊的同時,獲取切換後的互動場景對應的配置資訊。關於獲取配置資訊的內容可參考前文步驟S306的相關描述,此處不再贅述。
在實際的應用場景中,用戶常常一邊聽音樂,一邊瀏覽資訊、聊天等。設想一種場景,用戶正在通過音訊播放類應用播放歌曲(即,用戶端110處於音樂場景),此時,用戶輸入第三語音資料——“小精靈,我要看最新的新聞”,用戶端110根據回應指令打開用戶端110上的某個新聞類應用。此時,用戶端110的顯示介面就跳轉到了該新聞類應用,但是音訊播放類應用依然可以在後臺播放歌曲。用戶端110通過收集狀態資料來進行判斷分析,最終確認不用關閉切換前的互動場景(即,音樂場景),從而基於切換前的互動場景和切換後的互動場景(即,瀏覽資訊場景)得到配置資訊。即,保留用戶端110上當前正在使用的音樂場景下的配置資訊,再獲取瀏覽資訊場景下的配置資訊。之後,用戶可以同時使用這兩套配置資訊中的目標資料來與用戶端110進行語音互動。
基於上述描述,通過本發明的語音互動方案,用戶端結合本地狀態、用戶習慣等資訊,為不同的互動場景預先設置不同的配置資訊,以支援在各互動場景下,快捷喚醒用戶端,即能直接回應用戶無喚醒詞(即,預定對象)的語音指令。
根據本發明的語音互動方法300,用戶端110在接收到用戶輸入的第一語音資料時,將第一語音資料轉發給伺服器120,由伺服器120確認互動場景;而後用戶端110根據互動場景獲取配置資訊,在該互動場景下,只要用戶輸入的語音資料與配置資訊中的目標資料相匹配,則直接喚醒用戶端110,進行語音互動。相比於現有的語音互動方案,本方案具有回應快、成本低等優勢。另外,伺服器120基於用戶端110上的狀態資料進行場景分析,將對語音資料的識別與用戶端110的當前狀態、互動場景緊密結合,能夠顯著提升識別的準確率。
方法300的執行涉及到系統100中的各個部件,為此,在圖4中示出了根據本發明另一個實施例的語音互動方法400的流程示意圖。圖4所示的方法500適於在用戶端110中執行,是圖3所示方法的進一步說明。
如圖4所示,方法400包括步驟S410,將用戶輸入的第一語音資料發送給伺服器120,以便伺服器120根據第一語音資料確認互動場景。
需要說明的是,用戶端110在接收到用戶輸入的第一語音資料後,也可以在本地根據用戶輸入的第一語音資料確定出當前的互動場景。例如,用戶端110根據當前的狀態資料(如,當前正在使用的應用程式,不限於此),來確認當前的互動場景。本發明的實施例對此不做限制。
隨後在步驟S420中,基於互動場景獲取配置資訊。隨後在步驟S430中,基於所獲取的配置資訊對用戶輸入的第二語音資料進行處理並輸出回應。
除此之外,方法400還包括步驟:預先設置各互動場景下的配置資訊。根據本發明的實施方式,配置資訊中包含至少一條用於在該互動場景下使用的目標資料。通過這些目標資料,可以直接喚醒用戶端進入互動狀態。配置資訊中的目標資料可以結合用戶端本身的狀態、用戶的輸入偏好等來設置;可以在出廠時預先設置,也可以由用戶在使用用戶端110的過程中自行設置,本發明的實施例對此不做限制。
當然,在接收來自用戶端110的第一語音資料之前,還包括根據用戶輸入的第三語音資料將用戶端110由休眠狀態切換到互動狀態的過程。以及,在互動狀態下,回應於用戶切換互動場景的請求,重新載入配置資訊的步驟。關於整個語音互動流程的描述,可參考前文方法300中的具體闡述,篇幅所限,此處不做贅述。
為配合圖3~圖4的相關描述進一步說明用戶端110,圖5示出了根據本發明一個實施例的駐留在用戶端110中的語音資料識別裝置500的示意圖。
如圖5所示,除基本的配置外,語音互動裝置500至少包括:資訊儲存單元510、連接管理單元520、資訊獲取單元530、資料處理單元540。
根據一種實施方式,資訊儲存單元510預先儲存各互動場景下的配置資訊,其中,配置資訊中包含至少一條用於在該互動場景下使用的目標資料。連接管理單元520用於實現語音互動裝置500的各種輸入/輸出操作,例如,接收用戶輸入的第一語音資料併發送給伺服器120,以便伺服器120根據第一語音資料確認互動場景。資訊獲取單元530基於互動場景獲取配置資訊。資料處理單元540基於所獲取的配置資訊對用戶輸入的第二語音資料進行處理並輸出回應。
在一些實施例中,資料處理單元540還包括判斷模組542,適於判斷用戶輸入的第二語音資料與配置資訊中的目標資料是否匹配。在第二語音資料與目標資料相匹配時,資訊獲取單元530獲取當前時刻的狀態資料。連接管理單元520將第二語音資料與狀態資料發送給伺服器120,並接收該伺服器120根據狀態資料對第二語音資料進行識別處理後返回的回應指令。最後,連接管理單元520還會根據該回應指令輸出回應給用戶。
當然,連接管理單元520還用於接收用戶輸入的第三語音資料。
語音互動裝置500除了上述各部分外,還包括檢測單元(未示出)。檢測單元檢測用戶輸入的第三語音資料中是否包含預定對象,用戶端110在第三語音資料包含預定對象時進入互動狀態。
在又一些實施例中,連接管理單元520還可以回應用戶切換互動場景的請求,轉發請求給伺服器120,以便伺服器120確認待切換的互動場景。進一步地,資訊獲取單元530還包括判決模組532,該判決模組532用於判斷是否關閉切換前的互動場景。若經判斷後確認要關閉切換前的互動場景,則資訊獲取單元530基於切換後的互動場景得到配置資訊;若經判斷後確認不關閉切換前的互動場景,則資訊獲取單元530基於切換前的互動場景和切換後的互動場景得到配置資訊。
關於語音互動裝置500中各部分所執行操作的具體描述可參見前文關於圖1、圖3、圖4的相關內容,此處不再贅述。
這裡描述的各種技術可結合硬體或軟體,或者它們的組合一起實現。從而,本發明的方法和設備,或者本發明的方法和設備的某些方面或部分可採取嵌入有形媒介,例如可移動硬碟、USB、軟碟、CD-ROM或者其它任意機器可讀的儲存媒體中的程式碼(即指令)的形式,其中當程式被載入諸如電腦之類的機器,並被所述機器執行時,所述機器變成實踐本發明的設備。
在程式碼在可程式設計電腦上執行的情況下,計算設備一般包括處理器、處理器可讀的儲存媒體(包括揮發性和非揮發性記憶體和/或記憶元件),至少一個輸入裝置,和至少一個輸出裝置。其中,記憶體被配置用於儲存程式碼;處理器被配置用於根據該記憶體中儲存的所述程式碼中的指令,執行本發明的方法。
以示例而非限制的方式,可讀媒體包括可讀儲存媒體和通訊媒體。可讀儲存媒體儲存諸如電腦可讀指令、資料結構、程式模組或其它資料等資訊。通訊媒體一般以諸如載波或其它傳輸機制等已調製資料信號來體現電腦可讀指令、資料結構、程式模組或其它資料,並且包括任何資訊傳遞媒體。以上的任一種的組合也包括在可讀媒體的範圍之內。
在此處所提供的說明書中,演算法和顯示不與任何特定電腦、虛擬系統或者其它設備固有相關。各種通用系統也可以與本發明的示例一起使用。根據上面的描述,構造這類系統所要求的結構是顯而易見的。此外,本發明也不針對任何特定程式設計語言。應當明白,可以利用各種程式設計語言實現在此描述的本發明的內容,並且上面對特定語言所做的描述是為了披露本發明的最佳實施方式。
在此處所提供的說明書中,說明了大量具體細節。然而,能夠理解,本發明的實施例可以在沒有這些具體細節的情況下被實踐。在一些實例中,並未詳細示出公知的方法、結構和技術,以便不模糊對本說明書的理解。
類似地,應當理解,為了精簡本公開並幫助理解各個發明方面中的一個或多個,在上面對本發明的示例性實施例的描述中,本發明的各個特徵有時被一起分組到單個實施例、圖、或者對其的描述中。然而,並不應將該公開的方法解釋成反映如下意圖:即所要求保護的本發明要求比在每個申請專利範圍中所明確記載的特徵更多特徵。更確切地說,如下面的申請專利範圍所反映的那樣,發明方面在於少於前面公開的單個實施例的所有特徵。因此,遵循具體實施方式的申請專利範圍由此明確地併入該具體實施方式,其中每個申請專利範圍本身都作為本發明的單獨實施例。
本領域那些技術人員應當理解在本文所公開的示例中的設備的模組或單元或元件可以佈置在如該實施例中所描述的設備中,或者可替換地可以定位在與該示例中的設備不同的一個或多個設備中。前述示例中的模組可以組合為一個模組或者此外可以分成多個子模組。
本領域那些技術人員可以理解,可以對實施例中的設備中的模組進行自我調整性地改變並且把它們設置在與該實施例不同的一個或多個設備中。可以把實施例中的模組或單元或元件組合成一個模組或單元或元件,以及此外可以把它們分成多個子模組或子單元或子元件。除了這樣的特徵和/或過程或者單元中的至少一些是相互排斥之外,可以採用任何組合對本說明書(包括伴隨的申請專利範圍、摘要和圖式)中公開的所有特徵以及如此公開的任何方法或者設備的所有過程或單元進行組合。除非另外明確陳述,本說明書(包括伴隨的申請專利範圍、摘要和圖式)中公開的每個特徵可以由提供相同、等同或相似目的的替代特徵來代替。
此外,本領域的技術人員能夠理解,儘管在此所述的一些實施例包括其它實施例中所包括的某些特徵而不是其它特徵,但是不同實施例的特徵的組合意味著處於本發明的範圍之內並且形成不同的實施例。例如,在下面的申請專利範圍中,所要求保護的實施例的任意之一都可以以任意的組合方式來使用。
此外,所述實施例中的一些在此被描述成可以由電腦系統的處理器或者由執行所述功能的其它裝置實施的方法或方法元素的組合。因此,具有用於實施所述方法或方法元素的必要指令的處理器形成用於實施該方法或方法元素的裝置。此外,裝置實施例的在此所述的元素是如下裝置的例子:該裝置用於實施由為了實施該發明的目的的元素所執行的功能。
如在此所使用的那樣,除非另行規定,使用序數詞“第一”、“第二”、“第三”等等來描述普通對象僅僅表示涉及類似對象的不同實例,並且並不意圖暗示這樣被描述的對象必須具有時間上、空間上、排序方面或者以任意其它方式的給定順序。
儘管根據有限數量的實施例描述了本發明,但是受益於上面的描述,本技術領域內的技術人員明白,在由此描述的本發明的範圍內,可以設想其它實施例。此外,應當注意,本說明書中使用的語言主要是為了可讀性和教導的目的而選擇的,而不是為了解釋或者限定本發明的主題而選擇的。因此,在不偏離所附申請專利範圍的範圍和精神的情況下,對於本技術領域的普通技術人員來說許多修改和變更都是顯而易見的。對於本發明的範圍,對本發明所做的公開是說明性的而非限制性的,本發明的範圍由所附申請專利範圍限定。
100:系統
110:用戶端
120:伺服器
200:計算設備
202:基本配置
204:處理器
206:系統記憶體
208:記憶體匯流排
210:一級快取記憶體
212:二級快取記憶體
214:處理器核心
216:暫存器
218:記憶體控制器
220:作業系統
222:應用
224:程式資料
230:匯流排/介面控制器
240:介面匯流排
242:輸出設備
244:外設介面
246:通訊設備
248:圖形處理單元
250:音訊處理單元
252:A/V埠
254:串行介面控制器
256:並行介面控制器
258:I/O埠
260:網路控制器
262:其他計算設備
264:通訊連接埠
300、400:方法
500:語音互動裝置
510:資訊儲存單元
520:連接管理單元
530:資訊獲取單元
532:判決模組
540:資料處理單元
542:判斷模組
S301、S302、S303、S304、S305、S306、S307、S308、S309、S310、S311、S312、S313、S314、S410、S420、S430:步驟
為了實現上述以及相關目的,本文結合下面的描述和圖式來描述某些說明性態樣,這些態樣指示了可以實踐本文所公開的原理的各種方式,並且所有態樣及其等效態樣旨在落入所要求保護的主題的範圍內。通過結合圖式閱讀下面的詳細描述,本公開的上述以及其它目的、特徵和優勢將變得更加明顯。遍及本公開,相同的元件編號通常指代相同的部件或元素。
圖1示出了根據本發明一個實施例的語音互動系統100的場景示意圖;
圖2示出了根據本發明一個實施例的計算設備200的示意圖;
圖3示出了根據本發明一個實施例的語音互動方法300的互動流程圖;
圖4示出了根據本發明另一個實施例的語音互動方法400的流程示意圖;以及
圖5示出了根據本發明一個實施例的語音互動裝置500的示意圖。