首頁(yè)>>廠商>>語(yǔ)音識(shí)別與合成>>天朗語(yǔ)音

天朗分布式語(yǔ)音識(shí)別系統(tǒng)產(chǎn)品白皮書

2003/09/27

一.前言

  語(yǔ)音識(shí)別是指從語(yǔ)音到文本的轉(zhuǎn)換,即讓計(jì)算機(jī)能夠把人發(fā)出的有意義的話音變成書面語(yǔ)言。通俗地說就是讓機(jī)器能夠聽懂人說的話。所謂聽懂,有兩層意思,一是指把用戶所說的話逐詞逐句轉(zhuǎn)換成文本;二是指正確理解語(yǔ)音中所包含的要求,而不要求所有詞都轉(zhuǎn)換正確。

  語(yǔ)音識(shí)別技術(shù)(ASR)是以語(yǔ)音為研究對(duì)象,涉及到生理學(xué)、心理學(xué)、語(yǔ)言學(xué)、計(jì)算機(jī)科學(xué)以及信號(hào)處理等諸多領(lǐng)域,甚至還涉及到人的體態(tài)語(yǔ)言(如人在說話時(shí)的表情、手勢(shì)等行為動(dòng)作可幫助對(duì)方理解),目前常見的識(shí)別技術(shù)一般采用隱馬爾可夫模型HMM(Hidden Markov Model)來建模。它的基本原理是系統(tǒng)首先對(duì)大量的真實(shí)世界中的人的語(yǔ)音進(jìn)行分析,并建立模型。在識(shí)別時(shí),系統(tǒng)同樣先對(duì)輸入的語(yǔ)音進(jìn)行分析,提取特征,然后通過一定的算法并使用已建立的模型,從而識(shí)別出用戶所說的話。

  隨著語(yǔ)音識(shí)別技術(shù)的逐漸成熟,語(yǔ)音識(shí)別技術(shù)開始得到廣泛的應(yīng)用,涉及日常生活的各個(gè)方面如電信、金融、新聞、公共事業(yè)等各個(gè)行業(yè),通過采用語(yǔ)音識(shí)別技術(shù),可以極大的簡(jiǎn)化這些領(lǐng)域的業(yè)務(wù)流程以及操作;提高系統(tǒng)的應(yīng)用效率。

二、語(yǔ)音識(shí)別的原理

2.1 語(yǔ)音識(shí)別的基本原理
  圖1給出了一個(gè)語(yǔ)音識(shí)別系統(tǒng)的原理圖。


  從圖1中看出,輸入的語(yǔ)音首先要通過端點(diǎn)檢測(cè)(也稱靜音檢測(cè)模塊),檢測(cè)得到輸入語(yǔ)音的有效語(yǔ)音數(shù)據(jù)部分(也就是去除了靜音數(shù)據(jù)、噪聲數(shù)據(jù)等);然后進(jìn)入特征提取模塊,這里需要提取語(yǔ)音信號(hào)最本質(zhì)的信息,一般采用MFCC特征,它是采用復(fù)雜的數(shù)字信號(hào)處理技術(shù)來完成的;語(yǔ)音信號(hào)的特征信息被送入識(shí)別引擎,在聲學(xué)模型和語(yǔ)言模型的指導(dǎo)下進(jìn)行識(shí)別,最終得到識(shí)別結(jié)果,這里常常需要采用非常復(fù)雜的搜索算法,簡(jiǎn)單地說,它需要根據(jù)語(yǔ)言模型考慮各種詞的組合(句子)及其發(fā)生概率,對(duì)于每一種可能的句子,都給出一個(gè)得分,選擇得分最大者作為識(shí)別結(jié)果。但是由于可能的搜索空間非常大,所以需要利用剪枝技術(shù),有效地去除大量冗余空間,加快搜索速度,滿足實(shí)際系統(tǒng)的要求。

2. 2 基于語(yǔ)法的識(shí)別引擎
  在語(yǔ)音識(shí)別中,語(yǔ)言模型是用來指導(dǎo)引擎進(jìn)行語(yǔ)音識(shí)別的,它限定了一個(gè)識(shí)別引擎所能表達(dá)的語(yǔ)句類型。在我們常用的圖搜索引擎中,語(yǔ)言模型是通過語(yǔ)法來表示的,語(yǔ)法是由一系列表示某個(gè)領(lǐng)域的語(yǔ)言表達(dá)方式的規(guī)則組成的(語(yǔ)法的具體書寫規(guī)則見引擎使用說明書)。這些規(guī)則會(huì)被被轉(zhuǎn)換成詞圖的形式然后用來指導(dǎo)語(yǔ)音的識(shí)別。所謂的詞圖是指由詞作為節(jié)點(diǎn)的一個(gè)圖,從該圖的開始節(jié)點(diǎn)到末尾節(jié)點(diǎn)的任一條路徑都是一個(gè)有效合法的句子。圖2給出了一個(gè)簡(jiǎn)單的詞圖。


  對(duì)于很多領(lǐng)域的語(yǔ)音識(shí)別來說,如自動(dòng)總機(jī)、火車定票系統(tǒng)、股票查詢系統(tǒng)等,他們具有一個(gè)共同的特點(diǎn):所用的句型典型,且句型數(shù)有限,可以用規(guī)則來描述。對(duì)于這樣的系統(tǒng),采用語(yǔ)法的方式來指導(dǎo)其語(yǔ)音識(shí)別,一方面可以得到很高的識(shí)別率,另一方面,又能達(dá)到較快的識(shí)別速度,滿足實(shí)際系統(tǒng)的需要。因此,基于語(yǔ)法方式的語(yǔ)音識(shí)別技術(shù)得到廣泛應(yīng)用。本文中我們采用的核心識(shí)別引擎也是采用語(yǔ)法的方式。

