基於移動終端的語音數據索引建立方法和系統

基於移動終端的語音數據索引建立方法和系統

《基於移動終端的語音數據索引建立方法和系統》是深圳市北科瑞聲科技有限公司於2014年4月14日申請的發明專利,該專利申請號為2014101482270,公布號為CN104978366A,公布日為2015年10月14日,發明人是黃石磊、王昕、劉軼、程剛。

《基於移動終端的語音數據索引建立方法和系統》提供了一種基於移動終端的語音數據索引建立方法,包括:檢測是否具有通過預設連線方式來連線到指定計算機的條件;若具有條件,則通過預設連線方式連線到指定計算機,利用位於指定計算機上的第一索引生成器來建立待處理語音數據的索引;若不具有條件,則利用位於本地的第二索引生成器來生成第一類型的第二索引數據以建立待處理語音數據的索引;或者利用位於本地的第三索引生成器來生成第二類型的第三索引數據以建立待處理語音數據的索引。該發明提供的基於移動終端的語音數據索引建立方法可高效建立語音數據的索引,並優先滿足語音檢索的需求。該發明還提供了一種基於移動終端的語音數據索引建立系統。

2021年6月24日,《基於移動終端的語音數據索引建立方法和系統》獲得第二十二屆中國專利優秀獎。

(概述圖為《基於移動終端的語音數據索引建立方法和系統》摘要附圖)

基本介紹

  • 中文名:基於移動終端的語音數據索引建立方法和系統
  • 申請人:深圳市北科瑞聲科技有限公司
  • 發明人:黃石磊、王昕、劉軼、程剛
  • 申請號:2014101482270
  • 申請日:2014年4月14日
  • 公布號:CN104978366A
  • 公布日:2015年10月14日
  • 地址:廣東省深圳市南山區高新區南區深港產學研基地大樓西座四樓W406室
  • 代理機構:廣州華進聯合專利商標代理有限公司
  • 代理人:何平
  • Int. Cl.:G06F17/30
  • 類別:發明專利
專利背景,發明內容,專利目的,技術方案,改善效果,附圖說明,技術領域,權利要求,實施方式,專利榮譽,

專利背景

截至2014年4月,隨著網際網路技術的不斷發展,信息數據榜局定中的多媒體奔燥囑數據量已經超過了文本數據量,並且仍然保持著高照紙刪殃速增長。語音屑漏付數據是多媒體信息的主要組成部分,人們的手機、平板電腦等移動終端中存儲了大量的語音數據,而如何快速檢索到用戶所需的語音數據成為亟待解決的問題。
2014年4月前,在移動終端上可以通過語音檔案的檔案名稱、檔案信息或者語音標籤(TAG)等來檢索語音檔案,但在移動終端上檢索語音內容卻是一個難題。具體來說就是難以通過向移動終端輸入文字這樣的關鍵字,來檢索內容中包含有該關鍵字的語音檔案。雖然可通過為語音檔案建立語音索引來實現語音檢索,但語音索引的建立是一種非常消耗計算資源的操作,若使用移動終端來建立語音索引對移動終端電池的消耗非常大,效率也不高,難以廣泛套用;而若移動終端利用雲端伺服器來建立索引則存在泄露用戶隱私的問題。

發明內容

專利目的

《基於移動終端的語音數據索引建立方法和系統》的目的是針對通過移動終端建立語音索引效率低,功耗較大;而直接採用雲端伺服器來建立語音數據的索引存在隱私泄露的問題,提供一種基於移動終端的語音數據索引建立方法和系統。

技術方案

一種基於移動終端的語音數據索引建立方法,所述方法包括:檢測是否具有通過預設連線方式來連線到指定計算機的條件;若具有所述條件,則通過所述預設連線方式連線到所述指定計算機,將待處理語音數據或者從待處理語音數據中提取的語音特徵序列傳送給所述指定計算機,使所述指定計算機將所述待處理語音數據或者所述語音特徵序列輸棕精蒸入位於所述指定計算機上的第一索引生成器來生成第一類型的第一索引數據;從所述指定計算機獲取所述第一索引數據並根據所述第一索引數據建立所述待處理語音數據的索引;若不具有所述條件,則將所述待處理語音數據或者所述語音特徵序列輸入位於本地的第二索引生成器來生成第一類型的第二索引數據,並根據所述第二索引數據來建立所述待處理語音數據的索引;或者,將所述待處理語音數據或者所述語音特徵序列輸入位於本地的第三索引生成器來生成第二類型的第三索引數據,並根據所述第三索引數據來建立所述待處理語音數據的索引。鴉驗駝乘
一種基於移動終端的語音數據索引建立系統,所述系統包括條件檢測模組和第一索引建立模組;所述條件檢測模組,用於檢測是否具有通過預設連線方式來連線到指定計算機的條件;所述第擊汽一索引建立模組,用於若具有所述條件,則通過所述預設連線方式連線到所述指定計算機,將待處理語音數據或者從待處理語音數據中提取的語音特徵序列傳送給所述指定計算機,使所述指定計算機將所述待處理語音數據或者所述語音特徵序列輸入位於所述指定計算機上的第一索引生成器來生成第一類型的第一索引數據;從所述指定計算機獲取所述第一索引數據並根據所述第一索引數據建立所述待處理語音數據的索引;所述系統還包括第二索引建立模組,用於若不具有所述條件,則將所述待處理語音數據或者所述語音特徵序列輸入位於本地的第二索引生成器來生成第一類型的第二索引數據,並根據所述第二索引數據來建立所述待處理語音數據的索引;或者,所述系統還包括第三索引建立模組,用於將所述待處理語音數據或者所述語音特徵序列輸入位於本地的第三索引生成器來生成第二類型的第三索引數據,並根據所述第三索引數據來建立所述待處理語音數據的索引。

改善效果

《基於移動終端的語音數據索引建立方法和系統》當移動終端可以連線到指定計算機時,使用指定計算機上的第一索引生成器來生成第一類型的第一索引數據,從而根據所述第一索引數據在本地建立待處理語音數據的索引。當移動終端不可以連線到指定計算機時,則使用本地的第二索引生成器來生成第一類型的第二索引數據,或者是使用本地的第三索引生成器來生成第二類型的第三索引數據,從而建立待處理語音數據的索引。
這樣由於通常計算機的運算能力浪費嚴重,計算資源沒有得到有效利用,而優先依靠指定計算機強大的計算能力來生成索引,可以有效利用指定計算機的計算資源來高效地生成索引,可以有效節省移動終端的電能,且由於指定計算機是受信任的計算機,不會泄露用戶隱私。當無法使用指定計算機生成索引時,也可以使用移動終端的本地資源來生成索引,從而保證建立索引的工作不被中斷。進一步地,若使用指定計算機和使用移動終端來分別生成不同類型的索引數據,則可以在無法使用指定計算機生成高精確度的索引數據時,則本地生成臨時的低精確度的索引數據,以高效建立待處理語音數據的索引,優先滿足語音檢索的需求,保證語音數據檢索可以正常進行。

附圖說明

圖1為一個實施例中基於移動終端的語音數據索引建立方法的流程示意圖;
圖2為一個實施例中索引生成器的組成結構示意圖;
圖3為一個實施例中根據當前是否連線到外接電源或非指定計算機的判斷結果,來分別採用第二索引生成器或者第三索引生成器來建立索引的步驟的流程示意圖;
圖4為一個實施例中欠處理語音數據重新建立索引的步驟的流程示意圖;
圖5為一個實施例中檢索語音數據的步驟的流程示意圖;
圖6為一個實施例中語音數據綜合檢索系統的結構框圖;
圖7為一個實施例中基於移動終端的語音數據索引建立系統的結構框圖。

技術領域

《基於移動終端的語音數據索引建立方法和系統》涉及語音處理技術領域,特別是涉及一種基於移動終端的語音數據索引建立方法和系統。

權利要求

1.一種基於移動終端的語音數據索引建立方法,所述方法包括:檢測是否具有通過預設連線方式來連線到指定計算機的條件;指定計算機是事先設定的受信任的個人計算機;若具有所述條件,則通過所述預設連線方式連線到所述指定計算機,將待處理語音數據或者從待處理語音數據中提取的語音特徵序列傳送給所述指定計算機,使所述指定計算機將所述待處理語音數據或者所述語音特徵序列輸入位於所述指定計算機上的第一索引生成器來生成第一類型的第一索引數據;從所述指定計算機獲取所述第一索引數據並根據所述第一索引數據建立所述待處理語音數據的索引;若不具有所述條件,則判斷當前是否連線到外接電源或者判斷當前是否連線到非指定計算機;若連線到外接電源或者連線到非指定計算機,則將所述待處理語音數據或者所述語音特徵序列輸入位於本地的第二索引生成器來生成第一類型的第二索引數據,並根據所述第二索引數據來建立所述待處理語音數據的索引;若未連線到外接電源或者未連線到非指定計算機,則將所述待處理語音數據或者所述語音特徵序列輸入位於本地的第三索引生成器來生成第二類型的第三索引數據,並根據所述第三索引數據來建立所述待處理語音數據的索引。
2.根據權利要求1所述的方法,其特徵在於,所述通過所述預設連線方式連線到所述指定計算機之後,還包括:判斷本地是否存在對應第二類型的索引數據的欠處理語音數據,若是,則將所述欠處理語音數據或從所述欠處理語音數據提取出的語音特徵序列傳送給所述指定計算機,使所述指定計算機將所述欠處理語音數據或從所述欠處理語音數據提取出的語音特徵序列輸入位於所述指定計算機上的第一索引生成器來生成第一類型的第四索引數據;從所述指定計算機獲取所述第四索引數據,並根據所述第四索引數據來更新所述欠處理語音數據的索引。
3.根據權利要求1所述的方法,其特徵在於,所述預設連線方式包括網路連線方式和點對點連線方式中的至少一種。
4.根據權利要求1至3任意一項所述的方法,其特徵在於,所述方法還包括檢索語音數據的步驟,包括:獲取輸入的關鍵字;根據已建立的索引查找包含所述關鍵字的第一類型的索引數據,當查找到時,獲取所述查找到的第一類型的索引數據所對應的語音數據;當未查找到所述第一類型的索引數據時,繼續根據已建立的索引查找包含所述關鍵字的第二類型的索引數據,當查找到時,獲取查找到的第二類型的索引數據所對應的語音數據;將獲取到的語音數據作為檢索到的語音數據輸出。
5.一種基於移動終端的語音數據索引建立系統,其特徵在於,所述系統包括條件檢測模組和第一索引建立模組;指定計算機是事先設定的受信任的個人計算機;所述條件檢測模組,用於檢測是否具有通過預設連線方式來連線到指定計算機的條件;所述第一索引建立模組,用於若具有所述條件,則通過所述預設連線方式連線到所述指定計算機,將待處理語音數據或者從待處理語音數據中提取的語音特徵序列傳送給所述指定計算機,使所述指定計算機將所述待處理語音數據或者所述語音特徵序列輸入位於所述指定計算機上的第一索引生成器來生成第一類型的第一索引數據;從所述指定計算機獲取所述第一索引數據並根據所述第一索引數據建立所述待處理語音數據的索引;所述系統還包括第一判斷模組,用於若不具有所述條件,則判斷當前是否連線到外接電源或者判斷當前是否連線到非指定計算機;所述系統還包括第二索引建立模組用於若連線到外接電源或者連線到非指定計算機,則將所述待處理語音數據或者所述語音特徵序列輸入位於本地的第二索引生成器來生成第一類型的第二索引數據,並根據所述第二索引數據來建立所述待處理語音數據的索引;所述系統還包括第三索引建立模組用於若未連線到外接電源或者未連線到非指定計算機,則將所述待處理語音數據或者所述語音特徵序列輸入位於本地的第三索引生成器來生成第二類型的第三索引數據,並根據所述第三索引數據來建立所述待處理語音數據的索引。
6.根據權利要求5所述的系統,其特徵在於,所述第一索引建立模組包括:第二判斷模組,用於判斷本地是否存在對應第二類型的索引數據的欠處理語音數據;索引數據生成執行模組,用於當所述第二判斷模組判斷為是時,將所述欠處理語音數據或從所述欠處理語音數據提取出的語音特徵序列傳送給所述指定計算機,使所述指定計算機將所述欠處理語音數據或從所述欠處理語音數據提取出的語音特徵序列輸入位於所述指定計算機上的第一索引生成器來生成第一類型的第四索引數據;索引更新模組,用於從所述指定計算機獲取所述第四索引數據,並根據所述第四索引數據來更新所述欠處理語音數據的索引。
7.根據權利要求5所述的系統,其特徵在於,所述預設連線方式包括網路連線方式和點對點連線方式中的至少一種。
8.根據權利要求5至7任意一項所述的系統,其特徵在於,所述系統還包括語音數據檢索模組,包括:關鍵字獲取模組,用於獲取輸入的關鍵字;第一查找模組,用於從語音資料庫中查找包含所述關鍵字的第一類型的索引數據,當查找到時,獲取所述查找到的第一類型的索引數據所對應的語音數據;第二查找模組,用於當未查找到第一類型的索引數據時,繼續從所述語音資料庫中查找包含所述關鍵字的第二類型的索引數據,當查找到時,獲取查找到的第二類型的索引數據所對應的語音數據;檢索結果輸出模組,用於將獲取到的語音數據作為檢索到的語音數據輸出。

實施方式

