語音識別標準之痛

 

語音技術涉及到語音編碼、語音合成、語音識別、語音技術應用等多個技術領域。本文討論的不是語音編碼的標準問題,而是對語音合成與識別領域的技術標準做一個研究與探討。

語音技術涉及到語音編碼、語音合成、語音識別、語音技術應用等多個技術領域。目前,關於語音編碼,國際標準化組織ISO和國際電信聯盟ITU上已經制訂了一系列的技術標準,分別應用在有線通信、移動通信、數字音響等領域。但是,關於語音合成與識別技術的標準還沒有一個統一的規範,ISO和ITU在這些領域也沒有頒佈技術標準和規範。雖然有些標準化組織、研究機構和大公司提出了各自的技術規範草案,但是沒有得到廣泛的承認和支持。國際上,許多跨國公司,如IBM、Microsoft、AT&T、Naunce、Sun System等對語音技術的研究已經持續了多年,對制定語音技術領域的標準非常關心並積極參與,希望能把各自公司的研究成果納入到技術規範和標準中去,以期在激烈的競爭中處於技術的制高點。現在,與互聯網有關的語音技術應用領域,相關的國際語音標準發展迅速,形成了VoiceXML和SALT兩大語音標準陣營,並各自都獲得了廣泛的支持。但是,對語音合成與識別的核心技術,如系統框架、接口規範等還沒有統一的標準。本文不討論語音編碼的標準問題,而是對語音合成與識別領域的技術標準做一個初步的探討。

語音技術標準的三個層面

雖然目前國際上還沒有統一的、得到廣泛承認和支持的語音合成與識別領域的技術標準,但是,這方面的研究工作發展迅速,近幾年推出了許多研究成果,特別是W3C組織積極推動併發布了多個語音技術應用方面的規範或標準。例如, W3C發佈了Voice Browser(語音瀏覽器)標準的草案。在這個標準中,Voice Browser標準(草案)定義了幾種支持語音輸入和輸出的鏈接語言。這些鏈接語言使語音設備可以跨越各種硬件和軟件平臺,特別是設計了關於對話、語音識別語法、語音合成、自然語言語義和蒐集可重複使用的對話組件的鏈接語言。這些鏈接語言和組件就構成了未來語音界面框架。現在,這個標準組中的參加成員有AT&T、Cisco、Hitachi、HP、IBM、Intel、 Lucent、Microsoft、Motorola、Nokia、Nortel、Sun和Unisys等公司。由於語音識別與合成技術還處在迅速發展階段,制訂出一套合適的技術標準很不容易。關於語音技術(除了語音編碼)有關標準的制定工作主要集中在三個層面。

語音技術應用: 在這個層面上,主要規定在應用開發中如何使用語音合成與識別技術,即應用程序與語音合成/識別引擎之間的通信協議/語言,許多跨國公司積極參加了這個層面的規範與標準的起草、制訂工作,例如,如IBM、AT&T、Naunce、Microsoft、Sun System等,推動並且形成了VoiceXML和SALT兩大語音標準陣營。從開發者的角度看,這些標準都是面向應用系統開發用的。萬維網聯盟W3C主持了VoiceXML的起草和制定工作,並從2000年開始陸續發佈了VoiceXML的多個版本,其中包括了語音識別語法規範和語音合成標記語言等。這些標準不僅使應用程序可以移植,而且還能夠使語法相關聯。VoiceXML 2.0是一種標記語言,用於建立話音界面,相當於帶語音功能的HTML。現在已經有數百個大的廠商開發了基於VoiceXML的應用程序。SALT表示語音應用標記語言,它是在現有的標記語言,如在HTML、XHTML的基礎上,增加了對語音和多媒體功能的支持而形成的。對語音應用,它主要關注的是如何通過電話得到語音服務。2002年,SALT聯盟論壇發佈了SALT技術規範的草案,並且把它提交給了W3C,希望能成爲技術標準。參加和支持SALT技術規範的大公司包括: Cisco Systems Inc., Comverse Inc., Intel Corp., Microsoft Corp., Philips Speech Processing 以及 SpeechWorks International Inc.等。

語音識別/合成系統性能評測標準: 美國國家技術與標準研究所(NIST)主持了這個方面的工作。從20世紀90年代中期開始,NIST就開始組織語音識別/合成系統的性能評測工作。由於語音識別/合成系統的實現技術各種各樣,對它們的評測實際上是相當困難的。20世紀90年代初期的時候,語音識別/合成系統大量推出,但往往出現下面的情況: 某個系統在推出時,聲稱該系統有很高的性能,但實際應用的時候其性能與宣傳的差別很大。因此,NIST認爲應制定出一套評價語音識別/合成系統的技術標準,讓所有的語音識別/合成系統在這套評測標準下進行評估,以得到客觀的性能評價指標。在該領域,NIST陸續制定了評價語音識別/合成系統的詞錯誤率WER的計算規範,語言模型的複雜度的計算規範,訓練和測試語料的選取,系統響應時間標準,合成語音自然度的評價規範,測試程序的規範等。近年來,NIST又制定了針對其它語種(如,漢語,日語等)的評價標準。NIST的評價標準迅速得到了語音識別/合成領域開發者的支持,越來越多的大公司積極參加NIST組織的評測活動,同時也推動了語音識別/合成技術的發展。國內的“863”智能人機接口專家組也開展了類似的工作,陸續制定了針對漢語語音識別與合成系統性能的評價規範。