三、天朗分布式語(yǔ)音識(shí)別系統(tǒng)簡(jiǎn)介

  天朗分布式語(yǔ)音識(shí)別引擎是天朗公司針對(duì)電信級(jí)、大企業(yè)級(jí)應(yīng)用特點(diǎn)開發(fā)出來的一個(gè)基于多機(jī)的分布式語(yǔ)音識(shí)別引擎,它通過局域網(wǎng)連接多個(gè)識(shí)別服務(wù)器,來同時(shí)完成大量的語(yǔ)音識(shí)別任務(wù),極大的拓展了單機(jī)版語(yǔ)音識(shí)別引擎在識(shí)別任務(wù)上的限制,可以同時(shí)支持幾百到幾千個(gè)語(yǔ)音識(shí)別任務(wù)并發(fā)執(zhí)行,從而滿足電信級(jí)這樣的具有大識(shí)別任務(wù)量的應(yīng)用。系統(tǒng)的主要功能有:

·支持非特定人、大詞匯量、連續(xù)語(yǔ)音識(shí)別,能夠達(dá)到高的識(shí)別準(zhǔn)確率;
·支持多語(yǔ)種識(shí)別;
·能夠提供識(shí)別結(jié)果的置信度信息;
·多臺(tái)語(yǔ)音識(shí)別服務(wù)器并行工作,通過局域網(wǎng)連接和傳送數(shù)據(jù);
·有一個(gè)資源管理服務(wù)器(或多個(gè),作備份),用來管理所有的服務(wù)器,并負(fù)責(zé)負(fù)載平衡;
·有一個(gè)License服務(wù)器,用來進(jìn)行License管理;
·任何一個(gè)服務(wù)器可以動(dòng)態(tài)地啟動(dòng)和停止,而不影響系統(tǒng)的運(yùn)行;
·系統(tǒng)可以同時(shí)啟動(dòng)任意多個(gè)服務(wù)器(或線程數(shù)),但同時(shí)最多只能用License所規(guī)定的線數(shù);
·系統(tǒng)可以同時(shí)啟動(dòng)任意多個(gè)服務(wù)器以做備份,防止因?yàn)槟承┓⻊?wù)器當(dāng)機(jī)而對(duì)系統(tǒng)造成影響;
·對(duì)應(yīng)用層的一致性,即對(duì)應(yīng)用層開發(fā)來說,和開發(fā)單機(jī)版的程序一樣(或略有不同),用戶不需考慮后邊的識(shí)別引擎是單機(jī)和多機(jī)版。
·多平臺(tái)、多操作系統(tǒng)可混合組成系統(tǒng),如客戶端可能是Linux版,但服務(wù)端是Windows版;
四.天朗分布式語(yǔ)音識(shí)別系統(tǒng)架構(gòu)原理和使用方法

4.1系統(tǒng)整體架構(gòu)和模塊功能介紹
  下圖展示天朗分布式語(yǔ)音識(shí)別系統(tǒng)的架構(gòu):
  整個(gè)系統(tǒng)由識(shí)別服務(wù)器、資源管理器、語(yǔ)法服務(wù)器(可選)、License管理器、客戶端API以及連接這些服務(wù)器的局域網(wǎng)組成,除了語(yǔ)法服務(wù)器是可選之外,其他部分都是必須的,但是識(shí)別服務(wù)器、資源管理器已經(jīng)客戶端的個(gè)數(shù)是可變的,具體的多少和系統(tǒng)的大小和任務(wù)量有關(guān)。語(yǔ)法服務(wù)器在許多情況下可能是不需要的,因此,我們的系統(tǒng)把其設(shè)計(jì)成可選的,如果需要,其可以動(dòng)態(tài)加入系統(tǒng)。

  為了方便客戶使用,我們提供了一套客戶端API給用戶,用戶在使用本系統(tǒng)時(shí),可以在其應(yīng)用程序中調(diào)用我們的API來調(diào)用我們的識(shí)別系統(tǒng)。