如圖1所示,在《基於移動終端的語音數據索引建立方法和系統》一個實施例中,提供了一種基於移動終端的語音數據索引建立方法。該方法套用於移動終端,移動終端包括但不限於智慧型手機、平板電腦、個人數字助理等可與計算機連線的設備。該方法具體包括以下步驟:
步驟102,檢測是否具有通過預設連線方式來連線到指定計算機的條件。若具有條件,則執行步驟104;若不具有條件,則執行步驟106。
預設連線方式包括網路連線方式和點對點連線方式中的至少一種。網路連線可以是網際網路連線,也可以是區域網路連線;點對點連線可以是USB(Universal Serial Bus,通用串列匯流排)連線,基於近場無線通信技術(NFC)的連線,無線USB(WUSB)連線等。指定計算機具有比移動終端高的計算能力,這主要是由於計算機的CPU(中央處理器)與移動終端相比更為出色,CPU設計時通常不必考慮硬體體積的因素。而且計算機用電通常由市電直接供電,不需要考慮耗電問題。因此移動終端優先嘗試連線到指定計算機,藉助指定計算機來建立索引。
移動終端檢測是否具有通過預設連線方式來連線到指定計算機的條件,具體地,可以是檢測移動終端是否通過網際網路連線了指定計算機,移動終端通過網際網路連線指定計算機可以通過伺服器的中轉;也可以是檢測移動終端是否通過區域網路連線了指定計算機;或者可以是檢測移動終端是否通過點對點連線方式連線了指定計算機。
指定計算機是事先設定的受信任的計算機,比如用戶的個人計算機,而不是雲端伺服器,這樣移動終端和計算機均屬於用戶,數據處理均在用戶自己的終端上,從而可以有效避免涉及用戶隱私的語音數據被泄露。可通過判斷待連線的計算機的計算機標識是否存在於受信任計算機標識列表中來判斷待連線計算機是否為指定計算機。
步驟104,通過預設連線方式連線到指定計算機,將待處理語音數據或者從待處理語音數據中提取的語音特徵序列傳送給指定計算機,使指定計算機將待處理語音數據或者語音特徵序列輸入位於指定計算機上的第一索引生成器來生成第一類型的第一索引數據;從指定計算機獲取第一索引數據並根據第一索引數據建立待處理語音數據的索引。
索引生成器用於根據輸入的語音數據輸出相應的索引數據,典型的索引生成器可使用語音識別技術來實現,輸出相應的文本序列,以及文本序列中各個文本單元(單個字或詞)的時間標記。待處理語音數據是指需要建立索引的語音數據,待處理語音數據可以是移動終端上生成的語音數據,比如通話錄音,也可以是從其他設備上拷貝的語音數據。待處理語音數據還可以攜帶有與待處理語音數據相關的信息,比如檔案名稱稱、錄製時間、檔案生成時間、錄製地點等,若待處理語音數據為通話錄音,則待處理語音數據還可以攜帶有來電號碼等與通話相關的信息。待處理語音數據和這些與待處理語音數據相關的信息在移動終端上對應存儲。
參考圖2中索引生成器(第一、第二以及第三索引生成器中的任意一種)的結構框圖,索引生成器包括解碼器、聲學模型和語言模型。解碼器用於接收語音數據,結合聲學模型和語言模型尋找能夠以最大機率輸出的文本序列。聲學模型可採用一階隱馬爾科夫模型(HMM)進行建模,語言模型可以用於描述給定詞序列在語言中出現的機率的分布。其中索引生成器的輸入可以是語音數據本身,或者是從語音數據中提取出的語音特徵序列。當然由於語音識別存在一定的模糊性和出錯的可能,因此索引生成器輸出的文本序列可能包含一些近似的內容。
步驟104中,指定計算機上預設了第一索引生成器,當移動終端具有通過預設連線方式來連線到指定計算機的條件時,則連線到該指定計算機,從而將待處理語音數據傳送給該指定計算機,使得該指定計算機利用指定計算機上預設的第一索引生成器,來識別待處理語音數據,從而生成第一類型的第一索引數據。移動終端獲取指定計算機上的該第一索引數據,具體可通過下載方式獲取第一索引數據,然後根據該第一索引數據在移動終端本地建立待處理語音數據的索引。
當移動終端通過網際網路中伺服器的中轉而將待處理語音數據間接地傳送給指定計算機時,或者當移動終端通過區域網路將待處理語音數據傳送給指定計算機時,可對傳送的語音數據進行加密,也可以使指定計算機對返回的索引數據進行加密,以防止語音數據被泄露,從而充分保障用戶語音數據的安全。
索引是用於在語音數據檢索時快速查找語音內容的一種數據結構,體現的是語音數據與相應的索引數據的對應關係;其中語音內容是指語音數據中通過聲音形式表示的語言信息。索引的數據組織結構可為2014年4月前已有的任意索引結構,在這裡不做限定。每個文本序列對應一個置信度,用於表示相應的文本序列的可信程度。這樣索引數據包括文本序列,還可以包括文本序列對應的時間標記和置信度。
步驟106,將待處理語音數據或者語音特徵序列輸入位於本地的第二索引生成器來生成第一類型的第二索引數據,並根據第二索引數據來建立待處理語音數據的索引;或者,將待處理語音數據或者語音特徵序列輸入位於本地的第三索引生成器來生成第二類型的第三索引數據,並根據第三索引數據來建立待處理語音數據的索引。
當移動終端不具有連線到指定計算機的條件時,此時無法利用指定計算機來生成索引數據,而需要依靠移動終端自身來建立索引。具體地,在一個實施例中,移動終端可使用位於移動終端本地的第二索引生成器來生成第一類型的第二索引數據,然後根據該第二索引數據來建立待處理語音數據的索引。在另一個實施例中,移動終端可使用位於移動終端本地的第三索引生成器來生成第二類型的第三索引數據,然後根據該第三索引數據來建立待處理語音數據的索引。
其中,對於相同的語音數據,通過第一索引生成器來生成索引數據所需的資源量高於通過第二索引生成器來生成索引數據所需的資源量,通過第二索引生成器來生成索引數據所需的資源量高於通過第三索引生成器來生成索引數據所需的資源量。對於相同的語音數據,據其生成的第一類型的索引數據的精確度高於據其生成的第二類型的索引數據的精確度。對於相同的語音數據,據其而生成的索引的精確度與採用何種索引生成器和索引的類型相關。
第一、第二以及第三索引生成器生成索引所需的資源量與其聲學模型和語言模型直接相關。具體地,第一索引生成器具有最大等級的聲學模型和語言模型,在處理的時候運算量很大。第一索引生成器位於指定計算機上,具有較大的運算能力(相對移動設備而言)。所生成的第一類型的索引數據最精確。典型的第一索引生成器的聲學模型超過100兆位元組,語言模型超過1千兆位元組,若指定計算機採用2千兆赫茲以上的雙核CPU,調用第一索引生成器運算的時候CPU(雙核)的占用率可能達70%以上,當然也最耗能。
第二索引生成器具有中等等級的聲學模型和語言模型,調用第二索引生成器運算的時候運算量中等。第二索引生成器位於移動終端,所生成的第一類型的索引中等精確。典型的第二索引生成器的聲學模型為20兆位元組,語言模型為100兆位元組,1千兆赫茲以上的ARM(一種中央處理器的類型)的CPU,運算時時兩個核占用率超過50%,耗電能力中等。
第三索引生成器具有最小等級的聲學模型和語言模型,在處理的時候運算量最小。第三索引生成器位於移動終端,其所生成的第二類型的索引精確最差。典型的第三索引生成器的聲學模型為5兆位元組,語言模型為5兆位元組,ARM的CPU運行在500兆赫茲,運算時時單個核占用率超過50%,也最為省電。
第一類型的索引數據和第二類型的索引數據的區別在於精確度的不同,可採用不同的表現形式。在一個實施例中,第一類型的索引數據可以以字或詞為單位,第二類型的索引數據可以以音節為單位。比如若語音數據的語音內容為“今天天氣很好”,那么第一索引數據可為“今天天氣很好”,而第二類型的索引數據可為“jintiantianqihenhao”,這樣第一類型的索引數據的精確度要高於第二類型的索引數據的精確度。一段語音數據,如果可能將儘量生成第一索引類型,這樣檢索的時候更為精確,但是需要較大的運算量。比如當使用指定計算機來生成索引時,一段1分鐘的語音數據可能需要運算30秒。
上述基於移動終端的語音數據索引建立方法,當移動終端可以連線到指定計算機時,使用指定計算機上的第一索引生成器來生成第一類型的第一索引數據,從而根據第一索引數據在本地建立待處理語音數據的索引。當移動終端不可以連線到指定計算機時,則使用本地的第二索引生成器來生成第一類型的第二索引數據,或者是使用本地的第三索引生成器來生成第二類型的第三索引數據,從而建立待處理語音數據的索引。
這樣由於通常指定計算機的運算能力浪費嚴重,計算資源沒有得到有效利用,而優先依靠指定計算機強大的計算能力來生成索引,可以有效利用指定計算機的計算資源來高效地生成索引,可以有效節省移動終端的電能,且由於指定計算機是受信任的計算機,不會泄露用戶隱私。當無法使用指定計算機生成索引時,也可以使用移動終端的本地資源來生成索引,從而保證建立索引的工作不被中斷。進一步地,若使用指定計算機和使用移動終端來分別生成不同類型的索引數據,則可以在無法使用指定計算機生成高精確度的索引數據時,則本地生成臨時的低精確度的索引數據,以高效建立待處理語音數據的索引,優先滿足語音檢索的需求,保證語音數據檢索可以正常進行,而且可以節省移動終端的電能。
在一個實施例中,在步驟102之前,還包括:將待處理語音數據進行預處理。具體地,可將待處理語音數據轉化為統一形式,還可以對待處理語音數據進行特徵提取,以獲得相應的語音特徵序列。
在一個實施例中,為了提高檢索速度,建立的待處理數據的索引可以採用反向索引,或者可稱為倒排索引。採用倒排索引的索引表中的每一項都包括一個屬性值和具有該屬性值的各記錄的地址。由於不是由記錄來確定屬性值,而是由屬性值來確定記錄的位置,因而稱為倒排索引。
如圖3所示,在一個實施例中,步驟106具體包括以下步驟:
步驟302,判斷當前是否連線到外接電源或者判斷是否連線到非指定計算機。若判斷為是,則執行步驟304;若判斷為否,則執行步驟306。
移動終端的電池是影響移動終端性能的一個重要因素,因此該實施例中通過判斷移動終端是否連線到外接電源,從而進行不同的建立索引的過程。其中外接電源可以是通過移動終端的充電器連線到市電,或者可以是用於為移動終端充電或供電的外部供電裝置。非指定計算機是指不是上述指定計算機的計算機,非指定計算機是不受信任或者無法判斷是否受信任的計算機。
步驟304,將待處理語音數據或者語音特徵序列輸入位於本地的第二索引生成器來生成第一類型的第二索引數據,並根據第二索引數據來建立待處理語音數據的索引。
當移動終端連線到外接電源時,此時可無需考慮移動終端的耗電量,而以第二索引生成器來生成第一類型的第二索引數據。或者連線到非指定計算機時,此時非指定計算機可以為移動終端供電,但因其不是受信任的計算機,存在泄露用戶隱私的風險,因此不使用非指定計算機上的索引生成器來生成索引數據,而是使用移動終端上的第二索引生成器來生成第一類型的第二索引數據。這樣生成的第二索引數據雖然精確度遜於指定計算機通過第一索引生成器生成的第二索引數據,但仍具有相當高的精確度,可以實現較為精確的語音數據檢索。
步驟306,將待處理語音數據或者語音特徵序列輸入位於本地的第三索引生成器來生成第二類型的第三索引數據,並根據第三索引數據來建立待處理語音數據的索引。
當移動終端未連線到外接電源時,此時建立索引消耗的是移動終端自身電池的電能,需要優先考慮耗電量,因而採用第三索引生成器來生成第二類型的第三索引數據。或者未連線到非指定計算機,此時移動終端也無法由非指定計算機供電,需要考慮耗電量,因而採用第三索引生成器來生成第二類型的第三索引數據。這樣生成的第三索引數據雖然不夠精確,但仍然可以用於檢索,可以作為當移動終端未連線外接電源時的一種臨時處理手段。
該實施例中,通過判斷移動終端是否連線外接電源或者是否連線到非指定計算機,從而根據判斷結果來採用不同的索引生成器來生成索引數據,並建立索引,從而實現移動終端耗電量和檢索精確度的巧妙權衡。
如圖4所示,在一個實施例中,通過預設連線方式連線到指定計算機的步驟之後,優選可以在處理完所有待處理數據之後,還包括為欠處理語音數據重新建立索引的步驟,具體包括以下步驟:
步驟402,判斷本地是否存在對應第二類型的索引數據的欠處理語音數據。若存在則執行步驟404,若不存在則執行步驟408。
由於在移動終端未連線外接電源而使用電池的情況下,會使用第三索引生成器來生成第二類型的索引,這樣生成的索引精確度不夠,可用於建立臨時的索引。為了提高檢索精確度,可在移動終端連線到指定計算機時,判斷本地是否存在對應第二類型的索引數據的語音數據,將該語音數據稱為欠處理語音數據,因為它是臨時生成的,需要在移動終端連線到指定計算機時進行進一步地處理。
步驟404,將欠處理語音數據或從欠處理語音數據提取出的語音特徵序列傳送給指定計算機,使指定計算機將欠處理語音數據或從欠處理語音數據提取出的語音特徵序列輸入位於指定計算機上的第一索引生成器來生成第一類型的第四索引數據。
與通過指定計算機來生成待處理數據的索引數據的過程相同,移動終端將欠處理語音數據或者從該欠處理語音數據中提取出的語音特徵序列傳送給指定計算機,該語音特徵序列與上述待處理數據的語音特徵序列形式一致,可以是生成該語音數據的第二類型的索引數據時所使用並存儲的語音特徵序列。指定計算機將欠處理語音數據或者從欠處理語音數據中提取出的語音特徵序列輸入位於指定計算機上的第一索引生成器來生成第一類型的第四索引數據。該第四索引數據的精確度高於移動終端上當前該欠處理語音數據所對應的索引數據的精確度。
步驟406,從指定計算機獲取第四索引數據,並根據第四索引數據來更新欠處理語音數據的索引。
指定計算機可自動將第四索引數據傳送給移動終端,由移動終端獲取;或者移動終端可主動獲取指定計算機上的第四索引數據。移動終端根據第四索引數據來更新欠處理語音數據的索引,具體地,可將欠處理語音數據對應的第二類型的索引數據刪除,並建立欠處理語音數據與第一類型的第四索引數據的對應關係。
步驟408,當不存在待處理數據與欠處理數據時,結束流程。
當待處理數據均已建立索引成為已處理數據,欠處理數據也已經更新索引成為已處理數據,這樣所有語音數據處理完畢,可結束流程,使得第一索引生成器和/或第二索引生成器和/或第三索引生成器進入休眠狀態,減少對計算資源以及電能的消耗。
該實施例中,在移動終端連線指定計算機的情況下,通過對臨時獲得的欠處理語音數據的索引數據進行再次處理,以提高該欠處理語音數據的索引數據的精確度,從而可以提高檢索語音數據的準確度。
如圖5所示,在一個實施例中,該基於移動終端的語音數據索引建立方法還包括檢索語音數據的步驟,用於從根據上述任意一實施例的基於移動終端的語音數據索引建立方法而建立了索引的語音資料庫中檢索語音數據。索引資料庫中包括至少一個語音數據,且每個語音數據都建立了索引,索引資料庫包括語音數據和相應的索引數據的對應關係,索引數據可以包括文本序列和其所對應的置信度。語音資料庫還可以包括語音數據所攜帶的該語音數據的相關信息。該檢索語音數據的步驟包括以下步驟:
步驟502,獲取輸入的關鍵字。
檢索語音數據的過程,是指輸入關鍵字從而檢索到包括該關鍵字的語音數據的過程。移動終端可提供輸入界面,獲取用戶在輸入界面中輸入的關鍵字。
步驟504,根據已建立的索引查找包含關鍵字的第一類型的索引數據。
當用戶輸入的關鍵字為多個時,則移動終端可對多個關鍵字進行邏輯組合,具體地,進行和、或的組合。比如用戶輸入兩個關鍵字,分別為“今天”、“開會”,則可根據已建立的索引從語音資料庫中查找同時包括“今天”和“開會”兩個關鍵字的索引數據,還可以分別以“今天”或者是“開會”為關鍵字分別查找索引數據。移動終端先從語音資料庫中第一類型的索引數據中查找是否存在包含關鍵字的索引數據。
步驟506,判斷是否查找到包含關鍵字的第一類型的索引數據。若是則執行步驟508,若否則執行步驟510。
移動終端通過判斷是否查找到包含關鍵字的第一類型的索引數據,從而執行不同的處理步驟。
步驟508,獲取查找到的第一類型的索引數據所對應的語音數據。
當查找到包含關鍵字的第一類型的索引數據時,則可從移動終端本地的語音資料庫中獲取該索引數據所對應的語音數據。
步驟510,繼續根據已建立的索引查找包含關鍵字的第二類型的索引數據。
當未查找到包含關鍵字的第二類型的索引數據時,則繼續根據已建立的索引從語音資料庫中查找包含該關鍵字的第二類型的索引數據。這樣雖然未查找到較高精確度的索引數據,但可以檢索精確度較低的索引數據,從而可實現對語音數據進行粗略的檢索。
步驟512,判斷是否查找到包含關鍵字的第二類型的索引數據。若是則執行步驟514,若否則執行步驟518。
移動終端通過判斷是否查找到包含關鍵字的第二類型的索引數據,從而執行不同的處理步驟。
步驟514,獲取查找到的第二類型的索引數據所對應的語音數據。
當查找到包含關鍵字的第二類型的索引數據時,則可從移動終端本地的語音資料庫中獲取該索引數據所對應的語音數據。
步驟516,將獲取到的語音數據作為檢索到的語音數據輸出。
將獲取到的上述查找到的第一類型的索引數據所對應的語音數據,和/或獲取到的上述查找到的第二類型的索引數據所對應的語音數據作為檢索到的語音數據輸出,以完成語音數據的檢索。具體地,移動終端還可以預設的形式顯示獲取到的語音數據所攜帶的相關信息,比如顯示獲取到的語音數據的名稱、錄製時間等,還可以顯示查找到的語音數據的數量。
步驟518,結束流程。
當未檢索到包含關鍵字的第二類型的索引數據時,說明移動終端本地不存在包含關鍵字的語音內容的語音數據,可結束流程,並可顯示表示未查找到語音內容包括上述關鍵字的語音數據的提示。
該實施例中,先查找第一類型的索引數據,這樣可以優先輸出高精確度的第一索引數據所對應的語音數據,以保證語音數據檢索的準確性。而當查找不到第一類型的索引數據時,再查找第二類型的索引數據,這樣雖然第二類型的索引數據精確度不如第一類型的索引數據,但也可以實現語音數據檢索,優先滿足語音數據檢索的需求,保證語音數據檢索可以正常進行。
在一個實施例中,語音資料庫中的索引數據包括置信度;該基於移動終端的語音數據索引建立方法還包括:獲取檢索到的多個語音數據各自對應的置信度,根據獲取的置信度確定獲取的置信度所對應的語音數據的信息顯示順序,並根據信息顯示順序來顯示檢索到的多個語音數據的相關信息。
具體地,語音資料庫中的每條語音數據所對應的索引數據包括文本序列和其所對應的置信度,表示該語音數據被識別為該文本序列的可靠程度。上述查找到的語音數據為多個,此時獲取檢索到的多個語音數據各自對應的置信度,並根據該獲取的置信度來確定獲取的置信度所對應的語音數據的信息顯示順序,比如按照置信度由高到低的順序確定獲取的置信度所對應的語音數據的信息顯示順序,或者當存在多個關鍵字時,可根據多個關鍵字各自查找到的語音數據所對應的置信度計算綜合得分,並可以得分由高到低的順序來確定獲取的置信度所對應的語音數據的信息顯示順序。
信息顯示順序是指獲取到的多個索引數據的相關信息的先後排列順序。比如可按行顯示獲取到的多個索引數據的相關信息,每行為一條記錄,每條記錄可包括索引數據的文字序列和/或該文字序列對應的置信度,每條記錄還可以包括相應的語音數據的相關信息,比如檔案名稱稱、錄製時間、來電號碼等等。
在一個實施例中還可以接收對顯示的相關信息的選擇指令,根據選擇指令選定該相關信息對應的語音數據,並執行對該選定的語音數據的預設操作;比如可播放該語音數據。還可以記錄接收的選擇指令,並根據記錄的選擇指令來調整語音數據所對應的置信度,以通過動態調整置信度來提高檢索精確度。
下面用一個具體套用場景來說明上述基於移動終端的語音數據索引建立方法的原理,該套用場景以上述基於移動終端的語音數據索引建立方法套用於一種語音數據綜合檢索系統來進行說明。
如圖6所示,語音數據綜合檢索系統600運行於移動終端上,包括基於移動終端的語音數據索引建立系統610和語音數據檢索系統620。其中基於移動終端的語音數據索引建立系統610用於執行上述基於移動終端的語音數據索引建立方法,語音數據檢索系統620用於執行上述檢索語音數據的步驟。第一索引生成器運行於指定計算機上,第二、第三索引生成器運行於移動終端上。第二索引生成器和第三索引生成器可以屬於基於移動終端的語音數據索引建立系統610,也可以是單獨運行的可調用的模組。基於移動終端的語音數據索引建立系統610包括採集模組612、預處理模組614、語音資料庫616和索引生成模式選擇器618。語音資料庫616包括對應存儲的語音數據和索引數據。語音數據檢索系統620包括檢索模組622和檢索結果處理模組624。
具體地,採集模組612用於採集語音數據,比如錄音或從其它設備或移動終端上的預設路徑拷貝語音數據。預處理模組614用於對採集的語音數據進行預處理,包括將採集的語音數據轉化為統一形式,並從該語音數據中提取語音特徵序列。預處理後的語音數據保存在語音資料庫616中。
索引生成模式選擇器618用於檢測移動終端是否具有通過預設連線方式來連線到指定計算機的條件,當具有條件時,通過預設連線方式連線到該指定計算機,將語音資料庫中的待處理的語音數據或該語音數據的語音特徵序列傳送給指定計算機,使得該指定計算機利用指定計算機上的第一索引生成器來生成第一類型的第一索引數據。索引生成模式選擇器618還用於從該指定計算機獲取第一索引數據並在語音資料庫606中與待處理的語音數據對應存儲,以建立該語音數據的索引。
索引生成模式選擇器618還用於當移動終端不具有通過預設連線方式連線到指定計算機的條件時,判斷移動終端是否連線到外接電源。若連線到外接電源,索引生成模式選擇器618用於將待處理語音數據或者語音特徵序列輸入位於本地的第二索引生成器來生成第一類型的第二索引數據,在語音資料庫606中與待處理的語音數據對應存儲,以建立該語音數據的索引。若未連線到外接電源,則索引生成模式選擇器618用於將待處理語音數據或者語音特徵序列輸入位於本地的第三索引生成器來生成第二類型的第三索引數據,在語音資料庫606中與待處理的語音數據對應存儲,以建立該語音數據的索引。
索引生成模式選擇器618還用於檢測語音資料庫616中是否存在對應第二類型的索引數據的欠處理語音數據,若存在則將欠處理語音數據或從欠處理語音數據提取出的語音特徵序列傳送給指定計算機,使指定計算機將欠處理語音數據或從欠處理語音數據提取出的語音特徵序列輸入位於指定計算機上的第一索引生成器來生成第一類型的第四索引數據。索引生成模式選擇器618還用於從指定計算機獲取第四索引數據,並根據第四索引數據來更新語音資料庫616中的欠處理語音數據的索引。
檢索模組622用於獲取輸入的關鍵字,從語音資料庫中查找包含關鍵字的第一類型的索引數據,當查找到時,獲取查找到的第一類型的索引數據所對應的語音數據。檢索模組622用於當未查找到第一類型的索引數據時,繼續從語音資料庫中查找包含關鍵字的第二類型的索引數據,當查找到時,獲取查找到的第二類型的索引數據所對應的語音數據。檢索模組622用於將獲取到的語音數據作為檢索到的語音數據輸出給檢索結果處理模組624。
其中語音資料庫616中的索引數據包括置信度,檢索結果處理模組624用於獲取檢索到的多個語音數據各自對應的置信度,根據獲取的置信度確定獲取的置信度所對應的語音數據的信息顯示順序,並根據信息顯示順序來顯示檢索到的多個語音數據的相關信息。
如圖7所示,在一個實施例中,提供了一種基於移動終端的語音數據索引建立系統,包括:條件檢測模組702和第一索引建立模組704,還包括第二索引建立模組706和/或第三索引建立模組708,且對於同一待處理語音數據由第二索引建立模組706和第三索引建立模組708二者擇一進行處理。
條件檢測模組702,用於檢測是否具有通過預設連線方式來連線到指定計算機的條件。
預設連線方式包括網路連線方式和點對點連線方式中的至少一種。網路連線可以是網際網路連線,也可以是區域網路連線;點對點連線可以是USB連線,基於近場無線通信技術的連線,無線USB連線等。指定計算機具有比移動終端高的計算能力,而且指定計算機用電通常由市電直接供電,不需要考慮耗電問題。因此優先嘗試連線到指定計算機,藉助指定計算機來建立索引。
條件檢測模組702用於檢測是否具有通過預設連線方式來連線到指定計算機的條件,具體地,可以用於檢測是否通過網際網路連線了指定計算機,通過網際網路連線指定計算機時通信數據可以通過伺服器中轉。條件檢測模組702也可以用於檢測是否通過區域網路連線了指定計算機;或者可以用於檢測是否通過點對點連線方式連線了指定計算機。
指定計算機是事先設定的受信任的計算機,比如用戶的個人計算機,而不是雲端伺服器,這樣移動終端和計算機均屬於用戶,數據處理均在用戶自己的終端上,從而可以有效避免涉及用戶隱私的語音數據被泄露。
第一索引建立模組704,用於若具有條件,則通過預設連線方式連線到指定計算機,將待處理語音數據或者從待處理語音數據中提取的語音特徵序列傳送給指定計算機,使指定計算機將待處理語音數據或者語音特徵序列輸入位於指定計算機上的第一索引生成器來生成第一類型的第一索引數據;從指定計算機獲取第一索引數據並根據第一索引數據建立待處理語音數據的索引。
索引生成器用於根據輸入的語音數據輸出相應的索引數據,典型的索引生成器可使用語音識別技術來實現,輸出相應的文本序列,以及文本序列中各個文本單元的時間標記。待處理語音數據是指需要建立索引的語音數據,待處理語音數據可以是本地生成的語音數據,比如通話錄音,也可以是從其他設備上拷貝的語音數據。待處理語音數據還可以攜帶有與待處理語音數據相關的信息,比如檔案名稱稱、錄製時間、檔案生成時間、錄製地點等,若待處理語音數據為通話錄音,則待處理語音數據還可以攜帶有來電號碼等與通話相關的信息。待處理語音數據和這些與待處理語音數據相關的信息在本地對應存儲。
索引生成器包括解碼器、聲學模型和語言模型。解碼器用於接收語音數據,結合聲學模型和語言模型尋找能夠以最大機率輸出的文本序列。聲學模型可採用一階隱馬爾科夫模型進行建模,語言模型可以用於描述給定詞序列在語言中出現的機率的分布。其中索引生成器的輸入可以是語音數據本身,或者是從語音數據中提取出的語音特徵序列。當然由於語音識別存在一定的模糊性和出錯的可能,因此索引生成器輸出的文本序列可能包含一些近似的內容。
當具有通過預設連線方式來連線到指定計算機的條件時,則連線到該指定計算機,從而第一索引建立模組704用於將待處理語音數據傳送給該指定計算機,使得該指定計算機利用指定計算機上預設的第一索引生成器,來識別待處理語音數據,從而生成第一類型的第一索引數據。第一索引建立模組704用於獲取指定計算機上的該第一索引數據,具體可通過下載方式獲取第一索引數據,然後根據該第一索引數據在本地建立待處理語音數據的索引。
當第一索引建立模組704用於通過網際網路中伺服器的中轉而將待處理語音數據間接地傳送給指定計算機時,或者當用於通過區域網路將待處理語音數據傳送給指定計算機時,第一索引建立模組704可用於對傳送的語音數據進行加密,也可以用於使指定計算機對返回的索引數據進行加密,以防止語音數據被泄露,從而充分保障用戶語音數據的安全。
索引是用於在語音數據檢索時快速查找語音內容的一種數據結構,體現的是語音數據與相應的索引數據的對應關係;其中語音內容是指語音數據中通過聲音形式表示的語言信息。索引的數據組織結構可為2014年4月前已有的任意索引結構,在這裡不做限定。每個文本序列對應一個置信度,用於表示相應的文本序列的可信程度。這樣索引數據包括文本序列,還可以包括文本序列對應的時間標記和置信度。
第二索引建立模組706,用於若不具有條件,則將待處理語音數據或者語音特徵序列輸入位於本地的第二索引生成器來生成第一類型的第二索引數據,並根據第二索引數據來建立待處理語音數據的索引。
第三索引建立模組708,用於若不具有條件,則將待處理語音數據或者語音特徵序列輸入位於本地的第三索引生成器來生成第二類型的第三索引數據,並根據第三索引數據來建立待處理語音數據的索引。
第二索引建立模組706和第三索引建立模組708用於當不具有連線到指定計算機的條件時,利用本地資源來建立索引。具體地,第二索引建立模組706可用於使用位於本地的第二索引生成器來生成第一類型的第二索引數據,然後用於根據該第二索引數據來建立待處理語音數據的索引。第三索引建立模組708可用於使用位於本地的第三索引生成器來生成第二類型的第三索引數據,然後用於根據該第三索引數據來建立待處理語音數據的索引。
其中,對於相同的語音數據,通過第一索引生成器來生成索引數據所需的資源量高於通過第二索引生成器來生成索引數據所需的資源量,通過第二索引生成器來生成索引數據所需的資源量高於通過第三索引生成器來生成索引數據所需的資源量。對於相同的語音數據,據其生成的第一類型的索引數據的精確度高於據其生成的第二類型的索引數據的精確度。對於相同的語音數據,據其而生成的索引的精確度與採用何種索引生成器和索引的類型相關。
第一、第二以及第三索引生成器生成索引所需的資源量與其聲學模型和語言模型直接相關。具體地,第一索引生成器具有最大等級的聲學模型和語言模型,在處理的時候運算量很大。第一索引生成器位於指定計算機上,具有較大的運算能力(相對移動設備而言)。所生成的第一類型的索引數據最精確。典型的第一索引生成器的聲學模型超過100兆位元組,語言模型超過1千兆位元組,若指定計算機採用2千兆赫茲以上的雙核CPU,調用第一索引生成器運算的時候CPU(雙核)的占用率可能達70%以上,當然也最耗能。
第二索引生成器具有中等等級的聲學模型和語言模型,調用第二索引生成器運算的時候運算量中等。第二索引生成器位於本地,所生成的第一類型的索引中等精確。典型的第二索引生成器的聲學模型為20兆位元組,語言模型為100兆位元組,1千兆赫茲以上的ARM(一種中央處理器的類型)的CPU,運算時時兩個核占用率超過50%,耗電能力中等。
第三索引生成器具有最小等級的聲學模型和語言模型,在處理的時候運算量最小。第三索引生成器位於本地,其所生成的第二類型的索引精確最差。典型的第三索引生成器的聲學模型為5兆位元組,語言模型為5兆位元組,ARM的CPU運行在500兆赫茲,運算時時單個核占用率超過50%,也最為省電。
第一類型的索引數據和第二類型的索引數據的區別在於精確度的不同,可採用不同的表現形式。在一個實施例中,第一類型的索引數據可以以字或詞為單位,第二類型的索引數據可以以音節為單位。比如若語音數據的語音內容為“今天天氣很好”,那么第一索引數據可為“今天天氣很好”,而第二類型的索引數據可為“jintianqihenhao”,這樣第一類型的索引數據的精確度要高於第二類型的索引數據的精確度。一段語音數據,如果可能將儘量生成第一索引類型,這樣檢索的時候更為精確,但是需要較大的運算量。
上述基於移動終端的語音數據索引建立系統,當可以連線到指定計算機時,使用指定計算機上的第一索引生成器來生成第一類型的第一索引數據,從而據之在本地建立待處理語音數據的索引。當不可以連線到指定計算機時,則使用本地的第二索引生成器來生成第一類型的第二索引數據,或者是使用本地的第三索引生成器來生成第二類型的第三索引數據,從而建立待處理語音數據的索引。
這樣由於通常指定計算機的運算能力浪費嚴重,計算資源沒有得到有效利用,而優先依靠指定計算機強大的計算能力來生成索引,可以有效利用指定計算機的計算資源來高效地生成索引,可以有效節省移動終端的電能,且由於指定計算機是受信任的計算機,不會泄露用戶隱私。當無法使用指定計算機生成索引時,也可以使用本地資源來生成索引,從而保證建立索引的工作不被中斷。進一步地,若生成不同類型的索引數據,則可以在無法使用指定計算機生成高精確度的索引數據時,則本地生成臨時的低精確度的索引數據,以高效建立待處理語音數據的索引,優先滿足語音檢索的需求,保證語音數據檢索可以正常進行,而且可以節省移動終端的電能。
在一個實施例中,該基於移動終端的語音數據索引建立方法還包括預處理模組,用於將待處理語音數據進行預處理。具體地,可用於將待處理語音數據轉化為統一形式,還可以對待處理語音數據進行特徵提取,以獲得相應的語音特徵序列。
在一個實施例中,為了提高檢索速度,建立的待處理數據的索引可以採用反向索引,或者可稱為倒排索引。
在一個實施例中,該基於移動終端的語音數據索引建立系統還包括第一判斷模組705,用於若不具有條件,則判斷當前是否連線到外接電源或者判斷是否連線到非指定計算機。
第二索引建立模組706,用於若連線到外接電源或者連線到非指定計算機,則將待處理語音數據或者語音特徵序列輸入位於本地的第二索引生成器來生成第一類型的第二索引數據,並根據第二索引數據來建立待處理語音數據的索引。
第三索引建立模組708,用於若未連線到外接電源或者未連線到非指定計算機,則將待處理語音數據或者語音特徵序列輸入位於本地的第三索引生成器來生成第二類型的第三索引數據,並根據第三索引數據來建立待處理語音數據的索引。
非指定計算機是指不是上述指定計算機的計算機,非指定計算機是不受信任或者無法判斷是否受信任的計算機。該實施例中,通過判斷是否連線外接電源或者是否連線到非指定計算機,從而根據判斷結果來採用不同的索引生成器來生成索引數據,並建立索引,從而實現移動終端耗電量和檢索精確度的巧妙權衡。
在一個實施例中,第一索引建立模組704包括:第二判斷模組704a、索引數據生成執行模組704b和索引更新模組704c。
第二判斷模組704a,用於判斷本地是否存在對應第二類型的索引數據的欠處理語音數據。
由於在未連線外接電源而使用電池的情況下,會使用第三索引生成器來生成第二類型的索引,這樣生成的索引精確度不夠,可用於建立臨時的索引。為了提高檢索精確度,可在連線到指定計算機時,判斷本地是否存在對應第二類型的索引數據的語音數據,將該語音數據稱為欠處理語音數據。
索引數據生成執行模組704b,用於當第二判斷模組判斷為是時,將欠處理語音數據或從欠處理語音數據提取出的語音特徵序列傳送給指定計算機,使指定計算機將欠處理語音數據或從欠處理語音數據提取出的語音特徵序列輸入位於指定計算機上的第一索引生成器來生成第一類型的第四索引數據。
與通過指定計算機來生成待處理數據的索引數據的過程相同,索引數據生成執行模組704b用於將欠處理語音數據或者從該欠處理語音數據中提取出的語音特徵序列傳送給指定計算機,該語音特徵序列與上述待處理數據的語音特徵序列形式一致,可以是生成該語音數據的第二類型的索引數據時所使用並存儲的語音特徵序列。指定計算機將欠處理語音數據或者從欠處理語音數據中提取出的語音特徵序列輸入位於指定計算機上的第一索引生成器來生成第一類型的第四索引數據。該第四索引數據的精確度高於本地當前該欠處理語音數據所對應的索引數據的精確度。
索引更新模組704c,用於從指定計算機獲取第四索引數據,並根據第四索引數據來更新欠處理語音數據的索引。
索引更新模組704c可用於根據第四索引數據來更新欠處理語音數據的索引,具體地,可用於將欠處理語音數據對應的第二類型的索引數據刪除,並建立欠處理語音數據與第一類型的第四索引數據的對應關係。
當待處理數據均已建立索引成為已處理數據,欠處理數據也已經更新索引成為已處理數據,此時可使得第一索引生成器和/或第二索引生成器和/或第三索引生成器進入休眠狀態,減少對計算資源以及電能的消耗。
該實施例中,在連線到指定計算機的情況下,通過對臨時獲得的欠處理語音數據的索引數據進行再次處理,以提高該欠處理語音數據的索引數據的精確度,從而可以提高檢索語音數據的準確度。
在一個實施例中,該基於移動終端的語音數據索引建立系統還包括語音數據檢索模組710,用於從根據上述任一實施例的基於移動終端的語音數據索引建立系統而建立了索引的語音資料庫中檢索語音數據。索引資料庫中包括至少一個語音數據,且每個語音數據都建立了索引,索引資料庫包括語音數據和相應的索引數據的對應關係,索引數據可以包括文本序列和其所對應的置信度。語音資料庫還可以包括語音數據所攜帶的該語音數據的相關信息。該語音數據檢索模組包括:關鍵字獲取模組710a、第一查找模組710b、第二查找模組710c和檢索結果輸出模組710d。
關鍵字獲取模組710a,用於獲取輸入的關鍵字。
檢索語音數據的過程,是指輸入關鍵字從而檢索到包括該關鍵字的語音數據的過程。關鍵字獲取模組710a可用於提供輸入界面,獲取用戶在輸入界面中輸入的關鍵字。
第一查找模組710b,用於根據已建立的索引查找包含關鍵字的第一類型的索引數據,當查找到時,獲取查找到的第一類型的索引數據所對應的語音數據。
當用戶輸入的關鍵字為多個時,則第一查找模組710b可用於對多個關鍵字進行邏輯組合,具體地,進行和、或的組合。比如用戶輸入兩個關鍵字,分別為“今天”、“開會”,則可從語音資料庫中查找同時包括“今天”和“開會”兩個關鍵字的索引數據,還可以分別以“今天”或者是“開會”為關鍵字分別查找索引數據。第一查找模組710b用於先從語音資料庫中第一類型的索引數據中查找是否存在包含關鍵字的索引數據。當查找到包含關鍵字的第一類型的索引數據時,則第一查找模組710b可用於從本地的語音資料庫中獲取該索引數據所對應的語音數據。
第二查找模組710c,用於當未查找到第一類型的索引數據時,繼續根據已建立的索引查找包含關鍵字的第二類型的索引數據,當查找到時,獲取查找到的第二類型的索引數據所對應的語音數據。
當未查找到包含關鍵字的第二類型的索引數據時,則第二查找模組710c用於繼續從語音資料庫中查找包含該關鍵字的第二類型的索引數據。這樣雖然未查找到較高精確度的索引數據,但可以檢索精確度較低的索引數據,從而可實現對語音數據進行粗略的檢索。當查找到包含關鍵字的第二類型的索引數據時,則第二查找模組710c可用於從本地的語音資料庫中獲取該索引數據所對應的語音數據。
檢索結果輸出模組710d,用於將獲取到的語音數據作為檢索到的語音數據輸出。
檢索結果輸出模組710d將獲取到的上述查找到的第一類型的索引數據所對應的語音數據,和/或獲取到的上述查找到的第二類型的索引數據所對應的語音數據作為檢索到的語音數據輸出,以完成語音數據的檢索。具體地,檢索結果輸出模組710d還可用於以預設的形式顯示獲取到的語音數據所攜帶的相關信息,比如顯示獲取到的語音數據的名稱、錄製時間等,還可以顯示查找到的語音數據的數量。
該實施例中,先查找第一類型的索引數據,這樣可以優先輸出高精確度的第一索引數據所對應的語音數據,以保證語音數據檢索的準確性。而當查找不到第一類型的索引數據時,再查找第二類型的索引數據,這樣雖然第二類型的索引數據精確度不如第一類型的索引數據,但也可以實現語音數據檢索,優先滿足語音數據檢索的需求,保證語音數據檢索可以正常進行。
在一個實施例中,語音資料庫中的索引數據包括置信度;該基於移動終端的語音數據索引建立系統還包括檢索結果處理模組710e,用於獲取檢索到的多個語音數據各自對應的置信度,根據獲取的置信度確定獲取的置信度所對應的語音數據的信息顯示順序,並根據信息顯示順序來顯示檢索到的多個語音數據的相關信息。
具體地,語音資料庫中的每條語音數據所對應的索引數據包括文本序列和其所對應的置信度,表示該語音數據被識別為該文本序列的可靠程度。上述查找到的語音數據為多個,此時檢索結果處理模組710e用於獲取檢索多個語音數據各自對應的置信度,並根據該獲取的置信度來確定獲取的置信度所對應的語音數據的信息顯示順序,比如按照置信度由高到低的順序確定獲取的置信度所對應的語音數據的信息顯示順序,或者當存在多個關鍵字時,可根據多個關鍵字各自查找到的語音數據所對應的置信度計算綜合得分,並可以得分由高到低的順序來確定獲取的置信度所對應的語音數據的信息顯示順序。
信息顯示順序是指獲取到的多個索引數據的相關信息的先後排列順序。比如可按行顯示獲取到的多個索引數據的相關信息,每行為一條記錄,每條記錄可包括索引數據的文字序列和/或該文字序列對應的置信度,每條記錄還可以包括相應的語音數據的相關信息,比如檔案名稱稱、錄製時間、來電號碼等等。
在《基於移動終端的語音數據索引建立方法和系統》一個實施例中檢索結果處理模組710e還可以用於接收對顯示的相關信息的選擇指令,根據選擇指令選定該相關信息對應的語音數據,並執行對該選定的語音數據的預設操作;比如可播放該語音數據。檢索結果處理模組710e還可以用於記錄接收的選擇指令,並根據記錄的選擇指令來調整語音數據所對應的置信度,以通過動態調整置信度來提高檢索精確度。

