TWI725877B - 電子裝置與語音識別方法 - Google Patents
電子裝置與語音識別方法 Download PDFInfo
- Publication number
- TWI725877B TWI725877B TW109120791A TW109120791A TWI725877B TW I725877 B TWI725877 B TW I725877B TW 109120791 A TW109120791 A TW 109120791A TW 109120791 A TW109120791 A TW 109120791A TW I725877 B TWI725877 B TW I725877B
- Authority
- TW
- Taiwan
- Prior art keywords
- voiceprint feature
- feature vector
- nodes
- candidate
- node
- Prior art date
Links
- 238000000034 method Methods 0.000 title claims abstract description 47
- 239000013598 vector Substances 0.000 claims abstract description 484
- 230000004044 response Effects 0.000 claims description 37
- 238000013138 pruning Methods 0.000 claims description 16
- 239000000284 extract Substances 0.000 claims description 5
- 230000000717 retained effect Effects 0.000 claims description 3
- 238000010586 diagram Methods 0.000 description 16
- 238000004891 communication Methods 0.000 description 13
- 238000012795 verification Methods 0.000 description 10
- 238000006243 chemical reaction Methods 0.000 description 4
- 238000000691 measurement method Methods 0.000 description 4
- 238000012545 processing Methods 0.000 description 4
- 238000004458 analytical method Methods 0.000 description 3
- 238000009966 trimming Methods 0.000 description 3
- 230000002708 enhancing effect Effects 0.000 description 2
- 230000001174 ascending effect Effects 0.000 description 1
- 230000003542 behavioural effect Effects 0.000 description 1
- 239000008280 blood Substances 0.000 description 1
- 210000004369 blood Anatomy 0.000 description 1
- 238000004364 calculation method Methods 0.000 description 1
- 238000004138 cluster model Methods 0.000 description 1
- 238000012937 correction Methods 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 230000001815 facial effect Effects 0.000 description 1
- 230000007774 longterm Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 210000000056 organ Anatomy 0.000 description 1
- 210000001747 pupil Anatomy 0.000 description 1
- 238000013077 scoring method Methods 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
- 230000003595 spectral effect Effects 0.000 description 1
- 238000001228 spectrum Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000001755 vocal effect Effects 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L17/00—Speaker identification or verification techniques
- G10L17/22—Interactive procedures; Man-machine interfaces
-
- G—PHYSICS
- G10—MUSICAL INSTRUMENTS; ACOUSTICS
- G10L—SPEECH ANALYSIS TECHNIQUES OR SPEECH SYNTHESIS; SPEECH RECOGNITION; SPEECH OR VOICE PROCESSING TECHNIQUES; SPEECH OR AUDIO CODING OR DECODING
- G10L17/00—Speaker identification or verification techniques
- G10L17/06—Decision making techniques; Pattern matching strategies
Landscapes
- Engineering & Computer Science (AREA)
- Health & Medical Sciences (AREA)
- Audiology, Speech & Language Pathology (AREA)
- Human Computer Interaction (AREA)
- Physics & Mathematics (AREA)
- Acoustics & Sound (AREA)
- Multimedia (AREA)
- Business, Economics & Management (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Game Theory and Decision Science (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本發明提供一種語音識別方法。所述方法包括:接收一語音數據,並且根據所述語音數據產生相應的聲紋特徵向量;從聲紋特徵聚類模型數據庫載入聲紋特徵聚類模型;將所述聲紋特徵聚類模型的多個節點插入至一候選節點序列以成為多個候選節點,並且識別所述多個候選節點中最接近所述聲紋特徵向量的目標候選節點;查找出目標候選節點中的所有的候選聲紋特徵向量樣本中匹配所述聲紋特徵向量的目標候選聲紋特徵向量樣本;以及識別相應於所述目標候選聲紋特徵向量樣本的目標用戶與目標用戶信息。
Description
本發明是有關於一種電子裝置,且特別是有關於一種用以識別所接收的語音的電子裝置,以及所述電子裝置所使用的語音識別方法。
聲紋是指通過特殊的電聲轉換儀器(諸如,聲譜儀、語圖儀等)繪製的展現聲波特徵的波譜圖形,是各種聲學特徵圖譜的集合。對於人體來說,聲紋是長期穩定的特徵信號,由於發聲器官先天的生理差異和後天形成的行為差異,每個人的語音所相應的聲紋都帶著強烈的個人色彩。通過信息化採集的聲紋數據稱為聲紋信息。
因此,語音識別操作可提取說話人的聲音特徵/說話內容信息(也稱,語音信息),將所述語音信息轉換為相應的聲紋信息,並且基於所轉換的聲紋信息對說話人的身份進行識別的生物識別技術。聲紋識別主要採集人的語音信息,提取特有的語音特徵並將它轉換成數字符號。通常的識別系統都是將所接收到的語音信息轉化成為一組多維度的特徵向量(後簡稱聲紋特徵向量)。
現有技術的語音識別操作通常是基於預先建立的聲紋數據庫中的所有聲紋信息來對所接收的語音信息進行一對一的識別操作。詳細來說,現有技術中的聲紋數據庫建立時只存儲與多個被採集人員對應的多個聲紋信息(也可稱,聲紋信息樣本)。在對所接收的語音信息所轉換的待識別聲紋進行聲紋識別時,需要將所述待識別聲紋與數據庫中存儲的所有聲紋信息進行逐一匹配,以查找出匹配所述待識別聲紋的聲紋信息,從而識別出對應所述待識別聲紋的被採集人員的相關信息。
然而,當聲紋數據庫存儲數據所存儲的所有聲紋信息的總數量是巨大的,採用上述現有技術的語音識別操作會耗費大量的時間於逐一匹配的過程中。
鑒於此,如何提供一種更快速、準確的語音識別方法,為本領域技術人員專注致力發展的目標。
本發明的一實施例提供一種電子裝置。所述電子裝置包括輸入/輸出裝置、儲存裝置以及處理器。所述儲存裝置用以記錄一用戶信息數據庫及一聲紋特徵聚類模型數據庫。所述處理器用以經由所述輸入/輸出裝置接收一語音數據,並且所述處理器更用以根據所述語音數據產生相應的聲紋特徵向量。所述處理器更用以從所述聲紋特徵聚類模型數據庫載入聲紋特徵聚類模型,其中所述聲紋特徵聚類模型包括多個節點,其中所述多個節點被劃分至多個層以形成一多層次樹狀結構,其中所述多個節點包括一個根節點,多個葉節點以及多個中繼節點,所述多個節點中的每一個包括多個聲紋特徵向量樣本。此外,所述處理器更用以將所述根節點的多個第一子節點插入至一候選節點序列以成為多個候選節點,並且計算所述多個候選節點各自的節點平均聲紋特徵向量與所述聲紋特徵向量之間的候選距離。所述處理器更用以根據所計算的多個候選距離來排序所有的候選節點,並且僅保留所述候選節點序列中的前N個候選節點,其中在所述前N個候選節點中的第一個候選節點具有最小的候選距離,其中N為候選節點上限值。所述處理器更用以判斷所述多個候選節點各自是否皆為所述多個葉節點的其中之一,其中反應於判定所述多個候選節點各自皆為所述多個葉節點的其中之一,所述處理器更用以執行下列步驟(1)~(3):(1) 識別所述候選節點序列中的所有的候選節點各自的多個候選聲紋特徵向量樣本;(2) 將所有的候選聲紋特徵向量樣本各自與所述聲紋特徵向量進行比較,以查找出所有的候選聲紋特徵向量樣本中匹配所述聲紋特徵向量的目標候選聲紋特徵向量樣本;以及(3) 識別相應於所述目標候選聲紋特徵向量樣本的目標用戶與目標用戶信息,並且將所述目標用戶與所述目標用戶信息映射至所述語音數據,從而完成相應於所述語音數據的識別操作。
本發明的一實施例提供一種語音識別方法。所述方法包括:接收一語音數據,根據所述語音數據產生相應的聲紋特徵向量;從聲紋特徵聚類模型數據庫載入聲紋特徵聚類模型,其中所述聲紋特徵聚類模型包括多個節點,其中所述多個節點被劃分至多個層以形成一多層次樹狀結構,其中所述多個節點包括一個根節點,多個葉節點以及多個中繼節點,所述多個節點中的每一個包括多個聲紋特徵向量樣本;將所述根節點的多個第一子節點插入至一候選節點序列以成為多個候選節點,並且計算所述多個候選節點各自的節點平均聲紋特徵向量與所述聲紋特徵向量之間的候選距離;根據所計算的多個候選距離來排序所有的候選節點,並且僅保留所述候選節點序列中的前N個候選節點,其中在所述前N個候選節點中的第一個候選節點具有最小的候選距離,其中N為候選節點上限值;判斷所述多個候選節點各自是否皆為所述多個葉節點的其中之一;以及反應於判定所述多個候選節點各自皆為所述多個葉節點的其中之一,執行下列步驟(1)~(3):(1) 識別所述候選節點序列中的所有的候選節點各自的多個候選聲紋特徵向量樣本;(2) 將所有的候選聲紋特徵向量樣本各自與所述聲紋特徵向量進行比較,以查找出所有的候選聲紋特徵向量樣本中匹配所述聲紋特徵向量的目標候選聲紋特徵向量樣本;以及(3) 識別相應於所述目標候選聲紋特徵向量樣本的目標用戶與目標用戶信息,並且將所述目標用戶與所述目標用戶信息映射至所述語音數據,從而完成相應於所述語音數據的識別操作。
在本發明的一實施例中,反應於判定所述多個候選節點各自皆為所述多個葉節點的其中之一,所述處理器更用以判斷所述多個候選節點中的多個候選聲紋特徵向量樣本的總數量是否小於候選樣本數量門檻值,其中反應於判定所述多個候選節點中的所述多個候選聲紋特徵向量樣本的所述總數量不小於所述候選樣本數量門檻值,所述處理器更用以將所述多個候選節點各自的多個第二子節點插入至所述候選節點序列以成為新的多個候選節點,並且計算所述新的多個候選節點各自的節點平均聲紋特徵向量與所述聲紋特徵向量之間的候選距離,並且所述處理器更用以再次執行所述根據所計算的所述多個候選距離來排序所有的候選節點,並且僅保留所述候選節點序列中的前N個候選節點的步驟。
在本發明的一實施例中,反應於判定所述多個候選節點中的所述多個候選聲紋特徵向量樣本的所述總數量小於所述候選樣本數量門檻值,所述處理器更用以再次執行步驟(1)~(3)。
在本發明的一實施例中,其中所述步驟(2)包括:所述處理器識別所述多個候選聲紋特徵向量樣本各自的多個候選聲紋特徵向量,其中所述多個候選聲紋特徵向量樣本對應多個候選用戶;所述處理器計算對應每一個候選聲紋特徵向量樣本的所述多個候選聲紋特徵向量與所接收的語音數據的聲紋特徵向量之間的多個距離;所述處理器識別所述多個距離中的最小的距離為目標距離;以及所述處理器判斷所述目標距離是否小於匹配距離門檻值,其中反應於判定所述目標距離小於所述匹配距離門檻值,所述處理器將所述目標距離所對應的候選聲紋特徵向量所屬的候選聲紋特徵向量樣本判定為匹配所述聲紋特徵向量的目標候選聲紋特徵向量樣本。
在本發明的一實施例中,其中反應於判定所述目標距離不小於所述匹配距離門檻值,所述處理器判定所述多個候選聲紋徵向量樣本中不具有匹配所述聲紋特徵向量的所述目標候選聲紋特徵向量樣本;所述處理器識別包含所述目標距離所對應的候選聲紋特徵向量所屬的候選聲紋特徵向量樣本的目標節點,以及所述目標節點的目標父節點;以及所述處理器產生連接至所述目標父節點的新的子節點,並且將所述聲紋特徵向量加入至所述新的子節點的對應所述語音數據的新用戶的聲紋特徵向量樣本中。
在本發明的一實施例中,其中反應於判定所述目標距離不小於匹配距離門檻值,所述處理器判定無法匹配所接收的所述語音數據,並且判定相應於所述語音數據的用戶為未註冊用戶。
在本發明的一實施例中,其中所述聲紋特徵聚類模型是經由所述處理器執行一聲紋特徵聚類模型建立操作所建立的,其中在所述聲紋特徵聚類模型建立操作中,所述處理器從所述用戶信息數據庫的相應於多個用戶的多筆用戶信息中提取所述多個用戶各自的多個語音數據;所述處理器根據所述多個用戶各自的所述多個語音數據產生所述多個用戶各自的多個聲紋;所述處理器根據所述多個用戶各自的所述多個聲紋來計算所述多個用戶各自的相應於所述多個聲紋的所述多個用戶各自的多個M維聲紋特徵向量,其中M為正整數;所述處理器根據所述多個用戶各自的所述多個M維聲紋特徵向量來計算所述多個用戶各自的平均聲紋特徵向量,以將所述多個用戶的多個平均聲紋特徵向量作為多個聲紋特徵向量樣本各自的樣本平均聲紋特徵向量;以及所述處理器基於多個樣本平均聲紋特徵向量來對多個聲紋特徵向量樣本進行多層次無監督聚類操作,將所述多個聲紋特徵向量樣本分組至多個層的多個節點中,以建立多層次樹狀結構的聲紋特徵聚類模型。
在本發明的一實施例中,其中所述多個聲紋特徵向量樣本的總數量為P,其中在基於所述多個樣本平均聲紋特徵向量來對所述多個聲紋特徵向量樣本進行所述多層次無監督聚類操作,將所述多個聲紋特徵向量樣本分組至所述多個層的所述多個節點中,以建立所述多層次樹狀結構的所述聲紋特徵聚類模型的運作中,所述處理器根據P個聲紋特徵向量樣本各自的樣本平均聲紋特徵向量來計算P個樣本平均聲紋特徵向量彼此之間的距離,以作為所述P個聲紋特徵向量樣本之間的初始距離,其中P為正整數;所述處理器設定每個聲紋特徵向量樣本被劃分為獨立的節點,並且根據多個初始距離來計算所述多個節點彼此之間的節點距離;所述處理器根據多個節點距離,從不具有父節點的所有節點中選擇最接近的Q個節點分別作為目標節點,並且將所述Q個目標節點合併為所述Q個目標節點的父節點,其中所述Q個目標節點各自為所述父節點的子節點,其中Q為大於1的正整數;所述處理器記錄相應於所述父節點的節點資訊至所述父節點,其中相應於所述父節點的所述節點資訊包括所述父節點的節點平均聲紋特徵向量、所述父節點的節點半徑、所述父節點的總樣本數;所述處理器根據所述父節點中的所有的聲紋特徵向量樣本與其他的多個節點各自所具有的所有的聲紋特徵向量樣本之間的所述初始距離,來估算所述父節點分別與所述其他的多個節點之間的節點距離;所述處理器判斷所合併的父節點是否具有P個聲紋特徵向量樣本;以及反應於判定所合併的所述父節點具有所述P個聲紋特徵向量樣本,所述處理器對當前的具有所有節點的第一多層次樹狀結構執行修剪操作,以將所述第一多層次樹狀結構更新為第二多層次樹狀結構,從而完成所述聲紋特徵聚類模型的建立,其中所述第二多層次樹狀結構的總節點數目與總層數小於所述第一多層次樹狀結構的總節點數目與總層數,其中具有所述P個聲紋特徵向量樣本的所述父節點為所建立的所述聲紋特徵聚類模型的所述根節點。
在本發明的一實施例中,反應於判定所合併的所述父節點不具有所述P個聲紋特徵向量樣本,所述處理器再次執行所述根據所述多個節點距離,從不具有所述父節點的所有節點中選擇最接近的所述Q個節點分別作為所述目標節點,並且將所述Q個目標節點合併為所述Q個目標節點的所述父節點的步驟。
在本發明的一實施例中,所述處理器計算所述Q個目標節點各自的所述樣本平均聲紋特徵向量的平均值,以作為所述父節點的所述節點平均聲紋特徵向量,其中所述處理器計算所述父節點的所述節點平均聲紋特徵向量與所述Q個目標節點各自的所述樣本平均聲紋特徵向量之間的Q個距離,並且將所述Q個距離中的最大者作為所述父節點的所述節點半徑,其中所述處理器識別所述父節點中的所有子節點的所有聲紋特徵向量樣本的總數量為所述父節點的所述總樣本數。
基於上述,本發明的實施例所提供的電子裝置及語音識別方法,可經由聲紋特徵聚類模型來根據所述聲紋特徵聚類模型中的被聚類的多個節點,對所接收的待識別語音數據的聲紋特徵向量進行匹配,以準確地且有效率地查找相應於所述語音數據的用戶信息,從而增進了電子裝置識別語音數據的能力。此外,更藉由修剪操作來在不大幅降低性能的情況下,減少所建立的所述聲紋特徵聚類模型的規模,以增進查找所述聲紋特徵聚類模型的效率。
為讓本發明的上述特徵和優點能更明顯易懂,下文特舉實施例,並配合所附圖式作詳細說明如下。
圖1是依照本發明的一實施例所繪示的電子裝置的方塊示意圖。請參照圖1,在本實施例中,電子裝置10包括處理器110、儲存裝置120、主記憶體130、輸入/輸出裝置140以及通訊電路單元150。
處理器110為具備運算能力的硬體,用以管理電子裝置10的整體運作。即,處理器110為用以管理電子裝置10的其他元件的主要硬體元件。在本實施例中,處理器110例如是一核心或多核心的中央處理單元(Central Processing Unit,CPU)、微處理器(micro-processor)、或是其他可程式化之處理單元(Processing unit)、數位訊號處理器(Digital Signal Processor,DSP)、可程式化控制器、特殊應用積體電路(Application Specific Integrated Circuits,ASIC)、可程式化邏輯裝置(Programmable Logic Device,PLD)或其他類似裝置。
儲存裝置120可以經由處理器110的指示來記錄一些需要長時間儲存的資料,例如,用以控制電子裝置10的韌體或是軟體;一或多個程式碼模組;以及一或多個數據庫。儲存裝置120可以是任何型態的硬碟機(Hard Disk Drive,HDD)、非揮發性記憶體儲存裝置(如,固態硬碟)或其他形式的儲存電路單元。所述一或多個程式碼模組包括語音識別程式碼模組。在本實施例中,處理器110可經由存取與執行語音識別程式碼模組來執行語音識別操作,以實現本發明的實施例所提供的語音識別方法。
在本實施例中,所述一或多個數據庫包括用戶信息數據庫121以及聲紋特徵聚類模型數據庫122。所述用戶信息數據庫121用以記錄多個用戶各自的用戶信息,其中對應每一個用戶的用戶信息至少包括關聯於所對應的用戶的身分信息以及所對應的用戶的語音信息(或聲紋信息)。所述身分信息包括下列信息的一或多者:姓名、性別、年齡、身分識別碼、電話號碼、居住地址、籍貫、生日、血型、特殊驗證資訊或其他相關於所對應的用戶的身分的任何信息。所述語音信息(也稱,語音數據)包括所對應的用戶所說出的一或多個語音/聲音的數字信息/檔案。
所述聲紋信息為基於所對應的用戶的所述語音信息,通過特殊的電聲轉換儀器(諸如,聲譜儀、語圖儀等)繪製/轉換的可展現所述語音信息的聲波特徵的波譜圖形的信息/數據。因為每個用戶的生理發聲構造是不同的,不同用戶所說出的相同字詞會被轉換為不同形狀/特徵/態樣的聲紋。此外,因為所說出的不同字詞的聲音不同(不同語音信息),同一個用戶的不同語音信息會被轉換為不同的聲紋。
所述特殊驗證資訊為用以對相應的用戶進行身分驗證程序的信息,例如,密碼、臉部影像、指紋、瞳孔影像等。此外,所述特殊驗證資訊也可以是所對應的用戶的多種身分信息的組合。
另一方面,聲紋特徵聚類模型數據庫122用以記錄一或多個已經建立的聲紋特徵聚類模型。處理器110可存取聲紋特徵聚類模型數據庫122以選擇且載入所建立的聲紋特徵聚類模型至主記憶體130,從而更新或使用所述聲紋特徵聚類模型。更新後的聲紋特徵聚類模型可再被儲存至聲紋特徵聚類模型數據庫122。
處理器110可根據用戶信息數據庫中的多個用戶各自的一或多個語音信息(語音數據)/聲紋信息,以建立新的聲紋特徵聚類模型。此外,在其他實施例中,聲紋特徵聚類模型數據庫122所記錄的聲紋特徵聚類模型也可經由與其他電子裝置所建立連線來獲得。所述多個用戶也可被稱為多個已註冊用戶或已驗證用戶。
在本實施例中,主記憶體130用以暫存數據。主記憶體130例如是動態隨機存取記憶體。所述資料包括用以管理電子裝置的韌體、用以執行語音識別操作的軟體或數據(如,聲紋特徵聚類模型或待識別的語音數據/聲紋特徵向量等多種數據。
輸入/輸出裝置140用於輸入/輸出數據/信息。所述信息可以為語音信息、文字信息、圖像信息或其他形式的多媒體信息。在本實施例中,輸入/輸出裝置140包括下列硬體裝置的一或多者:麥克風、鍵盤、滑鼠、觸控螢幕、喇叭、液晶螢幕、觸控板、相機、實體按鈕、無線射頻識別裝置。
例如,輸入/輸出裝置140可藉由所接收的輸入操作來指示處理器110,以觸發語音識別操作的執行。例如,藉由輸入/輸出裝置140的實體按鈕被用戶按壓以使處理器110開始執行語音識別操作,並且藉由輸入/輸出裝置140的麥克風接收用戶所說的語音,以產生相應的語音信息給處理器110。
通訊電路單元150用以經由無線方式來接收數據。在本實施例中,通訊電路單元150例如是支援WiFi通訊協定、藍芽(Bluetooth)、近場通訊(Near Field Communication;NFC)、第三代通訊系統夥伴專案(3
rdGeneration Partnership Project;3GPP)標準、第四代通訊系統夥伴專案(4
thGeneration Partnership Project;4GPP)標準、第五代通訊系統夥伴專案(5
thGeneration Partnership Project;5GPP)標準等無線通訊電路單元。在本實施例中,通訊電路單元150可藉由所建立的與雲端伺服器或其他電子裝置之間的無線網路連線來傳輸數據。在一實施例中,通訊電路單元150更用以連接至網路(例如,電信網路、網際網路、物聯網等),以使電子裝置10可從所連接的網路下載或上傳數據。所述數據例如是待識別/待註冊的語音數據,或聲紋特徵聚類模型。
圖2是依照本發明的一實施例所繪示的語音識別方法的流程圖。請參照圖2,在步驟S21中,接收一語音數據,並且根據所述語音數據產生相應的聲紋特徵向量。
具體來說,處理器110可從輸入/輸出裝置140或通訊電路單元150接收語音數據。例如,一個用戶(也稱,待識別用戶或待驗證用戶)對電子裝置10說出語音,經由電子裝置10的麥克風接收而產生了語音數據,並且所述語音數據會被傳送給處理器110。接著,處理器110對所接收的語音數據執行聲紋轉換操作,以獲得對應所述語音數據的聲紋信息。所述聲紋信息包括了所述語音數據於不同時間的對應不同頻率的聲強等信息。接著,處理器110可識別所述聲紋信息中的相應於多個特徵條件的多個特徵值,以產生相應於所述聲紋信息的聲紋特徵向量。所述聲紋特徵向量可包括M個維度的特徵值。M為正整數。
接著,在步驟S22中,處理器110載入聲紋特徵聚類模型,其中所述聲紋特徵聚類模型包括多個節點,其中所述多個節點被劃分至多個層以形成多層次樹狀結構,其中所述多個節點包括一個根節點,多個葉節點以及多個中繼節點,所述多個節點中的每一個包括一或多個聲紋特徵向量樣本。例如,圖7A所示的多層次數狀結構的聲紋特徵聚類模型具有多個節點A、B、C、D、E、F、AB、EF、EFD、EFDC、EFDCAB,並且所述多個節點A、B、C、D、E、F、AB、EF、EFD、EFDC、EFDCAB被分組至多個層(5個層)(如,僅具有根節點EFDCAB的第一層,以及在第一層相對側的具有節點E、F的最末層/最後一層)。其中,不具有任何子節點的節點A、B、C、D、E、F會被視為葉節點,不具有任何父節點的節點EFDCAB會被視為根節點,並且非葉節點或根節點的其他節點被視為中繼節點AB、EF、EFD、EFDC。處理器110可載入所述聲紋特徵聚類模型至主記憶體130。此外,每個節點可包括一或多個聲紋特徵向量樣本。值得一提的是,圖7A中的聲紋特徵聚類模型屬於2岔樹類型,即,每個父節點會具有2個子節點。此外,應注意的是,圖7A所示的聲紋特徵聚類模型是為了說明方便的簡易模型(如,節點A~F皆僅具有一個聲紋特徵向量樣本)。實際上,本發明所提供的聲紋特徵聚類模型的分岔數可大於2,層數可大於5,並且每個節點所具有的聲紋特徵向量樣本的總數量可以是遠超過1的數值(如,50或大於50的數值)。然而,本發明並不限於所述層數與每個節點的聲紋特徵向量樣本的總數量。有關於聲紋特徵聚類模型的建立方法,會在下方相關於圖式6A~7B的實施例中來進行詳細說明。
接著,在步驟S23中,處理器110將所述根節點的多個第一子節點插入至候選節點序列以成為多個候選節點,並且計算所述多個候選節點各自的節點平均聲紋特徵向量與所述聲紋特徵向量之間的候選距離。具體來說,處理器110會產生一個候選節點序列,以管理後續要被進行詳細匹配的被選擇至候選節點序列的多個候選節點。
首先,處理器110會從根節點開始進行候選節點的選擇,即,處理器110會直接選擇根節點的多個子節點,將所述多個子節點插入至候選節點序列中,並且計算每個候選節點的平均聲紋特徵向量與所產生的相應於所述語音數據的所述聲紋特徵向量之間的距離。以下先說明候選節點的平均聲紋特徵向量的計算方式。
圖3A是依照本發明的一實施例所繪示的計算節點的節點平均聲紋特徵向量的流程圖。請參照圖3A,在步驟S311中,識別所述候選節點中的一或多個候選聲紋特徵向量樣本以及所述一或多個聲紋特徵向量樣本各自的樣本平均聲紋特徵向量,其中所述多個聲紋特徵向量樣本分別對應不同用戶(不同的已註冊用戶),其中所述樣本平均聲紋特徵向量是經由相應的用戶的多個聲紋特徵向量所計算的平均值。具體來說,為了計算一個候選節點的節點平均聲紋特徵向量,處理器110會識別所述候選節點所具有的所有聲紋特徵向量樣本,以及每個聲紋特徵向量樣本(各自對應一個用戶)的平均聲紋特徵向量(也稱,樣本平均聲紋特徵向量)。所述平均聲紋特徵向量為所對應的用戶的多個聲紋特徵向量的平均值。
接著,在步驟S312中,處理器110會計算所述多個樣本平均聲紋特徵向量的平均值,以作為所述候選節點的節點平均聲紋特徵向量。
請再回到圖2,在本實施例中,處理器110可利用多種距離度量方法來計算一個候選節點的平均聲紋特徵向量與相應於所述語音數據的所述聲紋特徵向量之間的距離(也稱為,候選距離)。
在本實施例中,所述距離度量方法例如是“概率線性判別分析打分” (Probabilistic Linear Discriminant Analysis Score,以下稱PLDAS)方法。處理器110可經由概率線性判別分析打分方法,根據一個候選節點的平均聲紋特徵向量與相應於所述語音數據的所述聲紋特徵向量來計算相應於兩者的PLDAS。所獲得的PLDAS的數值越大,說明這兩個特徵向量越相似,也就是這兩個特徵向量之間的“距離”越近。本發明並不限定於上述的距離度量方法。
例如,在一實施例中,所述距離度量方法例如是下列方法的其中之一,如,餘弦距離方法,歐式距離方法等。
在計算完多個候選節點的節點平均聲紋特徵向量與所述聲紋特徵向量之間的候選距離後,接續至步驟S24,處理器110根據所計算的多個候選距離來排序所有的候選節點,並且僅保留所述候選節點序列中的前N個候選節點,其中在所述前N個候選節點中的第一個候選節點具有最小的候選距離,其中N為候選節點上限值。N可被視為候選節點序列可具有的所有候選節點的最大數量。舉例來說,假設N為4,並且候選節點序列共具有10個候選節點。在根據10個候選節點的節點平均聲紋特徵向量各自與所述語音數據的所述聲紋特徵向量的10個候選距離由小至大來排序後,處理器110僅保留前4個相應於較小的候選距離的候選節點。
接著,在步驟S25中,判斷所述多個候選節點各自是否皆為所述多個葉節點的其中之一。反應於判定所述多個候選節點皆為葉節點(皆不具有子節點)(步驟S25:是),執行步驟S28;反應於判定所述多個候選節點非皆為葉節點(如,所述多個候選節點的其中之一具有子節點) (步驟S25:否),執行步驟S26。
在步驟S26中,處理器110判斷所述多個候選節點中的多個候選聲紋特徵向量樣本的總數量是否小於候選樣本數量門檻值。反應於判定所述多個候選節點中的所述多個候選聲紋特徵向量樣本的所述總數量小於所述候選樣本數量門檻值(步驟S26:是),執行步驟S28;反應於判定所述多個候選節點中的所述多個候選聲紋特徵向量樣本的所述總數量不小於所述候選樣本數量門檻值(步驟S26:否),執行步驟S27。所述候選樣本數量門檻值可被預先設定。步驟S26的用意在於,在多個候選節點所具有的候選聲紋特徵向量樣本的總數量不多的時候(步驟S26:是),可直接執行詳細匹配程序,並不需要等到所有候選節點皆屬於葉節點。
簡單來說,若判定所述N個候選節點皆屬於葉節點(步驟S25:是)或判定所述多個候選節點中的所述多個候選聲紋特徵向量樣本的所述總數量小於所述候選樣本數量門檻值,處理器110可開始詳細匹配程序(如,步驟S28~S30)。
在步驟S27中,處理器110將所述多個候選節點各自的多個第二子節點插入至所述候選節點序列以成為新的多個候選節點,並且計算所述新的多個候選節點各自的節點平均聲紋特徵向量與所述聲紋特徵向量之間的候選距離。
具體來說,相似於步驟S23,在步驟S27中,處理器110將屬於候選節點序列中被保留的當前的N個候選節點的多個子節點(也稱為,第二子節點)插入至候選節點序列中,成為新的多個候選節點。接著,處理器110也會計算新的所述多個候選節點(剛被插入的多個第二子節點)各自與所述語音數據的聲紋特徵向量之間的候選距離。此時,候選節點序列中的所有候選節點皆具有對應的候選距離。
接著,流程會再回到步驟S24,即,處理器110再次根據所有的候選距離來對當前候選節點序列中的所有的候選節點進行排序,並且保留前N個候選節點。
也就是說,步驟S24、S25、S26、S27會持續地依序被執行直到所有候選節點皆屬於葉節點(S25:是)或所有候選節點中的候選聲紋特徵向量樣本的總數量小於所述候選樣本數量門檻值(S26:是)。
在步驟S28中,處理器110識別所述候選節點序列中的所有的候選節點各自的一或多個候選聲紋特徵向量樣本。具體來說,處理器110會識別當前在候選節點序列中的每個候選節點所具有的一或多個聲紋特徵向量樣本(也稱,候選聲紋特徵向量樣本),每個候選聲紋特徵向量樣本相應於一個用戶(也可稱,候選用戶或候選者)。
接著,在步驟S29中,處理器110將所有的候選聲紋特徵向量樣本各自與所述聲紋特徵向量進行比較,以查找出所有的候選聲紋特徵向量樣本中匹配所述聲紋特徵向量的目標候選聲紋特徵向量樣本。以下利用圖3B來進行詳細說明。
圖3B是依照本發明的一實施例所繪示的查找匹配所接收的語音數據的聲紋特徵向量的目標候選聲紋特徵向量樣本的流程圖。請參照圖3B,在步驟S321中,處理器110識別多個候選聲紋特徵向量樣本各自的多個候選聲紋特徵向量,其中所述多個候選聲紋特徵向量樣本對應多個候選用戶。接著,在步驟S322中,處理器110計算對應每一個候選聲紋特徵向量樣本的所述多個候選聲紋特徵向量與所接收的語音數據的聲紋特徵向量之間的多個距離。在步驟S323中,處理器110識別所述多個距離中的最小的距離為目標距離。
也就是說,相似於上述計算距離的方式,處理器110可計算被識別的所述多個候選聲紋特徵向量各自與所述語音數據的所述聲紋特徵向量之間的距離,並且獲得目標距離(所計算出的所述多個距離中的最小者)。
接著,在步驟S324中,處理器110判斷所述目標距離是否小於匹配距離門檻值。所述匹配距離門檻值可被預先設定。
反應於判定所述目標距離小於匹配距離門檻值(步驟S324:是),執行步驟S325;反應於判定所述目標距離不小於匹配距離門檻值(步驟S324:否),執行步驟S326(或步驟S329)。
在步驟S325中,處理器110將所述目標距離所對應的候選聲紋特徵向量所屬的候選聲紋特徵向量樣本判定為匹配所述聲紋特徵向量的目標候選聲紋特徵向量樣本。具體來說,當所述目標距離小於所述匹配距離門檻值,處理器110可認為所述目標距離所對應的候選聲紋特徵向量近似/匹配於所述語音數據的所述聲紋特徵向量。因此,處理器110可判定對應於所述目標距離的所述候選聲紋特徵向量樣本與所述語音數據具有一匹配關係,即,處理器110已查找出所有的候選聲紋特徵向量樣本中匹配所述聲紋特徵向量的所述目標候選聲紋特徵向量樣本。
相反地,當所述目標距離不小於所述匹配距離門檻值,在步驟S326中,處理器110判定所述多個候選聲紋特徵向量樣本中不具有匹配所述聲紋特徵向量的目標候選聲紋特徵向量樣本。即,每個候選聲紋特徵向量樣本的候選聲紋特徵向量皆不近似於所述語音數據的所述聲紋特徵向量。接著,在步驟S327中,處理器110識別包含所述目標距離所對應的候選聲紋特徵向量所屬的候選聲紋特徵向量樣本的目標節點,以及所述目標節點的目標父節點。簡單來說,處理器110會去識別相應於所述目標距離的候選聲紋特徵向量樣本所屬的節點(也稱,目標節點)以及所述目標節點的父節點(也稱,目標父節點)(所述目標父節點的子節點為所述目標節點)。
在步驟S328中,處理器110產生連接至所述目標父節點的新的子節點,並且將所述聲紋特徵向量加入至所述新的子節點的對應所述語音數據的新用戶的聲紋特徵向量樣本中。也就是說,步驟S326~S328的過程可視為:在判定所述多個候選聲紋特徵向量樣本中不具有匹配所述聲紋特徵向量的所述目標候選聲紋特徵向量樣本後,處理器110會認為所述語音數據來自於新用戶(也可稱,未註冊用戶),並且據以產生一個連接至目標節點的新的子節點,以使所產生的新的子節點用以包含相應於所述語音數據(新用戶)的聲紋特徵向量的聲紋特徵向量樣本。
在另一實施例中,處理器110不會為了記錄/包含來自新用戶/未註冊用戶的所述語音數據的聲紋特徵向量而去產生一個新的節點。即,反應於判定所述目標距離不小於所述匹配距離門檻值,處理器110不執行步驟S326但執行步驟S329。在步驟S329中,處理器110判定無法匹配所接收的所述語音數據,並且判定相應於所述語音數據的用戶為未註冊用戶。
請再回到圖2,在查找出所述目標候選聲紋特徵向量樣本後,在步驟S30中,處理器110識別相應於所述目標候選聲紋特徵向量樣本的目標用戶與目標用戶信息,並且將所述目標用戶與所述目標用戶信息映射至所述語音數據,從而完成相應於所述語音數據的識別操作。具體來說,反應於判定所述目標候選聲紋特徵向量樣本匹配所述語音數據,處理器110會認為相應於所述目標候選聲紋特徵向量樣本的用戶(也稱,目標用戶)就是說出對應於所述語音數據的語音的用戶。處理器110可將所述語音數據與所述目標用戶/目標用戶信息彼此映射(如,建立關聯)。此外,所述語音數據及相應於所述語音數據的所述聲紋信息/所述聲紋特徵向量也可進一步地被更新至儲存在用戶信息數據庫121的目標用戶信息中。此時,處理器110也可清楚地識別出所述語音數據來自於所述目標用戶(多個已註冊用戶中的目標已註冊用戶),並且處理器110可根據所述目標用戶信息(如,所述目標用戶信息中的特殊驗證資訊)來識別出相應於所述目標用戶的權限/指令集。處理器110可進一步根據不同應用情境與所識別出的權限/指令集來執行相應的後續運作。
圖9A是依照本發明的一實施例所繪示的識別語音數據的相應用戶的示意圖。請參照圖9A,假設所載入的聲紋特徵聚類模型具有多個節點A、B、C、AB、EFD、EFDC、EFDCAB,所述多個節點A、B、C、AB、EFD、EFDC、EFDCAB屬於3個層,候選節點上限值被預設為2,候選樣本數量門檻值可被預先設定。此外,假設處理器110接收了待識別語音數據的聲紋特徵向量T。應注意的是,在此例子中的聲紋特徵聚類模型的葉節點為節點A、B、C、EFD。
首先,處理器110將根節點EFDCAB的子節點AB、EFDC插入至候選節點序列中,計算候選節點AB、EFDC各自的節點平均聲紋特徵向量與所述聲紋特徵向量T之間的候選距離,並且根據所述多個候選距離來排序候選節點AB、EFDC(假設相應於候選節點EFDC的候選距離小於相應於候選節點AB的候選距離,並且候選節點EFDC排序在候選節點AB之前)。如箭頭A91所示,由於候選節點EFDC的候選距離最小,處理器110會認為所述聲紋特徵向量T與候選節點EFDC的關聯較為接近。
接著,反應於判定候選節點AB、EFDC非皆為葉節點且候選節點AB、EFDC中的多個候選聲紋特徵向量樣本的總數量不小於候選樣本數量門檻值,處理器110插入候選節點AB、EFDC各自的子節點A、B以及子節點C、EFD至候選節點序列中(步驟S27),計算候選節點A、B、C、EFD各自的節點平均聲紋特徵向量與所述聲紋特徵向量T之間的候選距離,並且根據所述多個候選距離來排序候選節點A、B、C、EFD(假設相應於候選節點EFD的候選距離小於相應於候選節點C的候選距離,候選節點EFD排序在候選節點A、B之前,並且候選節點A、B排序在其他候選節點之後)。此時,由於候選節點上限值為2,處理器110僅保留候選節點序列中的前兩個候選節點EFD、C(步驟S24)。
接著,反應於候選節點EFD、C皆為葉節點(步驟S25:是),如箭頭A92、A93所示,處理器110開始執行詳細匹配(如,步驟S28~S30)。以下利用圖9B~9C來說明匹配的細節。
圖9B~9C是依照本發明的一實施例所繪示的匹配聲紋特徵向量的示意圖。首先,處理器110會去識別所述候選節點序列中的所有的候選節點各自的一或多個候選聲紋特徵向量樣本。
請參照圖9B、9C,假設每個聲紋特徵向量具有2維的特徵值(第一維特徵值與第二維特徵值),並且如圖9B所示,由於是二維的,為了說明方便,圖9B利用直角坐標系來標記所述候選節點C、EFD,以及候選節點C、EFD所包括的聲紋特徵向量樣本C、E、F、D)。待識別語音數據的所述聲紋特徵向量T也被標記至圖9B、9C中的座標系。如圖9C所示,處理器110可識別出候選節點C的聲紋特徵向量樣本所具有的聲紋特徵向量C1、C2、識別出候選節點EFD所具有的聲紋特徵向量樣本E、F、D以及聲紋特徵向量樣本E、F、D所具有的聲紋特徵向量E1、E2、F1、F2、D1、D2。
接著,處理器110根據聲紋特徵向量C1、C2、E1、E2、F1、F2、D1、D2各自與所述聲紋特徵向量T之間的距離
、
、
、
、
、
、
,以比較所有的候選聲紋特徵向量與所述聲紋特徵向量,從而查找出所有的候選聲紋特徵向量中匹配所述聲紋特徵向量的目標候選聲紋特徵向量。例如,處理器110可識別出最小的距離
為目標距離,並且判斷目標距離
是否小於匹配距離門檻值(S324)。假設處理器110判定目標距離
小於匹配距離門檻值,處理器110會判定相應的目標候選聲紋特徵向量D1匹配所述聲紋特徵向量T,並且判定候選聲紋特徵向量D1所屬的候選聲紋特徵向量樣本D為匹配所述聲紋特徵向量T的目標候選聲紋特徵向量樣本)。
簡單來說,如圖3B所描述的過程,處理器110會去識別候選節點中的所有的候選聲紋特徵向量與待識別語音數據的聲紋特徵向量之間的距離,以查找出所有的候選聲紋特徵向量中是否具有一個可匹配聲紋特徵向量的目標候選聲紋特徵向量(藉由匹配距離門檻值)及相應的目標候選聲紋特徵向量樣本。已匹配的目標候選聲紋特徵向量可相應至對應的聲紋,關聯此聲紋的資訊可被利用於處理後續的操作,如,關於所述語音數據的控制操作等等。此外,關聯於目標候選聲紋特徵向量樣本的用戶信息,也可以被利用於處理其他後續的操作。例如,藉由目標候選聲紋特徵向量,處理器110可識別出相應於所述語音數據的語音控制指令或語音輸入;藉由目標候選聲紋特徵向量樣本,處理器110可識別出說話者的個人信息/特殊驗證信息(用戶信息)。
另一方面,請再回到圖9A,假設在另一實施例中,處理器110判定所述目標距離為不小於匹配距離門檻值(S326),如箭頭A94所示,處理器110會根據目標節點EFD的目標父節點EFDC(S327),來產生一個新的子節點T,並且將聲紋特徵向量T加入至此節點中(S328)。
聲紋註冊是指將採集到的聲紋信息(聲紋特徵向量)加入到當前的聲紋特徵聚類模型,以為後續的語音識別操作做準備的過程。
圖4A是依照本發明的一實施例所繪示的註冊用戶的流程圖。請參照圖4A,在步驟S41中,處理器110接收一註冊語音數據,並且根據所述註冊語音數據產生相應的註冊聲紋特徵向量。具體來說,處理器110可從輸入/輸出裝置140或通訊電路單元150接收語音數據。例如,一個欲被註冊至系統中的用戶(也稱,註冊用戶)對電子裝置10說出語音,經由電子裝置10的麥克風接收而產生了註冊語音數據,並且所述註冊語音數據會被傳送給處理器110。接著,處理器110對所接收的註冊語音數據執行聲紋轉換操作,且識別所述註冊聲紋信息中的相應於多個特徵條件的多個特徵值,以產生相應於所述註冊聲紋信息的註冊聲紋特徵向量。所述註冊聲紋特徵向量可包括M個維度的特徵值。M為正整數。
在步驟S42中,處理器110載入聲紋特徵聚類模型,其中所述聲紋特徵聚類模型包括多個節點,其中所述多個節點被劃分至多個層以形成多層次樹狀結構,其中所述多個節點包括一個根節點,多個葉節點以及多個中繼節點,所述多個節點中的每一個包括一或多個聲紋特徵向量樣本。步驟S42相同於步驟S22,細節不在贅述。
接著,在步驟S43中,處理器110從所述多層次樹狀結構的第一層至最後一層,於每一層中辨識最接近所述註冊聲紋特徵向量的目標註冊節點,將所述註冊聲紋特徵向量登錄至多個目標註冊節點中,更新所述多個目標註冊節點各自的總樣本數,其中於相鄰的兩個層中的兩個目標註冊節點之間具有父子節點關係。
圖4B是依照本發明的一實施例所繪示的註冊用戶的示意圖。請參照圖4B,假設所載入的聲紋特徵聚類模型具有多個節點A、B、C、D、E、F、AB、EF、EFD、EFDC、EFDCAB,並且所述多個節點A、B、C、D、E、F、AB、EF、EFD、EFDC、EFDCAB被分組至多個層(5個層)(如,僅具有根節點EFDCAB的第一層,以及在第一層相對側的具有節點E、F的最末層/最後一層)。處理器110會計算註冊聲紋特徵向量T與每個節點的節點平均聲紋特徵向量之間的距離,以找出每個層中最接近所述註冊聲紋特徵向量T的目標註冊節點。
舉例來說,第一層中的目標註冊節點EFDCAB與所述註冊聲紋特徵向量T最接近(目標註冊節點EFDCAB是第一層的唯一節點,根節點),處理器110並且將所述註冊聲紋特徵向量T登錄至目標註冊節點EFDCAB。應注意的是,在將所述註冊聲紋特徵向量T登錄至目標註冊節點EFDCAB的步驟中,處理器110可產生用以記錄所述註冊聲紋特徵向量T的新的聲紋特徵向量樣本於目標註冊節點EFDCAB中,並且更新對應目標註冊節點EFDCAB的總樣本數(如,將原有的總樣本數加上1)。
接著(如,箭頭A41所示),處理器110比較在下一層中的目標註冊節點EFDCAB的子節點AB、EFDC各自與所述註冊聲紋特徵向量T之間的距離,判定第二層中的目標註冊節點EFDC與所述註冊聲紋特徵向量T最接近,並且將所述註冊聲紋特徵向量T登錄至目標註冊節點EFDC。
接著(如,箭頭A42所示),處理器110比較在下一層中的目標註冊節點EFDC的子節點C、EFD各自與所述註冊聲紋特徵向量T之間的距離,判定第三層中的目標註冊節點EFD與所述註冊聲紋特徵向量T最接近,並且將所述註冊聲紋特徵向量T登錄至目標註冊節點EFD。
接著(如,箭頭A43所示),處理器110比較在下一層中的目標註冊節點EFD的子節點D、EF各自與所述註冊聲紋特徵向量T之間的距離,判定第四層中的目標註冊節點EF與所述註冊聲紋特徵向量T最接近,並且將所述註冊聲紋特徵向量T登錄至目標註冊節點EF。
接著(如,箭頭A44所示),處理器110在下一層中的目標註冊節點EF的子節點E、F與所述註冊聲紋特徵向量T之間的距離,判定最末層中的目標註冊節點F與所述註冊聲紋特徵向量T最接近(如,在最末層中,目標註冊節點F的節點平均聲紋特徵向量與所述註冊聲紋特徵向量T之間的距離小於目標註冊節點E的節點平均聲紋特徵向量與所述註冊聲紋特徵向量T之間的距離),並且將所述註冊聲紋特徵向量T登錄至目標註冊節點F。
在登錄所述註冊聲紋特徵向量T至所述多個目標註冊節點後,在步驟S44中,處理器110識別所述多個目標註冊節點中位於所述最後一層的目標註冊節點為第一目標葉節點,識別所述第一目標葉節點的節點平均聲紋特徵向量與所述註冊聲紋特徵向量之間的目標距離。接著,在步驟S45中,處理器110判斷所述目標距離是否小於註冊距離門檻值。具體來說,當所述註冊聲紋特徵向量T被登錄至所述多個目標註冊節點中的一個葉節點(也稱,第一目標葉節點)後,處理器110已經不能夠再找到第一目標葉節點的子節點,認為所述第一目標葉節點是所述註冊聲紋特徵向量T應該歸屬的最終節點。因此,處理器110會執行步驟S45,利用註冊距離門檻值來進行確認。
反應於判定所述目標距離小於註冊距離門檻值(步驟S45:是),執行步驟S46;反應於判定所述目標距離不小於註冊距離門檻值(步驟S45:否),執行步驟S47。
在步驟S46中,將相應於所述註冊聲紋特徵向量的註冊用戶的註冊用戶信息登錄至所述第一目標葉節點中的相應於所述註冊用戶的聲紋特徵向量樣本。具體來說,在本實施例中,所述註冊用戶的所述註冊用戶信息僅會登錄在最終的用以記錄所述註冊聲紋特徵向量T的節點中,以節省資源的使用。完成所述註冊用戶信息的登錄後,所述註冊用戶的註冊操作就完成了。
另一方面,若判定所述目標距離不小於註冊距離門檻值(步驟S45:否),處理器110會判定所述第一目標葉節點不是所述註冊聲紋特徵向量T應該歸屬的最終節點,並且處理器110會執行步驟S47~S48以進行相應的處理。
具體來說,在步驟S47中,處理器110將所述註冊聲紋特徵向量從所述第一目標葉節點中移除,並且識別所述第一目標葉節點的父節點為目標父節點。
也就是說,當處理器110判定所述第一目標葉節點不是所述註冊聲紋特徵向量T應該歸屬的最終節點,處理器110會把第一目標葉節點中相應於所述註冊聲紋特徵向量T的聲紋特徵向量樣本刪除,並且所述第一目標葉節點分裂成兩個新的葉節點,其中一新的葉節點包含第一目標葉節點所相應的節點平均聲紋特徵向量,而另外一新的葉節點包含所述註冊聲紋特徵向量T,並容納用以登錄所述註冊聲紋特徵向量T的聲紋特徵向量樣本。即,在步驟S48中,處理器110產生連接至所述目標父節點的第二目標葉節點,並且將相應於所述註冊聲紋特徵向量的註冊用戶的註冊用戶信息以及所述註冊聲紋特徵向量登錄至所述第二目標葉節點中的相應於所述註冊用戶的聲紋特徵向量樣本。
舉例來說,如圖4B的箭頭A45所示,假設所述註冊聲紋特徵向量T最終被登錄至節點D,但處理器110判定第一目標葉節點D的節點平均聲紋特徵向量與所述註冊聲紋特徵向量T之間的距離不小於註冊距離門檻值。在此例子中,處理器110會把第一目標葉節點D中相應於所述註冊聲紋特徵向量T的聲紋特徵向量樣本刪除,並且所述第一目標葉節點D分裂成兩個新的葉節點,其中一新的葉節點DT包含第一目標葉節點D所相應的節點平均聲紋特徵向量,而另外一新的葉節點(第二目標葉節點T),第一目標葉節點D產生連接至第二目標葉節點T,並且將所述註冊聲紋特徵向量T與相應的註冊用戶信息登錄至第二目標葉節點T中(如,箭頭A46所示)。
以下更利用多個圖式來說明聲紋特徵聚類模型的建立方法。
圖5A是依照本發明的一實施例所繪示的建立聲紋特徵聚類模型的流程圖。請參照圖5A,在步驟S51中,處理器110從用戶信息數據庫的相應於多個用戶的多筆用戶信息中提取所述多個用戶各自的多個語音數據。在步驟S52中,處理器110根據所述多個用戶各自的所述多個語音數據產生所述多個用戶各自的多個聲紋。所述多個用戶應具有越多的多樣性。
在步驟S53中,處理器110根據所述多個用戶各自的所述多個聲紋來計算所述多個用戶各自的相應於所述多個聲紋的所述多個用戶各自的多個M維聲紋特徵向量,其中M為正整數。例如,M可為400。
接著,在步驟S54中,處理器110根據所述多個用戶各自的所述多個M維聲紋特徵向量來計算所述多個用戶各自的平均聲紋特徵向量,以將所述多個用戶的多個平均聲紋特徵向量作為多個聲紋特徵向量樣本各自的樣本平均聲紋特徵向量。具體來說,處理器110根據一個用戶的多個M維聲紋特徵向量的每個相同維度的多個特徵值的加總再除以所述多個M維聲紋特徵向量的總數量,以獲得相應於每個維度的特徵值的平均值,從而獲得所述用戶的平均聲紋特徵向量。舉例來說,根據一個用戶具有兩個聲紋特徵向量 “1 1 1”與“3 3 5”(假設M為3),所計算出的平均聲紋特徵向量為“2 2 3”。
在計算出每個用戶的平均聲紋特徵向量後,處理器110可根據多個平均聲紋特徵向量來產生相應於所述多個用戶的多個聲紋特徵向量樣本。
接著,在步驟S55中,處理器110基於多個樣本平均聲紋特徵向量來對多個聲紋特徵向量樣本進行多層次無監督聚類操作,將所述多個聲紋特徵向量樣本分組至多個層的多個節點中,以建立多層次樹狀結構的聲紋特徵聚類模型。以下利用圖5B來說明步驟S55的細節。
圖5B是依照本發明的一實施例所繪示的多層次無監督聚類操作的流程圖。請參照圖5B,在步驟S551中,處理器110根據P個聲紋特徵向量樣本各自的樣本平均聲紋特徵向量來計算P個樣本平均聲紋特徵向量彼此之間的距離,以作為所述P個聲紋特徵向量樣本之間的初始距離。具體來說,針對每個聲紋特徵向量樣本,處理器110會藉由每個聲紋特徵向量樣本的平均聲紋特徵向量(也稱,樣本平均聲紋特徵向量)去計算所述聲紋特徵向量樣本與其他P-1個聲紋特徵向量樣本之間的初始距離。也就是說,在完成步驟S551後,處理器110可識別每個聲紋特徵向量樣本彼此的距離(初始距離)。
接著,在步驟S552中,處理器110設定每個聲紋特徵向量樣本被劃分為獨立的節點,並且根據多個初始距離來計算所述多個節點彼此之間的節點距離。簡單來說,在步驟S552中,處理器110會初始地建立聲紋特徵聚類模型的多個基本節點(如,圖6A所示,所設定的基本節點為節點A、B、C、D、E、F),並且識別所述多個基本節點彼此的節點距離(每個基本節點彼此的距離等同於所具有的聲紋特徵向量樣本彼此的初始距離)。
接著,在步驟S553中,處理器110根據多個節點距離,從不具有父節點的所有節點中選擇最接近的Q個節點分別作為目標節點,並且將所述Q個目標節點合併為所述Q個目標節點的父節點。Q用以描述模型的每節點的分岔數量。所述Q個目標節點各自為所述父節點的子節點,其中Q為大於1的正整數。
圖6A~6C是依照本發明的一實施例所繪示的節點聚類合併的示意圖。請同時參照圖6A、6B、6C,假設處理器110計算出相應於用戶A、B、C、D、E、F的多個平均聲紋特徵向量A、B、C、D、E、F,以及計算出相應的距離。如圖6A所示,為了方便說明,假設多個平均聲紋特徵向量A、B、C、D、E、F皆是2維,並且彼此間的距離關係/位置關係可利用直角座標系來描繪。從圖6A中,可發現最接近的兩個基本節點為節點E、F(在此例子中,Q等於2),次接近的兩個基本節點為節點A、B。
接著,如圖6B所示,根據多個節點距離(請參見圖6A的基本節點彼此間的距離關係),從不具有父節點的所有節點中選擇最接近的2個節點E、F分別作為目標節點,並且將所述2個目標節點E、F合併為所述2個目標節點的父節點EF。
接著,在步驟S554中,處理器110記錄相應於所述父節點的節點資訊至所述父節點,其中相應於所述父節點的所述節點資訊包括所述父節點的節點平均聲紋特徵向量、所述父節點的節點半徑、所述父節點的總樣本數。所述節點平均聲紋特徵向量為相應的父節點所具有的多個聲紋特徵樣本的多個樣本平均聲紋特徵向量的平均值。所述總樣本數為相應的父節點所具有的多個聲紋特徵樣本的總數量。處理器110計算所述父節點的所述節點平均聲紋特徵向量與所述Q個目標節點(即,所述父節點的Q個子節點)各自的所述樣本平均聲紋特徵向量之間的Q個距離,並且將所述多個距離中的最大者作為所述父節點的所述節點半徑。例如,處理器110在計算出節點EF的節點平均聲紋特徵向量後,處理器計算節點EF的節點平均聲紋特徵向量與節點E、F的兩個距離,並且選擇所述兩個距離中的最大者作為節點半徑。所述節點半徑用以描述基於節點EF的節點平均聲紋特徵向量,有可能被納入所述節點EF的距離範圍。
在步驟S555中,處理器110根據所述父節點中的所有的聲紋特徵向量樣本與其他的多個節點各自所具有的所有的聲紋特徵向量樣本之間的所述初始距離,來估算所述父節點分別與所述其他的多個節點之間的節點距離。
圖8是依照本發明的一實施例所繪示的計算節點距離的示意圖。請參照圖8,在合併節點E、F為節點EF後,處理器110可估算節點EF與其他節點的節點距離(也稱,估算距離)。舉例來說,假設處理器110欲估算節點EF與節點C、D之間的距離。處理器110可利用節點EF中的所有基本節點與節點C、D的所有基本節點的初始距離來估算節點EF與節點C、D之間的距離。更詳細來說,處理器110可識別節點E與節點C、D之間的初始距離
與
以及識別節點F與節點C、D之間的初始距離
與
。接著,處理器110可計算初始距離
與
的平均值以作為節點EF與節點C的估算距離
,並且計算初始距離
與
的平均值以作為節點EF與節點D的估算距離
。
在估算所述父節點與其他節點之間的節點距離後,在步驟S556中,處理器110判斷所合併的父節點是否具有P個聲紋特徵向量樣本。處理器110利用步驟S556來判斷所合併的父節點是否為所述模型的根節點(會具有所有的聲紋特徵向量樣本(P個))。
反應於判定所合併的父節點具有P個聲紋特徵向量樣本,執行步驟S557;反應於判定所合併的父節點不具有P個聲紋特徵向量樣本(所合併的父節點非根節點),再次執行步驟S553、S554、S555及S556直到所合併的父節點具有P個聲紋特徵向量樣本。
當所合併的父節點具有所有的聲紋特徵向量樣本(即,根節點已經產生),處理器110可獲得圖6C所示的2岔樹模型。如圖6A的虛框所示,所合併的父節點EF包括了對應的子節點E、F所具有的聲紋特徵向量樣本E、F;所合併的父節點AB包括了對應的子節點A、B所具有的聲紋特徵向量樣本A、B;所合併的父節點EFD包括了對應的子節點EF、D所具有的聲紋特徵向量樣本E、F、D;所合併的父節點EFDC包括了對應的子節點EFD、C所具有的聲紋特徵向量樣本E、F、D、C;所合併的父節點EFDCAB包括了對應的子節點EFDC、AB所具有的聲紋特徵向量樣本E、F、D、C、A、B,即,根節點EFDCAB包括了所有的聲紋特徵向量樣本A、B、C、D、E、F。
接著,在步驟S557中,處理器110對當前的具有所有節點的第一多層次樹狀結構執行修剪操作,以將所述第一多層次樹狀結構更新為第二多層次樹狀結構,從而完成聲紋特徵聚類模型的建立,其中所述第二多層次樹狀結構的總節點數目與總層數小於所述第一多層次樹狀結構的總節點數目與總層數。具體來說,為了縮減模型的規模,處理器110會進一步對模型進行修剪操作,以使模型的總層數、總節點數降低,進而增進了之後查找模型的效率。
圖7B是依照本發明的一實施例所繪示的修剪操作的示意圖。請參照圖7A、7B,假設處理器110要對圖7A中的第一多層次樹狀結構(具有5個層)進行修剪操作。處理器110根據預定總層數(如,3)判定第一多層次樹狀結構需要移除2個層(5-3=2)。如圖7B所示,處理器110會從最末層開始移除/修剪,並且判定位於第4層與第5層(最末層)的所有節點為修剪目標/移除目標。在本實施例中,被移除的多個層中的葉節點的節點資訊以及所包含的所有聲紋特徵向量樣本的用戶信息會相應地記錄至最相關的父節點(如,節點EFD)。此時,節點EFD成為了修剪後的第二多層次樹狀結構的葉節點。在完成所述修剪操作後,聲紋特徵聚類模型的建立操作已經完成,並且修剪後的第二多層次樹狀結構被處理器110記錄為聲紋特徵聚類模型。所述聲紋特徵聚類模型可被記錄至聲紋特徵聚類模型數據庫122。
在上述的實施例中,處理器110是根據預定總層述來識別修剪目標,但本發明不限於此。例如,在另一實施例中,處理器110也可以使用其他規則來識別修剪目標。例如,處理器110可根據每個父節點的總樣本數來識別總樣本數小於總樣本數門檻值的一或多個父節點,並且將所述一或多個父節點的多個子節點設定為修剪目標。也就是說,當一個父節點的總樣本數(用戶數)已經沒有很多的時候,處理器110可直接將所述父節點設定為葉節點(藉由從模型中移除/修剪所述父節點的多個子節點)。
又例如,在又另一實施例中,處理器110可利用每個父節點的節點半徑來每個父節點的子節點是否可以被設定為修剪目標。具體來說,處理器110可根據每個父節點的節點半徑來識別節點半徑小於節點半徑門檻值的一或多個父節點,將所述一或多個父節點的多個子節點設定為修剪目標。也就是說,當一個父節點的節點半徑小於節點半徑門檻值,處理器110識別所述父節點的子節點彼此之間非常接近,導致之後再查找所述父節點的子節點的鑑別度降低。因此,處理器110可直接將所述父節點設定為葉節點,修剪/移除所述父節點的所有子節點,並且將被修剪的所有子節點中的多個葉節點的用戶信息加入至所述父節點。
值得一提的是,上述步驟S551~S557為可稱為多層次無監督聚類操作,並且所述多層次無監督聚類操作並不需要任何的人工監督(即,不需要管理者來進行挑選、歸類、校正)而可建立起聲紋特徵聚類模型。
此外,在一實施例中,在識別出匹配欲識別語音數據的聲紋特徵向量的目標用戶信息後,處理器110還可以讀取所述目標用戶信息的特殊驗證信息(如,手機號碼、身份證號碼、工作證號碼等..),比對待識別語音數據中的信息(或語音識別操作中所獲得的其他輸入信息)是否相應於特殊驗證信息,從而增加識別的準確率。
例如,用戶透過撥打電話給電子裝置10,以傳送語音數據給電子裝置10。所述電子裝置除了接收語音數據以識別相應的目標用戶信息之外,更可識別所述用戶的電話號碼,進而比對所識別出的目標用戶信息中的電話號碼是否匹配於用戶當前所使用的電話的電話號碼,從而完成進一步的驗證操作。
又例如,電子裝置10例如是辦公室的大門的保全系統。用戶可在保全系統前說出自己的工作證號碼,即,電子裝置10所接收到的語音數據可包含了額外的信息“工作證號碼”(可以是全部的號碼或部份的號碼)。此時,所述電子裝置10除了接收語音數據以識別相應的目標用戶信息之外,更可識別所述用戶的工作鄭號碼,進而比對所識別出的目標用戶信息中的工作證號碼是否匹配於語音數據所夾帶的額外信息(工作證號碼),從而完成進一步的驗證操作。當兩者彼此相等時,電子裝置10確認用戶為合法戶(通過驗證),並且對大門執行解鎖。
此外,需要說明的是,上述任一實施例提到的門檻值的設定取決於已有的模型參數以及實際應用場景和服務器的計算機接口性能。
綜上所述,本發明的實施例所提供的語音識別方法及電子裝置,可經由聲紋特徵聚類模型來根據所述聲紋特徵聚類模型中的被聚類的多個節點,對所接收的待識別語音數據的聲紋特徵向量進行匹配,以準確地且有效率地查找相應於所述語音數據的用戶信息,從而增進了電子裝置識別語音數據的能力。此外,更藉由修剪操作來在不大幅降低性能的情況下,減少所建立的所述聲紋特徵聚類模型的規模,以增進查找所述聲紋特徵聚類模型的效率。
雖然本發明已以實施例揭露如上,然其並非用以限定本發明,任何所屬技術領域中具有通常知識者,在不脫離本發明的精神和範圍內,當可作些許的更動與潤飾,故本發明的保護範圍當視後附的申請專利範圍所界定者為準。
10:電子裝置
110:處理器
120:儲存裝置
121:用戶信息數據庫
122:聲紋特徵聚類模型數據庫
130:主記憶體
140:輸入/輸出裝置
150:通訊電路單元
S21、S22、S23、S24、S25、S26、S27、S28、S29、S30:語音識別方法的流程步驟
S311、S312:計算候選節點的節點平均聲紋特徵向量的流程步驟
S321、S322、S323、S324、S325、S326、S327、S328、S329:查找匹配所接收的語音數據的聲紋特徵向量的目標候選聲紋特徵向量樣本的流程步驟
S41、S42、S43、S44、S45、S46、S47、S48:註冊用戶至聲紋特徵聚類模型的流程步驟
A、B、C、D、E、F、AB、EF、EFD、EFDC、EFDCAB、T:節點
A41、A42、A43、A44、A45、A46、A91、A92、A93、A94:箭頭
S51、S52、S53、S54、S55:建立聲紋特徵聚類模型的流程步驟
S551、S552、S553、S554、S555、S556、S557:圖5A的步驟S55的流程步驟
T:待識別語音數據/待註冊語音數據的聲紋特徵向量
、
、
、
、
、
、
、
、
、
、
:距離
圖1是依照本發明的一實施例所繪示的電子裝置的方塊示意圖。
圖2是依照本發明的一實施例所繪示的語音識別方法的流程圖。
圖3A是依照本發明的一實施例所繪示的計算節點的節點平均聲紋特徵向量的流程圖。
圖3B是依照本發明的一實施例所繪示的查找匹配所接收的語音數據的聲紋特徵向量的目標候選聲紋特徵向量樣本的流程圖。
圖4A是依照本發明的一實施例所繪示的註冊用戶的流程圖。
圖4B是依照本發明的一實施例所繪示的註冊用戶的示意圖。
圖5A是依照本發明的一實施例所繪示的建立聲紋特徵聚類模型的流程圖。
圖5B是依照本發明的一實施例所繪示的多層次無監督聚類操作的流程圖。
圖6A~6C是依照本發明的一實施例所繪示的節點聚類合併的示意圖。
圖7A是依照本發明的一實施例所繪示的多層次樹狀結構的示意圖。
圖7B是依照本發明的一實施例所繪示的修剪操作的示意圖。
圖8是依照本發明的一實施例所繪示的計算節點距離的示意圖。
圖9A是依照本發明的一實施例所繪示的識別語音數據的相應用戶的示意圖。
圖9B~9C是依照本發明的一實施例所繪示的匹配聲紋特徵向量的示意圖。
S21、S22、S23、S24、S25、S26、S27、S28、S29、S30:語音識別方法的流程步驟
Claims (20)
- 一種電子裝置,包括: 一輸入/輸出裝置; 一儲存裝置,用以記錄一用戶信息數據庫及一聲紋特徵聚類模型數據庫;以及 一處理器, 其中所述處理器用以經由所述輸入/輸出裝置接收一語音數據,並且所述處理器更用以根據所述語音數據產生相應的聲紋特徵向量, 其中所述處理器更用以從所述聲紋特徵聚類模型數據庫載入聲紋特徵聚類模型,其中所述聲紋特徵聚類模型包括多個節點,其中所述多個節點被劃分至多個層以形成一多層次樹狀結構,其中所述多個節點包括一個根節點,多個葉節點以及多個中繼節點,所述多個節點中的每一個包括多個聲紋特徵向量樣本, 其中所述處理器更用以將所述根節點的多個第一子節點插入至一候選節點序列以成為多個候選節點,並且計算所述多個候選節點各自的節點平均聲紋特徵向量與所述聲紋特徵向量之間的候選距離, 其中所述處理器更用以根據所計算的多個候選距離來排序所有的候選節點,並且僅保留所述候選節點序列中的前N個候選節點,其中在所述前N個候選節點中的第一個候選節點具有最小的候選距離,其中N為候選節點上限值, 其中所述處理器更用以判斷所述多個候選節點各自是否皆為所述多個葉節點的其中之一, 其中反應於判定所述多個候選節點各自皆為所述多個葉節點的其中之一,所述處理器更用以執行下列步驟(1)~(3): (1) 識別所述候選節點序列中的所有的候選節點各自的多個候選聲紋特徵向量樣本; (2) 將所有的候選聲紋特徵向量樣本各自與所述聲紋特徵向量進行比較,以查找出所有的候選聲紋特徵向量樣本中匹配所述聲紋特徵向量的目標候選聲紋特徵向量樣本;以及 (3) 識別相應於所述目標候選聲紋特徵向量樣本的目標用戶與目標用戶信息,並且將所述目標用戶與所述目標用戶信息映射至所述語音數據,從而完成相應於所述語音數據的識別操作。
- 如請求項1所述的電子裝置,其中反應於判定所述多個候選節點各自皆為所述多個葉節點的其中之一, 所述處理器更用以判斷所述多個候選節點中的多個候選聲紋特徵向量樣本的總數量是否小於候選樣本數量門檻值, 其中反應於判定所述多個候選節點中的所述多個候選聲紋特徵向量樣本的所述總數量不小於所述候選樣本數量門檻值,所述處理器更用以將所述多個候選節點各自的多個第二子節點插入至所述候選節點序列以成為新的多個候選節點,並且計算所述新的多個候選節點各自的節點平均聲紋特徵向量與所述聲紋特徵向量之間的候選距離,並且所述處理器更用以再次執行所述根據所計算的所述多個候選距離來排序所有的候選節點,並且僅保留所述候選節點序列中的前N個候選節點的步驟。
- 如請求項2所述的電子裝置,其中反應於判定所述多個候選節點中的所述多個候選聲紋特徵向量樣本的所述總數量小於所述候選樣本數量門檻值,所述處理器更用以再次執行步驟(1)~(3)。
- 如請求項3所述的電子裝置,其中所述步驟(2)包括: 所述處理器識別所述多個候選聲紋特徵向量樣本各自的多個候選聲紋特徵向量,其中所述多個候選聲紋特徵向量樣本對應多個候選用戶; 所述處理器計算對應每一個候選聲紋特徵向量樣本的所述多個候選聲紋特徵向量與所接收的語音數據的聲紋特徵向量之間的多個距離; 所述處理器識別所述多個距離中的最小的距離為目標距離;以及 所述處理器判斷所述目標距離是否小於匹配距離門檻值, 其中反應於判定所述目標距離小於所述匹配距離門檻值,所述處理器將所述目標距離所對應的候選聲紋特徵向量所屬的候選聲紋特徵向量樣本判定為匹配所述聲紋特徵向量的目標候選聲紋特徵向量樣本。
- 如請求項4所述的電子裝置,其中反應於判定所述目標距離不小於所述匹配距離門檻值, 所述處理器判定所述多個候選聲紋特徵向量樣本中不具有匹配所述聲紋特徵向量的所述目標候選聲紋特徵向量樣本; 所述處理器識別包含所述目標距離所對應的候選聲紋特徵向量所屬的候選聲紋特徵向量樣本的目標節點,以及所述目標節點的目標父節點;以及 所述處理器產生連接至所述目標父節點的新的子節點,並且將所述聲紋特徵向量加入至所述新的子節點的對應所述語音數據的新用戶的聲紋特徵向量樣本中。
- 如請求項4所述的電子裝置,其中反應於判定所述目標距離不小於匹配距離門檻值,所述處理器判定無法匹配所接收的所述語音數據,並且判定相應於所述語音數據的用戶為未註冊用戶。
- 如請求項2所述的電子裝置,其中所述聲紋特徵聚類模型是經由所述處理器執行一聲紋特徵聚類模型建立操作所建立的,其中在所述聲紋特徵聚類模型建立操作中, 所述處理器從所述用戶信息數據庫的相應於多個用戶的多筆用戶信息中提取所述多個用戶各自的多個語音數據; 所述處理器根據所述多個用戶各自的所述多個語音數據產生所述多個用戶各自的多個聲紋; 所述處理器根據所述多個用戶各自的所述多個聲紋來計算所述多個用戶各自的相應於所述多個聲紋的所述多個用戶各自的多個M維聲紋特徵向量,其中M為正整數; 所述處理器根據所述多個用戶各自的所述多個M維聲紋特徵向量來計算所述多個用戶各自的平均聲紋特徵向量,以將所述多個用戶的多個平均聲紋特徵向量作為多個聲紋特徵向量樣本各自的樣本平均聲紋特徵向量;以及 所述處理器基於多個樣本平均聲紋特徵向量來對多個聲紋特徵向量樣本進行多層次無監督聚類操作,將所述多個聲紋特徵向量樣本分組至多個層的多個節點中,以建立多層次樹狀結構的聲紋特徵聚類模型。
- 如請求項7所述的電子裝置,其中所述多個聲紋特徵向量樣本的總數量為P,其中在基於所述多個樣本平均聲紋特徵向量來對所述多個聲紋特徵向量樣本進行所述多層次無監督聚類操作,將所述多個聲紋特徵向量樣本分組至所述多個層的所述多個節點中,以建立所述多層次樹狀結構的所述聲紋特徵聚類模型的運作中, 所述處理器根據P個聲紋特徵向量樣本各自的樣本平均聲紋特徵向量來計算P個樣本平均聲紋特徵向量彼此之間的距離,以作為所述P個聲紋特徵向量樣本之間的初始距離,其中P為正整數; 所述處理器初始地設定每個聲紋特徵向量樣本被劃分為獨立的節點,並且根據多個初始距離來計算所述多個節點彼此之間的節點距離,其中所述多個節點中的每個節點的節點平均聲紋特徵向量為對應的聲紋特徵向量樣本的樣本平均聲紋特徵向量; 所述處理器根據多個節點距離,從不具有父節點的所有節點中選擇最接近的Q個節點分別作為目標節點,並且將所述Q個目標節點合併為所述Q個目標節點的父節點,其中所述Q個目標節點各自為所述父節點的子節點,其中Q為大於1的正整數; 所述處理器記錄相應於所述父節點的節點資訊至所述父節點,其中相應於所述父節點的所述節點資訊包括所述父節點的節點平均聲紋特徵向量、所述父節點的節點半徑、所述父節點的總樣本數; 所述處理器根據所述父節點中的所有的聲紋特徵向量樣本與其他的多個節點各自所具有的所有的聲紋特徵向量樣本之間的所述初始距離,來估算所述父節點分別與所述其他的多個節點之間的節點距離; 所述處理器判斷所合併的父節點是否具有P個聲紋特徵向量樣本;以及 反應於判定所合併的所述父節點具有所述P個聲紋特徵向量樣本,所述處理器對當前的具有所有節點的第一多層次樹狀結構執行修剪操作,以將所述第一多層次樹狀結構更新為第二多層次樹狀結構,從而完成所述聲紋特徵聚類模型的建立,其中所述第二多層次樹狀結構的總節點數目與總層數小於所述第一多層次樹狀結構的總節點數目與總層數,其中具有所述P個聲紋特徵向量樣本的所述父節點為所建立的所述聲紋特徵聚類模型的所述根節點。
- 如請求項8所述的電子裝置,其中反應於判定所合併的所述父節點不具有所述P個聲紋特徵向量樣本,所述處理器再次執行所述根據所述多個節點距離,從不具有所述父節點的所有節點中選擇最接近的所述Q個節點分別作為所述目標節點,並且將所述Q個目標節點合併為所述Q個目標節點的所述父節點的步驟。
- 如請求項7所述的電子裝置,其中, 所述處理器計算所述Q個目標節點各自的所述樣本平均聲紋特徵向量的平均值,以作為所述父節點的所述節點平均聲紋特徵向量, 其中所述處理器計算所述父節點的所述節點平均聲紋特徵向量與所述Q個目標節點各自的所述樣本平均聲紋特徵向量之間的Q個距離,並且將所述多個距離中的最大者作為所述父節點的所述節點半徑, 其中所述處理器識別所述父節點中的所有子節點的所有聲紋特徵向量樣本的總數量為所述父節點的所述總樣本數。
- 一種語音識別方法,所述方法包括: 接收一語音數據,根據所述語音數據產生相應的聲紋特徵向量; 從聲紋特徵聚類模型數據庫載入聲紋特徵聚類模型,其中所述聲紋特徵聚類模型包括多個節點,其中所述多個節點被劃分至多個層以形成一多層次樹狀結構,其中所述多個節點包括一個根節點,多個葉節點以及多個中繼節點,所述多個節點中的每一個包括多個聲紋特徵向量樣本; 將所述根節點的多個第一子節點插入至一候選節點序列以成為多個候選節點,並且計算所述多個候選節點各自的節點平均聲紋特徵向量與所述聲紋特徵向量之間的候選距離; 根據所計算的多個候選距離來排序所有的候選節點,並且僅保留所述候選節點序列中的前N個候選節點,其中在所述前N個候選節點中的第一個候選節點具有最小的候選距離,其中N為候選節點上限值; 判斷所述多個候選節點各自是否皆為所述多個葉節點的其中之一;以及 反應於判定所述多個候選節點各自皆為所述多個葉節點的其中之一,執行下列步驟(1)~(3): (1) 識別所述候選節點序列中的所有的候選節點各自的多個候選聲紋特徵向量樣本; (2) 將所有的候選聲紋特徵向量樣本各自與所述聲紋特徵向量進行比較,以查找出所有的候選聲紋特徵向量樣本中匹配所述聲紋特徵向量的目標候選聲紋特徵向量樣本;以及 (3) 識別相應於所述目標候選聲紋特徵向量樣本的目標用戶與目標用戶信息,並且將所述目標用戶與所述目標用戶信息映射至所述語音數據,從而完成相應於所述語音數據的識別操作。
- 如請求項11所述的語音識別方法,其中反應於判定所述多個候選節點各自皆為所述多個葉節點的其中之一, 判斷所述多個候選節點中的多個候選聲紋特徵向量樣本的總數量是否小於候選樣本數量門檻值; 反應於判定所述多個候選節點中的所述多個候選聲紋特徵向量樣本的所述總數量不小於所述候選樣本數量門檻值,將所述多個候選節點各自的多個第二子節點插入至所述候選節點序列以成為新的多個候選節點,並且計算所述新的多個候選節點各自的節點平均聲紋特徵向量與所述聲紋特徵向量之間的候選距離,並且再次執行所述根據所計算的所述多個候選距離來排序所有的候選節點,並且僅保留所述候選節點序列中的前N個候選節點的步驟。
- 如請求項12所述的語音識別方法,其中反應於判定所述多個候選節點中的所述多個候選聲紋特徵向量樣本的所述總數量小於所述候選樣本數量門檻值,再次執行步驟(1)~(3)。
- 如請求項13所述的語音識別方法,其中所述步驟(2)包括: 識別所述多個候選聲紋特徵向量樣本各自的多個候選聲紋特徵向量,其中所述多個候選聲紋特徵向量樣本對應多個候選用戶; 計算對應每一個候選聲紋特徵向量樣本的所述多個候選聲紋特徵向量與所接收的語音數據的聲紋特徵向量之間的多個距離; 識別所述多個距離中的最小的距離為目標距離;以及 判斷所述目標距離是否小於匹配距離門檻值, 其中反應於判定所述目標距離小於所述匹配距離門檻值,將所述目標距離所對應的候選聲紋特徵向量所屬的候選聲紋特徵向量樣本判定為匹配所述聲紋特徵向量的目標候選聲紋特徵向量樣本。
- 如請求項14所述的語音識別方法,其中反應於判定所述目標距離不小於所述匹配距離門檻值, 判定所述多個候選聲紋特徵向量樣本中不具有匹配所述聲紋特徵向量的所述目標候選聲紋特徵向量樣本; 識別包含所述目標距離所對應的候選聲紋特徵向量所屬的候選聲紋特徵向量樣本的目標節點,以及所述目標節點的目標父節點;以及 產生連接至所述目標父節點的新的子節點,並且將所述聲紋特徵向量加入至所述新的子節點的對應所述語音數據的新用戶的聲紋特徵向量樣本中。
- 如請求項14所述的語音識別方法,其中反應於判定所述目標距離不小於匹配距離門檻值,判定無法匹配所接收的所述語音數據,並且判定相應於所述語音數據的用戶為未註冊用戶。
- 如請求項12所述的語音識別方法,其中所述聲紋特徵聚類模型是經由所述處理器執行一聲紋特徵聚類模型建立操作所建立的,其中所述聲紋特徵聚類模型建立操作包括: 從所述用戶信息數據庫的相應於多個用戶的多筆用戶信息中提取所述多個用戶各自的多個語音數據; 根據所述多個用戶各自的所述多個語音數據產生所述多個用戶各自的多個聲紋; 根據所述多個用戶各自的所述多個聲紋來計算所述多個用戶各自的相應於所述多個聲紋的所述多個用戶各自的多個M維聲紋特徵向量,其中M為正整數; 根據所述多個用戶各自的所述多個M維聲紋特徵向量來計算所述多個用戶各自的平均聲紋特徵向量,以將所述多個用戶的多個平均聲紋特徵向量作為多個聲紋特徵向量樣本各自的樣本平均聲紋特徵向量;以及 基於多個樣本平均聲紋特徵向量來對多個聲紋特徵向量樣本進行多層次無監督聚類操作,將所述多個聲紋特徵向量樣本分組至多個層的多個節點中,以建立多層次樹狀結構的聲紋特徵聚類模型。
- 如請求項17所述的語音識別方法,其中所述多個聲紋特徵向量樣本的總數量為P,其中基於所述多個樣本平均聲紋特徵向量來對所述多個聲紋特徵向量樣本進行所述多層次無監督聚類操作,將所述多個聲紋特徵向量樣本分組至所述多個層的所述多個節點中,以建立所述多層次樹狀結構的所述聲紋特徵聚類模型的步驟包括: 根據P個聲紋特徵向量樣本各自的樣本平均聲紋特徵向量來計算P個樣本平均聲紋特徵向量彼此之間的距離,以作為所述P個聲紋特徵向量樣本之間的初始距離,其中P為正整數; 初始地設定每個聲紋特徵向量樣本被劃分為獨立的節點,並且根據多個初始距離來計算所述多個節點彼此之間的節點距離,其中所述多個節點中的每個節點的節點平均聲紋特徵向量為對應的聲紋特徵向量樣本的樣本平均聲紋特徵向量; 根據多個節點距離,從不具有父節點的所有節點中選擇最接近的Q個節點分別作為目標節點,並且將所述Q個目標節點合併為所述Q個目標節點的父節點,其中所述Q個目標節點各自為所述父節點的子節點,其中Q為大於1的正整數; 記錄相應於所述父節點的節點資訊至所述父節點,其中相應於所述父節點的所述節點資訊包括所述父節點的節點平均聲紋特徵向量、所述父節點的節點半徑、所述父節點的總樣本數; 根據所述父節點中的所有的聲紋特徵向量樣本與其他的多個節點各自所具有的所有的聲紋特徵向量樣本之間的所述初始距離,來估算所述父節點分別與所述其他的多個節點之間的節點距離; 判斷所合併的父節點是否具有P個聲紋特徵向量樣本;以及 反應於判定所合併的所述父節點具有所述P個聲紋特徵向量樣本,對當前的具有所有節點的第一多層次樹狀結構執行修剪操作,以將所述第一多層次樹狀結構更新為第二多層次樹狀結構,從而完成所述聲紋特徵聚類模型的建立,其中所述第二多層次樹狀結構的總節點數目與總層數小於所述第一多層次樹狀結構的總節點數目與總層數,其中具有所述P個聲紋特徵向量樣本的所述父節點為所建立的所述聲紋特徵聚類模型的所述根節點。
- 如請求項18所述的語音識別方法,其中反應於判定所合併的所述父節點不具有所述P個聲紋特徵向量樣本,再次執行所述根據所述多個節點距離,從不具有所述父節點的所有節點中選擇最接近的所述Q個節點分別作為所述目標節點,並且將所述Q個目標節點合併為所述Q個目標節點的所述父節點的步驟。
- 如請求項18所述的語音識別方法,其中, 所述處理器計算所述Q個目標節點各自的所述樣本平均聲紋特徵向量的平均值,以作為所述父節點的所述節點平均聲紋特徵向量, 其中所述處理器計算所述父節點的所述節點平均聲紋特徵向量與所述Q個目標節點各自的所述樣本平均聲紋特徵向量之間的Q個距離,並且將所述Q個距離中的最大者作為所述父節點的所述節點半徑, 其中所述處理器識別所述父節點中的所有子節點的所有聲紋特徵向量樣本的總數量為所述父節點的所述總樣本數。
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010424050.8 | 2020-05-19 | ||
CN202010424050.8A CN111583938B (zh) | 2020-05-19 | 2020-05-19 | 电子装置与语音识别方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
TWI725877B true TWI725877B (zh) | 2021-04-21 |
TW202145037A TW202145037A (zh) | 2021-12-01 |
Family
ID=72112632
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
TW109120791A TWI725877B (zh) | 2020-05-19 | 2020-06-19 | 電子裝置與語音識別方法 |
Country Status (2)
Country | Link |
---|---|
CN (1) | CN111583938B (zh) |
TW (1) | TWI725877B (zh) |
Families Citing this family (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN112735432B (zh) * | 2020-12-24 | 2023-05-02 | 北京百度网讯科技有限公司 | 音频识别的方法、装置、电子设备及存储介质 |
CN113096669B (zh) * | 2021-03-31 | 2022-05-27 | 重庆风云际会智慧科技有限公司 | 基于角色识别的语音识别系统 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106157953A (zh) * | 2015-04-16 | 2016-11-23 | 科大讯飞股份有限公司 | 连续语音识别方法及系统 |
CN107610707A (zh) * | 2016-12-15 | 2018-01-19 | 平安科技(深圳)有限公司 | 一种声纹识别方法及装置 |
CN110428808A (zh) * | 2018-10-25 | 2019-11-08 | 腾讯科技(深圳)有限公司 | 一种语音识别方法及装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
JP4098015B2 (ja) * | 2002-07-18 | 2008-06-11 | 学校法人早稲田大学 | 話者識別方法およびそのシステム、並びにプログラム |
JP2009116278A (ja) * | 2007-11-09 | 2009-05-28 | Toshiba Corp | 話者認証の登録及び評価のための方法及び装置 |
CN102509547B (zh) * | 2011-12-29 | 2013-06-19 | 辽宁工业大学 | 基于矢量量化的声纹识别方法及系统 |
CN105304087B (zh) * | 2015-09-15 | 2017-03-22 | 北京理工大学 | 一种基于过零间隔点声纹识别方法 |
CN107248410A (zh) * | 2017-07-19 | 2017-10-13 | 浙江联运知慧科技有限公司 | 声纹识别垃圾箱开门的方法 |
-
2020
- 2020-05-19 CN CN202010424050.8A patent/CN111583938B/zh active Active
- 2020-06-19 TW TW109120791A patent/TWI725877B/zh active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106157953A (zh) * | 2015-04-16 | 2016-11-23 | 科大讯飞股份有限公司 | 连续语音识别方法及系统 |
CN107610707A (zh) * | 2016-12-15 | 2018-01-19 | 平安科技(深圳)有限公司 | 一种声纹识别方法及装置 |
CN110428808A (zh) * | 2018-10-25 | 2019-11-08 | 腾讯科技(深圳)有限公司 | 一种语音识别方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
TW202145037A (zh) | 2021-12-01 |
CN111583938B (zh) | 2023-02-03 |
CN111583938A (zh) | 2020-08-25 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6429945B2 (ja) | 音声データを処理するための方法及び装置 | |
KR102026396B1 (ko) | 화자 검증을 위한 신경망들 | |
WO2017215558A1 (zh) | 一种声纹识别方法和装置 | |
WO2017197953A1 (zh) | 基于声纹的身份识别方法及装置 | |
AU2004300140B2 (en) | System and method for providing improved claimant authentication | |
JP4571624B2 (ja) | ローカルモデルを用いた話者認識 | |
WO2017113658A1 (zh) | 基于人工智能的声纹认证方法以及装置 | |
JP2021527840A (ja) | 声紋識別方法、モデルトレーニング方法、サーバ、及びコンピュータプログラム | |
US20110320202A1 (en) | Location verification system using sound templates | |
WO2021159902A1 (zh) | 年龄识别方法、装置、设备及计算机可读存储介质 | |
TWI725877B (zh) | 電子裝置與語音識別方法 | |
CN102024455A (zh) | 说话人识别系统及其方法 | |
JPWO2006109515A1 (ja) | 操作者認識装置、操作者認識方法、および、操作者認識プログラム | |
WO2020098523A1 (zh) | 一种语音识别方法、装置及计算设备 | |
KR101888058B1 (ko) | 발화된 단어에 기초하여 화자를 식별하기 위한 방법 및 그 장치 | |
WO2019237518A1 (zh) | 模型库建立方法、语音识别方法、装置、设备及介质 | |
JP6996627B2 (ja) | 情報処理装置、制御方法、及びプログラム | |
JP4143541B2 (ja) | 動作モデルを使用して非煩雑的に話者を検証するための方法及びシステム | |
KR102547000B1 (ko) | 화자 감정 분석에 기초하여 화자 인증을 개선하는 방법 | |
WO2022236453A1 (zh) | 一种声纹识别方法、歌手认证方法、电子设备及存储介质 | |
Panda et al. | Study of speaker recognition systems | |
JP7287442B2 (ja) | 情報処理装置、制御方法、及びプログラム | |
CN117854509A (zh) | 一种耳语说话人识别模型训练方法和装置 | |
KR20230103667A (ko) | 화자 유사도 판단 방법 및 장치 | |
CN114780787A (zh) | 声纹检索方法、身份验证方法、身份注册方法和装置 |