4.2 天朗分布式語(yǔ)音識(shí)別系統(tǒng)工作原理
  為了更好的應(yīng)用天朗分布式語(yǔ)音識(shí)別系統(tǒng)來開發(fā)應(yīng)用系統(tǒng),幫助開發(fā)人員理解天朗分布式語(yǔ)音識(shí)別系統(tǒng)的的工作原理,下面以一次語(yǔ)音識(shí)別的過程來解釋天朗分布式語(yǔ)音識(shí)別系統(tǒng)的工作原理。圖4給出了系統(tǒng)一次語(yǔ)音識(shí)別的工作原理。

  應(yīng)用程序通過DSR的API函數(shù)來調(diào)用語(yǔ)音識(shí)別功能,一般來說過程如下:

  1、 當(dāng)有電話到達(dá)時(shí),應(yīng)用程序負(fù)責(zé)接起電話,然后播放一個(gè)歡迎的提示音,提示用戶說出要做的動(dòng)作(如查詢?nèi)嗣⒐善毙畔⒌龋,并開始等待用戶說話;
  2、 應(yīng)用程序啟動(dòng)錄音程序開始錄音,同時(shí)應(yīng)用程序會(huì)通過DSR API向天朗分布式語(yǔ)音識(shí)別系統(tǒng)(下稱"識(shí)別系統(tǒng)")請(qǐng)求一個(gè)識(shí)別資源(即一個(gè)識(shí)別會(huì)話session);
  3、 識(shí)別系統(tǒng)的資源管理器會(huì)根據(jù)系統(tǒng)的負(fù)載情況,分配一個(gè)最空閑的識(shí)別服務(wù)器的一個(gè)空閑會(huì)話給該次任務(wù)。
  4、 應(yīng)用程序獲得該識(shí)別會(huì)話控制權(quán)后,根據(jù)目前系統(tǒng)的任務(wù),通過API通知對(duì)應(yīng)的識(shí)別引擎加載相應(yīng)語(yǔ)法,語(yǔ)法的來源有三種,具體的請(qǐng)參看下面的說明。
  5、 應(yīng)用程序開始通過API函數(shù)把錄取的語(yǔ)音發(fā)送給該會(huì)話,該會(huì)話會(huì)根據(jù)系統(tǒng)的模型和加載的語(yǔ)法,對(duì)送入的語(yǔ)音進(jìn)行識(shí)別;
  6、 如果有識(shí)別結(jié)果,系統(tǒng)會(huì)通過回調(diào)函數(shù)來通知應(yīng)用程序,應(yīng)用程序這時(shí)可以通過DSR API來得到識(shí)別結(jié)果。
  7、 應(yīng)用程序卸載加載的語(yǔ)法;
  8、 應(yīng)用程序斷開該會(huì)話連接;
  9、 應(yīng)用程序釋放會(huì)話。
  10、 這時(shí)應(yīng)用程序應(yīng)該根據(jù)識(shí)別結(jié)果做相應(yīng)的動(dòng)作,如繼續(xù)播放提示音,提示用戶繼續(xù)提供信息或做其他的動(dòng)作。如goto 2。


4.3 識(shí)別結(jié)果
  語(yǔ)音識(shí)別完成后,天朗DSR識(shí)別引擎會(huì)通過回調(diào)函數(shù)通知應(yīng)用程序有識(shí)別結(jié)果,應(yīng)用程序可以通過API函數(shù)取得識(shí)別結(jié)果,并根據(jù)結(jié)果相應(yīng)作出響應(yīng)。天朗分布式識(shí)別引擎可以提供多個(gè)識(shí)別候選供用戶選擇。同時(shí),系統(tǒng)還會(huì)給出每個(gè)候選句子的置信度,所有的識(shí)別候選按置信度由高到低排序。用戶可以設(shè)定引擎返回的結(jié)果最大數(shù)目,系統(tǒng)會(huì)返回用戶設(shè)定的候選的個(gè)數(shù)。

  需要注意的是:引擎返回的句子的個(gè)數(shù)可能沒有用戶設(shè)定的數(shù)目多,另外,設(shè)定較大數(shù)目的返回結(jié)果候選會(huì)影響系統(tǒng)的效率。

4.4引擎的三種調(diào)用方式
  對(duì)于基于對(duì)話方式的語(yǔ)音識(shí)別,應(yīng)用程序?qū)SR的API函數(shù)調(diào)用的時(shí)間和方式不同會(huì)對(duì)整個(gè)系統(tǒng)的穩(wěn)定性和效率產(chǎn)生很大影響。


  下面以電信級(jí)應(yīng)用來說明不同的調(diào)用方式的差別。

  一般來說,一個(gè)基于電話語(yǔ)音識(shí)別的對(duì)話系統(tǒng)(如圖5所示),一般由識(shí)別服務(wù)器、應(yīng)用服務(wù)器、電話交換機(jī)、智能交換機(jī)設(shè)備、 IVR設(shè)備等設(shè)備組成,電話交換機(jī)與成千上萬個(gè)電話終端通過各種交換設(shè)備相連接,電信應(yīng)用軟件在這些硬件的支持下提供各種服務(wù),如:1860查詢服務(wù)等。此時(shí),電信應(yīng)用開通的線數(shù)視系統(tǒng)的業(yè)務(wù)需求而定,一般總是大大小于終端連接的總數(shù)。系統(tǒng)連接數(shù)與終端連接數(shù)常常是1:1000或者1:10000的級(jí)別。"一路對(duì)話"是指物理上的一條線路,對(duì)于上述的電信應(yīng)用,電信開通的每一條線路都是一路對(duì)話。

  "一次對(duì)話"是指用戶的一次電話從打入到掛機(jī)之間一個(gè)交互服務(wù)過程稱。比如:用戶撥打1860進(jìn)行話費(fèi)查詢,在用戶撥通電話至用戶掛機(jī)這個(gè)過程中用戶和應(yīng)用程序交互的整個(gè)過程稱作一次對(duì)話。

  "一路會(huì)話"這里是指語(yǔ)音識(shí)別中,一次識(shí)別從分配識(shí)別資源開始到釋放這個(gè)資源的整個(gè)過程。