專利榮譽

2021年6月24日,《基於移動終端的語音數據索引建立方法和系統》獲得第二十二屆中國專利優秀獎。
一種基於移動終端的語音數據索引建立系統,所述系統包括條件檢測模組和第一索引建立模組;所述條件檢測模組,用於檢測是否具有通過預設連線方式來連線到指定計算機的條件;所述第一索引建立模組,用於若具有所述條件,則通過所述預設連線方式連線到所述指定計算機,將待處理語音數據或者從待處理語音數據中提取的語音特徵序列傳送給所述指定計算機,使所述指定計算機將所述待處理語音數據或者所述語音特徵序列輸入位於所述指定計算機上的第一索引生成器來生成第一類型的第一索引數據;從所述指定計算機獲取所述第一索引數據並根據所述第一索引數據建立所述待處理語音數據的索引;所述系統還包括第二索引建立模組,用於若不具有所述條件,則將所述待處理語音數據或者所述語音特徵序列輸入位於本地的第二索引生成器來生成第一類型的第二索引數據,並根據所述第二索引數據來建立所述待處理語音數據的索引;或者,所述系統還包括第三索引建立模組,用於將所述待處理語音數據或者所述語音特徵序列輸入位於本地的第三索引生成器來生成第二類型的第三索引數據,並根據所述第三索引數據來建立所述待處理語音數據的索引。

