TW201928715A - 用於關鍵詞組識別的系統和方法 - Google Patents

用於關鍵詞組識別的系統和方法 Download PDF

Info

Publication number
TW201928715A
TW201928715A TW107134587A TW107134587A TW201928715A TW 201928715 A TW201928715 A TW 201928715A TW 107134587 A TW107134587 A TW 107134587A TW 107134587 A TW107134587 A TW 107134587A TW 201928715 A TW201928715 A TW 201928715A
Authority
TW
Taiwan
Prior art keywords
candidate
candidate words
audio
obtaining
probability score
Prior art date
Application number
TW107134587A
Other languages
English (en)
Other versions
TWI697793B (zh
Inventor
周榮
Original Assignee
大陸商北京嘀嘀無限科技發展有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 大陸商北京嘀嘀無限科技發展有限公司 filed Critical 大陸商北京嘀嘀無限科技發展有限公司
Publication of TW201928715A publication Critical patent/TW201928715A/zh
Application granted granted Critical
Publication of TWI697793B publication Critical patent/TWI697793B/zh

Links

Classifications

    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/02Feature extraction for speech recognition; Selection of recognition unit
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/14Speech classification or search using statistical models, e.g. Hidden Markov Models [HMMs]
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/06Creation of reference templates; Training of speech recognition systems, e.g. adaptation to the characteristics of the speaker's voice
    • G10L15/063Training
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/14Speech classification or search using statistical models, e.g. Hidden Markov Models [HMMs]
    • G10L15/142Hidden Markov Models [HMMs]
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/14Speech classification or search using statistical models, e.g. Hidden Markov Models [HMMs]
    • G10L15/142Hidden Markov Models [HMMs]
    • G10L15/144Training of HMMs
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L15/14Speech classification or search using statistical models, e.g. Hidden Markov Models [HMMs]
    • G10L15/142Hidden Markov Models [HMMs]
    • G10L15/148Duration modelling in HMMs, e.g. semi HMM, segmental models or transition probabilities
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/02Feature extraction for speech recognition; Selection of recognition unit
    • G10L2015/025Phonemes, fenemes or fenones being the recognition units
    • GPHYSICS
    • G10MUSICAL INSTRUMENTS; ACOUSTICS
    • G10LSPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
    • G10L15/00Speech recognition
    • G10L15/08Speech classification or search
    • G10L2015/088Word spotting

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Human Computer Interaction (AREA)
  • Computational Linguistics (AREA)
  • Health & Medical Sciences (AREA)
  • Audiology, Speech & Language Pathology (AREA)
  • Acoustics & Sound (AREA)
  • Multimedia (AREA)
  • Probability & Statistics with Applications (AREA)
  • Artificial Intelligence (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Machine Translation (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
  • Telephone Function (AREA)
  • User Interface Of Digital Computer (AREA)

Abstract

用於關鍵詞組識別的方法可以包括:獲得音訊;獲得對應於複數個音訊部分的複數個候選詞,並獲得所獲得的候選詞與音訊部分之間的每個對應關係的第一機率分數;確定複數個候選詞是否分別匹配關鍵詞組的複數個關鍵字,以及複數個候選詞的每個候選詞的第一機率分數是否超過對應的第一臨界值,複數個候選詞構成一個候選詞組;以及回應於確定複數個候選詞匹配複數個關鍵字且每個第一機率分數超過對應的臨界值,基於複數個候選詞的每個候選詞的第一機率分數,獲取表示候選詞組與關鍵詞組之間的匹配關係的第二機率分數。

Description

用於關鍵詞組識別的系統和方法
本申請涉及用於語音辨識中的關鍵詞組識別的方法和技術。
本申請主張2017年10月24日提交的申請號為PCT/CN2017/107432的國際申請案的優先權,其內容以引用方式被包含於此。
人機互動的進步可以允許人們使用他們的聲音來實現對機器的控制。例如,可以通過語音輸入來實現基於諸如鍵盤、滑鼠或觸控式螢幕的傳統指令輸入的命令觸發。然而,為了簡化該流程,仍有許多障礙需要克服。
本申請的各種實施例包括用於關鍵詞組識別的系統、方法和非暫時性電腦可讀取媒體。用於關鍵詞組識別的示例性方法可以包括:獲得包括音訊部分的序列的音訊;獲得對應於複數個音訊部分的複數個候選詞,並獲得所獲得的候選詞與音訊部分之間的每個對應關係的第一機率分數;確定複數個候選詞是否分別匹配關鍵詞組的複數個關鍵字,以及複數個候選詞的每個候選詞的第一機率分數是否超過對應的第一臨界值,複數個候選詞構成候選詞組;回應於確定複數個候選詞匹配複數個關鍵字且每個第一機率分數超過對應的臨界值,基於複數個候選詞的每個候選詞的第一機率分數,獲取表示候選詞組與關鍵詞組之間的匹配關係的第二機率分數;以及回應於確定第二機率分數超過第二臨界值,將候選詞組確定為關鍵詞組。
在一些實施例中,該方法可以由包括麥克風、處理器和儲存指令的非暫時性電腦可讀取儲存媒體的行動裝置來實現。例如,麥克風可以被配置用於接收音訊,並且當指令由處理器執行時,使處理器執行該方法。所獲得的音訊可以包括由運輸工具中的一個或多個乘員的麥克風所記錄的語音。行動裝置可以包括行動電話。
在一些實施例中,獲得對應於音訊部分的複數個候選詞,並獲得所獲得的候選詞與音訊部分之間的每個對應關係的第一機率分數可包括獲得對應於所述音訊的聲譜圖,沿著所述聲譜圖獲得每個時間訊框的特徵向量,以獲得對應於聲譜圖的複數個特徵向量,獲得對應於複數個特徵向量的複數個語言單元,至少基於將語言單元映射到單詞的詞典來獲得對應於所述音訊的候選詞的序列,並且對於每個候選詞,至少基於用語言單元的樣本序列所訓練的模型來獲得所述第一機率分數,並從候選詞的序列中獲取複數個候選詞。
在一些實施例中,該方法可以進一步包括至少基於時間訊框確定所獲得的音訊中的關鍵詞組的開始時間和結束時間。
在一些實施例中,複數個候選詞可以是按時間順序(即,從候選詞的序列和相同詞序列中獲得的連續詞),並且複數個候選詞和複數個關鍵字之間的分別匹配可以包括候選詞組中的順序次序中的候選詞與關鍵詞組中的相同順序次序中的關鍵字之間的匹配。
在一些實施例中,確定複數個候選詞是否分別匹配關鍵詞組的複數個關鍵字,以及複數個候選詞的每個候選詞的第一機率分數是否超過對應的第一臨界值,則包括在前向或後向的順序次序中確定複數個候選詞和複數個關鍵字之間的分別匹配。
在一些實施例中,該方法可以進一步包括:回應於確定所述複數個候選詞中的任何一個候選詞的第一機率分數不超過對應臨界值,不將所述候選詞組確定為所述關鍵詞組。
在一些實施例中,該方法可以不基於或部分地基於語音模型來實現,並且該方法可以不由語音解碼器實現或部分地由語音解碼器實現。
在一些實施例中,該方法可以被實現,以從音訊中識別複數個關鍵詞組,並且所述複數個關鍵詞組可以包括用於喚醒應用程式的詞組、標準化語言的詞組、或者緊急觸發詞組中的至少一個。
在考慮了組成說明書一部分的以下描述、所附申請專利範圍與圖式後,本申請揭露的系統、方法和非暫時性電腦可讀取媒體的這些和其他特徵,以及操作和運行結構的相關組件的方法與部件和製造經濟的組合將變得更加顯而易見,說明書中相同的元件符號表示各個圖式中的相應部分。然而,應該清楚地理解,圖式僅用於說明和描述的目的,並不旨在作為本申請的限制的定義。
可以在各種情況下實現語音控制以便於使用者控制。例如,通過安裝在行動電話上的軟體應用程式協調運輸提供方(例如,駕駛員)和服務請求方(例如,乘客)的運輸工具服務平臺可以通過將語音控制結合到應用程式來改進服務。在一個示例中,可以監視司機的講話以確定他是否符合作業範圍內的標準化語言要求。在另一個示例中,運輸工具乘員可以說預設的關鍵詞組以觸發機器檢測要執行的命令。在緊急情況的又一個示例中,運輸工具乘員可以通過說出某些SOS類型詞組來尋求幫助,從而使機器檢測並識別SOS詞組並觸發警報。在這樣的示例中,語音辨識是檢測人類語音並將其轉換為機器語言的基礎,並且關鍵詞組識別是機器識別與重要含義相關的一部分串流語音的基礎。為了增強語音辨識的可靠性,期望提高正確接受率(即,在說出關鍵詞組時,對關鍵詞組的識別)並降低錯誤接受率(即,在未說出關鍵詞組時,對關鍵詞組的識別)。
在各種實施方式中,計算系統可以被配置為識別關鍵詞組,該關鍵詞組由複數個單詞組成(例如,關鍵詞組中以w1 到w4 的順序的單詞w1 、w2 、w3 和w4 )。當前技術將確定由四個候選詞和機率p1 、p2 、p3 和p4 組成的候選詞組,該四個機率分別指示候選詞與關鍵字匹配的可能性,並且僅將候選詞組的總機率與預設臨界值進行比較以確定是否候選詞組是關鍵詞組。這種方法可能導致更高的錯誤接受率。例如,如果第一、第二和第四候選詞分別與w1 、w2 和w4 高度匹配,即使第三候選詞與w3 不匹配且p3 非常低,總機率也會超過預設臨界值的總機率,將確定錯誤的關鍵詞組。作為另一示例,候選詞組可以包括與關鍵字相同的單詞,但是在不同的順序次序中。由於總機率不考慮詞序,所以候選詞組的這種情況也會導致錯誤接受。
基於電腦技術,所要求保護的解決方案可以解決在關鍵詞組識別領域中出現的問題。除了確定關鍵詞組識別的總機率之外,電腦系統還可以測量各個候選詞的機率。在四字關鍵詞組示例中,計算系統可以通過與對應的臨界值進行比較來篩選每個候選詞的個體機率(p1 、p2 、p3 、p4 )。如果p1 、p2 、p3 和p4 的任一機率均未能超過對應的臨界值,則候選詞組將不被確定為關鍵詞組,因此降低了錯誤接受率並增加了正確接受率。此外,計算系統可以考慮關鍵詞組識別的詞序。電腦系統可以被配置用於計算接下來的單詞的機率,其受先前單詞的機率的影響。例如,p3 的確定可以是有條件的或者可以直到確定p2 超過其與關鍵詞組中的第二個詞相關的臨界值才執行,從而消除諸如w1 、w2 、w4 、w3 之類詞組的錯誤接受。
本申請的各種實施例包括用於關鍵詞組識別的系統、方法和非暫時性電腦可讀取媒體。用於關鍵詞組識別的示例性方法可以包括:獲得包括音訊部分的序列的音訊;獲得對應於複數個音訊部分的複數個候選詞,並獲得所獲得的候選詞與音訊部分之間的每個對應關係的第一機率分數;確定複數個候選詞是否分別匹配關鍵詞組的複數個關鍵字,以及複數個候選詞的每個候選詞的第一機率分數是否超過對應的第一臨界值,該複數個候選詞構成候選詞組;回應於確定複數個候選詞匹配於複數個關鍵字以及每個第一機率分數超過對應的臨界值,基於複數個候選詞的每個候選詞的第一機率分數,獲取表示候選詞組與關鍵詞組之間的匹配關係;並且回應於確定第二機率分數超過第二臨界值,將候選詞組確定為關鍵詞組。
在一些實施例中,該方法可以由包括麥克風、處理器和儲存指令的非暫時性電腦可讀取儲存媒體的行動裝置來實現。例如,麥克風可以被配置用於接收音訊,並且當指令由處理器執行時,使處理器執行該方法。所獲得的音訊可以包括由運輸工具中的一個或多個乘員的麥克風所記錄的語音。行動裝置可以包括行動電話。
在一些實施例中,獲得對應於複數個音訊部分的複數個候選詞,並獲得所獲得的候選詞與音訊部分之間的每個對應關係的第一機率分數可包括,獲得對應於音訊的聲譜圖,沿著聲譜圖獲得每個時間訊框的特徵向量,以獲得對應於聲譜圖的複數個特徵向量,獲得對應於複數個特徵向量的複數個語言單元,至少基於將語言單元映射到單詞的詞典來獲得對應於音訊的候選詞的序列,並且對於每個候選詞,至少基於用語言單元的樣本序列所訓練的模型來獲得第一機率分數,並從候選詞的序列中獲得複數個候選詞。
在一些實施例中,該方法可以進一步包括至少基於時間訊框確定所獲得的音訊中的關鍵詞組的開始時間和結束時間。
在一些實施例中,複數個候選詞可以是按時間順序(即,從候選詞的序列和相同詞序列中獲得的連續詞),並且複數個候選詞和複數個關鍵字之間的分別匹配可以包括候選詞組中的順序次序中的候選詞和關鍵詞組中的相同順序次序中的關鍵字之間的匹配。
在一些實施例中,確定複數個候選詞是否分別匹配關鍵詞組的複數個關鍵字,以及複數個候選詞的每個候選詞的第一機率分數是否超過對應的第一臨界值可以包括,在前向或後向的順序次序中確定複數個候選詞和複數個關鍵字之間的分別匹配。
在一些實施例中,該方法可以進一步包括:回應於確定複數個候選詞的任何一個候選詞的第一機率分數不超過對應臨界值,不將候選詞組確定為關鍵詞組。
在一些實施例中,可以不基於語音模型或部分地基於語音模型來實現該方法,並且該方法可以不由語音解碼器實現或部分地由語音解碼器實現。
在一些實施例中,該方法可以被實現,以從音訊中識別複數個關鍵詞組,並且複數個關鍵詞組可以包括用於喚醒應用程式的詞組、標準化語言詞組或緊急觸發詞組中的至少一個。實施例可以在各種場景中實現,例如在行走、叫車、駕駛運輸工具、騎車等時,尤其是在打字是不切實際的或不方便的時候。例如,為了監控運輸工具司機是否符合標準化服務語言,諸如行動電話或基於運輸工具的電腦之類的計算系統可以在與客戶交談期間監控司機的講話。作為另一示例,使用者可以對行動電話說出查詢語句(例如,「XYZ, get me a ride to metro center」),使關鍵字詞組「XYZ」喚醒應用程式並識別命令「get me a ride to metro center」。在另一個例子中,乘客的行動電話可以捕獲請求説明的語音(例如,「help」、「call 911」)並向適當方發送警報(例如,最近的員警巡邏車、警察局、醫院、乘客的親屬)。因此,即使乘客捲入爭鬥、掙扎求生,或以其他方式無法撥打911或鍵入訊息,也可以提醒適當方來進行救援。
圖1示出了根據各種實施例的用於關鍵詞組識別的示例環境100。如圖1所示,示例環境100可以包括至少一個計算系統102,其包括一個或多個處理器104和記憶體106。記憶體106可以是非暫時性的並且是電腦可讀取的。記憶體106可以儲存指令,當由一個或多個處理器104執行時,使得一個或多個處理器104執行本申請描述的各種操作。系統102還可以包括被配置用於捕獲和記錄音訊輸入(例如,人類語音或語音)的麥克風103。此處,可以使用任何其他替代性音訊捕獲裝置作為麥克風103。可以從計算裝置107或使用者101捕獲音訊輸入。計算裝置107(例如,行動電話、平板電腦、電腦、可穿戴裝置(智慧手錶))可以向系統102發送及/或播放資訊(例如,記錄的音訊)。使用者101可以在麥克風103的檢測範圍內說話以進行音訊捕獲。可選地,系統102還可以包括顯示器105,其被配置用於顯示資訊(例如,由系統102及/或計算裝置107識別的語音文本)。顯示器105可以包括觸控式螢幕。系統102可以在諸如行動電話、平板電腦、電腦、可穿戴裝置(智慧手錶)等各種裝置上實現。
上面的系統102可以安裝有適當的軟體(例如,應用程式、平臺程式等)及/或硬體(例如,電線、無線連接等)以存取環境100的其他裝置。環境100可以包括系統102可存取的一個或多個資料儲存(例如,資料儲存108)和一個或多個計算裝置(例如,計算裝置107)。在一些實施例中,系統102可以被配置為與資料儲存108及/或計算裝置107交換資料或資訊。例如,資料儲存108可以安裝在用於儲存位址資訊的電腦中。計算裝置107可以是被配置為執行語音辨識的伺服器。伺服器可以被配置為從系統102接收音訊輸入並將各種模型(例如,隱瑪律可夫模型(Hidden Markov Model)、基於動態時間扭曲的語音辨識、神經網路)應用於音訊輸入以識別一個或多個的語音,並獲取與語音相對應的文本。由於更高的計算能力,在計算裝置107處執行的語音辨識可以比在系統102處執行的語音辨識更全面。對於本申請描述的應用,可以在系統102處執行關鍵詞組識別,並且在一些情況下,回應於發現關鍵詞組識別,可以將一個或多個的語音發送到計算裝置107,以用於進一步的語音辨識。
在一些實施例中,資料儲存108及/或計算裝置107可以實現線上資訊或服務平臺。該服務可以與運輸工具(例如,汽車、自行車、船、飛機等)相關,並且該平臺可以被稱為運輸工具(服務)呼叫平臺。平臺可以接受運輸請求、識別滿足請求的運輸工具、安排搭乘和處理交易。例如,使用者可以使用系統102(例如,安裝有與平臺相關的應用程式的行動電話)來向平臺提交運輸請求。計算裝置107可以接收和發佈運輸請求。運輸工具司機可以使用系統102(例如,安裝有與平臺相關的應用程式的另一個行動電話)來接收所發佈的交通請求並獲得搭乘位置資訊和使用者的資訊。一些平臺資料(例如,運輸工具資訊、運輸工具司機資訊、位址資訊等)可以儲存在記憶體106中,或者可以從資料儲存108及/或計算裝置107中檢索。如本申請所述,用於關鍵詞組識別的系統102可以與人或運輸工具相關(例如,由司機攜帶、由乘客攜帶、由與運輸工具無關的人使用,安裝在運輸工具中)或以其他方式能夠捕獲存取平臺的人的語音。
在一些實施例中,系統102和一個或多個計算裝置(例如,計算裝置107)可以整合在單個裝置或系統中。或者,系統102和計算裝置可以作為單獨的裝置操作。資料儲存可以是系統102可存取的任何地方,例如,在記憶體106中,在計算裝置107中,在耦合到系統102的另一裝置(例如,網路儲存裝置)中,或另一個儲存位置(例如,基於雲的儲存系統、網路檔案系統等)等。儘管在該圖中系統102和計算裝置107被示為單個元件,但是應當理解,系統102和計算裝置107可以實現為耦合在一起的單個裝置或多個裝置。計算裝置可以耦合到諸如系統102的多個系統並與之互動。通常,系統102、計算裝置107和資料儲存108能夠通過一個或多個可以遞送資料的無線網路(例如,網際網路)互相通訊。下面參考圖2至圖5描述環境100的各個態樣。
圖2示出了根據各種實施例的用於關鍵詞組識別的示例系統200。圖2中所示並在以下呈現的操作是說明性的。除了為簡單起見而移除資料儲存108和計算裝置107,圖2中的各種裝置和元件與圖1中描述的裝置和元件類似。
在各種實施例中,系統102可以在包括行動電話的行動裝置上實現。系統102的一個或多個元件(例如,麥克風108、處理器104及/或記憶體106)可以被配置用於接收音訊(例如,音訊202)並將音訊儲存在音訊序列(例如,作為記憶體106中的檔)。當音訊被連續串流傳輸時,這裡描述的關鍵詞組識別方法可以對音訊序列執行,或者可以在串流傳輸完成之後對音訊序列執行。音訊202可以包括人類所說的語音(例如,句子、詞組、單詞)。語音可以是任何語言。處理器104可以被配置用於控制記錄的開始和停止。例如,當如上所述進入安裝在系統102上的應用程式的預設介面或打開應用程式時,可以開始記錄。處理器104可以控制系統102的類比至數位轉換器(ADC)(在該圖中未示出)以將捕獲的音訊轉換為數位格式並儲存在音訊序列中。音訊序列可以與時間相關,並且可以包括捕獲的音訊的時間序列資料。音訊序列可以以各種音訊檔案格式(例如,WAV檔)儲存。音訊序列可以儲存在記憶體106中、快取記憶體中或其他儲存媒體中。音訊序列可以不限於特定的作業系統,並且可以使用各種替代音訊緩衝器、音訊快取記憶體、音訊串流或音訊回呼技術來代替音訊序列。音訊序列可以可選地被配置為僅捕獲最新音訊(例如,最後一分鐘捕獲的音訊、最後1G音訊檔、一天中捕獲的音訊)。例如,捕獲的音訊可以連續地串流傳輸到有限大小的快取記憶體,並且超過限制的最新音訊部分會被寫入覆蓋在最舊的音訊部分上。
在一些實施例中,系統102的一個或多個元件(例如,處理器104及/或記憶體106)可以被配置用於監視音訊序列,以識別一個或多個關鍵詞組。回應於識別到關鍵詞組,處理器104及/或記憶體106可被配置為可選地將資訊204發送到計算裝置107。例如,回應於系統102識別到喚醒詞組,可以觸發系統102上的應用的功能以從音訊序列獲得音訊片段,並且應用可以將獲得的音訊片段作為資訊204發送到計算裝置107用於語音辨識。作為另一個示例,系統102可以捕獲持續時間的語音(例如,一天中司機的講話)並將語音作為資訊204發送到計算裝置107以用於語音辨識。語音辨識可用於確定司機所捕獲的語音符合標準的程度。作為又一示例,系統102可以即時(例如,每幾毫秒)監視捕獲的音訊,識別關鍵詞組(例如,標準化詞組、緊急求助呼叫),並發送資訊204(例如,符合語言標準的指示、緊急警報)到計算裝置107。計算裝置107可以與適當方相關,例如司機性能評估器、客戶服務人員、救援人員、員警等。
在一些實施例中,計算裝置107可以將資訊206(例如,由計算裝置107識別的語音的文本)返回給系統102。系統102的顯示器105可以被配置用於顯示返回的資訊。
圖3A和3B示出了根據各種實施例的用於關鍵詞組識別的示例方法300。方法300可以在各種環境中實現,包括例如圖1的環境100。示例方法300可以由系統102的一個或多個元件(例如,處理器104、記憶體106)實現。以下呈現的方法300的操作是說明性的。取決於實現方式,示例方法300可以包括以各種順序或並行執行的附加的、更少的或替代的步驟。
在一些實施例中,音訊序列301-303可以表示由系統102捕獲的示例音訊。音訊序列在x軸方向上以連續時間序列用對應的語音字塊,暫停(pau)或靜音(sil)標記。如以下從步驟305所示,這些標籤將從捕獲的音訊中確定。一些語音詞可以是關鍵詞組的關鍵字。例如,在音訊序列301中,「call the police」是被識別以觸發緊急警報的關鍵詞組。在音訊序列302中,「how can I help you」是要檢測的標準化語言,其可用於對司機提供的服務進行評分。在音訊序列303中,「hello my device」是用於觸發應用程式、進程或功能的喚醒詞組。在檢測到該喚醒詞組時,系統102可以捕獲下一個句子(例如,「order coffee to my car」)。系統102可以識別該句子,並基於該查詢執行(例如,通過向商家下達咖啡的遞送訂單,並提供汽車的位置)。或者,系統102可以將句子的音訊發送到計算裝置107,使得計算裝置107識別該句子並基於該查詢執行。與其他關鍵詞組一樣,喚醒詞組可以包括一個或多個的單詞。喚醒詞組可以包括名稱或問候語(例如,「Hello XYZ」,「Ok XYZ」,「XYZ」,「Hello my device」)並且可以與應用程式、程式、功能、流程或裝置(例如,應用程式XYZ、我的裝置)。這裡,「喚醒」不一定意味著從「睡眠模式」喚醒。在「喚醒」之前,系統102可以休眠、空閒或執行其他任務。
以下參考圖3A-3B的示例性步驟和說明主要與示例音訊序列303一致。在一些實施例中,關鍵詞組可以由複數個關鍵片語成,每個關鍵字與第一臨界值相關。對於每個關鍵字,臨界值可以設置用於確定從音訊中識別的候選詞是關鍵字的最小機率。例如,「hello」,「my」和「device」中的每個可能需要至少80%的機率來確定候選詞的匹配。下面描述候選詞的確定。以下各種實施例可以使用「hello my device」作為關鍵詞組,並且通過所揭露的方法,可以相應地獲得「hello my device」的「一個候選詞組」或「複數個候選詞」。「複數個候選詞」可以包含在「候選詞序列」中。
通過將單詞分解為語言單元,音訊序列304是音訊序列303的替代表示。語言單元可以有許多分類和定義,例如音素、音素部分、三音素、單詞、n元語法等。在一個示例中,音素是具有語言中的獨特含義或功能的語音組,並且可以是語言的音韻中最小的有意義的對比單元。音素的數量因語言而異,大多數語言具有20-40個音素。美式英語可具有大約40個音素(24個輔音,16個母音)。在一個示例中,「hello」可以被分成語言單元/音素「hh」、「ah」、「l」和「ow」。類似地,音訊序列303可以由語言單元佇列304表示。
在步驟305,可以使用頻譜來表示所獲得的音訊(例如,音訊202)。音訊可以有各種不同的表示。在該示例中,頻譜可以示出捕獲的聲音相對於時間的幅度。在各種實施例和實現中,由處理器獲得的音訊可以對應於頻譜或替代格式,並且將如下關於步驟306-311所討論的進行處理。通過利用這些步驟處理頻譜,可以獲得語言單元佇列304中的對應語言單元和音訊序列303中的對應字序列。圖3A中的垂直虛線可以在各種圖式上標記相同的時間戳記,並指示它們之間的對應關係。步驟306-311也可以被稱為示例性聲模型,具有來自傳統方法的修改和改進。
在步驟306,可以至少基於頻譜獲得聲譜圖。聲譜圖可以是語音信號的頻率對時間的表示。在一些實施例中,傅立葉變換可以應用於來自步驟305的聲譜以獲得聲譜圖。在聲譜圖中,幅度資訊以灰度顯示為暗區和亮區。亮區域可以指示在對應頻率的對應時間沒有捕獲聲音(例如,暫停、靜音),暗區域可以指示存在聲音。基於x軸方向上的暗圖案和亮圖案的變化,可以確定語言單元(例如,單詞、音素)之間的邊界。因此,在確定關鍵詞組之後,可以相應地確定關鍵詞組的開始和結束時間戳記。此外,兩條虛線之間的y軸方向上的暗區域的圖案可以指示在對應時間段捕獲的各種頻率,並且可以提供共振峰(攜帶該聲音的身份)和過渡的資訊以幫助確定對應的行動電話。
在步驟307,可以至少基於聲譜圖獲得各種特徵向量。在一些實施例中,倒譜分析可以應用於聲譜圖以獲得特徵向量。例如,時間訊框(例如,25毫秒長的時間訊框)可以沿著時間軸移動並且通過訊框(每10毫秒一個訊框)對聲譜圖訊框進行採樣。本領域具有通常知識者將理解諸如梅爾頻率倒譜係數(MFCC)的技術的應用(即,將倒譜分析應用梅爾頻譜以獲得多個梅爾頻率倒譜係數(MFCC))。因此,在步驟307,語音信號可以被轉換為顯示為矩形塊的一系列向量。每個向量可以是39D向量,包括12個梅爾頻率倒譜係數(MFCC)特徵、12個差量梅爾頻率倒譜係數(MFCC)特徵、12個差量-差量梅爾頻率倒譜係數(MFCC)特徵、1個(log)訊框能量、1個差量(log)訊框能量和1個差量-差量(log訊框能量)。可以將這些向量給予模式分類器以識別對應的語言單元。
在步驟308,可以基於各種模型方法將特徵向量映射到各種語言單元,例如基於碼本的模式分類,取決於上下文的三音素模型等。通過用語言的樣本記錄訓練模型,該模型可用於將輸入特徵向量分類為語言單元之一。因此,可以相應地獲得在步驟308以小塊示出的候選音素(或其他語言單元),諸如「hh」和「ah」。
繼續圖3B的方法300,在步驟309,可以使用諸如隱瑪律可夫模型(HMM)的各種方法來至少基於所獲得的語言單元獲得候選詞。對於要識別的有限數量的關鍵詞組(例如,「Hello my device」,「call the police」,「how can I help you」),可以為每個關鍵字建立一個HMM關鍵詞組。詞典可用於將每個關鍵字映射到一個或多個語言單元。例如,「low」可以映射到音素「l」和「ow」,並且「hello」可以映射到音素「hh」、「ah」、「l」和「ow」。如圖所示。在步驟309的表格中,x軸表示以對應於音訊的時間序列從特徵向量獲得的一系列語言單元,並且y軸表示具有對應語言單元的各種單詞(例如,關鍵字)。諸如「A1」和「B3」的標籤表示從特徵向量獲得的語言單元與關鍵字的語言單元之間的對應關係。對於獲得的每個語言單元,它可以是幾個不同單詞的一部分(例如,「ow」可以是「low」或「hello」的一部分)。語音的樣本記錄訓練的HMM可以通過分配從一個語言單元到另一個語言單元的轉換之間的機率來類比語音。也就是說,連結候選語言單元的箭頭可以各自攜帶機率,類似於決策樹。箭頭可以是向前或向後的。這裡,從A4到A3、從A3到A2、以及從A2到A1的機率和這些機率的乘積可以高於其他選擇(例如,B4、B3、B2、B1之間的連結),呈現「hello「作為對應於」hh-ah-l-ow「的最高機率的詞。由於不常見的使用,其他選擇的機率可能較低,可以假設反映在訓練樣本中。因此,在步驟309,可以獲得對應於音訊部分的序列的候選詞序列(每個音訊部分可以對應於音訊中語言單元的一個或多個)(例如,「hello my device pau order coffee to my car pau sil」),並且可以獲得所獲得的候選詞和音訊部分之間的每個對應關係的第一機率分數。因此,根據候選詞的序列,可以獲得對應於音訊部分的複數個候選詞,其中音訊部分的序列包括複數個音訊部分。
在步驟310,如果從候選詞序列獲得的複數個候選詞(該複數個候選詞構成候選詞組)與關鍵詞組中的關鍵詞序列匹配,則可以確定第一機率分數(置信度)以確定該匹配。例如,觀察諸如P(hello)、P(my)和P(device)的候選詞的機率可以分別與關鍵字「hello」、「my「、和「device」相關的第一臨界值進行比較。觀察候選詞的機率可以以各種方式確定。例如,P(hello)可以被確定為上述步驟309中的P(A4至A3)、P(A3至A2)和P(A2至A1)的乘積。如果候選詞機率中的任何一個沒有超過對應的第一臨界值,則可以不將複數個候選詞(即,候選詞組)確定為關鍵詞組。因此,即使確定下面參考步驟311描述的「hello me device」被滿足,諸如「hello me device」的詞組也可以被適當地確定為與關鍵詞組不匹配。
此外,候選詞的第一機率分數可以根據它們在候選詞組中的順序(例如,以前向或後向的順序)來順序地測量。例如,在正向順序中,P(device)可以不與其臨界值進行比較,直到確定P(my)超過其臨界值。在另一示例中,候選詞組中的第N個候選詞僅與關鍵詞組中的第N個關鍵字的臨界值進行比較。因此,即使下面參考步驟311描述的確定「hello device my」被滿足,諸如「hello device my」的詞組也可以被正確地確定為與關鍵詞組不匹配。這裡,候選詞組可能不一定是人們通常使用的詞組。它可以包括預設的組成詞組或公共詞組。
在步驟311,可以將候選詞組的總機率與與關鍵詞組相關的第二臨界值進行比較。例如,可以將P(hello)P(my)P(device)的平方根與第二臨界值0.5進行比較。如果超過第二臨界值,則可以將候選詞組確定為關鍵詞組。即使執行步驟310以確保詞組的整體匹配,該步驟也是必要的,尤其是當步驟310中的第一臨界值相對較低時。如果未超過第二臨界值,則可以不將候選詞組確定為關鍵詞組。
如上所述,用於關鍵詞組識別的示例性方法可以包括:獲得包括音訊部分的序列(例如,上述步驟305,該部分可以是該音訊的任何部分,例如對應於單詞的一段)的音訊(例如,上述音訊202);獲得對應於複數個音訊部分的複數個候選詞,並獲得所獲得的候選詞與音訊部分之間的每個對應關係的第一機率分數(例如,上述步驟306-309,其中從一個音訊部分的序列中獲得一系列候選詞,其中包括複數個候選詞的候選詞序列和包含複數個音訊部分的音訊部分的序列);確定複數個候選詞是否分別匹配關鍵詞組的複數個關鍵字,以及複數個候選詞的每個的第一機率分數是否超過對應的第一臨界值(例如,步驟如上所述的310,複數個候選詞構成候選詞組(例如,上面描述的「hello my device」);回應於確定複數個關鍵字匹配複數個候選詞且每個第一機率分數超過對應臨界值,基於複數個候選詞的每個的第一機率分數,獲得表示該候選詞組和關鍵詞組之間的匹配關係的第二機率分數;並且回應於確定第二機率分數超過第二臨界值,將候選詞組確定為關鍵詞組(例如,上述步驟311)。該方法可以進一步包括:回應於確定不超過對應臨界值的任何複數個候選詞的第一機率分數,不將候選詞組確定為關鍵詞組。
在一些實施例中,該方法可以由包括麥克風、處理器和儲存指令的非暫時性電腦可讀取儲存媒體的行動裝置實現。例如,麥克風可以被配置用於接收音訊,並且當由處理器執行時,指令可以使處理器執行該方法。獲得的音訊可以包括由麥克風記錄的語音。可以從運輸工具中的一個或多個乘員(例如,司機、乘客)捕獲語音。行動裝置可以包括行動電話。
在一些實施例中,音訊部分的序列可包括時間序列。獲取對應於複數個音訊部分的複數個候選詞,並獲得所獲得的候選詞與音訊部分之間的每個對應關係的第一機率分數,可以包括:獲得對應於該音訊(例如,上述步驟306)的聲譜圖,沿著聲譜圖獲得每個時間訊框的特徵向量,以獲得對應於聲譜圖(例如,上述步驟307)的複數個特徵向量,獲得對應於複數個特徵向量(例如,上述步驟308)的複數個語言單元,至少基於將語言單元映射到單詞的詞典,獲得對應於音訊的候選詞序列,以及對於每個候選者單詞,至少基於用語言單元的樣本序列訓練的模型獲得第一機率分數(例如,上述步驟309);並且從候選詞的序列獲得複數個候選詞(例如,在上述步驟309,可以獲得包括複數個候選詞的候選詞組作為候選詞序列的一部分)。
在一些實施例中,該方法可以進一步包括至少基於時間訊框確定所獲得的音訊中的關鍵詞組的開始時間和結束時間。例如,上述步驟306中描述的模式邊界處可用於確定各種語言單元的開始和結束時間。對於參考上述步驟306至308的另一示例,在每個時間訊框,可以基於諸如應用由樣本語言訓練的模型的方法確定所獲得的特徵向量和語言單元之間的匹配的機率分數。較高分數可以指示語言單元的開始或結束,其可以連結到所獲得的候選詞,以幫助確定音訊中的候選詞組的開始和結束時間。
在一些實施例中,複數個候選詞可以是按時間順序(即,從候選詞序列和相同詞序列中獲得的連續詞),以及複數個候選詞與複數個關鍵字之間的分別匹配可以包括候選詞組中的順序次序中的候選詞與關鍵詞組中的相同順序次序中的關鍵字之間的匹配。例如,獲得的音訊是「what a nice day today, hello my device, order coffee to my car…」,其中關鍵詞組是「hello my device」。從該獲得的音訊,可以獲得一個或多個候選詞例如「hat a nice day today, hello my device, order coffee to my car…」,並且在步驟309可以從中獲得一個候選詞組「hello my device」。為了確保候選詞和關鍵字(相同數量的詞)之間的匹配是準確的,可以順序地比較候選詞組中的候選詞和關鍵字詞組中的關鍵字。也就是說,可以將候選詞組中的第一個單詞與關鍵詞組中的第一個單詞進行比較,可以將候選詞組中的第二個單詞與關鍵詞組中的第二個單詞進行比較,等等,直到所有的單詞都被比較。如果確認候選詞組和關鍵詞組包括相同序列中的相同詞,則可以評估第一和第二機率分數以進一步確定匹配。
在一些實施例中,確定複數個候選詞是否分別匹配關鍵詞組的複數個關鍵字,以及複數個候選詞的每個的第一機率分數是否超過對應的第一臨界值,則可以包括在前向或後向的順序次序(在上述步驟310中顯示為向前和向後箭頭)中確定複數個候選詞和複數個關鍵字之間的分別匹配。
在一些實施例中,可以不基於語音模型或部分地基於語音模型來實現該方法,並且該方法可以不由語音解碼器實現或部分地由語音解碼器實現。如上所述,由於需要識別固定數量的關鍵詞組,因此這些關鍵詞組可以是單獨的模型並且基於聲學來確定,從而避免使用語音模型和語音解碼器。在沒有顯著的計算能力要求的情況下,所揭露的方法和系統可以在諸如行動電話的行動裝置上實現。行動裝置可以在不從諸如伺服器的其他裝置獲取計算能力的情況下識別關鍵詞組。在一些實施例中,該方法可以被實現為從音訊中識別複數個關鍵詞組,並且複數個關鍵詞組可以包括用於喚醒應用的詞組、標準化語言的詞組或者緊急觸發詞組中的至少一個。
圖4A示出了根據本申請的各種實施例的用於關鍵詞組識別的示例方法400的流程圖。方法400可以在各種環境中實現,包括例如圖1的環境100。示例方法400可以由系統102的一個或多個元件(例如,處理器104、記憶體106)實現。以下呈現的方法400的操作是說明性的。取決於實現方式,示例方法400可以包括以各種順序或並行執行的附加、更少或替代步驟。方法400可以包括以下步驟(步驟被示為方塊)。
在步驟401處,可以獲得包括音訊部分的序列的音訊。在步驟402,可以獲得對應於複數個音訊部分的複數個候選詞,並且可以獲得所獲得的候選詞和音訊部分之間的每個對應關係的第一機率分數。在步驟403,可以確定複數個候選詞是否分別匹配關鍵詞組的複數個關鍵字,以及複數個候選詞的每個的第一機率分數是否超過對應的第一詞,複數個候選詞構成候選詞組。在步驟404,回應於確定複數個候選詞匹配複數個關鍵字且每個第一機率分數超過對應的臨界值,基於複數個候選詞的每個的第一機率分數,可以獲得表示候選詞組與關鍵詞組之間的匹配關係的第二機率分數。在步驟405,回應於確定第二機率分數超過第二臨界值,可以將候選詞組確定為關鍵詞組。
圖4B示出了根據本申請的各種實施例的用於關鍵詞組識別的示例方法410的流程圖。方法410可以在各種環境中實現,包括例如圖1的環境100。示例方法410可以由系統102的一個或多個元件(例如,處理器104、記憶體106)實現。以下呈現的方法410的操作是說明性的。取決於實現方式,示例方法410可以包括以各種順序或並行執行的附加、更少或替代步驟。上述步驟402可以包括方法410。方法410可包括以下步驟。
在步驟411,可以獲得對應於音訊(在上面的步驟401中描述)的聲譜圖。在步驟412處,可以沿著聲譜圖為每個時間訊框獲得特徵向量,以獲得對應於聲譜圖的複數個特徵向量。在步驟413,可以獲得對應於複數個特徵向量的複數個語言單元。在步驟414,可以至少基於將語言單元映射到單詞的詞典獲得對應於音訊的候選詞序列,並且對於每個候選詞,至少基於由語言單元的樣本序列訓練的模型,獲得第一機率分數。在步驟415,可以從候選詞序列獲得複數個候選詞。
這裡描述的技術由一個或多個專用計算裝置實現。專用計算裝置可以包括一個或多個硬體處理器,其被編程為根據韌體、記憶體、其他儲存器或組合中的程式指令來執行技術。專用計算裝置可以是桌上型電腦系統、伺服器電腦系統、可擕式電腦系統、手持裝置、網路裝置或包含硬連線及/或程式邏輯以實現該技術的任何其他裝置或裝置的組合。計算裝置通常由作業系統軟體控制和協調。傳統作業系統控制和調度用於執行的電腦進程、執行記憶體管理、提供檔案系統、網路、輸入/輸出服務、以及提供使用者介面功能,例如圖形使用者介面(Graphical User Interface,「GUI」)等的東西。
圖5示出了電腦系統500的方塊圖,在該電腦系統500上可以實現本申請描述的任何實施例。系統500可以對應於上述系統102。電腦系統500包括匯流排502或用於遞送資訊的其他通訊機制,一個或多個硬體處理器504與匯流排502耦合以處理資訊。硬體處理器504可以是例如一個或多個通用微處理器。處理器504可以對應於上述處理器104。
電腦系統500還包括主記憶體506,例如隨機存取記憶體(RAM)、快取記憶體及/或其他動態儲存裝置,耦合到匯流排502,用於儲存將由處理器504執行的資訊和指令。主記憶體506還可以用於在執行要由處理器504執行的指令期間儲存臨時變數或其他中間資訊。當儲存在處理器504可存取的儲存媒體中時,這樣的指令使電腦系統500進入專用機器,該專用機器被定製以執行指令中指定的操作。電腦系統500還包括唯讀記憶體(ROM)508或耦合到匯流排502的其他靜態儲存裝置,用於儲存處理器504的靜態資訊和指令。提供儲存器510,例如磁碟、光碟或USB大拇哥驅動器(快閃記憶體驅動器)等,並將其耦合到匯流排502,用於儲存資訊和指令。主記憶體506、唯讀記憶體(ROM)508及/或儲存器510可以對應於上述記憶體106。
電腦系統500可以使用定製的硬連線邏輯、一個或多個特定應用積體電路或現場可程式閘陣列、韌體及/或程式邏輯來實現本申請描述的技術,其與電腦系統組合使電腦系統500成為一專用機器。根據一個實施例,本申請的技術由電腦系統500執行,以回應處理器504執行包含在主記憶體506中的一個或多個指令的一個或多個序列。這些指令可以從另一儲存媒體(例如儲存器510)讀入主記憶體506。包含在主記憶體506中的指令序列的執行使得處理器504執行本申請描述的處理步驟。在替代實施例中,可以使用硬連線電路來代替軟體指令或與軟體指令組合。
主記憶體506、唯讀記憶體508及/或儲存器510可以包括非暫時性儲存媒體。這裡使用的術語「非暫時性媒體」和類似術語是指儲存使機器以特定方式操作的資料及/或指令的任何媒體。這種非暫時性媒體可包括非揮發性媒體及/或揮發性媒體。非揮發性媒體包括例如光碟或磁碟,例如儲存器510。揮發性媒體包括動態記憶體,例如主記憶體506。非暫時性媒體的常見形式包括,例如,軟碟、軟式磁碟、硬碟、固態硬碟、磁帶、或任何其他磁資料儲存媒體、唯讀光碟驅動器(CD-ROM)、任何其他光學資料儲存媒體、具有孔圖案的任何物理媒體、隨機存取記憶體(RAM)、可程式唯讀記憶體(PROM)、可抹除可程式唯讀記憶體(EPROM)、快閃可抹除可程式唯讀記憶體(FLASH-EPROM)、非揮發隨機存取記憶體(NVRAM)、任何其他記憶體晶片或盒式磁帶,以及它們的網路版本。
電腦系統500還包括麥克風512或替代音訊捕獲裝置。麥克風512可以對應於上述麥克風103。
電腦系統500還包括耦合到匯流排502的通訊介面518。通訊介面518提供耦合到連接到一個或多個本地網路的一個或多個網路鏈路的雙向資料通訊。例如,通訊介面518可以是整合式服務數位網路(ISDN)卡、纜線數據機、衛星數據機或數據機,以提供與對應類型的電話線的資料通訊連接。又例如,通訊介面518可以是區域網路(LAN)卡,以提供到相容區域網路(LAN)(或與廣域網路(WAN)通訊的廣域網路(WAN))的資料通訊連接。還可以實現無線鏈路。在任何這樣的實現中,通訊介面518發送和接收攜帶表示各種類型資訊的數位資料流的電信號、電磁信號或光信號。
電腦系統500可以通過網路、網路鏈路和通訊介面518發送訊息並接收包括程式碼的資料。在網際網路示例中,伺服器可以通過網際網路、網際網路服務提供方(ISP)、本地網路和通訊介面518發送用於應用程式的所請求的碼。
接收到的碼可以在處理器504被接收時執行,及/或儲存在儲存器510或其他非揮發性儲存器中,以供稍後執行。
前面部分中描述的每個流程、方法和演算法可以由一個或多個電腦系統或包括電腦硬體的電腦處理器執行的編碼模組實現,並且完全或部分自動化。可以部分地或全部地在特定於應用的電路中實現流程和演算法。
上述各種特徵和流程可以彼此獨立地使用,或者可以以各種方式組合。所有可能的組合和子組合旨在落入本揭露的範圍內。另外,在一些實現中可以省略某些方法或流程步驟。本申請描述的方法和流程也不限於任何特定序列,並且與其相關的方塊或狀態可以以適當的其他序列執行。例如,所描述的方塊或狀態可以以不同於具體揭露的循序執行,或者多個方塊或狀態可以在單個方塊或狀態中組合。示例性方塊或狀態可以串列、並行或以某種其他方式執行。可以將方塊或狀態添加到所揭露的示例性實施例或從其中移除。這裡描述的示例系統和元件可以與所描述的不同地配置。例如,與所揭露的示例性實施例相比,可以添加、移除或重新佈置組件。
本申請描述的示例方法的各種操作可以至少部分地由臨時配置(例如,通過軟體)或永久地配置用於執行相關操作的一個或多個處理器來執行。無論是臨時配置還是永久配置,這樣的處理器可以構成處理器實現的引擎,其操作以執行本申請描述的一個或多個操作或功能。
類似地,這裡描述的方法可以至少部分地由處理器實現,其中特定處理器是硬體的示例。例如,方法的至少一些操作可以由一個或多個處理器或處理器實現的引擎來執行。此外,一個或多個處理器還可以操作以支援「雲端計算」環境中的相關操作的性能或「軟體即服務」(SaaS)。例如,至少一些操作可以由一組電腦(作為包括處理器的機器的示例)執行,這些操作可以經由網路(例如,網際網路)和通過一個或多個適當的介面(例如,應用程式介面(API))來存取。
某些操作的性能可以在處理器之間分配,不僅駐留在單個機器內,而且部署在多個機器上。在一些示例實施例中,處理器或處理器實現的引擎可以位於單個地理位置(例如,在家庭環境、辦公室環境或伺服器群內)。在其他示例實施例中,處理器或處理器實現的引擎可以分佈在多個地理位置。
貫穿本說明書,多個實例可以實現被描述為單個實例的元件、操作或結構。儘管一個或多個方法的各個操作被示出並描述為單獨的操作,但是可以同時執行各個操作的一個或多個,並且不要求以所示的循序執行操作。作為示例配置中的單獨元件呈現的結構和功能可以實現為組合結構或元件。類似地,作為單個元件呈現的結構和功能可以實現為單獨的元件。這些和其他變化、修改、添加和改進落入本申請主題的範圍內。
儘管已經參考特定示例實施例描述了主題的概述,但是在不脫離本申請的實施例的更寬範圍的情況下,可以對這些實施例進行各種修改和改變。本申請中的主題的這些實施方案可以單獨地或共同地通過術語「申請」在本申請中僅為了方便而被引用,並且不意圖將本申請的範圍自願地限制於任何單個揭露或概念,如果實際不止一個已揭露。
本申請所示的實施例得到足夠詳細的描述,以使本領域具有通常知識者能夠實踐所揭露的導引。可以使用其他實施例並從中匯出其他實施例,使得可以在不脫離本揭露的範圍的情況下進行結構和邏輯替換和改變。因此,具體實施方式不應被視為具有限制意義,並且各種實施例的範圍僅由所附申請專利範圍以及這些申請專利範圍所賦予的均等物的全部範圍來限定。
在此描述及/或在圖式中描繪的流程圖中的任何流程描述、元素或方塊應該被理解為潛在地表示包括用於實現該流程中特定邏輯或步驟的一個或多個可執行指令的模組、片段或編碼部分。替代實施方式包括在本申請描述的實施方案的範圍內,其中可以從所示或所討論的順序中刪除、執行組件或功能,包括基本上同時或以相反的順序,取決於所涉及的功能,如本領域具有通常知識者可以理解。
如本申請所用,術語「或」可以以包含性或排他性的含義來解釋。此外,可以為在此描述為單個實例的資源、操作或結構提供多個實例。另外,各種資源、操作、引擎和資料儲存之間的邊界在某種程度上是任意的,並且在特定說明性配置的上下文中示出了特定操作。設想了其他功能分配,並且可以落入本申請的各種實施例的範圍內。通常,在示例配置中作為單獨資源呈現的結構和功能可以實現為組合結構或資源。類似地,作為單個資源呈現的結構和功能可以實現為單獨的資源。這些和其他變化、修改、添加和改進落入由所附申請專利範圍表示的本申請的實施例的範圍內。因此,說明書和圖式應被視為說明性的而非限制性的。
條件語言,例如,其中,「可」、「可以」、或「可能」,除非另有明確說明,或者在所使用的上下文中以其他方式理解,通常旨在表達某些實施例包含某些特徵、組件及/或步驟,而其它實施例不包括。因此,這種條件語言通常不旨在暗示一個或多個實施例以任何方式需要特徵、元素及/或步驟,或者一個或多個實施例必須包括用於決定的邏輯,無論是否有使用者輸入或提示,是否包括這些特徵、元素及/或步驟,或者是否在任何特定實施例中執行。
100‧‧‧示例環境
101‧‧‧使用者
102‧‧‧系統
103‧‧‧麥克風
104‧‧‧處理器
105‧‧‧顯示器
106‧‧‧記憶體
107‧‧‧計算裝置
108‧‧‧資料儲存
109‧‧‧計算裝置
200‧‧‧示例系統
202‧‧‧音訊
204‧‧‧資訊
206‧‧‧返回資訊
300‧‧‧流程
301-303‧‧‧音訊序列
304‧‧‧語言單元佇列
305‧‧‧步驟
306‧‧‧步驟
307‧‧‧步驟
308‧‧‧步驟
309‧‧‧步驟
310‧‧‧步驟
311‧‧‧步驟
400‧‧‧方法
401‧‧‧步驟
402‧‧‧步驟
403‧‧‧步驟
404‧‧‧步驟
405‧‧‧步驟
410‧‧‧方法
411‧‧‧步驟
412‧‧‧步驟
413‧‧‧步驟
414‧‧‧步驟
415‧‧‧步驟
500‧‧‧電腦系統
502‧‧‧匯流排
504‧‧‧處理器
506‧‧‧主記憶體
508‧‧‧唯讀記憶體
510‧‧‧儲存器
512‧‧‧麥克風
518‧‧‧通訊介面
本技術的各種實施例的某些特徵在所附申請專利範圍中特別提出。通過參考以下詳細描述將獲得對本技術的特徵和優點的更佳理解,所述詳細描述提出了利用本申請的原理的示例性實施例,並且提供了圖式,其中:
圖1示出了根據各種實施例的用於關鍵詞組識別的示例環境。
圖2示出了根據各種實施例的用於關鍵詞組識別的示例系統。
圖3A-3B示出了根據各種實施例的用於關鍵詞組識別的示例方法。
圖4A-4B示出了根據各種實施例的用於關鍵詞組識別的示例方法的流程圖。
圖5示出了示例電腦系統的方塊圖,其中,可以實現本申請描述的任何實施例。

Claims (20)

  1. 一種用於關鍵詞組識別的方法,包括: 獲得包含音訊部分的序列的音訊; 獲得對應於複數個所述音訊部分的複數個候選詞,並獲得所獲得的候選詞與所述音訊部分之間的每個對應關係的第一機率分數; 確定所述複數個候選詞是否分別匹配關鍵詞組的複數個關鍵字,以及所述複數個候選詞的每個候選詞的第一機率分數是否超過對應的第一臨界值,所述複數個候選詞構成候選詞組; 回應於確定所述複數個候選詞匹配所述複數個關鍵字且每個所述第一機率分數超過所述對應的臨界值,基於所述複數個候選詞的每個候選詞的所述第一機率分數,獲得表示所述候選詞組與所述關鍵詞組之間的匹配關係的第二機率分數;以及 回應於確定所述第二機率分數超過第二臨界值,將所述候選詞組確定為所述關鍵詞組。
  2. 如申請專利範圍第1項之方法,其中: 獲得對應於複數個所述音訊部分的複數個候選詞,並獲得所獲得的候選詞與所述音訊部分之間的每個對應關係的第一機率分數,包括: 獲得與所述音訊對應的聲譜圖; 沿著所述聲譜圖獲得每個時間訊框的特徵向量,以獲得對應於所述聲譜圖的複數個特徵向量; 獲得對應於所述複數個特徵向量的複數個語言單元; 至少基於將語言單元映射到單詞的詞典來獲得對應於所述音訊的候選詞的序列,並且對於每個候選詞,至少基於用語言單元的樣本序列所訓練的模型來獲得所述第一機率分數;以及 從所述候選詞的序列中獲取所述複數個候選詞。
  3. 如申請專利範圍第2項之方法,其中,所述方法進一步包括: 至少基於所述時間訊框確定所獲得的音訊中的所述關鍵詞組的開始時間和結束時間。
  4. 如申請專利範圍第1項之方法,其中: 所述複數個候選詞是按時間順序;以及 所述複數個候選詞和所述複數個關鍵字之間的分別匹配包括所述候選詞組中的順序次序中的候選詞與所述關鍵詞組中的相同順序次序中的關鍵字之間的匹配。
  5. 如申請專利範圍第4項之方法,其中: 確定所述複數個候選詞是否分別匹配所述關鍵詞組的所述複數個關鍵字,以及所述複數個候選詞的每個候選詞的第一機率分數是否超過對應的第一臨界值,包括: 在前向或後向的順序次序中,確定所述複數個候選詞和所述複數個關鍵字之間的分別匹配。
  6. 如申請專利範圍第1項之方法,其中,所述方法進一步包括: 回應於確定所述複數個候選詞中的任何一個候選詞的第一機率分數不超過對應臨界值,不將所述候選詞組確定為所述關鍵詞組。
  7. 如申請專利範圍第1項之方法,其中: 所述方法不是基於或部分基於語音模型實現的;以及 所述方法不是由語音解碼器實現或部分由語音解碼器實現的。
  8. 如申請專利範圍第1項之方法,其中: 所述關鍵詞組包括用於喚醒應用程式的詞組、標準化語言的詞組,或緊急觸發詞組中的至少一個。
  9. 如申請專利範圍第1項之方法,其中: 所述方法可由包括麥克風的行動裝置實現;以及 所獲得的音訊包括由運輸工具中的一個或多個乘員的麥克風所記錄的語音。
  10. 一種用於關鍵詞組識別的系統,包括: 一個處理器;以及 一個儲存指令的非暫時性電腦可讀取儲存媒體,當該指令由所述處理器執行時,使所述處理器執行一方法,所述方法包括: 獲得包含音訊部分的序列的音訊; 獲得對應於複數個所述音訊部分的複數個候選詞,並獲得所獲得的候選詞與所述音訊部分之間的每個對應關係的第一機率分數; 確定所述複數個候選詞是否分別匹配關鍵詞組的複數個關鍵字,以及所述複數個候選詞的每個候選詞的第一機率分數是否超過對應的第一臨界值,所述複數個候選詞構成候選詞組; 回應於確定所述複數個候選詞匹配所述複數個關鍵字且每個所述第一機率分數超過所述對應的臨界值,基於所述複數個候選詞的每個候選詞的所述第一機率分數,獲得表示所述候選詞組與所述關鍵詞組之間的匹配關係的第二機率分數;以及 回應於確定所述第二機率分數超過第二臨界值,將所述候選詞組確定為所述關鍵詞組。
  11. 如申請專利範圍第10項之系統,其中: 獲得對應於複數個所述音訊部分的複數個候選詞,並獲得所獲得的候選詞與所述音訊部分之間的每個對應關係的第一機率分數,包括: 獲得與所述音訊對應的聲譜圖; 沿著所述聲譜圖獲得每個時間訊框的特徵向量,以獲得對應於所述聲譜圖的複數個特徵向量; 獲得對應於所述複數個特徵向量的複數個語言單元; 至少基於將語言單元映射到單詞的詞典來獲得對應於所述音訊的候選詞的序列,並且對於每個候選詞,至少基於用語言單元的樣本序列所訓練的模型來獲得所述第一機率分數;以及 從所述候選詞的序列中獲取所述複數個候選詞。
  12. 如申請專利範圍第11項之系統,進一步使得所述處理器執行: 至少基於所述時間訊框確定所獲得的音訊中的所述關鍵詞組的開始時間和結束時間。
  13. 如申請專利範圍第10項之系統,其中: 所述複數個候選詞是按時間順序;以及 所述複數個候選詞和所述複數個關鍵字之間的分別匹配包括所述候選詞組中的順序次序中的候選詞與所述關鍵詞組中的相同順序次序中的關鍵字之間的匹配。
  14. 如申請專利範圍第13項之系統,其中: 確定所述複數個候選詞是否分別匹配所述關鍵詞組的所述複數個關鍵字,以及所述複數個候選詞的每個候選詞的第一機率分數是否超過對應的第一臨界值,所述處理器執行: 在前向或後向的順序次序中,確定所述複數個候選詞和所述複數個關鍵字之間的分別匹配。
  15. 如申請專利範圍第10項之系統,其中,進一步使所述處理器執行: 回應於確定所述複數個候選詞中的任何一個候選詞的第一機率分數不超過對應臨界值,不將所述候選詞組確定為所述關鍵詞組。
  16. 如申請專利範圍第10項之系統,其中: 不使所述處理器實現語音模型;以及 不使所述處理器實現語音解碼器。
  17. 如申請專利範圍第10項之系統,其中: 所述關鍵詞組包括用於喚醒應用程式的詞組、標準化語言的詞組或緊急觸發詞組中的至少一個。
  18. 如申請專利範圍第10項之系統,進一步包括: 麥克風被配置為接收所述音訊並將所記錄的音訊發送到所述處理器,其中: 所述系統可在行動裝置上實現,所述行動裝置包括行動電話;以及 所獲得的音訊包括運輸工具中的一個或多個乘員的語音。
  19. 一種用於關鍵詞組識別的非暫時性電腦可讀取媒體,包括儲存在其中的指令,其中,所述指令在由一個或多個處理器執行時使所述一個或多個處理器執行包括以下的方法: 獲得包含音訊部分的序列的音訊; 獲得對應於複數個所述音訊部分的複數個候選詞,並獲得所獲得的候選詞與所述音訊部分之間的每個對應關係的第一機率分數; 確定所述複數個候選詞是否分別匹配關鍵詞組的複數個關鍵字,以及所述複數個候選詞的每個候選詞的第一機率分數是否超過對應的第一臨界值,所述複數個候選詞構成候選詞組; 回應於確定所述複數個候選詞匹配所述複數個關鍵字且每個所述第一機率分數超過所述對應的臨界值,基於所述複數個候選詞的每個候選詞的所述第一機率分數,獲得表示所述候選詞組與所述關鍵詞組之間的匹配關係的第二機率分數;以及 回應於確定所述第二機率分數超過第二臨界值,將所述候選詞組確定為所述關鍵詞組。
  20. 如申請專利範圍第19項之非暫時性電腦可讀取媒體,其中: 獲得對應於複數個所述音訊部分的複數個候選詞,並獲得所獲得的候選詞與所述音訊部分之間的每個對應關係的第一機率分數,包括: 獲得與所述音訊對應的聲譜圖; 沿著所述聲譜圖獲得每個時間訊框的特徵向量,以獲得對應於所述聲譜圖的複數個特徵向量; 獲得對應於所述複數個特徵向量的複數個語言單元; 至少基於將語言單元映射到單詞的詞典來獲得對應於所述音訊的候選詞的序列,並且對於每個候選詞,至少基於用語言單元的樣本序列所訓練的模型來獲得所述第一機率分數;以及 從所述候選詞的序列中獲取所述複數個候選詞。
TW107134587A 2017-10-24 2018-10-01 用於關鍵詞組識別的系統和方法 TWI697793B (zh)

Applications Claiming Priority (3)

Application Number Priority Date Filing Date Title
??PCT/CN2017/107432 2017-10-24
WOPCT/CN2017/107432 2017-10-24
PCT/CN2017/107432 WO2019079957A1 (en) 2017-10-24 2017-10-24 SYSTEM AND METHOD FOR IDENTIFYING KEY EXPRESSIONS

Publications (2)

Publication Number Publication Date
TW201928715A true TW201928715A (zh) 2019-07-16
TWI697793B TWI697793B (zh) 2020-07-01

Family

ID=66247087

Family Applications (1)

Application Number Title Priority Date Filing Date
TW107134587A TWI697793B (zh) 2017-10-24 2018-10-01 用於關鍵詞組識別的系統和方法

Country Status (5)

Country Link
US (1) US20200273447A1 (zh)
EP (1) EP3628098B1 (zh)
CN (2) CN112037774B (zh)
TW (1) TWI697793B (zh)
WO (1) WO2019079957A1 (zh)

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20190043479A1 (en) * 2018-05-07 2019-02-07 Intel Corporation Wake on voice key phrase segmentation
US11308939B1 (en) * 2018-09-25 2022-04-19 Amazon Technologies, Inc. Wakeword detection using multi-word model
KR20210030160A (ko) * 2019-09-09 2021-03-17 삼성전자주식회사 전자 장치 및 이의 제어 방법
US11436413B2 (en) * 2020-02-28 2022-09-06 Intuit Inc. Modified machine learning model and method for coherent key phrase extraction
CN111681635A (zh) * 2020-05-12 2020-09-18 深圳市镜象科技有限公司 基于小样本的语音实时克隆的方法、装置、设备和介质
US11694685B2 (en) * 2020-12-10 2023-07-04 Google Llc Hotphrase triggering based on a sequence of detections
KR20220130450A (ko) * 2021-03-18 2022-09-27 삼성전자주식회사 음성 인식을 위한 인공 신경망에서의 디코딩 방법 및 디코딩 장치
US11990125B2 (en) * 2021-06-21 2024-05-21 Kyndryl, Inc. Intent driven voice interface
CN113724688B (zh) * 2021-11-04 2022-03-29 深圳市友杰智新科技有限公司 语音识别的后处理方法、装置和计算机设备
EP4221169A1 (en) * 2022-01-31 2023-08-02 Koa Health B.V. Sucursal en España System and method for monitoring communication quality
CN114566167A (zh) * 2022-02-28 2022-05-31 安徽淘云科技股份有限公司 语音答题方法、装置、电子设备和存储介质

Family Cites Families (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5613037A (en) * 1993-12-21 1997-03-18 Lucent Technologies Inc. Rejection of non-digit strings for connected digit speech recognition
JP2003308091A (ja) * 2002-04-17 2003-10-31 Pioneer Electronic Corp 音声認識装置、音声認識方法および音声認識プログラム
CN1201285C (zh) * 2002-11-20 2005-05-11 中国科学院声学研究所 一种语音识别中的并行搜索方法
US8620658B2 (en) * 2007-04-16 2013-12-31 Sony Corporation Voice chat system, information processing apparatus, speech recognition method, keyword data electrode detection method, and program for speech recognition
CN101593519B (zh) * 2008-05-29 2012-09-19 夏普株式会社 检测语音关键词的方法和设备及检索方法和系统
JP2010078877A (ja) * 2008-09-25 2010-04-08 Pioneer Electronic Corp 音声認識装置、音声認識方法及び音声認識プログラム
EP2221806B1 (en) * 2009-02-19 2013-07-17 Nuance Communications, Inc. Speech recognition of a list entry
JP5326169B2 (ja) * 2009-05-13 2013-10-30 株式会社日立製作所 音声データ検索システム及び音声データ検索方法
JP5276610B2 (ja) * 2010-02-05 2013-08-28 日本放送協会 言語モデル生成装置、そのプログラムおよび音声認識システム
CN102194454B (zh) * 2010-03-05 2012-11-28 富士通株式会社 用于检测连续语音中的关键词的设备和方法
EP2635965A4 (en) * 2010-11-05 2016-08-10 Rakuten Inc SYSTEMS AND METHODS RELATING TO KEYWORD EXTRACTION
US9165556B1 (en) * 2012-02-01 2015-10-20 Predictive Business Intelligence, LLC Methods and systems related to audio data processing to provide key phrase notification and potential cost associated with the key phrase
CN104143328B (zh) * 2013-08-15 2015-11-25 腾讯科技(深圳)有限公司 一种关键词检测方法和装置
CN104700832B (zh) * 2013-12-09 2018-05-25 联发科技股份有限公司 语音关键字检测系统及方法
CN103677729B (zh) * 2013-12-18 2017-02-08 北京搜狗科技发展有限公司 一种语音输入方法和系统
CN103744835B (zh) * 2014-01-02 2016-12-07 上海大学 一种基于主题模型的文本关键词提取方法
CN105096935B (zh) * 2014-05-06 2019-08-09 阿里巴巴集团控股有限公司 一种语音输入方法、装置和系统
US10269342B2 (en) * 2014-10-29 2019-04-23 Hand Held Products, Inc. Method and system for recognizing speech using wildcards in an expected response
CN106297776B (zh) * 2015-05-22 2019-07-09 中国科学院声学研究所 一种基于音频模板的语音关键词检索方法
CN106847259B (zh) * 2015-12-03 2020-04-03 中国科学院声学研究所 一种音频关键词模板的筛选和优化方法
CN106328147B (zh) * 2016-08-31 2022-02-01 中国科学技术大学 语音识别方法和装置

Also Published As

Publication number Publication date
CN109964270B (zh) 2020-09-25
CN112037774B (zh) 2024-04-26
US20200273447A1 (en) 2020-08-27
EP3628098A4 (en) 2020-06-17
EP3628098B1 (en) 2021-03-17
CN112037774A (zh) 2020-12-04
EP3628098A1 (en) 2020-04-01
CN109964270A (zh) 2019-07-02
TWI697793B (zh) 2020-07-01
WO2019079957A1 (en) 2019-05-02

Similar Documents

Publication Publication Date Title
TWI697793B (zh) 用於關鍵詞組識別的系統和方法
US11227611B2 (en) Determining hotword suitability
US11915699B2 (en) Account association with device
US9293136B2 (en) Multiple recognizer speech recognition
US11423885B2 (en) Utilizing pre-event and post-event input streams to engage an automated assistant
JP2021533397A (ja) 話者埋め込みと訓練された生成モデルとを使用する話者ダイアライゼーション
US11574637B1 (en) Spoken language understanding models
US11164584B2 (en) System and method for uninterrupted application awakening and speech recognition
US20200219487A1 (en) Information processing apparatus and information processing method
JP2023550135A (ja) パーソナライズされた否定語に基づいてホットワード認識を適応させること
US10789946B2 (en) System and method for speech recognition with decoupling awakening phrase
US11076018B1 (en) Account association for voice-enabled devices