對(duì)于語(yǔ)音識(shí)別的會(huì)話,可以對(duì)一路對(duì)話分配一個(gè)會(huì)話,也可以對(duì)一次對(duì)話分配,或者對(duì)一次對(duì)話的一句話識(shí)別進(jìn)行分配,不同的分配方式會(huì)得到不同的效果。

  第一種:直接為每一路對(duì)話分配一個(gè)會(huì)話,用戶應(yīng)用程序在程序一開始就為每一路對(duì)話建立到引擎的連接,然后,該路對(duì)話就會(huì)一直保持該會(huì)話,再也不釋放該會(huì)話,直到程序結(jié)束。這種方式編程簡(jiǎn)單,但是,在系統(tǒng)的穩(wěn)定性和有效性方面都是最差的。因?yàn)槊恳宦穼?duì)話都一直使用,且一直獨(dú)占該會(huì)話,一旦該會(huì)話出現(xiàn)問題,則該路對(duì)話就永遠(yuǎn)不能用了,除非重啟程序。另外,由于每路對(duì)話都獨(dú)占一個(gè)會(huì)話,因此即使該路對(duì)話沒有在使用引擎,其獨(dú)占的會(huì)話也不能被別的對(duì)話使用。降低了系統(tǒng)的效率。

  第二種:在一次對(duì)話開始時(shí)就建立到引擎的連接,然后該對(duì)話一直獨(dú)占該會(huì)話,直到該次對(duì)話結(jié)束。很顯然,這種方式和第一種方式比起來,在穩(wěn)定性和效率方面都有很大提高。主要是這種方式不再一直獨(dú)占一個(gè)會(huì)話,會(huì)話可以在多路對(duì)話之間共享,即使有一路會(huì)話出現(xiàn)問題,只會(huì)影響一次對(duì)話的一次工作,而不會(huì)影響本路對(duì)話以及其他路對(duì)話的以后的識(shí)別。

  盡管第二種已比較優(yōu)化,但它的一個(gè)缺點(diǎn)就是仍然會(huì)影響一次對(duì)話的進(jìn)行。

  第三種:在每一次識(shí)別開始時(shí)建立連接,識(shí)別結(jié)束后立刻釋放(這種方式與第二種不同,是因?yàn)樵谝淮螌?duì)話過程中會(huì)存在多輪的識(shí)別過程)。這種方式的優(yōu)點(diǎn)除了第二種的優(yōu)點(diǎn)外,他還克服了它的缺點(diǎn)。因?yàn),此時(shí)一個(gè)會(huì)話的失敗只會(huì)影響該路對(duì)話的一句的識(shí)別,通過編程我們可以在發(fā)現(xiàn)一個(gè)會(huì)話失敗后,再申請(qǐng)另一個(gè)會(huì)話,這時(shí)最多讓用戶重復(fù)一邊剛才的話外,對(duì)這次對(duì)話沒有影響。

  另外,采用三種的哪一種方式還和應(yīng)用的不同有關(guān),如果應(yīng)用是類似于股票查詢這樣的系統(tǒng),每個(gè)識(shí)別服務(wù)器都完成相同的功能,這時(shí)采用第三種方式比較合適。而對(duì)于某些應(yīng)用系統(tǒng)如需要?jiǎng)討B(tài)改變語(yǔ)法的,則最好采用第一、二種方法。如果改變的語(yǔ)法只在一次對(duì)話中有效,可以采用第二種,如果改變的語(yǔ)法一直持續(xù)有效的話,第一種可能更適合。

