基于移動終端的語音數據索引建立方法和系統的制作方法
【技術領域】
[0001]本發明涉及語音處理技術領域,特別是涉及一種基于移動終端的語音數據索引建立方法和系統。
【背景技術】
[0002]隨著互聯網技術的不斷發展,信息數據中的多媒體數據量已經大大超過了文本數據量,并且仍然保持著高速增長。語音數據是多媒體信息的主要組成部分,人們的手機、平板電腦等移動終端中存儲了大量的語音數據,而如何快速檢索到用戶所需的語音數據成為亟待解決的問題。
[0003]目前在移動終端上可以通過語音文件的文件名、文件信息或者語音標簽(TAG)等來檢索語音文件,但在移動終端上檢索語音內容卻是一個難題。具體來說就是難以通過向移動終端輸入文字這樣的關鍵詞,來檢索內容中包含有該關鍵詞的語音文件。雖然目前可通過為語音文件建立語音索引來實現語音檢索,但語音索引的建立是一種非常消耗計算資源的操作,若使用移動終端來建立語音索引對移動終端電池的消耗非常大,效率也不高,難以廣泛應用;而若移動終端利用云端服務器來建立索引則存在泄露用戶隱私的問題。
【發明內容】
[0004]基于此,有必要針對通過移動終端建立語音索引效率低,功耗較大;而直接采用云端服務器來建立語音數據的索引存在隱私泄露的問題,提供一種基于移動終端的語音數據索引建立方法和系統。
[0005]一種基于移動終端的語音數據索引建立方法,所述方法包括:
[0006]檢測是否具有通過預設連接方式來連接到指定計算機的條件;
[0007]若具有所述條件,則通過所述預設連接方式連接到所述指定計算機,將待處理語音數據或者從待處理語音數據中提取的語音特征序列發送給所述指定計算機,使所述指定計算機將所述待處理語音數據或者所述語音特征序列輸入位于所述指定計算機上的第一索引生成器來生成第一類型的第一索引數據;從所述指定計算機獲取所述第一索引數據并根據所述第一索引數據建立所述待處理語音數據的索引;
[0008]若不具有所述條件,則將所述待處理語音數據或者所述語音特征序列輸入位于本地的第二索引生成器來生成第一類型的第二索引數據,并根據所述第二索引數據來建立所述待處理語音數據的索引;或者,將所述待處理語音數據或者所述語音特征序列輸入位于本地的第三索引生成器來生成第二類型的第三索引數據,并根據所述第三索引數據來建立所述待處理語音數據的索引。
[0009]一種基于移動終端的語音數據索引建立系統,所述系統包括條件檢測模塊和第一索引建立模塊;
[0010]所述條件檢測模塊,用于檢測是否具有通過預設連接方式來連接到指定計算機的條件;
[0011]所述第一索引建立模塊,用于若具有所述條件,則通過所述預設連接方式連接到所述指定計算機,將待處理語音數據或者從待處理語音數據中提取的語音特征序列發送給所述指定計算機,使所述指定計算機將所述待處理語音數據或者所述語音特征序列輸入位于所述指定計算機上的第一索引生成器來生成第一類型的第一索引數據;從所述指定計算機獲取所述第一索引數據并根據所述第一索引數據建立所述待處理語音數據的索引;
[0012]所述系統還包括第二索引建立模塊,用于若不具有所述條件,則將所述待處理語音數據或者所述語音特征序列輸入位于本地的第二索引生成器來生成第一類型的第二索引數據,并根據所述第二索引數據來建立所述待處理語音數據的索引;或者,
[0013]所述系統還包括第三索引建立模塊,用于將所述待處理語音數據或者所述語音特征序列輸入位于本地的第三索引生成器來生成第二類型的第三索引數據,并根據所述第三索引數據來建立所述待處理語音數據的索引。
[0014]上述基于移動終端的語音數據索引建立方法和系統,當移動終端可以連接到指定計算機時,使用指定計算機上的第一索引生成器來生成第一類型的第一索引數據,從而根據所述第一索引數據在本地建立待處理語音數據的索引。當移動終端不可以連接到指定計算機時,則使用本地的第二索引生成器來生成第一類型的第二索引數據,或者是使用本地的第三索引生成器來生成第二類型的第三索引數據,從而建立待處理語音數據的索引。
[0015]這樣由于通常計算機的運算能力浪費嚴重,計算資源沒有得到有效利用,而優先依靠指定計算機強大的計算能力來生成索引,可以有效利用指定計算機的計算資源來高效地生成索引,可以有效節省移動終端的電能,且由于指定計算機是受信任的計算機,不會泄露用戶隱私。當無法使用指定計算機生成索引時,也可以使用移動終端的本地資源來生成索引,從而保證建立索引的工作不被中斷。進一步地,若使用指定計算機和使用移動終端來分別生成不同類型的索引數據,則可以在無法使用指定計算機生成高精確度的索引數據時,則本地生成臨時的低精確度的索引數據,以高效建立待處理語音數據的索引,優先滿足語音檢索的需求,保證語音數據檢索可以正常進行。
【附圖說明】
[0016]圖1為一個實施例中基于移動終端的語音數據索引建立方法的流程示意圖;
[0017]圖2為一個實施例中索引生成器的組成結構示意圖;
[0018]圖3為一個實施例中根據當前是否連接到外接電源或非指定計算機的判斷結果,來分別采用第二索引生成器或者第三索引生成器來建立索引的步驟的流程示意圖;
[0019]圖4為一個實施例中欠處理語音數據重新建立索引的步驟的流程示意圖;
[0020]圖5為一個實施例中檢索語音數據的步驟的流程示意圖;
[0021]圖6為一個實施例中語音數據綜合檢索系統的結構框圖;
[0022]圖7為一個實施例中基于移動終端的語音數據索引建立系統的結構框圖。
【具體實施方式】
[0023]為了使本發明的目的、技術方案及優點更加清楚明白,以下結合附圖及實施例,對本發明進行進一步詳細說明。應當理解,此處所描述的具體實施例僅僅用以解釋本發明,并不用于限定本發明。
[0024]如圖1所示,在一個實施例中,提供了一種基于移動終端的語音數據索引建立方法。該方法應用于移動終端,移動終端包括但不限于智能手機、平板電腦、個人數字助理等可與計算機連接的設備。該方法具體包括以下步驟:
[0025]步驟102,檢測是否具有通過預設連接方式來連接到指定計算機的條件。若具有條件,則執行步驟104 ;若不具有條件,則執行步驟106。
[0026]預設連接方式包括網絡連接方式和點對點連接方式中的至少一種。網絡連接可以是互聯網連接,也可以是局域網連接;點對點連接可以是USB (Universal Serial Bus,通用串行總線)連接,基于近場無線通信技術(NFC)的連接,無線USB (WUSB)連接等。指定計算機具有比移動終端高的計算能力,這主要是由于計算機的CPU (中央處理器)與移動終端相比更為出色,CPU設計時通常不必考慮硬件體積的因素。而且計算機用電通常由市電直接供電,不需要考慮耗電問題。因此移動終端優先嘗試連接到指定計算機,借助指定計算機來建立索引。
[0027]移動終端檢測是否具有通過預設連接方式來連接到指定計算機的條件,具體地,可以是檢測移動終端是否通過互聯網連接了指定計算機,移動終端通過互聯網連接指定計算機可以通過服務器的中轉;也可以是檢測移動終端是否通過局域網連接了指定計算機;或者可以是檢測移動終端是否通過點對點連接方式連接了指定計算機。
[0028]指定計算機是事先設定的受信任的計算機,比如用戶的個人計算機,而不是云端服務器,這樣移動終端和計算機均屬于用戶,數據處理均在用戶自己的終端上,從而可以有效避免涉及用戶隱私的語音數據被泄露。可通過判斷待連接的計算機的計算機標識是否存在于受信任計算機標識列表中來判斷待連接計算機是否為指定計算機。
[0029]步驟104,通過預設連接方式連接到指定計算機,將待處理語音數據或者從待處理語音數據中提取的語音特征序列發送給指定計算機,使指定計算機將待處理語音數據或者語音特征序列輸入位于指定計算機上的第一索引生成器來生成第一類型的第一索引數據;從指定計算機獲取第一索引數據并根據第一索引數據建立待處理語音數據的索引。
[0030]索引生成器用于根據輸入的語音數據輸出相應的索引數據,典型的索引生成器可使用語音識別技術來實現,輸出相應的文本序列,以及文本序列中各個文本單元(單個字或詞)的時間標記。待處理語音數據是指需要建立索引的語音數據,待處理語音數據可以是移動終端上生成的語音數據,比如通話錄音,也可以是從其他設備上拷貝的語音數據。待處理語音數據還可以攜帶有與待處理語音數據相關的信息,比如文件名稱、錄制時間、文件生成時間、錄制地點等,若待處理語音數據為通話錄音,則待處理語音數據還可以攜帶有來電號碼等與通話相關的信息。待處理語音數據和這些與待處理語音數據相關的信息在移動終端上對應存儲。
[0031]參考圖2中索引生成器(第一、第二以及第三索引生成器中的任意一種)的結構框圖,索引生成器包括解碼器、聲學模型和語言模型。解碼器用于接收語音數據,結合聲學模型和語言模型尋找能夠以最大概率輸出的文本序列。聲學模型可采用一階隱馬爾科夫模型(HMM)進行建模,語言模型可以用于描述給定詞序列在語言中出現的概率的分布。其中索引生成器的輸入可以是語音數據本身,或者是從語音數據中提取出的語音特征序列。當然由于語音識別存在一定的模糊性和出錯的可能,因此索引生成器輸出的文本序列可能包含一些近似的內容。
[0032]步驟104中,指定計算機上預設了第一索引生成器,當移動終端具有通過預設連接方式來連接到指定計算機的條件時,則連接到該指定計算機,從而將待處理語音數據發送給該指定計算機,使得該指定計算機利用指定計算機上預設的第一索引生成器,來識別待處理語音數據,從而生成第一類型的第一索引數據。移動終端獲取指定計算機上的該第一索引數據,具體可通過下載方式獲取第一索引數據,然后根據該第一索引數據在移動終端本地建立待處理語音數據的索引。
[0033]當移動終端通過互聯網中服務器的中轉而將待處理語音數據間接地發送給指定計算機時,或者當移動終端通過局域網將待處理語音數據發送給指定計算機時,可對發送的語音數據進行加密,也可以使指定計算機對返回的索引數據進行加密,以防止語音數據被泄露,從而充分保障用戶語音數據的安全。
[0034]索引是用于在語音數據檢索時快速查找語音內容的一種數據結構,體現的是語音數據與相應的索引數據的對應關系;其中語音內容是指語音數據中通過聲音形式表示的語言信息。索引的數據組織結構可為現有的任意索引結構,在這里不做限定。每個文本序列對應一個置信度,用于表示相應的文本序列的可信程度。這樣索引數據包括文本序列,還可以包括文本序列對應的時間標記和置信度。
[0035]步驟106,將待處理語音數據或者語音特征序列輸入位于本地的第二索引生成器來生成第一類型的第二索引數據,并根據第二索引數據來建立待處理語音數據的索引;或者,將待處理語音數據或者語音特征序列輸入位于本地的第三索引生成器來生成第二類型的第三索引數據,并根據第三索引數據來建立待處理語音數據的索引。
[0036]當移動終端不具有連接到指定計算機的條件時,此時無法利用指定計算機來生成索引數據,而需要依靠移動終端自身來建立索引。具體地,在一個實施例中,移動終端可使用位于移動終端本地的第二索引生成器來生成第一類型的第二索引