語音資料的識別方法、裝置及系統
本發明涉及語音處理技術領域,尤其涉及一種語音資料的識別方法、裝置及系統。
過去十幾年來,網際網路在人們生活的各個領域不斷深化,人們可以通過網際網路方便地進行購物、社交、娛樂、理財等活動。同時,為提高用户體驗,研究人員實現了很多互動方案,如文字輸入、手勢輸入、語音輸入等。其中,智慧語音互動由於其操作的便捷性而成為新一代互動模式的研究熱點。
當前,隨著物聯網及智慧化的快速發展,市場上出現了一些智慧語音設備,例如智慧音箱、包含智慧互動模組的各種智慧電子設備(如移動設備、智慧電視、智慧冰箱等)。在一些使用場景中,智慧語音設備可以通過語音辨識技術來識別用户輸入的語音資料,進而為用户提供個性化服務。在實際應用中,存在一些破音字、同音字和近音字,如“天下”、“甜蝦”、“田霞”,傳統的語音辨識方案無法很好地區分這些詞,這勢必會影響用户的互動體驗。
綜上,保證語音資料識別的準確率是提高用户語音互動體驗的一個非常重要的環節。
為此,本發明提供了一種語音資料的識別方法、裝置及系統,以力圖解決或至少緩解上面存在的至少一個問題。
根據本發明的一個態樣,提供了一種語音資料的識別方法,包括步驟:獲取語音資料和用戶端的場景資訊;對語音資料進行識別,產生語音資料的第一識別結果;以及根據場景資訊對第一識別結果進行識別,產生該語音資料的第二識別結果。
可選地,在根據本發明的方法中,根據場景資訊對第一識別結果進行識別,產生語音資料的第二識別結果的步驟包括:基於第一識別結果和場景資訊,判定用戶端當前的業務場景;根據業務場景對第一識別結果進行識別,以產生該語音資料的第二識別結果。
可選地,在根據本發明的方法中,根據業務場景對第一識別結果進行識別,以產生語音資料的第二識別結果的步驟又包括:提取第一識別結果中的待判定實體;根據業務場景從用戶端上獲取至少一個候選實體;從至少一個候選實體中為待判定實體匹配到一個實體;以及根據所匹配到的實體產生第二識別結果。
可選地,根據本發明的方法還包括步驟:若語音資料中包含預定對象,則指示用戶端進入工作狀態。
可選地,根據本發明的方法還包括步驟:基於所產生的第二識別結果以得到用户意圖的表示,並產生指令回應;輸出該指令回應。
可選地,在根據本發明的方法中,場景資訊包括下列資訊中的一個或多個:用戶端的進程資料、用戶端的應用清單、用戶端上應用使用歷史資料、關聯於該用戶端的用户個人資料、從對話歷史獲得的資料、從用戶端的至少一個感測器上獲得的資料、用戶端顯示頁面中的文本資料、由用户預先提供的輸入資料。
可選地,在根據本發明的方法中,從至少一個候選實體中為待判定實體匹配到一個實體的步驟包括:分別計算至少一個候選實體與待判定實體的相似度值;以及選取相似度值最大的一個候選實體作為匹配到的實體。
根據本發明的另一個態樣,提供了一種語音資料的識別方法,包括步驟:獲取語音資料和用戶端的場景資訊;以及根據場景資訊對語音資料進行識別,產生該語音資料的識別結果。
根據本發明的又一態樣,提供了一種語音資料識別裝置,包括:連接管理單元,適於獲取來自用戶端的語音資料和用戶端的場景資訊;第一處理單元,適於對語音資料進行識別,產生語音資料的第一識別結果;以及第二處理單元,適於根據場景資訊對第一識別結果進行識別,產生該語音資料的第二識別結果。
可選地,在根據本發明的裝置中,第二處理單元包括:業務場景判定模組,適於基於第一識別結果和場景資訊,判定用戶端當前的業務場景;增強處理模組,適於根據業務場景對第一識別結果進行識別,以產生該語音資料的第二識別結果。
可選地,在根據本發明的裝置中,增強處理模組包括:實體獲取模組,適於提取第一識別結果中的待判定實體,還適於根據業務場景從用戶端上獲取至少一個候選實體;匹配模組,適於從至少一個候選實體中為待判定實體匹配到一個實體;產生模組,適於根據所匹配到的實體產生第二識別結果。
可選地,在根據本發明的裝置中,場景資訊包括下列資訊中的一個或多個:用戶端的進程資料、用戶端的應用清單、用戶端上應用使用歷史資料、關聯於該用戶端的用户個人資料、從對話歷史獲得的資料、從用戶端的至少一個感測器上獲得的資料、用戶端顯示頁面中的文本資料、由用户預先提供的輸入資料。
根據本發明的再一個態樣,提供了一種語音資料的識別系統,包括:用戶端,適於接收用户的語音資料並傳送給語音資料的識別裝置;以及伺服器,包括如上所述的語音資料識別裝置,適於對來自用戶端的語音資料進行識別,以產生相應的第二識別結果。
可選地,在根據本發明的系統中,語音資料識別裝置還適於基於所產生的第二識別結果以得到用户意圖的表示,並產生指令回應,還適於輸出指令回應給用戶端;以及用戶端還適於根據指令回應執行相應操作。
可選地,在根據本發明的系統中,語音資料識別裝置還適於在來自用戶端的語音資料中包含預定對象時,指示用戶端進入工作狀態。
根據本發明的再一個態樣,提供了一種智慧音箱,包括:介面單元,適於獲取用户輸入的語音資料;互動單元,適於回應於用户輸入語音資料,獲取當前的場景資訊,還適於獲取根據場景資訊對語音資料進行識別後產生的指令回應,並基於該指令回應,執行相應的操作。
根據本發明的再一個態樣,提供了一種計算設備,包括:至少一個處理器;和儲存有程式指令的記憶體,其中,程式指令被配置為適於由至少一個處理器執行,程式指令包括用於執行如上所述任一方法的指令。
根據本發明的再一個態樣,提供了一種儲存有程式指令的可讀儲存媒體,當程式指令被計算設備讀取並執行時,使得計算設備執行如上所述的任一方法。
根據本發明的語音資料的識別方法,用戶端在將用户輸入的語音資料上傳給伺服器進行識別的同時,還會將用戶端上的場景資訊作為附加資料一併上傳至伺服器。這些場景資訊表徵了用戶端當前的狀態。伺服器在對語音資料進行初步識別後,還會基於場景資訊對初步識別後的文本進行優化,最終得到識別後的文本。這樣,將對語音資料的識別與用戶端的當前狀態緊密結合,能夠顯著提升識別的準確率。
上述說明僅是本發明技術方案的概述,為了能夠更清楚瞭解本發明的技術手段,而可依照說明書的內容予以實施,並且為了讓本發明的上述和其它目的、特徵和優點能夠更明顯易懂,以下特舉本發明的具體實施方式。
下面將參照圖式更詳細地描述本公開的示例性實施例。雖然圖式中顯示了本公開的示例性實施例,然而應當理解,可以以各種形式實現本公開而不應被這裡闡述的實施例所限制。相反,提供這些實施例是為了能夠更透徹地理解本公開,並且能夠將本公開的範圍完整的傳達給本領域的技術人員。
圖1示出了根據本發明一個實施例的語音資料的識別系統100的場景示意圖。如圖1所示,系統100中包括用戶端110和伺服器120。應當指出,圖1所示的系統100僅作為一個示例,本領域技術人員可以理解,在實際應用中,系統100通常包括多個用戶端110和伺服器120,本發明對系統100中所包括的用戶端110和伺服器120的數量不做限制。
用戶端110為具有語音互動模組的設備,其可以接收用户發出的語音指示,以及向用户返回語音或非語音資訊。一個典型的語音互動模組包括麥克風等語音輸入單元、揚聲器等語音輸出單元以及處理器。語音互動模組可以內置在用戶端110中,也可以作為一個獨立的模組與用戶端110配合使用(例如經由API或通過其它方式與用戶端110進行通訊,調用用戶端110上的功能或應用介面的服務),本發明的實施例對此不做限制。用戶端110例如可以是具有語音互動模組的移動設備(如智慧音箱)、智慧型機器人、智慧家電(包括智慧電視、智慧冰箱、智慧微波爐等)等,但不限於此。用戶端110的一個應用場景為家用場景,即,用戶端110放置於用户家中,用户可以向用戶端110發出語音指示以實現某些功能,例如上網、點播歌曲、購物、瞭解天氣預報、對家中的其他智慧家居設備進行控制,等等。
伺服器120與用戶端110通過網路進行通訊,其例如可以是物理上位於一個或多個地點的雲伺服器。伺服器120中包含語音資料識別裝置600,用於為用戶端110上接收的語音資料提供識別服務,以得到用户輸入的語音資料的文本表示,以及,在基於文本表示得到用户意圖的表示後,產生指令回應並返回給用戶端110。
根據本發明的實施方式,用戶端110接收用户輸入的語音資料,並連同用戶端上的場景資訊一併傳送給伺服器120。應當指出,用戶端110也可以在接收到用户輸入的語音資料時,上報給伺服器120,由伺服器120向用戶端110拉取相應的語音資料、場景資訊。本發明的實施例對此不做過多限制。伺服器120與用戶端110相配合,根據場景資訊對該語音資料進行識別,以產生相應的識別結果。伺服器120還可以通過識別結果理解用户的意圖,並產生相應的指令回應給用戶端110,由用戶端110根據該指令回應執行相應的操作,來為用户提供相應的服務,例如設置鬧鐘、撥打電話、發送郵件、播報資訊、播放歌曲、視頻等。當然,用戶端110也可以根據指令回應輸出相應的語音回應給用户,本發明的實施例對此不做限制。
用戶端的場景資訊例如是用户正在操作用戶端上的某個應用或者類似軟體的狀態。例如,用户可能正在使用某個應用播放視頻流資料,又如,用户正在使用某個社交軟體與特定個人進行交流。當用戶端110接收到用户輸入的語音資料時,用戶端110將上述場景資訊傳送給伺服器120,以便伺服器120基於場景資訊分析用户輸入的語音資料,以準確地感知用户意圖。
以下以用戶端110被實現為智慧音箱為例,概括說明根據本發明實施例的語音資料的識別方案。
除基本的配置外,根據本發明一個實施例的智慧音箱還包括:介面單元和互動單元。其中,介面單元獲取用户輸入的語音資料;互動單元回應於用户輸入語音資料,獲取智慧音箱當前的場景資訊,而後,互動單元還能夠獲取根據該場景資訊對該語音資料進行識別後產生的指令回應,並基於指令回應,執行相應的操作。
在一些實施例中,介面單元可以將獲取的語音資料和當前的場景資訊一併傳送給伺服器120,以便伺服器120根據該場景資訊對語音資料進行識別,產生該語音資料的識別結果,同時,伺服器120還會基於識別結果產生指令回應,返回給智慧音箱(關於伺服器120的上述執行過程,可參考下文中圖3的相關描述內容,此處不做展開)。智慧音箱基於指令回應,執行相應的操作並輸出給用户。更具體的執行流程可以參考圖1、圖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中執行。如圖3所示,方法300始於步驟S310。
在步驟S310中,用戶端110接收用户輸入的各種語音資料,並檢測其中是否包含預定對象(預定對象例如是預定喚醒詞),若包含預定對象則將其傳送至伺服器120。
在一個實施例中,用戶端110中,語音互動模組的麥克風持續接收外部聲音,當用户要使用用戶端110進行語音互動時,需要先說出相應的喚醒詞來喚醒用戶端110。應當理解,在一些場景下,用戶端110一直處於工作狀態,用户需要通過輸入喚醒詞來喚醒用戶端110中的語音互動模組,為便於說明,在本發明的實施例中統一記作:“喚醒用戶端110”。
需要說明的是,喚醒詞可以在用戶端110出廠時預先設置,也可以由用户在使用用戶端110的過程中自行設置,本發明對喚醒詞的長短、內容均不做限制。例如,喚醒詞可以被設置為“小精靈”,“你好,小精靈”,等等。
用戶端110可以直接將預定對象傳送至伺服器120,也可以將包含預定對象的語音資料傳送至伺服器120,以告知伺服器120,用戶端110將被喚醒。隨後在步驟S320中,伺服器120在接收到來自用戶端110的通知後,確認用户要使用用戶端110進行語音互動,伺服器120執行相應的喚醒處理,並指示用戶端110進入工作狀態。
在一種實施例中,伺服器120返回給用戶端110的指示中包含文本資料,例如,伺服器120返回的文本資料為“你好,請講”,用戶端110在接收到指示後通過TextToSpeech(TTS,從文本到語音)技術將文本資料轉換為語音資料,並通過語音互動模組播放出來,以告知用户,用戶端110已被喚醒,可以開始語音互動。
在用戶端110被喚醒的狀態下,在隨後的步驟S330中,用戶端110接收用户輸入的語音資料,並將其轉發至伺服器120。
根據本發明的實施方式,為優化語音資料的識別過程,用戶端110在接收到用户輸入的語音資料時,還會收集用戶端110的場景資訊一併轉發至伺服器120。用戶端的場景資訊可以包括任意可以得到的用戶端上的資訊,在一些實施例中,用戶端的場景資訊包括下列資訊中的一個或多個:用戶端的進程資料、用戶端的應用清單、用戶端上應用使用歷史資料、關聯於該用戶端的用户個人資料、從對話歷史獲得的資料、從用戶端的至少一個感測器(如光線感測器、距離感測器、重力感測器、加速度感測器、GPS位置感測器、溫濕度感測器等等)上獲得的資料、用戶端顯示頁面中的文本資料、由用户預先提供的輸入資料,但不限於此。
隨後,伺服器120對語音資料進行識別,以得到該語音資料的識別結果(在一種较佳的實施例中,識別結果採用文本表示,但不限於此),並基於此分析出用户意圖。根據本發明的實施方式,伺服器120分兩步完成優化的識別過程,以下分為步驟S340和步驟S350來進行闡述。
在步驟S340中,伺服器120對語音資料進行初步的識別,產生該語音資料的第一識別結果。
通常,伺服器120通過ASR(Automatic Speech Recognition)技術對語音資料進行識別。伺服器120可以先將語音資料表示為文本資料,再對文本資料進行分詞處理,匹配得到第一識別結果。典型的語音辨識方法例如可以是:基於聲道模型和語音知識的方法、範本匹配的方法以及利用神經網路的方法等,本發明的實施例對採用何種ASR技術進行語音辨識並不做過多限制,任何已知的或未來可知的語音辨識演算法均可以與本發明的實施例相結合,以實現本發明的方法300。
需要說明的是,伺服器120在通過ASR技術進行識別時,還可以包括對語音資料的一些預處理操作,如:採樣、量化、去除不包含語音內容的語音資料(如,靜默的語音資料)、對語音資料進行分框、加窗等處理,等等。本發明的實施例在此處不做過多展開。
隨後在步驟S350中,伺服器120再根據場景資訊對第一識別結果進行識別,產生該語音資料的第二識別結果。
根據本發明的實施方式,步驟S350又可以分兩步來執行。
第一步,基於經步驟S340產生的第一識別結果和用戶端110的場景資訊,判定用戶端110當前的業務場景。用戶端110的業務場景表徵的是用戶端110當前或根據用户輸入分析出的即將處於的業務場景。業務場景例如可以包含通話場景、短消息場景、聽歌場景、播放視頻場景、瀏覽網頁場景等等。
假設用户通過用戶端110輸入的語音資料為——“打電話給之魂”,伺服器120經初步的語音辨識後,得到的第一識別結果為——“打電話給志文”。此時,伺服器120從用戶端110的場景資訊中分析出用戶端110可能處於通話的業務場景中(例如,用戶端110上已經打開的進程中有“撥號鍵盤”),即判斷用戶端當前的業務場景為通話場景。或者,伺服器120對第一識別結果進行分詞處理後得到表徵用户動作的關鍵字“打電話”,伺服器120將關鍵字與用戶端110的場景資訊結合,分析得出當前的業務場景為通話場景。
第二步,伺服器120根據所判定的用戶端110的業務場景對第一識別結果進行進一步地識別,以產生該語音資料的第二識別結果。
(1)伺服器120提取第一識別結果中的待判定實體,如上例中的“打電話給志文”,伺服器120經分詞處理後得到兩個實體:“打電話”和“志文”。通常,“打電話”是一個較為判定的動作,不再作為待判定實體。故,在本例中,以“志文”作為待判定實體。伺服器120可以通過分詞等方式從第一識別結果中得到多個實體,而後從中提取出一個或多個待判定實體,本發明的實施例對此不做限制。
(2)伺服器120根據業務場景從用戶端110上獲取至少一個候選實體。如上例,當判定用戶端的業務場景為通話場景時,伺服器120獲取用戶端110上的連絡人列表,將列表中的連絡人名稱作為候選實體。應當指出,伺服器120還可以獲取用戶端110上當前顯示頁面中的各實體作為候選實體。也可以獲取諸如歌曲列表、各種應用列表、備忘錄等作為候選實體。伺服器120對候選實體的選擇取決於當前所分析出的業務場景,本發明的實施例不限於此。
(3)從至少一個候選實體中為待判定實體匹配到一個實體。根據一種實施例,分別計算各候選實體與待判定實體的相似度值,並選取相似度值最大的一個候選實體作為匹配到的實體。應當指出,任何相似度計算方法均可以與本發明的實施例相結合,以實現語音資料識別的優化方案。
(4)根據所匹配到的實體產生第二識別結果。根據一種實施例,用匹配到的實體替換第一識別結果中的待判定實體後,得到的文本就是最終的第二識別結果。還是以上例為例,伺服器120計算連絡人清單中各候選實體與待判定實體——“志文”之間的相似度值,最終判定出相似度值最高的實體——“之魂”,並用“之魂”替代“志文”,得到第二識別結果——“打電話給之魂”。
隨後在步驟S360中,伺服器120基於所產生的第二識別結果得到用户意圖的表示,並產生指令回應,隨後,伺服器120輸出該指令回應給用戶端110,以指示用戶端110執行相應操作。
在實際的應用場景中,由於破音字、同音字和近音字的存在,傳統的語音資料識別方案無法很好地區分用户輸入的詞語,這樣,用戶端不能準確理解用户意圖,進而影響用户的使用體驗。根據本發明的實施方式,將用戶端110上的場景資訊作為附加資料一併傳送給伺服器120,以便伺服器120在識別語音資料時,加入場景資訊的約束,以得到更貼近用户意圖的識別結果。
在另一些語音互動的實施例中,通常需要通過輸入“下標”的方式來實現互動。如圖4示出了根據本發明一個實施例的用戶端110上的顯示介面示意圖。
可以將圖4看作是一個視頻網站的顯示介面,在用戶端110上呈現了多種與視頻相關的應用圖示(如精選、熱播大劇、熱映電影、綜藝、動漫、體育、紀錄片等),用户可以通過輸入某個應用圖示對應的詞條來選中該應用圖示,以實現“用户點擊”的操作目的。但是,由於各應用圖示對應的詞條較短(多數只有一兩個字),在語素較少的情況下,極大可能造成ASR識別率低,導致無法準確理解用户意圖。因此,在現有的互動方案中,通常會為每個應用圖示分配一個下標(如圖4中所示,“精選”對應下標“1”、“熱播大劇”對應下標“2”),由用户輸入語音——“我選擇第幾個”,來進行互動。
但是當介面中應用圖示很多、或者應用圖示的佈局不是很規則時,通過輸入“下標”的方式來進行語音互動就不太方便,一方面增加了用户的學習負擔,另一方面還可能誤解用户意圖,帶來不夠友好的用户體驗。在根據本發明的實施方式中,將用戶端110的顯示介面上的文本資料作為場景資訊上傳給伺服器120,這樣,用户就可以直接輸入——“熱映電影”,伺服器120基於場景資料對用户輸入的語音進行識別(參見步驟S340和步驟S350的相關描述),能夠準確地得到用户意圖的表示——“用户要觀看熱映電影”,並轉化成“用户點擊熱映電影”的指令回應給用戶端110,由用戶端110在顯示介面上實現該點擊操作。
在再一些語音互動的實施例中,例如,用户在用戶端110上輸入語音資料——“我想聽遇見”,伺服器120先對語音資料進行語音轉文本、分詞等一系列識別後得到第一識別結果;再結合用戶端110上的場景資訊分析出用戶端110上正在使用音樂播放應用,即,用戶端110當前的業務場景可能是聽歌場景;此時,伺服器120獲取用戶端110上相關聯帳號的歌曲列表(或者說,伺服器120直接就獲取到用戶端110當前顯示介面上的歌曲清單),通過分析得出第二識別結果——“我想聽遇見”。
基於上述描述,通過本發明的識別方法300,可以為用户提供“所見即可說”的語音互動體驗。即,用户從用戶端上看到什麼,就可以直接通過輸入語音的方式來進行選擇,極大地簡化用户的輸入操作,提高用户的互動體驗。
根據本發明的對語音資料的識別方法300,用戶端110在將用户輸入的語音資料上傳給伺服器120時,將用戶端110上的場景資訊(如用戶端110的前臺業務、顯示介面中的文本等)作為附加資料一併上傳至伺服器120。即,用戶端110提供額外的業務資料給伺服器120,以優化識別的結果。這樣,將對語音資料的識別與用戶端110的當前狀態(或業務場景)緊密結合,能夠顯著提升識別的準確率。在整個語音互動的處理過程中,根據本發明的方法300還能夠顯著提升後續的自然語言處理的準確率,以準確感知用户的意圖。
方法300的執行涉及到系統100中的各個部件,其中,伺服器120作為執行的重點,為此,在圖5中示出了根據本發明另一個實施例的語音資料的識別方法500的流程示意圖。圖5所示的方法500適於在伺服器120中執行,是圖3所示方法的進一步說明。
在圖5中,方法500始於步驟S510,伺服器120獲取語音資料和用戶端110的場景資訊。在根據本發明的一些實施例中,語音資料和場景資訊均可以是從用戶端110上獲取的。用戶端的場景資訊可以是用戶端上的正在使用進程的相關資訊、也可以是用戶端上顯示介面中的文本資訊、還可以是關聯在用戶端上的用户的個人資料(如用户資訊、用户偏好等)、也可以是用戶端所處位置的環境資訊(如本地天氣、本地時間等),本發明的實施例不限於此。在一種實施例中,用戶端的場景資訊至少包括以下資料中的一種或多種:用戶端的進程資料、用戶端的應用清單、用戶端上應用使用歷史資料、關聯於該用戶端的用户個人資料、從對話歷史獲得的資料、從用戶端的至少一個感測器上獲得的資料、用戶端顯示頁面中的文本資料、由用户預先提供的輸入資料。
當然,在獲取語音資料之前,還包括根據用户輸入的語音資料將用戶端110(具體來說,是用戶端110上的語音互動模組)由休眠狀態切換到工作狀態的過程。具體可參考上文中關於步驟S310和步驟S320的相關描述。
隨後在步驟S520中,伺服器120對語音資料進行識別,產生該語音資料的第一識別結果。伺服器120可以通過例如基於聲道模型和語音知識的方法、範本匹配的方法以及利用神經網路的方法等來實現對該語音資料的識別,以產生第一識別結果,本發明的實施例對此不做過多限制。
隨後在步驟S530中,伺服器120根據場景資訊對第一識別結果進行識別(或者說是優化處理),產生該語音資料的第二識別結果。根據一種實施例,伺服器120先基於第一識別結果和場景資訊,判定用戶端當前的業務場景;再根據所判定的業務場景對第一識別結果進行識別,以產生該語音資料的第二識別結果。
最後,伺服器120基於所產生的第二識別結果得到用户意圖的表示,並產生指令回應,隨後,輸出該指令回應給用戶端110,以指示用戶端110執行相應操作。伺服器120可以通過任何NLP演算法來感知當前業務場景下的用户意圖,本發明對此不做過多限制。
關於方法500中各步驟的具體描述可參考前文方法300中的相關步驟(如步驟S340、S350等),篇幅所限,此處不再進行贅述。
為配合圖3~圖5的相關描述進一步說明伺服器120,圖6示出了根據本發明一個實施例的駐留在伺服器120中的語音資料識別裝置600的示意圖。
如圖6所示,識別裝置600至少包括:連接管理單元610、第一處理單元620和第二處理單元630。
連接管理單元610用於實現識別裝置600的各種輸入/輸出操作,例如,獲取來自用戶端110的語音資料和用戶端110的場景資訊。如前文所述,用戶端的場景資訊可以是通過用戶端可獲取的任何資訊,如用戶端上的正在使用進程的相關資訊、用戶端上顯示介面中的文本資訊,等等。在一種實施例中,用戶端的場景資訊至少包括以下資料中的一種或多種:用戶端的進程資料、用戶端的應用清單、用戶端上應用使用歷史資料、關聯於該用戶端的用户個人資料、從對話歷史獲得的資料、從用戶端的至少一個感測器上獲得的資料、用戶端顯示頁面中的文本資料、由用户預先提供的輸入資料。
第一處理單元620對語音資料進行識別,產生該語音資料的第一識別結果。第二處理單元630根據場景資訊對第一識別結果進行識別,產生該語音資料的第二識別結果。
根據一種實施例,第二處理單元630又包括業務場景判定模組632和增強處理模組634。其中,業務場景判定模組632基於第一識別結果和場景資訊,判定用戶端110當前的業務場景;增強處理模組634根據業務場景對第一識別結果進行識別,以產生語音資料的第二識別結果。
進一步地,增強處理模組634又可以包括:實體獲取模組6342、匹配模組6344和產生模組6346。實體獲取模組6342用於提取出第一識別結果中的待判定實體,以及根據業務場景從用戶端110上獲取至少一個候選實體。匹配模組6344用於從至少一個候選實體中為待判定實體匹配到一個實體。產生模組6346用於根據所匹配到的實體產生第二識別結果。
關於識別裝置600中各部分所執行操作的具體描述可參見前文關於圖1、圖3的相關內容,此處不再贅述。
這裡描述的各種技術可結合硬體或軟體,或者它們的組合一起實現。從而,本發明的方法和設備,或者本發明的方法和設備的某些方面或部分可採取嵌入有形媒介,例如可移動硬碟、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、500:方法
600:識別裝置
610:連接管理單元
620:第一處理單元
630:第二處理單元
632:業務場景判定模組
634:增強處理模組
6342:實體獲取模組
6344:匹配模組
6346:產生模組
S310、S320、S330、S340、S350、S360、S510、S520、S530:步驟
為了實現上述以及相關目的,本文結合下面的描述和圖式來描述某些說明性態樣,這些態樣指示了可以實踐本文所公開的原理的各種方式,並且所有態樣及其等效態樣旨在落入所要求保護的主題的範圍內。通過結合圖式閱讀下面的詳細描述,本公開的上述以及其它目的、特徵和優勢將變得更加明顯。遍及本公開,相同的元件編號通常指代相同的部件或元素。
圖1示出了根據本發明一個實施例的語音資料的識別系統100的場景示意圖;
圖2示出了根據本發明一個實施例的計算設備200的示意圖;
圖3示出了根據本發明一個實施例的語音資料的識別方法300的互動流程圖;
圖4示出了根據本發明一個實施例的用戶端的顯示介面示意圖;
圖5示出了根據本發明另一個實施例的語音資料的識別方法500的流程示意圖;以及
圖6示出了根據本發明一個實施例的語音資料的識別裝置600的示意圖。