4.5 語(yǔ)法
  語(yǔ)法是用來指導(dǎo)識(shí)別引擎進(jìn)行語(yǔ)音識(shí)別的,它是由一系列語(yǔ)法規(guī)則組成的一個(gè)有限圖, 它用來限制系統(tǒng)可以識(shí)別的句型和詞匯,減少系統(tǒng)識(shí)別的語(yǔ)法空間,極大的減少系統(tǒng)的搜索時(shí)間,增加了系統(tǒng)的識(shí)別率。

  在天朗分布式識(shí)別系統(tǒng)中,語(yǔ)法的使用有兩種形式:

  1. 靜態(tài)語(yǔ)法,對(duì)于目前許多基于語(yǔ)音識(shí)別的應(yīng)用系統(tǒng),大多數(shù)用到的語(yǔ)法都是固定的,在系統(tǒng)運(yùn)行中,不需要對(duì)語(yǔ)法進(jìn)行更改(如1860系統(tǒng),火車訂票系統(tǒng)等),對(duì)于這種應(yīng)用,最方便的方法就是在系統(tǒng)啟動(dòng)時(shí)就把用到的語(yǔ)法加載進(jìn)系統(tǒng),用到時(shí)激活(enable)就行了。這樣可以節(jié)約大量的時(shí)間,提高系統(tǒng)的效率。為了方便用戶的使用,天朗分布式識(shí)別引擎提供了靜態(tài)語(yǔ)法功能,用戶只要通過對(duì)識(shí)別服務(wù)器的預(yù)加載語(yǔ)法進(jìn)行配置,系統(tǒng)會(huì)在啟動(dòng)時(shí)自動(dòng)把這些語(yǔ)法加載到系統(tǒng)中供系統(tǒng)使用。在這種情況下,整個(gè)系統(tǒng)可以不需要語(yǔ)法服務(wù)器,從而節(jié)約投資成本。要注意的是,靜態(tài)語(yǔ)法必須是已編譯過的語(yǔ)法格式。

  2. 動(dòng)態(tài)語(yǔ)法,所謂的動(dòng)態(tài)語(yǔ)法是指在運(yùn)行前并不知道需要加載那些語(yǔ)法,或者在運(yùn)行時(shí),需要對(duì)語(yǔ)法進(jìn)行編譯或修改。動(dòng)態(tài)語(yǔ)法常用在比較大型的復(fù)雜的系統(tǒng)中。對(duì)于動(dòng)態(tài)語(yǔ)法,系統(tǒng)必須要有語(yǔ)法服務(wù)器來支持,動(dòng)態(tài)語(yǔ)法可以是文本格式,也可以是編譯后的格式,系統(tǒng)會(huì)根據(jù)傳入的語(yǔ)法的格式自動(dòng)進(jìn)行選擇是否進(jìn)行編譯。

  在天朗分布式識(shí)別引擎中,語(yǔ)法是通過一個(gè)key來唯一指定的,這個(gè)key由用戶自己指定,且必須保證不同的語(yǔ)法的key的唯一性。不同的語(yǔ)法采用相同的key可能會(huì)導(dǎo)致語(yǔ)法的相互覆蓋。

  系統(tǒng)可以同時(shí)支持靜態(tài)語(yǔ)法和動(dòng)態(tài)語(yǔ)法。在加載一個(gè)語(yǔ)法時(shí),系統(tǒng)首先會(huì)通知對(duì)應(yīng)的識(shí)別服務(wù)器去加載一個(gè)指定的語(yǔ)法,如果該語(yǔ)法已加載,則僅返回語(yǔ)法的句柄以供以后調(diào)用;否則,系統(tǒng)從識(shí)別服務(wù)器所在的硬盤上加載所指定的語(yǔ)法。如果識(shí)別服務(wù)器上也不存在對(duì)應(yīng)的語(yǔ)法,則先判斷系統(tǒng)中是否有語(yǔ)法服務(wù)器,如果系統(tǒng)中不存在語(yǔ)法服務(wù)器,返回加載失敗。否則,識(shí)別服務(wù)器會(huì)向語(yǔ)法服務(wù)器申請(qǐng)?jiān)撜Z(yǔ)法。如果語(yǔ)法服務(wù)器上無該語(yǔ)法或其他原因無法得到該語(yǔ)法,返回加載失敗。否則,下載該語(yǔ)法服務(wù)器到本地。并加載。返回句柄。

  引擎在加載語(yǔ)法時(shí),如果找不到指定的語(yǔ)法Key的語(yǔ)法,就會(huì)加載用戶指定的二進(jìn)制語(yǔ)法文件,同時(shí)將指定的語(yǔ)法Key作為該語(yǔ)法的key。最后返回語(yǔ)法的handle。 要注意的是,語(yǔ)法加載是針對(duì)會(huì)話的。

4.6 系統(tǒng)的穩(wěn)健性和效率

  對(duì)于電信或大企業(yè)級(jí)別的的應(yīng)用系統(tǒng)來說,穩(wěn)健性和效率是系統(tǒng)成功的關(guān)鍵。天朗分布式識(shí)別系統(tǒng)通過多種有效技術(shù),來提高系統(tǒng)的效率和穩(wěn)健性。

  1. 系統(tǒng)通過設(shè)立資源管理器來統(tǒng)一管理整個(gè)系統(tǒng)的識(shí)別資源分配和回收,資源管理器通過一個(gè)高效的負(fù)載分析策略,根據(jù)系統(tǒng)的當(dāng)前狀態(tài),分配負(fù)載最輕的識(shí)別服務(wù)器以提高整個(gè)系統(tǒng)的整體效率。

  2. 一般來說,一個(gè)系統(tǒng)只要一個(gè)資源管理器就可以穩(wěn)定工作,但是,采用多個(gè)資源管理器互相備份可以更有效的保證系統(tǒng)的穩(wěn)定性。天朗分布式識(shí)別系統(tǒng)可以同時(shí)支持多個(gè)資源管理器同時(shí)工作。和其他的類似系統(tǒng)不同的是,其他類似系統(tǒng)在工作時(shí)只有主資源管理器在工作,而備份資源管理器是不工作的。而天朗的分布式識(shí)別系統(tǒng)的每個(gè)資源管理器都負(fù)擔(dān)部分的資源分配工作,因此,可以充分利用系統(tǒng)的資源,提高系統(tǒng)的效率。另外,每個(gè)資源管理器又是互相備份的,當(dāng)一個(gè)資源管理器出現(xiàn)問題,其他的資源管理器會(huì)自動(dòng)的接過出現(xiàn)問題的服務(wù)器的工作,所以對(duì)于系統(tǒng)的穩(wěn)定性有了充分的保障。

  3. 對(duì)于識(shí)別服務(wù)器,和資源管理器一樣,備份的服務(wù)器并不是閑著不工作,它們和其他識(shí)別服務(wù)器一樣承擔(dān)識(shí)別任務(wù),這樣可以有效的分配負(fù)載,提高系統(tǒng)的效率,同時(shí)減輕系統(tǒng)的投資。同樣的,識(shí)別服務(wù)器又是互相備份的,當(dāng)一個(gè)識(shí)別服務(wù)器出現(xiàn)故障時(shí),該服務(wù)器會(huì)自動(dòng)的從系統(tǒng)中被剔除,其工作會(huì)由其他的識(shí)別服務(wù)器承擔(dān)。

  4. 服務(wù)器可以動(dòng)態(tài)加入和退出,不論是資源管理器還是識(shí)別服務(wù)器,抑或是語(yǔ)法服務(wù)器,都可以動(dòng)態(tài)的隨時(shí)加入整個(gè)系統(tǒng)中,也可以動(dòng)態(tài)的從系統(tǒng)中退出,而對(duì)整個(gè)系統(tǒng)的穩(wěn)定運(yùn)行不會(huì)產(chǎn)生影響。因此,用戶可以根據(jù)整個(gè)系統(tǒng)的運(yùn)行情況,隨時(shí)加入新的服務(wù)器以應(yīng)付增加的呼叫量,也可以在負(fù)載變輕的時(shí)候,隨時(shí)關(guān)閉某些服務(wù)器。同時(shí),這種特性也保證某個(gè)服務(wù)器出現(xiàn)故障時(shí)不會(huì)影響系統(tǒng)的穩(wěn)定運(yùn)行。

  5. 由于分布式語(yǔ)音識(shí)別系統(tǒng)是一套比較復(fù)雜的系統(tǒng),為了進(jìn)一步保證系統(tǒng)的穩(wěn)定性,我們還開發(fā)了一套監(jiān)控程序來監(jiān)視系統(tǒng)各個(gè)服務(wù)器的運(yùn)行,一旦某個(gè)服務(wù)器出現(xiàn)故障,監(jiān)控程序可以隨時(shí)重啟該服務(wù)器。這樣可以保證系統(tǒng)可靠運(yùn)行。