改善效果

《基於移動終端的語音數據索引建立方法和系統》當移動終端可以連線到指定計算機時,使用指定計算機上的第一索引生成器來生成第一類型的第一索引數據,從而根據所述第一索引數據在本地建立待處理語音數據的索引。當移動終端不可以連線到指定計算機時,則使用本地的第二索引生成器來生成第一類型的第二索引數據,或者是使用本地的第三索引生成器來生成第二類型的第三索引數據,從而建立待處理語音數據的索引。
這樣由於通常計算機的運算能力浪費嚴重,計算資源沒有得到有效利用,而優先依靠指定計算機強大的計算能力來生成索引,可以有效利用指定計算機的計算資源來高效地生成索引,可以有效節省移動終端的電能,且由於指定計算機是受信任的計算機,不會泄露用戶隱私。當無法使用指定計算機生成索引時,也可以使用移動終端的本地資源來生成索引,從而保證建立索引的工作不被中斷。進一步地,若使用指定計算機和使用移動終端來分別生成不同類型的索引數據,則可以在無法使用指定計算機生成高精確度的索引數據時,則本地生成臨時的低精確度的索引數據,以高效建立待處理語音數據的索引,優先滿足語音檢索的需求,保證語音數據檢索可以正常進行。

附圖說明

圖1為一個實施例中基於移動終端的語音數據索引建立方法的流程示意圖;
圖2為一個實施例中索引生成器的組成結構示意圖;
圖3為一個實施例中根據當前是否連線到外接電源或非指定計算機的判斷結果,來分別採用第二索引生成器或者第三索引生成器來建立索引的步驟的流程示意圖;
圖4為一個實施例中欠處理語音數據重新建立索引的步驟的流程示意圖;
圖5為一個實施例中檢索語音數據的步驟的流程示意圖;
圖6為一個實施例中語音數據綜合檢索系統的結構框圖;
圖7為一個實施例中基於移動終端的語音數據索引建立系統的結構框圖。