語音識別/合成引擎及其開發接口: 在這個層面上還沒有一個技術標準或規範被廣泛承認和採納。ISO、ITU、NIST、W3C等標準化組織都沒有在該方面推出技術標準或規範。實際上,這方面的工作涉及到許多語音識別/合成系統的具體實現問題,而系統的實現方法千變萬化,難以用一個統一的規範和標準來規範。雖然沒有語音識別/合成引擎及其開發接口的統一的標準和規範,但一些開發廠商和研究機構還是制定了各自的規範,在各自的語音系統中得到了實現,並隨着語音識別/合成系統的推出而發佈。

IBM在其推出的語音識別與合成引擎ViaVoice中規定了開發接口,提供了幾百個開發接口函數。Microsoft推出了基於它的語音識別與合成引擎開發語音應用的接口Speech SDK, 在其中也提供了類似的開發接口函數。但是,IBM和Microsoft的語音識別與合成引擎的實現細節沒有公開,也沒有提供這方面的技術規範。另外,美國的CMU大學、英國劍橋大學電子工程系的HTK開發組都發布了開放式的語音識別與合成引擎的源碼以及相應的開發工具,它們的語音識別與合成引擎的實現方法紛紛被衆多的開發者所借鑑,從而形成了業界很有影響的開發規範,但是,這些規範也不是標準。目前,有許多語音識別與合成引擎,但是沒有提供實現的技術規範,因此,這些系統的實現和提供的接口只是遵守各自特殊的規定,沒有規範化並得到廣泛的應用。

中文語音技術標準現狀

制訂中文語音技術的有關標準,對促進中文語音技術應用、推動中文語音產業發展、增強民族軟件核心競爭力均具有非常重要的意義。國家信息產業部、“863”專家組、國家技術監督局和國家信息標準化委員會分別於2001年、2002年、2003年召開了三屆語音標準研討會,並於2003年11月由信息產業部科技司正式下文成立了“中文語音交互技術標準工作組”。

“中文語音交互技術標準工作組”是由國內產、學、研、用等企事業單位以及大專院校等自願聯合組織、經信息產業部科技司批准成立的、組織開展中文語音交互領域技術標準制定和研究活動的非營利性技術工作組織。該工作組的主要工作任務是研究並制定與中文語音交互技術有關的數據交換格式、系統架構與接口、系統分類與評測及數據庫格式與標註等方面的標準。目前,語音合成和語音識別通用標準已正式立項爲國家標準,報批稿已經完成,多個產業相關的應用技術標準也正在制定之中。

國家“863”智能人機接口專家組在20世紀90年代中後期邀請國內的一些研究機構和大學制訂了針對漢語語音識別與合成系統的評價規範,該評價規範應用到了歷屆對“863”支持的漢語語音識別與合成系統的評價過程中。如果從語音識別與合成技術標準的三個層面考察,國內在該領域的研究工作主要集中在系統性能的評價規範的制訂上,至今還沒有正式實施的國家標準。但是,隨着國內的語音應用開發地迅速發展,沒有一個統一的技術規範或標準會造成許多開發重複,資源浪費。

例如,如果語音識別與合成引擎支持媒體資源控制協議(MRCP), 語音應用開發者採用MRCP,IVR和語音識別與合成引擎開發廠商之間的專有用的連接器就不需要了。再如,隨着語音技術和應用市場需求增大的同時,面臨着複雜系統互聯的問題。在系統的互聯接口、內容交換數據格式等方面沒有一個大家共同遵循的標準,其開發難度、維護難度和運營難度是非常巨大的; 沒有一個大家共同遵循的標準,語音合成/識別引擎與電話設備、後臺數據庫、地理信息、無線定位等其他組成部分完成通信也是非常困難的,這些都成了阻礙語音應用大規模發展的絆腳石。因此,制訂和研究漢語語音技術領域的標準已迫在眉睫。

技術標準的主要內容

爲了適應網上語音瀏覽、語音信息檢索、交互式語音應用的發展需求,語音識別與合成技術的標準制訂工作的重點目前應該集中語音技術應用層面和語音識別/合成引擎及其開發接口上。這樣的一個標準或規範必須是有代表性的,通用的,被廣泛接受和採用的; 顯然,制定一個這樣的標準不能閉門造車,要有標準的使用機構或潛在的使用機構參與,還必須與國際上已有的類似的標準接軌,與國際上的標準化機構,如ISO、W3C、ITU等密切合作。值得注意的是,語音識別/合成的實現算法千差萬別,該領域的標準或規範只能提供一個實現框架,沒有必要對具體的實現算法和技術細節進行約束。另外,語音技術標準還應該與具體應用無關,與語音識別/合成引擎無關等。