五、天朗分布式語(yǔ)音識(shí)別引擎系統(tǒng)架構(gòu)和識(shí)別技術(shù)的特點(diǎn)和優(yōu)勢(shì)

  天朗分布式語(yǔ)音識(shí)別引擎的分布式結(jié)構(gòu)具有伸縮性強(qiáng)、成本效率高和配置靈活等特點(diǎn),具有支持大話務(wù)量、實(shí)時(shí)性高的能力;其客戶/服務(wù)結(jié)構(gòu)使語(yǔ)音識(shí)別應(yīng)用程序強(qiáng)大,具有極其高效的容錯(cuò)性和負(fù)載平衡能力,保證了應(yīng)用程序的高效可靠運(yùn)行。

5.1系統(tǒng)架構(gòu)的功能特點(diǎn):
·分布式結(jié)構(gòu) 整個(gè)系統(tǒng)由多個(gè)識(shí)別服務(wù)器通過局域網(wǎng)組成,資源管理器在語(yǔ)音識(shí)別服務(wù)器間進(jìn)行負(fù)載均衡,從而保證硬件的利用效率。對(duì)CPU運(yùn)算強(qiáng)度需求很大的識(shí)別被放在單獨(dú)的識(shí)別服務(wù)器上來執(zhí)行,而不用占用應(yīng)用程序的CPU資源。每個(gè)語(yǔ)音識(shí)別服務(wù)器可以支持多個(gè)客戶端,資源管理器可以將呼叫平均分布到多個(gè)語(yǔ)音識(shí)別服務(wù)器上執(zhí)行。這種結(jié)構(gòu)優(yōu)化了內(nèi)存和CPU資源的使用,使得系統(tǒng)可以支持大話務(wù)量的實(shí)時(shí)性的語(yǔ)音識(shí)別任務(wù),可以支持電信級(jí)、大企業(yè)級(jí)的應(yīng)用需求。

·高密度接口 將對(duì)CPU運(yùn)算需求密集的語(yǔ)音識(shí)別任務(wù)從客戶端轉(zhuǎn)移到識(shí)別服務(wù)器端,使得客戶端可以抽出處理能力來支持高密度的接口,從而提高應(yīng)用程序系統(tǒng)的接入量。

·容錯(cuò)和可靠性 整個(gè)識(shí)別引擎經(jīng)過精心的設(shè)計(jì),具有很高的容錯(cuò)和可靠性,使得各個(gè)服務(wù)器可以動(dòng)態(tài)的加入和退出系統(tǒng),而對(duì)整個(gè)系統(tǒng)的運(yùn)行沒有影響,因此,即使個(gè)別服務(wù)器失效,也不會(huì)使系統(tǒng)崩潰。當(dāng)一個(gè)識(shí)別服務(wù)器失效時(shí),資源管理器會(huì)自動(dòng)停止向其發(fā)送請(qǐng)求,當(dāng)服務(wù)器恢復(fù)時(shí),又會(huì)自動(dòng)開始向它發(fā)送請(qǐng)求。另外,系統(tǒng)允許配備備份服務(wù)器來保證系統(tǒng)的可靠運(yùn)行,在平時(shí),備份服務(wù)器和其他服務(wù)器一樣,一起工作,承擔(dān)相同的工作,當(dāng)有服務(wù)器崩潰時(shí),其他服務(wù)器會(huì)自動(dòng)的承擔(dān)崩潰服務(wù)器的工作。不僅為系統(tǒng)的可靠運(yùn)行提供保證,而且可以充分利用備份服務(wù)器的能力。