技術領域

《基於移動終端的語音數據索引建立方法和系統》涉及語音處理技術領域,特別是涉及一種基於移動終端的語音數據索引建立方法和系統。

權利要求

1.一種基於移動終端的語音數據索引建立方法,所述方法包括:檢測是否具有通過預設連線方式來連線到指定計算機的條件;指定計算機是事先設定的受信任的個人計算機;若具有所述條件,則通過所述預設連線方式連線到所述指定計算機,將待處理語音數據或者從待處理語音數據中提取的語音特徵序列傳送給所述指定計算機,使所述指定計算機將所述待處理語音數據或者所述語音特徵序列輸入位於所述指定計算機上的第一索引生成器來生成第一類型的第一索引數據;從所述指定計算機獲取所述第一索引數據並根據所述第一索引數據建立所述待處理語音數據的索引;若不具有所述條件,則判斷當前是否連線到外接電源或者判斷當前是否連線到非指定計算機;若連線到外接電源或者連線到非指定計算機,則將所述待處理語音數據或者所述語音特徵序列輸入位於本地的第二索引生成器來生成第一類型的第二索引數據,並根據所述第二索引數據來建立所述待處理語音數據的索引;若未連線到外接電源或者未連線到非指定計算機,則將所述待處理語音數據或者所述語音特徵序列輸入位於本地的第三索引生成器來生成第二類型的第三索引數據,並根據所述第三索引數據來建立所述待處理語音數據的索引。
2.根據權利要求1所述的方法,其特徵在於,所述通過所述預設連線方式連線到所述指定計算機之後,還包括:判斷本地是否存在對應第二類型的索引數據的欠處理語音數據,若是,則將所述欠處理語音數據或從所述欠處理語音數據提取出的語音特徵序列傳送給所述指定計算機,使所述指定計算機將所述欠處理語音數據或從所述欠處理語音數據提取出的語音特徵序列輸入位於所述指定計算機上的第一索引生成器來生成第一類型的第四索引數據;從所述指定計算機獲取所述第四索引數據,並根據所述第四索引數據來更新所述欠處理語音數據的索引。
3.根據權利要求1所述的方法,其特徵在於,所述預設連線方式包括網路連線方式和點對點連線方式中的至少一種。
4.根據權利要求1至3任意一項所述的方法,其特徵在於,所述方法還包括檢索語音數據的步驟,包括:獲取輸入的關鍵字;根據已建立的索引查找包含所述關鍵字的第一類型的索引數據,當查找到時,獲取所述查找到的第一類型的索引數據所對應的語音數據;當未查找到所述第一類型的索引數據時,繼續根據已建立的索引查找包含所述關鍵字的第二類型的索引數據,當查找到時,獲取查找到的第二類型的索引數據所對應的語音數據;將獲取到的語音數據作為檢索到的語音數據輸出。
5.一種基於移動終端的語音數據索引建立系統,其特徵在於,所述系統包括條件檢測模組和第一索引建立模組;指定計算機是事先設定的受信任的個人計算機;所述條件檢測模組,用於檢測是否具有通過預設連線方式來連線到指定計算機的條件;所述第一索引建立模組,用於若具有所述條件,則通過所述預設連線方式連線到所述指定計算機,將待處理語音數據或者從待處理語音數據中提取的語音特徵序列傳送給所述指定計算機,使所述指定計算機將所述待處理語音數據或者所述語音特徵序列輸入位於所述指定計算機上的第一索引生成器來生成第一類型的第一索引數據;從所述指定計算機獲取所述第一索引數據並根據所述第一索引數據建立所述待處理語音數據的索引;所述系統還包括第一判斷模組,用於若不具有所述條件,則判斷當前是否連線到外接電源或者判斷當前是否連線到非指定計算機;所述系統還包括第二索引建立模組用於若連線到外接電源或者連線到非指定計算機,則將所述待處理語音數據或者所述語音特徵序列輸入位於本地的第二索引生成器來生成第一類型的第二索引數據,並根據所述第二索引數據來建立所述待處理語音數據的索引;所述系統還包括第三索引建立模組用於若未連線到外接電源或者未連線到非指定計算機,則將所述待處理語音數據或者所述語音特徵序列輸入位於本地的第三索引生成器來生成第二類型的第三索引數據,並根據所述第三索引數據來建立所述待處理語音數據的索引。
6.根據權利要求5所述的系統,其特徵在於,所述第一索引建立模組包括:第二判斷模組,用於判斷本地是否存在對應第二類型的索引數據的欠處理語音數據;索引數據生成執行模組,用於當所述第二判斷模組判斷為是時,將所述欠處理語音數據或從所述欠處理語音數據提取出的語音特徵序列傳送給所述指定計算機,使所述指定計算機將所述欠處理語音數據或從所述欠處理語音數據提取出的語音特徵序列輸入位於所述指定計算機上的第一索引生成器來生成第一類型的第四索引數據;索引更新模組,用於從所述指定計算機獲取所述第四索引數據,並根據所述第四索引數據來更新所述欠處理語音數據的索引。
7.根據權利要求5所述的系統,其特徵在於,所述預設連線方式包括網路連線方式和點對點連線方式中的至少一種。
8.根據權利要求5至7任意一項所述的系統,其特徵在於,所述系統還包括語音數據檢索模組,包括:關鍵字獲取模組,用於獲取輸入的關鍵字;第一查找模組,用於從語音資料庫中查找包含所述關鍵字的第一類型的索引數據,當查找到時,獲取所述查找到的第一類型的索引數據所對應的語音數據;第二查找模組,用於當未查找到第一類型的索引數據時,繼續從所述語音資料庫中查找包含所述關鍵字的第二類型的索引數據,當查找到時,獲取查找到的第二類型的索引數據所對應的語音數據;檢索結果輸出模組,用於將獲取到的語音數據作為檢索到的語音數據輸出。

實施方式