如上所述,語音技術標準(除了語音編碼)的制訂工作主要集中在三個不同的層面上。這三個層面標準的內容分別是:

語音技術應用: 一般基於語音的應用都有如下圖所示的架構(已簡化)。

 

在這個層面上,語音技術標準的主要內容是: 規定語音輸入、語音輸出、識別結果、返回結果的格式和屬性。語音輸入和語音輸出屬於用戶與語音信號處理引擎之間的交互過程,所以,這部分也包括語音用戶界面的內容; 識別結果是語音信號處理引擎輸出的結果,也是識別結果執行引擎的輸入,識別的結果一般是文本或命令,如何將識別結果格式化是該層面的主要任務; 返回結果是識別結果執行引擎的輸出,也是語音信號處理引擎的輸入,經語音信號處理引擎處理後,以語音的方式返回給用戶。爲此,需要規定語音輸出的參數格式,如韻律特徵、重音特徵和停頓等。制訂這方面的標準內容還應該考慮漢語語言和語音結構的特殊性。現在已經發布的技術標準或規範主要是VoiceXML和SALT,它們都屬於描述和規定語音技術應用的層面,都是基於標記語言的格式。

語音識別/合成系統性能評測標準: 在這個層面上,語音技術標準的主要內容是: 評價語音識別引擎的性能指標,主要包括: 詞彙量大小、識別方式、詞錯誤率WER、語言模型複雜度、響應時間、訓練和測試語料等; 評價語音合成引擎的性能指標,主要包括: 詞彙量、自然度、清晰度、測試語料等。雖然我們可以借鑑NIST在這方面的經驗和標準,但是針對漢語語音識別/合成系統性能評測標準,我們不能照搬,必須考慮漢語的特點。

語音識別/合成引擎及其開發接口: 在這個層面上,語音技術標準的主要內容是: 規定語音識別引擎的輸入/輸出的格式,如輸入語音的方式(已有的語音數據的輸入/Mic語音輸入)、語音數據的格式、語音特徵向量的格式、控制參數的語義格式、輸出是文本串的格式、拼音串的格式、音素串的格式等,提供給用戶開發接口的函數名、入口/出口參數、功能描述等; 但是,語音識別引擎的實現細節不應該包含在此部分的標準內,如引擎應該包含哪些模塊,使用什麼樣的語音特徵向量,如何計算語音特徵向量,如何建立模板,如何匹配計算等,都不應該加以約束,而允許開發者採用適當的算法實現。關於規定語音合成引擎,需要規定的是: 輸入的格式,如純文本/拼音、帶有控制串的文本/拼音、控制串的語義格式描述、輸出的格式、提供給用戶開發接口的函數名、入口/出口參數、功能描述等; 但是,語音合成引擎的實現細節不應該包含在此部分的標準內,如引擎應該包含哪些模塊,如何進行輸入文本的分析,如何分詞,採用什麼樣的合成基元和算法等,都不應該加以約束。關於這部分標準的內容,IBM和Microsoft語音識別/合成引擎開發文檔提供了詳細的開發接口函數的信息,而且功能基本相同,可以爲制訂語音識別/合成引擎開發接口提供參考。語音識別引擎開發工具包HTK詳細描述瞭如何開發一個新的語音識別引擎,對制訂該部分標準的內容也具有參考意義。

鏈接:推動技術標準制訂

語音技術在網絡瀏覽器和其他領域的的需求越來越迫切,制訂語音技術標準或規範的條件工作已經基本就緒,但針對各個具體語種的工作還很多。萬維網聯盟W3C在制定語音技術標準或規範方面做了大量工作,從2000年開始,先後發佈了一系列用於語音識別、語音合成的標記語言規範; 爲了制訂一種通用標準,並被廣泛採用,W3C邀請了國際上的大公司,如Sun、 IBM、Intel、微軟等參加工作組。除了語音識別/合成標記語言,工作組還在開發語義翻譯和呼叫控制擴展標記語言兩種語音標準。這些標準都是W3C語音接口框架的重要部分,目的是爲網絡建立語音應用軟件。

據報道,W3C計劃提出針對普通話的語音技術標準,並計劃加入日語、韓語等亞洲語種。到目前爲止,W3C推出的語音技術標準中最成功的是VoiceXML 2.0,支持VoiceXML 2.0的Web瀏覽器可以解釋VoiceXML 2.0腳本並向用戶呈現語音信息,同時還能接受用戶的語音請求,其功能相當於語音瀏覽器,大大促進了語音技術在網絡中的應用。

(計算機世界報 2006年06月12日 第22期 B20、B21)

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章