·自動(dòng)監(jiān)控 系統(tǒng)為每個(gè)服務(wù)器都配備了一個(gè)自動(dòng)監(jiān)控程序來監(jiān)控服務(wù)器的運(yùn)行,如果監(jiān)控程序發(fā)現(xiàn)服務(wù)器崩潰后,系統(tǒng)會(huì)自動(dòng)重啟服務(wù)器,并保存崩潰時(shí)的現(xiàn)場(chǎng)供以后分析。這不僅大大節(jié)約維護(hù)人員的時(shí)間和精力,而且自動(dòng)監(jiān)控方式可以提供比人更快更準(zhǔn)確的維護(hù)服務(wù),保證系統(tǒng)的穩(wěn)定運(yùn)行。
ü 維護(hù)方便 系統(tǒng)可以隨時(shí)關(guān)閉一個(gè)識(shí)別服務(wù)器進(jìn)行維修,也可以隨時(shí)把維修好的服務(wù)器加入到系統(tǒng)中,而對(duì)整個(gè)系統(tǒng)的性能沒有影響。

·可伸縮性 隨著呼叫量的增加,系統(tǒng)可以隨時(shí)動(dòng)態(tài)增加服務(wù)器,而無須停止任何運(yùn)行著的應(yīng)用程序或關(guān)閉IVR系統(tǒng),這對(duì)那些需要常年連續(xù)運(yùn)行的系統(tǒng)特別有用。

5.2 系統(tǒng)架構(gòu)的綜合優(yōu)勢(shì):
  由于語(yǔ)音識(shí)別的特點(diǎn)以及應(yīng)用的特殊性,其對(duì)識(shí)別引擎的實(shí)時(shí)性能和穩(wěn)健性要求相對(duì)較高,對(duì)于分布式識(shí)別引擎,還要求網(wǎng)絡(luò)傳輸要穩(wěn)定可靠,且數(shù)據(jù)傳輸時(shí)間在整個(gè)任務(wù)所耗費(fèi)的時(shí)間中所占的比重要小,天朗分布式語(yǔ)音識(shí)別引擎經(jīng)過精心設(shè)計(jì),優(yōu)化,具有實(shí)時(shí)、穩(wěn)定、靈活性高等的特點(diǎn)。

1. 實(shí)時(shí)性
  實(shí)時(shí)性是語(yǔ)音識(shí)別的一個(gè)重要特點(diǎn),特別是在電信級(jí)的應(yīng)用中,對(duì)于用戶說的話要實(shí)時(shí)識(shí)別處理,并能夠及時(shí)地給與回應(yīng),才能滿足用戶的需要。特別是對(duì)于分布式的語(yǔ)音識(shí)別引擎,由于數(shù)據(jù)要通過網(wǎng)絡(luò)傳送,從而必然導(dǎo)致實(shí)時(shí)性的下降。因此要求分布式的識(shí)別引擎必須認(rèn)真考慮網(wǎng)絡(luò)傳輸?shù)膯栴},確保網(wǎng)絡(luò)傳輸過程所消耗的時(shí)間在整個(gè)識(shí)別任務(wù)中所占的比重非常小,才能保證整個(gè)系統(tǒng)的實(shí)時(shí)性的性能。天朗分布式語(yǔ)音識(shí)別引擎通過對(duì)識(shí)別算法和網(wǎng)絡(luò)通訊進(jìn)行優(yōu)化,保證了系統(tǒng)的實(shí)時(shí)性。

2. 穩(wěn)定性
  穩(wěn)定性是語(yǔ)音識(shí)別在電信級(jí)中應(yīng)用的另一個(gè)重要特征,一般要求系統(tǒng)能夠長(zhǎng)期穩(wěn)定的運(yùn)行,才能滿足這種長(zhǎng)時(shí)間大負(fù)荷的任務(wù)的要求。由于分布式引擎運(yùn)行在局域網(wǎng)上,因此,必須采取有效機(jī)制,確保整個(gè)系統(tǒng)的長(zhǎng)期穩(wěn)定的運(yùn)行。

  穩(wěn)定性的另一個(gè)方面反映在強(qiáng)健的容錯(cuò)能力和快速的錯(cuò)誤修復(fù)能力,容錯(cuò)能力是指當(dāng)一個(gè)識(shí)別服務(wù)器宕機(jī)后,不會(huì)導(dǎo)致整個(gè)系統(tǒng)的崩潰?焖俚男迯(fù)能力是指系統(tǒng)在一個(gè)識(shí)別服務(wù)器出問題后,可以很容易的通過重起服務(wù)器,或用一個(gè)新的識(shí)別服務(wù)器替代問題服務(wù)器,而不需要系統(tǒng)整個(gè)重起。

  天朗分布式語(yǔ)音識(shí)別引擎通過精心設(shè)計(jì),使得整個(gè)引擎在穩(wěn)定性上取得重大突破,系統(tǒng)可以長(zhǎng)時(shí)穩(wěn)定運(yùn)行。另外,系統(tǒng)的優(yōu)異的架構(gòu)設(shè)計(jì)使得系統(tǒng)中的任意一個(gè)服務(wù)器出現(xiàn)問題后,其任務(wù)會(huì)被其他同類服務(wù)器承擔(dān),而不會(huì)對(duì)整個(gè)系統(tǒng)造成影響。另外,為了保證萬無一失,我們還開發(fā)了自動(dòng)監(jiān)控程序來監(jiān)視各個(gè)服務(wù)器的運(yùn)行,從而保證當(dāng)服務(wù)器宕機(jī)后,能很快恢復(fù),從而保證系統(tǒng)的穩(wěn)定運(yùn)行。