如圖1所示,在《基於移動終端的語音數據索引建立方法和系統》一個實施例中,提供了一種基於移動終端的語音數據索引建立方法。該方法套用於移動終端,移動終端包括但不限於智慧型手機、平板電腦、個人數字助理等可與計算機連線的設備。該方法具體包括以下步驟:
步驟102,檢測是否具有通過預設連線方式來連線到指定計算機的條件。若具有條件,則執行步驟104;若不具有條件,則執行步驟106。
預設連線方式包括網路連線方式和點對點連線方式中的至少一種。網路連線可以是網際網路連線,也可以是區域網路連線;點對點連線可以是USB(Universal Serial Bus,通用串列匯流排)連線,基於近場無線通信技術(NFC)的連線,無線USB(WUSB)連線等。指定計算機具有比移動終端高的計算能力,這主要是由於計算機的CPU(中央處理器)與移動終端相比更為出色,CPU設計時通常不必考慮硬體體積的因素。而且計算機用電通常由市電直接供電,不需要考慮耗電問題。因此移動終端優先嘗試連線到指定計算機,藉助指定計算機來建立索引。
移動終端檢測是否具有通過預設連線方式來連線到指定計算機的條件,具體地,可以是檢測移動終端是否通過網際網路連線了指定計算機,移動終端通過網際網路連線指定計算機可以通過伺服器的中轉;也可以是檢測移動終端是否通過區域網路連線了指定計算機;或者可以是檢測移動終端是否通過點對點連線方式連線了指定計算機。
指定計算機是事先設定的受信任的計算機,比如用戶的個人計算機,而不是雲端伺服器,這樣移動終端和計算機均屬於用戶,數據處理均在用戶自己的終端上,從而可以有效避免涉及用戶隱私的語音數據被泄露。可通過判斷待連線的計算機的計算機標識是否存在於受信任計算機標識列表中來判斷待連線計算機是否為指定計算機。
步驟104,通過預設連線方式連線到指定計算機,將待處理語音數據或者從待處理語音數據中提取的語音特徵序列傳送給指定計算機,使指定計算機將待處理語音數據或者語音特徵序列輸入位於指定計算機上的第一索引生成器來生成第一類型的第一索引數據;從指定計算機獲取第一索引數據並根據第一索引數據建立待處理語音數據的索引。
索引生成器用於根據輸入的語音數據輸出相應的索引數據,典型的索引生成器可使用語音識別技術來實現,輸出相應的文本序列,以及文本序列中各個文本單元(單個字或詞)的時間標記。待處理語音數據是指需要建立索引的語音數據,待處理語音數據可以是移動終端上生成的語音數據,比如通話錄音,也可以是從其他設備上拷貝的語音數據。待處理語音數據還可以攜帶有與待處理語音數據相關的信息,比如檔案名稱稱、錄製時間、檔案生成時間、錄製地點等,若待處理語音數據為通話錄音,則待處理語音數據還可以攜帶有來電號碼等與通話相關的信息。待處理語音數據和這些與待處理語音數據相關的信息在移動終端上對應存儲。
參考圖2中索引生成器(第一、第二以及第三索引生成器中的任意一種)的結構框圖,索引生成器包括解碼器、聲學模型和語言模型。解碼器用於接收語音數據,結合聲學模型和語言模型尋找能夠以最大機率輸出的文本序列。聲學模型可採用一階隱馬爾科夫模型(HMM)進行建模,語言模型可以用於描述給定詞序列在語言中出現的機率的分布。其中索引生成器的輸入可以是語音數據本身,或者是從語音數據中提取出的語音特徵序列。當然由於語音識別存在一定的模糊性和出錯的可能,因此索引生成器輸出的文本序列可能包含一些近似的內容。
步驟104中,指定計算機上預設了第一索引生成器,當移動終端具有通過預設連線方式來連線到指定計算機的條件時,則連線到該指定計算機,從而將待處理語音數據傳送給該指定計算機,使得該指定計算機利用指定計算機上預設的第一索引生成器,來識別待處理語音數據,從而生成第一類型的第一索引數據。移動終端獲取指定計算機上的該第一索引數據,具體可通過下載方式獲取第一索引數據,然後根據該第一索引數據在移動終端本地建立待處理語音數據的索引。
當移動終端通過網際網路中伺服器的中轉而將待處理語音數據間接地傳送給指定計算機時,或者當移動終端通過區域網路將待處理語音數據傳送給指定計算機時,可對傳送的語音數據進行加密,也可以使指定計算機對返回的索引數據進行加密,以防止語音數據被泄露,從而充分保障用戶語音數據的安全。
索引是用於在語音數據檢索時快速查找語音內容的一種數據結構,體現的是語音數據與相應的索引數據的對應關係;其中語音內容是指語音數據中通過聲音形式表示的語言信息。索引的數據組織結構可為2014年4月前已有的任意索引結構,在這裡不做限定。每個文本序列對應一個置信度,用於表示相應的文本序列的可信程度。這樣索引數據包括文本序列,還可以包括文本序列對應的時間標記和置信度。
步驟106,將待處理語音數據或者語音特徵序列輸入位於本地的第二索引生成器來生成第一類型的第二索引數據,並根據第二索引數據來建立待處理語音數據的索引;或者,將待處理語音數據或者語音特徵序列輸入位於本地的第三索引生成器來生成第二類型的第三索引數據,並根據第三索引數據來建立待處理語音數據的索引。
當移動終端不具有連線到指定計算機的條件時,此時無法利用指定計算機來生成索引數據,而需要依靠移動終端自身來建立索引。具體地,在一個實施例中,移動終端可使用位於移動終端本地的第二索引生成器來生成第一類型的第二索引數據,然後根據該第二索引數據來建立待處理語音數據的索引。在另一個實施例中,移動終端可使用位於移動終端本地的第三索引生成器來生成第二類型的第三索引數據,然後根據該第三索引數據來建立待處理語音數據的索引。
其中,對於相同的語音數據,通過第一索引生成器來生成索引數據所需的資源量高於通過第二索引生成器來生成索引數據所需的資源量,通過第二索引生成器來生成索引數據所需的資源量高於通過第三索引生成器來生成索引數據所需的資源量。對於相同的語音數據,據其生成的第一類型的索引數據的精確度高於據其生成的第二類型的索引數據的精確度。對於相同的語音數據,據其而生成的索引的精確度與採用何種索引生成器和索引的類型相關。
第一、第二以及第三索引生成器生成索引所需的資源量與其聲學模型和語言模型直接相關。具體地,第一索引生成器具有最大等級的聲學模型和語言模型,在處理的時候運算量很大。第一索引生成器位於指定計算機上,具有較大的運算能力(相對移動設備而言)。所生成的第一類型的索引數據最精確。典型的第一索引生成器的聲學模型超過100兆位元組,語言模型超過1千兆位元組,若指定計算機採用2千兆赫茲以上的雙核CPU,調用第一索引生成器運算的時候CPU(雙核)的占用率可能達70%以上,當然也最耗能。
第二索引生成器具有中等等級的聲學模型和語言模型,調用第二索引生成器運算的時候運算量中等。第二索引生成器位於移動終端,所生成的第一類型的索引中等精確。典型的第二索引生成器的聲學模型為20兆位元組,語言模型為100兆位元組,1千兆赫茲以上的ARM(一種中央處理器的類型)的CPU,運算時時兩個核占用率超過50%,耗電能力中等。
第三索引生成器具有最小等級的聲學模型和語言模型,在處理的時候運算量最小。第三索引生成器位於移動終端,其所生成的第二類型的索引精確最差。典型的第三索引生成器的聲學模型為5兆位元組,語言模型為5兆位元組,ARM的CPU運行在500兆赫茲,運算時時單個核占用率超過50%,也最為省電。
第一類型的索引數據和第二類型的索引數據的區別在於精確度的不同,可採用不同的表現形式。在一個實施例中,第一類型的索引數據可以以字或詞為單位,第二類型的索引數據可以以音節為單位。比如若語音數據的語音內容為“今天天氣很好”,那么第一索引數據可為“今天天氣很好”,而第二類型的索引數據可為“jintiantianqihenhao”,這樣第一類型的索引數據的精確度要高於第二類型的索引數據的精確度。一段語音數據,如果可能將儘量生成第一索引類型,這樣檢索的時候更為精確,但是需要較大的運算量。比如當使用指定計算機來生成索引時,一段1分鐘的語音數據可能需要運算30秒。
上述基於移動終端的語音數據索引建立方法,當移動終端可以連線到指定計算機時,使用指定計算機上的第一索引生成器來生成第一類型的第一索引數據,從而根據第一索引數據在本地建立待處理語音數據的索引。當移動終端不可以連線到指定計算機時,則使用本地的第二索引生成器來生成第一類型的第二索引數據,或者是使用本地的第三索引生成器來生成第二類型的第三索引數據,從而建立待處理語音數據的索引。
這樣由於通常指定計算機的運算能力浪費嚴重,計算資源沒有得到有效利用,而優先依靠指定計算機強大的計算能力來生成索引,可以有效利用指定計算機的計算資源來高效地生成索引,可以有效節省移動終端的電能,且由於指定計算機是受信任的計算機,不會泄露用戶隱私。當無法使用指定計算機生成索引時,也可以使用移動終端的本地資源來生成索引,從而保證建立索引的工作不被中斷。進一步地,若使用指定計算機和使用移動終端來分別生成不同類型的索引數據,則可以在無法使用指定計算機生成高精確度的索引數據時,則本地生成臨時的低精確度的索引數據,以高效建立待處理語音數據的索引,優先滿足語音檢索的需求,保證語音數據檢索可以正常進行,而且可以節省移動終端的電能。
在一個實施例中,在步驟102之前,還包括:將待處理語音數據進行預處理。具體地,可將待處理語音數據轉化為統一形式,還可以對待處理語音數據進行特徵提取,以獲得相應的語音特徵序列。
在一個實施例中,為了提高檢索速度,建立的待處理數據的索引可以採用反向索引,或者可稱為倒排索引。採用倒排索引的索引表中的每一項都包括一個屬性值和具有該屬性值的各記錄的地址。由於不是由記錄來確定屬性值,而是由屬性值來確定記錄的位置,因而稱為倒排索引。
如圖3所示,在一個實施例中,步驟106具體包括以下步驟:
步驟302,判斷當前是否連線到外接電源或者判斷是否連線到非指定計算機。若判斷為是,則執行步驟304;若判斷為否,則執行步驟306。
移動終端的電池是影響移動終端性能的一個重要因素,因此該實施例中通過判斷移動終端是否連線到外接電源,從而進行不同的建立索引的過程。其中外接電源可以是通過移動終端的充電器連線到市電,或者可以是用於為移動終端充電或供電的外部供電裝置。非指定計算機是指不是上述指定計算機的計算機,非指定計算機是不受信任或者無法判斷是否受信任的計算機。
步驟304,將待處理語音數據或者語音特徵序列輸入位於本地的第二索引生成器來生成第一類型的第二索引數據,並根據第二索引數據來建立待處理語音數據的索引。
當移動終端連線到外接電源時,此時可無需考慮移動終端的耗電量,而以第二索引生成器來生成第一類型的第二索引數據。或者連線到非指定計算機時,此時非指定計算機可以為移動終端供電,但因其不是受信任的計算機,存在泄露用戶隱私的風險,因此不使用非指定計算機上的索引生成器來生成索引數據,而是使用移動終端上的第二索引生成器來生成第一類型的第二索引數據。這樣生成的第二索引數據雖然精確度遜於指定計算機通過第一索引生成器生成的第二索引數據,但仍具有相當高的精確度,可以實現較為精確的語音數據檢索。
步驟306,將待處理語音數據或者語音特徵序列輸入位於本地的第三索引生成器來生成第二類型的第三索引數據,並根據第三索引數據來建立待處理語音數據的索引。
當移動終端未連線到外接電源時,此時建立索引消耗的是移動終端自身電池的電能,需要優先考慮耗電量,因而採用第三索引生成器來生成第二類型的第三索引數據。或者未連線到非指定計算機,此時移動終端也無法由非指定計算機供電,需要考慮耗電量,因而採用第三索引生成器來生成第二類型的第三索引數據。這樣生成的第三索引數據雖然不夠精確,但仍然可以用於檢索,可以作為當移動終端未連線外接電源時的一種臨時處理手段。
該實施例中,通過判斷移動終端是否連線外接電源或者是否連線到非指定計算機,從而根據判斷結果來採用不同的索引生成器來生成索引數據,並建立索引,從而實現移動終端耗電量和檢索精確度的巧妙權衡。
如圖4所示,在一個實施例中,通過預設連線方式連線到指定計算機的步驟之後,優選可以在處理完所有待處理數據之後,還包括為欠處理語音數據重新建立索引的步驟,具體包括以下步驟:
步驟402,判斷本地是否存在對應第二類型的索引數據的欠處理語音數據。若存在則執行步驟404,若不存在則執行步驟408。
由於在移動終端未連線外接電源而使用電池的情況下,會使用第三索引生成器來生成第二類型的索引,這樣生成的索引精確度不夠,可用於建立臨時的索引。為了提高檢索精確度,可在移動終端連線到指定計算機時,判斷本地是否存在對應第二類型的索引數據的語音數據,將該語音數據稱為欠處理語音數據,因為它是臨時生成的,需要在移動終端連線到指定計算機時進行進一步地處理。
步驟404,將欠處理語音數據或從欠處理語音數據提取出的語音特徵序列傳送給指定計算機,使指定計算機將欠處理語音數據或從欠處理語音數據提取出的語音特徵序列輸入位於指定計算機上的第一索引生成器來生成第一類型的第四索引數據。
與通過指定計算機來生成待處理數據的索引數據的過程相同,移動終端將欠處理語音數據或者從該欠處理語音數據中提取出的語音特徵序列傳送給指定計算機,該語音特徵序列與上述待處理數據的語音特徵序列形式一致,可以是生成該語音數據的第二類型的索引數據時所使用並存儲的語音特徵序列。指定計算機將欠處理語音數據或者從欠處理語音數據中提取出的語音特徵序列輸入位於指定計算機上的第一索引生成器來生成第一類型的第四索引數據。該第四索引數據的精確度高於移動終端上當前該欠處理語音數據所對應的索引數據的精確度。
步驟406,從指定計算機獲取第四索引數據,並根據第四索引數據來更新欠處理語音數據的索引。
指定計算機可自動將第四索引數據傳送給移動終端,由移動終端獲取;或者移動終端可主動獲取指定計算機上的第四索引數據。移動終端根據第四索引數據來更新欠處理語音數據的索引,具體地,可將欠處理語音數據對應的第二類型的索引數據刪除,並建立欠處理語音數據與第一類型的第四索引數據的對應關係。
步驟408,當不存在待處理數據與欠處理數據時,結束流程。
當待處理數據均已建立索引成為已處理數據,欠處理數據也已經更新索引成為已處理數據,這樣所有語音數據處理完畢,可結束流程,使得第一索引生成器和/或第二索引生成器和/或第三索引生成器進入休眠狀態,減少對計算資源以及電能的消耗。
該實施例中,在移動終端連線指定計算機的情況下,通過對臨時獲得的欠處理語音數據的索引數據進行再次處理,以提高該欠處理語音數據的索引數據的精確度,從而可以提高檢索語音數據的準確度。
如圖5所示,在一個實施例中,該基於移動終端的語音數據索引建立方法還包括檢索語音數據的步驟,用於從根據上述任意一實施例的基於移動終端的語音數據索引建立方法而建立了索引的語音資料庫中檢索語音數據。索引資料庫中包括至少一個語音數據,且每個語音數據都建立了索引,索引資料庫包括語音數據和相應的索引數據的對應關係,索引數據可以包括文本序列和其所對應的置信度。語音資料庫還可以包括語音數據所攜帶的該語音數據的相關信息。該檢索語音數據的步驟包括以下步驟:
步驟502,獲取輸入的關鍵字。
檢索語音數據的過程,是指輸入關鍵字從而檢索到包括該關鍵字的語音數據的過程。移動終端可提供輸入界面,獲取用戶在輸入界面中輸入的關鍵字。
步驟504,根據已建立的索引查找包含關鍵字的第一類型的索引數據。
當用戶輸入的關鍵字為多個時,則移動終端可對多個關鍵字進行邏輯組合,具體地,進行和、或的組合。比如用戶輸入兩個關鍵字,分別為“今天”、“開會”,則可根據已建立的索引從語音資料庫中查找同時包括“今天”和“開會”兩個關鍵字的索引數據,還可以分別以“今天”或者是“開會”為關鍵字分別查找索引數據。移動終端先從語音資料庫中第一類型的索引數據中查找是否存在包含關鍵字的索引數據。
步驟506,判斷是否查找到包含關鍵字的第一類型的索引數據。若是則執行步驟508,若否則執行步驟510。
移動終端通過判斷是否查找到包含關鍵字的第一類型的索引數據,從而執行不同的處理步驟。
步驟508,獲取查找到的第一類型的索引數據所對應的語音數據。
當查找到包含關鍵字的第一類型的索引數據時,則可從移動終端本地的語音資料庫中獲取該索引數據所對應的語音數據。
步驟510,繼續根據已建立的索引查找包含關鍵字的第二類型的索引數據。
當未查找到包含關鍵字的第二類型的索引數據時,則繼續根據已建立的索引從語音資料庫中查找包含該關鍵字的第二類型的索引數據。這樣雖然未查找到較高精確度的索引數據,但可以檢索精確度較低的索引數據,從而可實現對語音數據進行粗略的檢索。
步驟512,判斷是否查找到包含關鍵字的第二類型的索引數據。若是則執行步驟514,若否則執行步驟518。
移動終端通過判斷是否查找到包含關鍵字的第二類型的索引數據,從而執行不同的處理步驟。
步驟514,獲取查找到的第二類型的索引數據所對應的語音數據。
當查找到包含關鍵字的第二類型的索引數據時,則可從移動終端本地的語音資料庫中獲取該索引數據所對應的語音數據。
步驟516,將獲取到的語音數據作為檢索到的語音數據輸出。
將獲取到的上述查找到的第一類型的索引數據所對應的語音數據,和/或獲取到的上述查找到的第二類型的索引數據所對應的語音數據作為檢索到的語音數據輸出,以完成語音數據的檢索。具體地,移動終端還可以預設的形式顯示獲取到的語音數據所攜帶的相關信息,比如顯示獲取到的語音數據的名稱、錄製時間等,還可以顯示查找到的語音數據的數量。
步驟518,結束流程。
當未檢索到包含關鍵字的第二類型的索引數據時,說明移動終端本地不存在包含關鍵字的語音內容的語音數據,可結束流程,並可顯示表示未查找到語音內容包括上述關鍵字的語音數據的提示。
該實施例中,先查找第一類型的索引數據,這樣可以優先輸出高精確度的第一索引數據所對應的語音數據,以保證語音數據檢索的準確性。而當查找不到第一類型的索引數據時,再查找第二類型的索引數據,這樣雖然第二類型的索引數據精確度不如第一類型的索引數據,但也可以實現語音數據檢索,優先滿足語音數據檢索的需求,保證語音數據檢索可以正常進行。
在一個實施例中,語音資料庫中的索引數據包括置信度;該基於移動終端的語音數據索引建立方法還包括:獲取檢索到的多個語音數據各自對應的置信度,根據獲取的置信度確定獲取的置信度所對應的語音數據的信息顯示順序,並根據信息顯示順序來顯示檢索到的多個語音數據的相關信息。
具體地,語音資料庫中的每條語音數據所對應的索引數據包括文本序列和其所對應的置信度,表示該語音數據被識別為該文本序列的可靠程度。上述查找到的語音數據為多個,此時獲取檢索到的多個語音數據各自對應的置信度,並根據該獲取的置信度來確定獲取的置信度所對應的語音數據的信息顯示順序,比如按照置信度由高到低的順序確定獲取的置信度所對應的語音數據的信息顯示順序,或者當存在多個關鍵字時,可根據多個關鍵字各自查找到的語音數據所對應的置信度計算綜合得分,並可以得分由高到低的順序來確定獲取的置信度所對應的語音數據的信息顯示順序。
信息顯示順序是指獲取到的多個索引數據的相關信息的先後排列順序。比如可按行顯示獲取到的多個索引數據的相關信息,每行為一條記錄,每條記錄可包括索引數據的文字序列和/或該文字序列對應的置信度,每條記錄還可以包括相應的語音數據的相關信息,比如檔案名稱稱、錄製時間、來電號碼等等。
在一個實施例中還可以接收對顯示的相關信息的選擇指令,根據選擇指令選定該相關信息對應的語音數據,並執行對該選定的語音數據的預設操作;比如可播放該語音數據。還可以記錄接收的選擇指令,並根據記錄的選擇指令來調整語音數據所對應的置信度,以通過動態調整置信度來提高檢索精確度。
下面用一個具體套用場景來說明上述基於移動終端的語音數據索引建立方法的原理,該套用場景以上述基於移動終端的語音數據索引建立方法套用於一種語音數據綜合檢索系統來進行說明。
如圖6所示,語音數據綜合檢索系統600運行於移動終端上,包括基於移動終端的語音數據索引建立系統610和語音數據檢索系統620。其中基於移動終端的語音數據索引建立系統610用於執行上述基於移動終端的語音數據索引建立方法,語音數據檢索系統620用於執行上述檢索語音數據的步驟。第一索引生成器運行於指定計算機上,第二、第三索引生成器運行於移動終端上。第二索引生成器和第三索引生成器可以屬於基於移動終端的語音數據索引建立系統610,也可以是單獨運行的可調用的模組。基於移動終端的語音數據索引建立系統610包括採集模組612、預處理模組614、語音資料庫616和索引生成模式選擇器618。語音資料庫616包括對應存儲的語音數據和索引數據。語音數據檢索系統620包括檢索模組622和檢索結果處理模組624。
具體地,採集模組612用於採集語音數據,比如錄音或從其它設備或移動終端上的預設路徑拷貝語音數據。預處理模組614用於對採集的語音數據進行預處理,包括將採集的語音數據轉化為統一形式,並從該語音數據中提取語音特徵序列。預處理後的語音數據保存在語音資料庫616中。
索引生成模式選擇器618用於檢測移動終端是否具有通過預設連線方式來連線到指定計算機的條件,當具有條件時,通過預設連線方式連線到該指定計算機,將語音資料庫中的待處理的語音數據或該語音數據的語音特徵序列傳送給指定計算機,使得該指定計算機利用指定計算機上的第一索引生成器來生成第一類型的第一索引數據。索引生成模式選擇器618還用於從該指定計算機獲取第一索引數據並在語音資料庫606中與待處理的語音數據對應存儲,以建立該語音數據的索引。
索引生成模式選擇器618還用於當移動終端不具有通過預設連線方式連線到指定計算機的條件時,判斷移動終端是否連線到外接電源。若連線到外接電源,索引生成模式選擇器618用於將待處理語音數據或者語音特徵序列輸入位於本地的第二索引生成器來生成第一類型的第二索引數據,在語音資料庫606中與待處理的語音數據對應存儲,以建立該語音數據的索引。若未連線到外接電源,則索引生成模式選擇器618用於將待處理語音數據或者語音特徵序列輸入位於本地的第三索引生成器來生成第二類型的第三索引數據,在語音資料庫606中與待處理的語音數據對應存儲,以建立該語音數據的索引。
索引生成模式選擇器618還用於檢測語音資料庫616中是否存在對應第二類型的索引數據的欠處理語音數據,若存在則將欠處理語音數據或從欠處理語音數據提取出的語音特徵序列傳送給指定計算機,使指定計算機將欠處理語音數據或從欠處理語音數據提取出的語音特徵序列輸入位於指定計算機上的第一索引生成器來生成第一類型的第四索引數據。索引生成模式選擇器618還用於從指定計算機獲取第四索引數據,並根據第四索引數據來更新語音資料庫616中的欠處理語音數據的索引。
檢索模組622用於獲取輸入的關鍵字,從語音資料庫中查找包含關鍵字的第一類型的索引數據,當查找到時,獲取查找到的第一類型的索引數據所對應的語音數據。檢索模組622用於當未查找到第一類型的索引數據時,繼續從語音資料庫中查找包含關鍵字的第二類型的索引數據,當查找到時,獲取查找到的第二類型的索引數據所對應的語音數據。檢索模組622用於將獲取到的語音數據作為檢索到的語音數據輸出給檢索結果處理模組624。
其中語音資料庫616中的索引數據包括置信度,檢索結果處理模組624用於獲取檢索到的多個語音數據各自對應的置信度,根據獲取的置信度確定獲取的置信度所對應的語音數據的信息顯示順序,並根據信息顯示順序來顯示檢索到的多個語音數據的相關信息。
如圖7所示,在一個實施例中,提供了一種基於移動終端的語音數據索引建立系統,包括:條件檢測模組702和第一索引建立模組704,還包括第二索引建立模組706和/或第三索引建立模組708,且對於同一待處理語音數據由第二索引建立模組706和第三索引建立模組708二者擇一進行處理。
條件檢測模組702,用於檢測是否具有通過預設連線方式來連線到指定計算機的條件。
預設連線方式包括網路連線方式和點對點連線方式中的至少一種。網路連線可以是網際網路連線,也可以是區域網路連線;點對點連線可以是USB連線,基於近場無線通信技術的連線,無線USB連線等。指定計算機具有比移動終端高的計算能力,而且指定計算機用電通常由市電直接供電,不需要考慮耗電問題。因此優先嘗試連線到指定計算機,藉助指定計算機來建立索引。
條件檢測模組702用於檢測是否具有通過預設連線方式來連線到指定計算機的條件,具體地,可以用於檢測是否通過網際網路連線了指定計算機,通過網際網路連線指定計算機時通信數據可以通過伺服器中轉。條件檢測模組702也可以用於檢測是否通過區域網路連線了指定計算機;或者可以用於檢測是否通過點對點連線方式連線了指定計算機。
指定計算機是事先設定的受信任的計算機,比如用戶的個人計算機,而不是雲端伺服器,這樣移動終端和計算機均屬於用戶,數據處理均在用戶自己的終端上,從而可以有效避免涉及用戶隱私的語音數據被泄露。
第一索引建立模組704,用於若具有條件,則通過預設連線方式連線到指定計算機,將待處理語音數據或者從待處理語音數據中提取的語音特徵序列傳送給指定計算機,使指定計算機將待處理語音數據或者語音特徵序列輸入位於指定計算機上的第一索引生成器來生成第一類型的第一索引數據;從指定計算機獲取第一索引數據並根據第一索引數據建立待處理語音數據的索引。
索引生成器用於根據輸入的語音數據輸出相應的索引數據,典型的索引生成器可使用語音識別技術來實現,輸出相應的文本序列,以及文本序列中各個文本單元的時間標記。待處理語音數據是指需要建立索引的語音數據,待處理語音數據可以是本地生成的語音數據,比如通話錄音,也可以是從其他設備上拷貝的語音數據。待處理語音數據還可以攜帶有與待處理語音數據相關的信息,比如檔案名稱稱、錄製時間、檔案生成時間、錄製地點等,若待處理語音數據為通話錄音,則待處理語音數據還可以攜帶有來電號碼等與通話相關的信息。待處理語音數據和這些與待處理語音數據相關的信息在本地對應存儲。
索引生成器包括解碼器、聲學模型和語言模型。解碼器用於接收語音數據,結合聲學模型和語言模型尋找能夠以最大機率輸出的文本序列。聲學模型可採用一階隱馬爾科夫模型進行建模,語言模型可以用於描述給定詞序列在語言中出現的機率的分布。其中索引生成器的輸入可以是語音數據本身,或者是從語音數據中提取出的語音特徵序列。當然由於語音識別存在一定的模糊性和出錯的可能,因此索引生成器輸出的文本序列可能包含一些近似的內容。
當具有通過預設連線方式來連線到指定計算機的條件時,則連線到該指定計算機,從而第一索引建立模組704用於將待處理語音數據傳送給該指定計算機,使得該指定計算機利用指定計算機上預設的第一索引生成器,來識別待處理語音數據,從而生成第一類型的第一索引數據。第一索引建立模組704用於獲取指定計算機上的該第一索引數據,具體可通過下載方式獲取第一索引數據,然後根據該第一索引數據在本地建立待處理語音數據的索引。
當第一索引建立模組704用於通過網際網路中伺服器的中轉而將待處理語音數據間接地傳送給指定計算機時,或者當用於通過區域網路將待處理語音數據傳送給指定計算機時,第一索引建立模組704可用於對傳送的語音數據進行加密,也可以用於使指定計算機對返回的索引數據進行加密,以防止語音數據被泄露,從而充分保障用戶語音數據的安全。
索引是用於在語音數據檢索時快速查找語音內容的一種數據結構,體現的是語音數據與相應的索引數據的對應關係;其中語音內容是指語音數據中通過聲音形式表示的語言信息。索引的數據組織結構可為2014年4月前已有的任意索引結構,在這裡不做限定。每個文本序列對應一個置信度,用於表示相應的文本序列的可信程度。這樣索引數據包括文本序列,還可以包括文本序列對應的時間標記和置信度。
第二索引建立模組706,用於若不具有條件,則將待處理語音數據或者語音特徵序列輸入位於本地的第二索引生成器來生成第一類型的第二索引數據,並根據第二索引數據來建立待處理語音數據的索引。
第三索引建立模組708,用於若不具有條件,則將待處理語音數據或者語音特徵序列輸入位於本地的第三索引生成器來生成第二類型的第三索引數據,並根據第三索引數據來建立待處理語音數據的索引。
第二索引建立模組706和第三索引建立模組708用於當不具有連線到指定計算機的條件時,利用本地資源來建立索引。具體地,第二索引建立模組706可用於使用位於本地的第二索引生成器來生成第一類型的第二索引數據,然後用於根據該第二索引數據來建立待處理語音數據的索引。第三索引建立模組708可用於使用位於本地的第三索引生成器來生成第二類型的第三索引數據,然後用於根據該第三索引數據來建立待處理語音數據的索引。
其中,對於相同的語音數據,通過第一索引生成器來生成索引數據所需的資源量高於通過第二索引生成器來生成索引數據所需的資源量,通過第二索引生成器來生成索引數據所需的資源量高於通過第三索引生成器來生成索引數據所需的資源量。對於相同的語音數據,據其生成的第一類型的索引數據的精確度高於據其生成的第二類型的索引數據的精確度。對於相同的語音數據,據其而生成的索引的精確度與採用何種索引生成器和索引的類型相關。
第一、第二以及第三索引生成器生成索引所需的資源量與其聲學模型和語言模型直接相關。具體地,第一索引生成器具有最大等級的聲學模型和語言模型,在處理的時候運算量很大。第一索引生成器位於指定計算機上,具有較大的運算能力(相對移動設備而言)。所生成的第一類型的索引數據最精確。典型的第一索引生成器的聲學模型超過100兆位元組,語言模型超過1千兆位元組,若指定計算機採用2千兆赫茲以上的雙核CPU,調用第一索引生成器運算的時候CPU(雙核)的占用率可能達70%以上,當然也最耗能。
第二索引生成器具有中等等級的聲學模型和語言模型,調用第二索引生成器運算的時候運算量中等。第二索引生成器位於本地,所生成的第一類型的索引中等精確。典型的第二索引生成器的聲學模型為20兆位元組,語言模型為100兆位元組,1千兆赫茲以上的ARM(一種中央處理器的類型)的CPU,運算時時兩個核占用率超過50%,耗電能力中等。
第三索引生成器具有最小等級的聲學模型和語言模型,在處理的時候運算量最小。第三索引生成器位於本地,其所生成的第二類型的索引精確最差。典型的第三索引生成器的聲學模型為5兆位元組,語言模型為5兆位元組,ARM的CPU運行在500兆赫茲,運算時時單個核占用率超過50%,也最為省電。
第一類型的索引數據和第二類型的索引數據的區別在於精確度的不同,可採用不同的表現形式。在一個實施例中,第一類型的索引數據可以以字或詞為單位,第二類型的索引數據可以以音節為單位。比如若語音數據的語音內容為“今天天氣很好”,那么第一索引數據可為“今天天氣很好”,而第二類型的索引數據可為“jintianqihenhao”,這樣第一類型的索引數據的精確度要高於第二類型的索引數據的精確度。一段語音數據,如果可能將儘量生成第一索引類型,這樣檢索的時候更為精確,但是需要較大的運算量。
上述基於移動終端的語音數據索引建立系統,當可以連線到指定計算機時,使用指定計算機上的第一索引生成器來生成第一類型的第一索引數據,從而據之在本地建立待處理語音數據的索引。當不可以連線到指定計算機時,則使用本地的第二索引生成器來生成第一類型的第二索引數據,或者是使用本地的第三索引生成器來生成第二類型的第三索引數據,從而建立待處理語音數據的索引。
這樣由於通常指定計算機的運算能力浪費嚴重,計算資源沒有得到有效利用,而優先依靠指定計算機強大的計算能力來生成索引,可以有效利用指定計算機的計算資源來高效地生成索引,可以有效節省移動終端的電能,且由於指定計算機是受信任的計算機,不會泄露用戶隱私。當無法使用指定計算機生成索引時,也可以使用本地資源來生成索引,從而保證建立索引的工作不被中斷。進一步地,若生成不同類型的索引數據,則可以在無法使用指定計算機生成高精確度的索引數據時,則本地生成臨時的低精確度的索引數據,以高效建立待處理語音數據的索引,優先滿足語音檢索的需求,保證語音數據檢索可以正常進行,而且可以節省移動終端的電能。
在一個實施例中,該基於移動終端的語音數據索引建立方法還包括預處理模組,用於將待處理語音數據進行預處理。具體地,可用於將待處理語音數據轉化為統一形式,還可以對待處理語音數據進行特徵提取,以獲得相應的語音特徵序列。
在一個實施例中,為了提高檢索速度,建立的待處理數據的索引可以採用反向索引,或者可稱為倒排索引。
在一個實施例中,該基於移動終端的語音數據索引建立系統還包括第一判斷模組705,用於若不具有條件,則判斷當前是否連線到外接電源或者判斷是否連線到非指定計算機。
第二索引建立模組706,用於若連線到外接電源或者連線到非指定計算機,則將待處理語音數據或者語音特徵序列輸入位於本地的第二索引生成器來生成第一類型的第二索引數據,並根據第二索引數據來建立待處理語音數據的索引。
第三索引建立模組708,用於若未連線到外接電源或者未連線到非指定計算機,則將待處理語音數據或者語音特徵序列輸入位於本地的第三索引生成器來生成第二類型的第三索引數據,並根據第三索引數據來建立待處理語音數據的索引。
非指定計算機是指不是上述指定計算機的計算機,非指定計算機是不受信任或者無法判斷是否受信任的計算機。該實施例中,通過判斷是否連線外接電源或者是否連線到非指定計算機,從而根據判斷結果來採用不同的索引生成器來生成索引數據,並建立索引,從而實現移動終端耗電量和檢索精確度的巧妙權衡。
在一個實施例中,第一索引建立模組704包括:第二判斷模組704a、索引數據生成執行模組704b和索引更新模組704c。
第二判斷模組704a,用於判斷本地是否存在對應第二類型的索引數據的欠處理語音數據。
由於在未連線外接電源而使用電池的情況下,會使用第三索引生成器來生成第二類型的索引,這樣生成的索引精確度不夠,可用於建立臨時的索引。為了提高檢索精確度,可在連線到指定計算機時,判斷本地是否存在對應第二類型的索引數據的語音數據,將該語音數據稱為欠處理語音數據。
索引數據生成執行模組704b,用於當第二判斷模組判斷為是時,將欠處理語音數據或從欠處理語音數據提取出的語音特徵序列傳送給指定計算機,使指定計算機將欠處理語音數據或從欠處理語音數據提取出的語音特徵序列輸入位於指定計算機上的第一索引生成器來生成第一類型的第四索引數據。
與通過指定計算機來生成待處理數據的索引數據的過程相同,索引數據生成執行模組704b用於將欠處理語音數據或者從該欠處理語音數據中提取出的語音特徵序列傳送給指定計算機,該語音特徵序列與上述待處理數據的語音特徵序列形式一致,可以是生成該語音數據的第二類型的索引數據時所使用並存儲的語音特徵序列。指定計算機將欠處理語音數據或者從欠處理語音數據中提取出的語音特徵序列輸入位於指定計算機上的第一索引生成器來生成第一類型的第四索引數據。該第四索引數據的精確度高於本地當前該欠處理語音數據所對應的索引數據的精確度。
索引更新模組704c,用於從指定計算機獲取第四索引數據,並根據第四索引數據來更新欠處理語音數據的索引。
索引更新模組704c可用於根據第四索引數據來更新欠處理語音數據的索引,具體地,可用於將欠處理語音數據對應的第二類型的索引數據刪除,並建立欠處理語音數據與第一類型的第四索引數據的對應關係。
當待處理數據均已建立索引成為已處理數據,欠處理數據也已經更新索引成為已處理數據,此時可使得第一索引生成器和/或第二索引生成器和/或第三索引生成器進入休眠狀態,減少對計算資源以及電能的消耗。
該實施例中,在連線到指定計算機的情況下,通過對臨時獲得的欠處理語音數據的索引數據進行再次處理,以提高該欠處理語音數據的索引數據的精確度,從而可以提高檢索語音數據的準確度。
在一個實施例中,該基於移動終端的語音數據索引建立系統還包括語音數據檢索模組710,用於從根據上述任一實施例的基於移動終端的語音數據索引建立系統而建立了索引的語音資料庫中檢索語音數據。索引資料庫中包括至少一個語音數據,且每個語音數據都建立了索引,索引資料庫包括語音數據和相應的索引數據的對應關係,索引數據可以包括文本序列和其所對應的置信度。語音資料庫還可以包括語音數據所攜帶的該語音數據的相關信息。該語音數據檢索模組包括:關鍵字獲取模組710a、第一查找模組710b、第二查找模組710c和檢索結果輸出模組710d。
關鍵字獲取模組710a,用於獲取輸入的關鍵字。
檢索語音數據的過程,是指輸入關鍵字從而檢索到包括該關鍵字的語音數據的過程。關鍵字獲取模組710a可用於提供輸入界面,獲取用戶在輸入界面中輸入的關鍵字。
第一查找模組710b,用於根據已建立的索引查找包含關鍵字的第一類型的索引數據,當查找到時,獲取查找到的第一類型的索引數據所對應的語音數據。
當用戶輸入的關鍵字為多個時,則第一查找模組710b可用於對多個關鍵字進行邏輯組合,具體地,進行和、或的組合。比如用戶輸入兩個關鍵字,分別為“今天”、“開會”,則可從語音資料庫中查找同時包括“今天”和“開會”兩個關鍵字的索引數據,還可以分別以“今天”或者是“開會”為關鍵字分別查找索引數據。第一查找模組710b用於先從語音資料庫中第一類型的索引數據中查找是否存在包含關鍵字的索引數據。當查找到包含關鍵字的第一類型的索引數據時,則第一查找模組710b可用於從本地的語音資料庫中獲取該索引數據所對應的語音數據。
第二查找模組710c,用於當未查找到第一類型的索引數據時,繼續根據已建立的索引查找包含關鍵字的第二類型的索引數據,當查找到時,獲取查找到的第二類型的索引數據所對應的語音數據。
當未查找到包含關鍵字的第二類型的索引數據時,則第二查找模組710c用於繼續從語音資料庫中查找包含該關鍵字的第二類型的索引數據。這樣雖然未查找到較高精確度的索引數據,但可以檢索精確度較低的索引數據,從而可實現對語音數據進行粗略的檢索。當查找到包含關鍵字的第二類型的索引數據時,則第二查找模組710c可用於從本地的語音資料庫中獲取該索引數據所對應的語音數據。
檢索結果輸出模組710d,用於將獲取到的語音數據作為檢索到的語音數據輸出。
檢索結果輸出模組710d將獲取到的上述查找到的第一類型的索引數據所對應的語音數據,和/或獲取到的上述查找到的第二類型的索引數據所對應的語音數據作為檢索到的語音數據輸出,以完成語音數據的檢索。具體地,檢索結果輸出模組710d還可用於以預設的形式顯示獲取到的語音數據所攜帶的相關信息,比如顯示獲取到的語音數據的名稱、錄製時間等,還可以顯示查找到的語音數據的數量。
該實施例中,先查找第一類型的索引數據,這樣可以優先輸出高精確度的第一索引數據所對應的語音數據,以保證語音數據檢索的準確性。而當查找不到第一類型的索引數據時,再查找第二類型的索引數據,這樣雖然第二類型的索引數據精確度不如第一類型的索引數據,但也可以實現語音數據檢索,優先滿足語音數據檢索的需求,保證語音數據檢索可以正常進行。
在一個實施例中,語音資料庫中的索引數據包括置信度;該基於移動終端的語音數據索引建立系統還包括檢索結果處理模組710e,用於獲取檢索到的多個語音數據各自對應的置信度,根據獲取的置信度確定獲取的置信度所對應的語音數據的信息顯示順序,並根據信息顯示順序來顯示檢索到的多個語音數據的相關信息。
具體地,語音資料庫中的每條語音數據所對應的索引數據包括文本序列和其所對應的置信度,表示該語音數據被識別為該文本序列的可靠程度。上述查找到的語音數據為多個,此時檢索結果處理模組710e用於獲取檢索多個語音數據各自對應的置信度,並根據該獲取的置信度來確定獲取的置信度所對應的語音數據的信息顯示順序,比如按照置信度由高到低的順序確定獲取的置信度所對應的語音數據的信息顯示順序,或者當存在多個關鍵字時,可根據多個關鍵字各自查找到的語音數據所對應的置信度計算綜合得分,並可以得分由高到低的順序來確定獲取的置信度所對應的語音數據的信息顯示順序。
信息顯示順序是指獲取到的多個索引數據的相關信息的先後排列順序。比如可按行顯示獲取到的多個索引數據的相關信息,每行為一條記錄,每條記錄可包括索引數據的文字序列和/或該文字序列對應的置信度,每條記錄還可以包括相應的語音數據的相關信息,比如檔案名稱稱、錄製時間、來電號碼等等。
在《基於移動終端的語音數據索引建立方法和系統》一個實施例中檢索結果處理模組710e還可以用於接收對顯示的相關信息的選擇指令,根據選擇指令選定該相關信息對應的語音數據,並執行對該選定的語音數據的預設操作;比如可播放該語音數據。檢索結果處理模組710e還可以用於記錄接收的選擇指令,並根據記錄的選擇指令來調整語音數據所對應的置信度,以通過動態調整置信度來提高檢索精確度。

專利榮譽

2021年6月24日,《基於移動終端的語音數據索引建立方法和系統》獲得第二十二屆中國專利優秀獎。

相關詞條

熱門詞條

聯絡我們