人機(jī)交互過程拆解:是什么?怎么做?
編輯導(dǎo)讀:AI改變了我們與機(jī)器互動(dòng)的方式,影響了我們的生活,重新定義了我們與機(jī)器的關(guān)系。本文作者對(duì)人機(jī)交互的過程進(jìn)行了分析拆解,對(duì)語音識(shí)別技術(shù)為什么能把語音信號(hào)變成文字展開了詳細(xì)的說明,一起來看看~
背景:市面上有哪些搭載類似交互系統(tǒng)的產(chǎn)品?
微信的小微平臺(tái)、淘寶的淘小蜜、釘釘?shù)闹悄芄ぷ髦怼俣鹊男《鹊鹊?,既有面向C端消費(fèi)者,又有面向B端企業(yè)主,如果要論商業(yè)化的潛力無疑目前機(jī)器人行業(yè)很大程度上C端的機(jī)器人產(chǎn)品已經(jīng)幾乎被驗(yàn)證無法實(shí)現(xiàn)盈利了,參考微軟小冰和siri,不過未來教育行業(yè)的幼兒機(jī)器人也許是一條光明大道。
更多的廠商已經(jīng)轉(zhuǎn)向了幫助企業(yè)主實(shí)現(xiàn)數(shù)字化管理、智能化辦公而開發(fā)機(jī)器人能力,演化除了機(jī)器人的自定義平臺(tái),用于企業(yè)運(yùn)維和管理。
智能語音交互系統(tǒng)簡單來講:就是語音識(shí)別+語義理解+TTS
雖然說的簡單,但是內(nèi)部系統(tǒng)往往都比較復(fù)雜,每個(gè)點(diǎn)拆開來可能就足夠我們?nèi)パ芯康簧?。為何說AI時(shí)代的重點(diǎn)和基礎(chǔ)是語音智能交互?在人工智能時(shí)代,人們發(fā)現(xiàn)語音比文字輸入更能收集到有用的大量信息,這也是一種未來的主流形式。
語音交互流程
智能語音交互系統(tǒng)概括起來就是一段音頻被機(jī)器人所吸收檢測(cè),將識(shí)別到到的語音信號(hào)截取、轉(zhuǎn)換成語料庫里讀音信號(hào)頻率最為相近的文字(所以也有人形容語音識(shí)別其實(shí)是一種概率事件),而文本會(huì)通過特定接口進(jìn)入語義分析引擎,進(jìn)行分析。其中就可能要進(jìn)行分詞、命名實(shí)體識(shí)別、詞性標(biāo)注、依存句法分析、詞向量表示與語義相似度計(jì)算等NLP基礎(chǔ)功能。
NLP基礎(chǔ)技術(shù)
一般情況下都會(huì)首先進(jìn)行分詞分析:
例如:我想在房間里看電影
分詞:【我】【想】【在】【房間】【看】【電影】
這就是分詞的效果。而分詞的目的是為了找出文字中最重要的核心語義,命名實(shí)體識(shí)別功能(假如需要的話)
分詞:【我】【想】【在】【房間】【看】【電影】其中涉及到人物、地點(diǎn)、作品這些詞匯就可以自動(dòng)被提煉出來,很多應(yīng)用場(chǎng)景會(huì)需要用到這種信息分類識(shí)別的能力,比如人口錄入系統(tǒng),只要將基本信息復(fù)制進(jìn)去,自動(dòng)分類此人的身份證號(hào)碼、地址、年齡等需求信息。
詞性標(biāo)注:詞性標(biāo)注可以幫助我們找到其中的名稱、動(dòng)詞、 形容詞等。
依存句法分析的主要功能是能夠針對(duì)句子找出句子的核心部分,比如分詞:【我】【想】【在】【房間】【看】【電影】
經(jīng)過詞性標(biāo)注和依存句法分析之后可以找出這句話的觀點(diǎn)是:【在】【房間】【看】【電影】,這是整句話的核心。
從而我們可以通過檢索知識(shí)庫中和分詞內(nèi)容相似度計(jì)算,并輸出相似度最高答案。
而詞向量與相似度主要能解決什么問題呢?比如西瓜、呆瓜、草莓,在語義上哪兩個(gè)更像呢?
這個(gè)時(shí)候我們可以將這三個(gè)詞通過向量表達(dá)式工具和計(jì)算相似度來解決:
可以明顯的看出,語義上西瓜和草莓更相似,同屬水果,這樣就解決了大部分字面意思相近但是語義差別較大的情況,避免機(jī)器人錯(cuò)誤理解人類的意圖。
回到題目,當(dāng)我們的文本進(jìn)入語義分析引擎,并經(jīng)過上述的步驟后,計(jì)算相似度從而觸發(fā)設(shè)定閥值以上的答案即可請(qǐng)求服務(wù)器發(fā)送正確答案給到終端處,如果需要機(jī)器人播報(bào)返回的文字時(shí),可以接入TTS語音合成引擎(一般語音識(shí)別引擎就有這項(xiàng)功能)。
簡單的來講,語音交互系統(tǒng)流程框架大致如此,無論是軟件語音交互機(jī)器人還是實(shí)體機(jī)器人,本質(zhì)上流程變動(dòng)不大,根據(jù)業(yè)務(wù)需求會(huì)有些許差別,比如展示相關(guān)問,模糊問題引導(dǎo),詞匯糾錯(cuò)等需求就需要插入特定的流程。
通過上面所寫的內(nèi)容,希望能讓大家大致了解市面上搭載智能語音交互系統(tǒng)的產(chǎn)品后臺(tái)流程,也能明白一個(gè)簡單的對(duì)話框背后所涉及的技術(shù)高度。
四款人機(jī)交互系統(tǒng):小i機(jī)器人、siri、漢娜、Echo。當(dāng)然還有市面上眾多針對(duì)toB的機(jī)器人產(chǎn)品
今后真正的個(gè)人虛擬助理一定會(huì)搭載智能語音交互系統(tǒng),并且會(huì)調(diào)用各種讓你意想不到的功能,從而成為你強(qiáng)大的私人秘書,能想象我們只需要說一聲幫我訂今晚到北京的機(jī)票,并通過語音密碼付款即可完成購票的整個(gè)流程嗎?這種場(chǎng)景真正商業(yè)化會(huì)在10年內(nèi)大規(guī)模爆發(fā)。
說到這里有必要給大家普及一下語音識(shí)別的一些細(xì)節(jié)內(nèi)容,有人說:我很納悶,怎么就能把語音變成文字?
在AI越來越普遍令大家感到新鮮的同時(shí),一些專業(yè)名詞也讓大家開始熟悉起來,起碼也都能了解到一些術(shù)語所代表的含義。
例如:語音識(shí)別就是把語音信息變成文字的技術(shù);自然語言處理就是能讓機(jī)器人理解人類通用語言的技術(shù);人臉識(shí)別就是拍個(gè)照就能認(rèn)出你是誰的技術(shù)。不能不說技術(shù)的普及,生活水平的提高會(huì)讓人們對(duì)技術(shù)基礎(chǔ)的理解程度也越來越高,接受能力也變得很高。
經(jīng)典案例:90年代我國開始研究二維碼,但是大家并不熟悉,關(guān)鍵在于沒有產(chǎn)品使得二維碼變得普及,幾年前微信和支付寶開始率先使用二維碼支付后,二維碼迅速成為大街小巷最普及的東西,大家從一開始的質(zhì)疑到將信將疑最后變成信任,這就是技術(shù)普及的力量,讓這種新鮮的技術(shù)變成一種社會(huì)的常識(shí)。
這篇文章我會(huì)詳細(xì)給大家解釋一下語音識(shí)別技術(shù)為什么能把語音信號(hào)變成文字?
過程的第一部分就是發(fā)送一段語音信號(hào),有點(diǎn)像是心電圖頻率的波動(dòng),下圖我們先介紹一下語音識(shí)別的整個(gè)流程,先有個(gè)概念。
語音識(shí)別流程圖
這段音頻進(jìn)入語音識(shí)別引擎之后,就會(huì)送出識(shí)別到的文本,我們將這個(gè)文本發(fā)送給語義分析并處理,進(jìn)而得到相似度最高的答案,并合成文本發(fā)送到語音合成引擎之中進(jìn)行語音輸出。
那么重點(diǎn)來了這個(gè)【ASR】是怎么讓語音變成文字的?
接下來我們繼續(xù)分解,看下圖:
語音預(yù)處理
語音信號(hào)通過我們的接口送進(jìn)語音引擎中,這段語音信號(hào)的質(zhì)量其實(shí)是比較差的,這段語音有周圍的噪聲,機(jī)器本身噪聲,所以我們先要做的處理就是降噪、回聲消除、端點(diǎn)檢測(cè),可能大家不是很理解回聲消除是怎么抑制回聲的,我給個(gè)原理圖示大家應(yīng)該就明白了:
做完了語音預(yù)處理之后,把相對(duì)比較純凈的信號(hào)發(fā)送給特征提取部分,這個(gè)部分主要干什么呢?
我們?nèi)撕腿耸遣煌?,膚色、身高、體重、樣子這些都是特征,而語音部分我們提取什么呢?信號(hào)頻率、振幅,這其實(shí)就是每個(gè)人音色不同的秘密所在,將這些特征提取送到語音識(shí)別引擎的聲學(xué)模型中去。它會(huì)自動(dòng)匹配這些語音信息最大概率的發(fā)音漢字。說白了就是這個(gè)讀音是哪個(gè)漢字的讀法,然后把這個(gè)漢字單獨(dú)拎出來。
其實(shí)什么是聲學(xué)模型呢?簡單來講就是一種刻畫(拼音讀法)韻母a、o、e,聲母b、p、m這些的模型,那這些模型是怎么來的?它是怎么知道這個(gè)字怎么讀的呢?這個(gè)時(shí)候我們就需要輸入一些音頻訓(xùn)練集了,例如我們正常說話一段話,同時(shí)輸入剛才說的那一段話的文本,機(jī)器會(huì)自動(dòng)取出其中不同的因素,并且拿去繼續(xù)訓(xùn)練模型,修正誤區(qū)。
這樣對(duì)于機(jī)器算法來說,有了輸入和輸出,還能不斷優(yōu)化自身模型。算法是不是很神奇。這些不同因素?cái)?shù)據(jù)會(huì)先進(jìn)行預(yù)處理,例如百度就做了一定的加噪處理,這樣在噪聲環(huán)境下魯棒。
其中語音識(shí)別模塊除了聲學(xué)模型之外還有一個(gè)同等重要的模塊就是語言模塊,什么叫語言模塊呢?就是刻畫文本和文本之間概率權(quán)重的。那么語言模型是怎么來的,假如我們要想做醫(yī)學(xué)領(lǐng)域的語言模型,那就要讓它去學(xué)習(xí)很多醫(yī)學(xué)術(shù)語,這個(gè)時(shí)候就需要我們準(zhǔn)備這些術(shù)語做成一個(gè)詞表,但是同樣需要數(shù)據(jù)清洗,原始數(shù)據(jù)會(huì)有些垃圾,在做一些權(quán)重的正規(guī)化,并送到模型中去訓(xùn)練,從而得出或者優(yōu)化原有模型。簡單說你提前給醫(yī)學(xué)領(lǐng)域的專用術(shù)語背下來了,下次一聽到相關(guān)的語音你就能記起來這個(gè)專用術(shù)語。
例如【板藍(lán)根】,訓(xùn)練之后一聽到這個(gè)語音就不會(huì)識(shí)別成【版爛根】
這樣我們最終就能得到這個(gè)語音識(shí)別的模型,并且我們可以通過繼續(xù)迭代來優(yōu)化這個(gè)模型
既然模型有了,那怎么看好還是差呢?有幾個(gè)方面來分辨。
理想音頻就是識(shí)別質(zhì)量較好的情況,但是現(xiàn)實(shí)生活中語音識(shí)別往往回因?yàn)楦鞣N情況導(dǎo)致識(shí)別效果不佳,比如丟音,比如你按下手機(jī)麥克風(fēng)按鈕時(shí),還沒有啟動(dòng)錄音你就開始說話了,那沒啟動(dòng)時(shí)說的語音就被丟棄了,這種情況識(shí)別就差很多了,什么叫截幅呢?就是一般語音識(shí)別都是用兩個(gè)字節(jié)來表示一個(gè)語音的取值范圍,當(dāng)你的增益太大就會(huì)被自動(dòng)截掉,識(shí)別的效果也較差了。
回過頭來,我們剛才所得到的語音訓(xùn)練模型只是一種特定情況下得到的語音模型,不具備普適性。為何這么說呢?
我們所得到的醫(yī)學(xué)領(lǐng)域模型,假設(shè)是用手機(jī)錄音采集的語料,那么這個(gè)模型就是近場(chǎng)識(shí)別模型,一旦同樣的術(shù)語【板藍(lán)根】你用手機(jī)詢問就能回答正確,但是你一旦用音箱遠(yuǎn)場(chǎng)詢問,那很可能就得出錯(cuò)誤的回答,這叫聲學(xué)一致性。
同樣,不同領(lǐng)域也需要文本一致性,你希望這個(gè)領(lǐng)域能多識(shí)別該領(lǐng)域的專業(yè)詞匯那就需要多訓(xùn)練這個(gè)領(lǐng)域的核心詞匯,否則就會(huì)出現(xiàn)【板藍(lán)根】的情況。
最后,通過不斷的獲取到不同的音頻數(shù)據(jù)、文本數(shù)據(jù),并繼續(xù)迭代優(yōu)化,我們會(huì)得到更好的模型,識(shí)別更準(zhǔn)的效果。
這就是識(shí)別的細(xì)節(jié),這也是一種科技的魅力,眾多步驟完成了我們看似簡單的動(dòng)作。與其說機(jī)器的緊密不如說人類的身體系統(tǒng)更加復(fù)雜與奧妙。
本文由 @南國書生 原創(chuàng)發(fā)布于人人都是產(chǎn)品經(jīng)理,未經(jīng)作者許可,禁止轉(zhuǎn)載。
題圖來自Unsplash,基于CC0協(xié)議。
- 目前還沒評(píng)論,等你發(fā)揮!