信息时代,科学技术的飞速发展带动人工智能化技术的更新进步。机器人的应用领域和范围也越来越广泛,在生产、建筑、旅游等各个行业都能够看到人工智能機器人的身影。 旅游产业与互聯網的结合,要随着信息技术的发展与时俱进。物联网、人工智能、虚拟现实等新兴的互聯網技术让旅游产业的未来充满了挑战与机遇,导游等依赖大数据的职业完全可能被人工智能機器人取代。
本文主要介绍語音識別技術在智能語音機器人中的應用,一般语音机器人的設計开发主要着眼于“能聽會說”,力图利用語音識別和语音合成等技术,将模拟的听说能力赋予机器人并生动地展示给观众,主要应用于展厅博物館等场景,需考虑到机器人所处环境非常嘈杂,因此对系统的稳定性和抗噪性能都提出了较高的要求。此外,由于参与的观众来自全国各地,涉及不同性别、年龄、地域口音,所以系统声学模型的分类設計、调练和自动切换也是一个重要的設計要素。
智能语音机器人的总体設計
智能機器人与观众采用相互问答的小型对话形式进行交流。为实现上方便,可把问答对话的领域进行合理的限制。除迎宾和问候语外,可以設計4個問題域:有關時間、日期和星期的問答,有關全世界各大城市所在時區和當地時間的問答,100以內的數學四則運算題目的問答,沒有關系機器人的身世、本領等自身情況的問答。對于每個限定的問題域,相應詞彙表的大小是有限的。在限定領域、有限詞彙的條件下,機器人基本可以與觀衆進行自由問答,並可以在不同的問題與之間相互切換。系統工作流程圖如下。
系統啓動並初始化後處于等待狀態,如果沒有觀衆靠近,機器人就定時反複播放自我介紹。如果有觀衆參觀(由紅外探測配合),系統檢測到語音信號,便會從等待狀態進入問答狀態。在觀衆預先選定的問題域內,機器人將和觀衆進行“自由”問答,在回答觀衆提問的同時,機器人會有協調的動作加以配合:針對不同觀衆對機器人所提問題的不同回答,機器人會有不同的相應,並以此決定下一步的動作。在某些問題域內,機器人在對文檔話過程中還會向觀衆提出一些問題,並等待觀衆回答。如果觀衆回答正確,機器人將表示祝賀,否則機器人將給出合理的提示(如噪聲太大,講話聲音要大點,沒有聽清楚或者你的答案不正確等)。多次回答不正確時,機器人將給出正確答案,機器人與觀衆對話結束後,向觀衆道別,再次轉入等待狀態。
核心語音模塊及關鍵技術
语音模块是智能機器人的核心构件,它完成的功能包括:机器人从外界接收观众的语街,送入語音識別器进行识别,再从识别结果中提取若干关键词,而后通过对这些关词的分析,将其映射为某个问题:機器人再針對此問題生成回答,最後將文本形式的答案合成爲語音,輸出給觀衆。如果觀衆的問題超出限定的對話範圍或者識別結果可信度不高,則在答案生成階段給出錯誤提示,並由語音合成器輸出。如果機器人想向觀衆提出問題,也要由語音合成器合成後輸出,模塊的整體框架如下圖所示。
1.問題域相關的數據組織
机器人与观众的问答将限定在某个问题域内进行,针对每个问题域,我們確定了有限大小的“詞彙表”,並通過大量的語料訓練出相應的基于詞類的統計“語言模型”“關鍵詞表”可以從“詞彙表”中提煉得到,它記錄的是對于理解問題有實質作用的詞彙及其相關信息,此外還要在“關鍵詞表”的基礎上形成“關鍵詞類型組合模板庫”,其中每個模板代表問題域內的一類具體問題。
2.識別結果的可信度度量及拒識
从以上框图可以看到,語音識別器的识别结果作为“關鍵詞提取”和“問題理解等後續各個步驟的原始輸入,它的正確與否直接影響到整個系的性能。
在限定領域限定詞彙量的條件下,如果觀衆的提問或回答不超出限定的詞彙,識別結果的正確率可以達到95%以上。但是,一旦問題超出限定的領域或者出現了集外詞,識別器的性能就會嚴重下降。因此對識別器識別結果的可信度進行度量就顯得非常重要,它可以降低集外詞(OOV)帶來的不利影響。
我們采取的方法是利用统计語言模型衡量识别所得到的整个句子的可信度。如果一个句子的词误识率比较低,构成这个句子的众多三元短语(w1w2,w3),会比较多的出现在统计語言模型Trigram中;反之如果出現較多的識別錯誤,那麽句子中大部分的詞w1和元短語(wl,w2)將出現在Unigram或Bigram中,很少有三元短語命中Trigram對于一個由若幹詞W,W2,,Wi,…Wn构成的句子,我們根据各个词及它所构成的知语在统计語言模型中出现的情况对其中每个词打分。出现在Trigram中的可信度高,因而得分較高,出現在Bigram或Unigram中的可信度低,因而得分較低。再在各個詞得分的基礎上得到整個句子的可信度得分。若得分低于某個門限,則認爲句子中包含較多的識別錯誤或者集外詞,可信度較低,應當被拒識。
3.關鍵詞檢測
从识别器得到的识别结果,是由一个个词构成的词序列,其中某些词对于理解整个句子有着非常重要的作用,这就是我們所说的关键词。在这步要做的就是提取出这些关键词,形成一个关键词串,作为下一步問題理解”的輸入,這種處理同時也是爲了降低“問題理解”时的难度。针对上面提到的四个问题域,我們分别設計了關鍵詞表,预先规定了在这一问题域内的关键词。这个关键表是語音識別系统中相应问题域下的詞彙表的子集,记录了每个关键词的汉字串,类标识和词序号等信息。在提取关键词时,只需要在句子中进行搜索,检测到出现在关键间表的关键词,记录它们出现的位置和次序。比如一个句子“請問現在紐約的當地時間是幾點鍾?”我們可以提取出关键汉字串“現在紐約當地時間幾點鍾”以及對應的關鍵詞類型串NOWCITY+LOCALTIME+CCLOCK”。对于不包含关键词的句子我們把它视作无效或者错误的输入,给出相应的提示。
4.問題理解和答案生成
“關鍵詞提取”得到的关键词汉字串以及类型串将用于問題理解和答案生成。
在“問題理解”時,主要用到關鍵詞類型串,通過與模板組合庫中的模板對照,可以把它映射到某一類具體問題上。比如上面例子中的“NOW+CITY+LOCALTIME+OCLOCK”,就可以映射为“询问某城市的当地时间这类问题。在系统中针对每个不同的问题域,設計了许多关键字类型组合的模板,每个模板对应一类问题。如果关键字类型串成功映射为某类问题,即可转入“答案生成”,否则我們认为问题无效和错误在“答案生成”時,已經明確了問題的類型,相應回答的基本句式就已經確定,所需要的就是給句式賦予具體的內容。利用“關鍵詞提取”得到的關鍵字漢字串和詞序號等信息,可以唯一地確定問題的具體內容,並由此得到問題的最終答案。
以上介绍的是系统的总体结构和流程設計,针对机器人将要长期展出的要求,以及其展出环境比较嘈杂观众类型复杂、年龄跨度大等特点,还有许多实际问题需要解决。比如,针对现场环境噪声和不同的观众类型需要现场采集数据,进行声学模型训练;根据说话人的不同声学特性,要对说话人进行聚类,設計分类的声学模型,并在线选择、切换;另外还要設計不同的问题域,并组织数据和训练相应的語言模型。