3. 靈活性
  靈活性是擴(kuò)大引擎的應(yīng)用面和減少后期支持的一個(gè)重要特征,靈活性包括系統(tǒng)支持多種操作系統(tǒng)平臺(tái)的混合網(wǎng)絡(luò),能夠支持單機(jī)運(yùn)行到多服務(wù)器網(wǎng)絡(luò)的配置。這種靈活性可以逐步分階段來實(shí)現(xiàn)。天朗分布式語(yǔ)音識(shí)別引擎的經(jīng)過精心設(shè)計(jì)的架構(gòu)使得這個(gè)引擎可以支持多種操作系統(tǒng)平臺(tái)的混合運(yùn)行。

5.3識(shí)別引擎的技術(shù)特點(diǎn):
·連續(xù)語(yǔ)音 在講話的時(shí)候不需要刻意地逐字講話,而是可以連續(xù)地說話。
·自然語(yǔ)言 用戶可以用自然的方式講話,而不是象錄音對(duì)比系統(tǒng)那樣必須按照錄音時(shí)的講話方式來講。
·與說話人無關(guān) 天朗分布式語(yǔ)音識(shí)別引擎在進(jìn)行語(yǔ)音識(shí)別時(shí),不受說話人的限制,所以說話人在使用前不需要進(jìn)行語(yǔ)音訓(xùn)練和適應(yīng)準(zhǔn)備。
·多語(yǔ)言 天朗分布式語(yǔ)音識(shí)別引擎支持多種語(yǔ)言的混合識(shí)別。
·準(zhǔn)確率高 語(yǔ)音識(shí)別的準(zhǔn)確性是考察一個(gè)識(shí)別引擎的一個(gè)重要參數(shù),天朗分布式語(yǔ)音識(shí)別引擎是在連續(xù)三次獲得863競(jìng)賽第一名的清華大學(xué)電子工程系系語(yǔ)音識(shí)別實(shí)驗(yàn)室研究的核心識(shí)別技術(shù)的基礎(chǔ)上開發(fā)的,具有國(guó)內(nèi)領(lǐng)先的識(shí)別準(zhǔn)確率。
·多候選和置信度信息 能夠提供多個(gè)可能的識(shí)別結(jié)果,按照其置信度大小順序排列;
·支持動(dòng)態(tài)語(yǔ)法 動(dòng)態(tài)語(yǔ)法是指應(yīng)用程序運(yùn)行時(shí),允許語(yǔ)法動(dòng)態(tài)創(chuàng)建和修改。這在實(shí)際應(yīng)用場(chǎng)合是非常有用的,如: 應(yīng)用系統(tǒng)的語(yǔ)法在運(yùn)行時(shí)不能徹底確定,或者在運(yùn)行時(shí)需要?jiǎng)討B(tài)修改。這能夠較大地提高系統(tǒng)的靈活性。
·對(duì)噪音和口音的適應(yīng)能力強(qiáng) 天朗分布式語(yǔ)音識(shí)別引擎能夠適應(yīng)較為惡劣的噪音環(huán)境,對(duì)于不同口音也有很強(qiáng)的適應(yīng)能力。
·適應(yīng)多種平臺(tái) 天朗分布式語(yǔ)音識(shí)別引擎是一種基于客戶服務(wù)結(jié)構(gòu)的語(yǔ)音識(shí)別引擎,能夠適應(yīng)多種工業(yè)化的系統(tǒng)平臺(tái)。
·靈活性和可擴(kuò)展性 天朗分布式語(yǔ)音識(shí)別引擎提供標(biāo)準(zhǔn)C接口和多種靈活方便的使用方式,可以采取多種方式構(gòu)建系統(tǒng),以及和現(xiàn)有系統(tǒng)整合。

六、天朗分布式語(yǔ)音識(shí)別系統(tǒng)運(yùn)行環(huán)境
1. 硬件環(huán)境
  Intel 奔騰3或以上的PC、服務(wù)器(包括各種CPU類型的服務(wù)器)、工作站(包括各種CPU類型的工作站);內(nèi)存建議為256Mb以上DDR或RAMBUS內(nèi)存,40GB以上硬盤, 網(wǎng)絡(luò)采用100M帶寬以上局域網(wǎng),支持TCP/IP協(xié)議。
2. 軟件環(huán)境
  WINDOWS NT/2000/XP操作系統(tǒng)。

天朗語(yǔ)音公司供稿 CTI論壇編輯



相關(guān)鏈接:
天朗分布式語(yǔ)音識(shí)別系統(tǒng)在語(yǔ)音門戶中的使用 2003-10-13
天朗分布式語(yǔ)音識(shí)別系統(tǒng)改造傳統(tǒng)IVR 2003-10-10
鍵盤漸成擺設(shè),未來手機(jī)一呼通 2003-09-22
天朗語(yǔ)音成功開發(fā)出分布式語(yǔ)音識(shí)別系統(tǒng) 2003-09-19
天朗"一呼通",提升智能化 2003-04-28

分類信息:     技術(shù)_語(yǔ)音識(shí)別_解決方案