語音交互產品的認知
因為用戶是結果導向的,無論我們怎么吹噓自己的產品有多智能,響應速度有多快,理解能力有多強,什么網絡神經中樞、神經網絡引擎,只要用戶在使用過程中沒感覺到它的智能點,一切貌似都白搭。
在目前的AI產品體系中,廣為人知的主要是三大方向,分別是:圖像(即人臉識別)、智能推薦(類似于各種推薦引擎產品,如今日頭條等)以及語音交互。
圖像很好理解,去年很火的Face ID就是基于此而設計,早期的話像是很多公司會采用的“面部識別打卡”、臉部識別登錄設備等也都是相關的應用。而智能推薦則是通過分析用戶的日常行為、操作等獲得用戶畫像,從而分析出用戶的喜好,為用戶生成并推薦其感興趣的內容。說“抖音”一刷就停不下來,很重要的一個原因就是因為它推薦的內容多半都是用戶感興趣的內容,這就依賴于其智能的算法。
那至于“語音交互”,它究竟是什么?
語音交互是基于語音輸入的新一代交互模式,通過說話就可以得到反饋結果。生活中最常見的就是手機內置的各種“語音助手”:魅族的小溪、IPhone的siri以及小米的小愛等,都是相關的產品或者功能。
一.“語音交互”的定義
“語音交互”可以這么來理解:人類與設備通過自然語言完成了信息的傳遞。
在這里我們把它分成了簡單的四個內容:
1. 人類與設備
語音交互,屬于“人機交互”的一種,是人類與機器之間的溝通、聯系,比如和手機,和電腦,甚至“智能家居”概念中的和電器?!罢Z音交互”的對象是人與設備,而非人與人,如微信,其實就是用戶通過微信與另一個用戶形成溝通,這自然就不屬于“人類與設備”的范疇。
2. 自然語言
是指一種自然地隨文化演化的語言,如漢語、英語、法語等,但如為計算機而設置的語言,即為“人造語言”。自然語言是人類交流和思維的主要工具,對于自然語言的處理也是人工智能中最為困難的問題之一。
“語音交互”是需要人發出聲音從而與設備產生互動,比如設鬧鐘,我們喊“Siri,給我設置一個明天早上八點的鬧鐘”,這就是通過自然語言與設備完成了一次互動,而不是傳統的“打開鬧鐘-設置時間”這樣的手動操作。因此很重要的一點就是“自然語言”,我們通過設備定了鬧鐘,然后它發出了聲音,看起來我們是和設備完成了一次互動,但它發出的不是自然語言,而是鈴聲,即使你是用“人聲”來充當鬧鈴,那也不是我們在“語音交互”中所定義的“自然語言”。
3. 信息的傳遞
即我們通過自然語言與設備完成了某次互動,比如定鬧鐘、查導航等,這之間一定是發生了某次信息從我們這邊流轉到了設備,之后再又回到我們這邊,一個雙向傳遞的過程。只是有時候設備給的回應也許是語言,也許是執行任務。
二. 交互方式的發展
人與設備的交互方式大致經歷了三個階段的演變:PC時代、移動時代以及AI時代。
在PC時代,我們主要靠鼠標、鍵盤的外接設備進行輸入,比如鼠標雙擊某個圖標打開對應的軟件,要打字也需要敲擊鍵盤才能一個一個字符的實現,這樣子的模式很笨重,不靈便。
之后過渡到了移動時代,現在幾乎人手一臺手機,想要點開什么app,主要手指輕輕一點即可開啟,此時我們進行交互的方式變成了觸摸。所以為什么手機發展到如今,十余年的時間過去了,依舊停留在“觸摸”上,那是因為與傳統的外接設備來實現輸入相比,它本身已經做到了跨越,而其下一個階段又還在伊始階段,因此也無法完全被取代。
等什么時候“手機”變成“嘴機”了,也許就發生變革了。
下一個時代也就是“AI時代”,也就是我們所在討論的“語音交互”時代??苹秒娪按蠹铱吹貌簧?,很多科幻電影之所以精彩就是因為它展現了未來科技可能的面貌。比如“鋼鐵俠”中,Tony與其研制的人工智能“J.A.R.V.I.S”就存在著及其精彩的交互。(感興趣的自行搜索視頻呦~)
但目前“語音交互”時代,其實還是主要停留在“語音輸入”這一內容上,即我們對設備發出一個指令:給我定鬧鐘、告訴我怎么去等等,然后設備通過執行再輸出相應的內容,這個是死板的,或者說是程序化的。設備只會給你定你所選擇的時間點的鬧鐘,它也只會告訴你怎么去,誠然,這是我們想要的,但不夠人性化。
當真正地實現“交互”時,我們所期待的場景應該是:我說我要去XX地,設備讀取指令,經過分析之后反饋:那個地方不遠,平時走路過去就行,但現在外面下著大雨,我可以為你叫一輛出租車,估計8分鐘左右就能到達。
順著這個思路,我們再聊聊“語音交互”的一個發展歷史。
三. “語音交互”的發展歷史
主要也是三個階段:單向收聽、單向輸入、雙向交流。
1. 單向收聽
人人都經歷過,如10086的電子助手。我們在撥打10086時,給我們回應的肯定不是人工客服,而是電子語音:“查詢話費請按1,套餐及流量辦理請按2”。只有在電子語音無法解決用戶的需求時,才會在最后說:“如需人工幫助請按0”。
這種是被動的,用戶只能被動地接受已經預先設置好的服務,它無法更改,更無法對用戶在電話那頭的話語做出任何回應,唯一能夠令它產生變化的就是用戶按動相應的數字鍵。
2. 單向輸入
最常見的應用就是各種輸入法的“語音識別轉文字”,也就是通常所說的“語音輸入法”。通過說話讓應用識別,之后以文字的形式轉出。很多時候可能一段長對話需要我們敲鍵盤敲好久,隨著這一技術的成熟發展,我們直接說出這段話,之后往往只需要修改幾個標點符合與錯別字就能很快地完成一段文字的輸入。
但其最大的缺點依然是無法形成互動,仍舊是單向的,只不過是從輸出者變成了輸入者。這種時候它更像是一種工具,當我們不想打字的時候才會用,畢竟當我們用設備進行語音轉文字處理時,它不會自動反饋說:我覺得你這邊說的不好,需要進行修改。
3. 雙向交流
顧名思義,人與設備開始形成互動,即所謂的語音助手,它能幫你處理部分任務、設定某些事項,同時也能進行一些簡單的聊天溝通。你輸入的同時,也能得到來自設備的輸出,從而形成一定的互動。
當然,它還遠遠不成熟,或者說,還沒那么智能,就像一個孩子,ta也會對你哭對你笑,但當你講一些它聽不明白的話時,ta也只會睜著眼睛看著你,因為它所涉及到的技術也相對最復雜。
舉個例子:“單向收聽”就像是聽收音機,你在收音機前的喜怒哀樂電臺主播并不知道,你只是在聽;“單向輸入”就像是在KTV唱歌,你唱完這首要么繼續下一首要么機器顯示沒歌了,并不會有任何人性化的反饋(除去那些有評分功能的KTV系統);“雙向交流”,就真的是接近人與人之間的溝通交流,就像是兩個人在打電話,互相說著喜怒哀樂。
最后我們來討論一下相關的實現原理,這也是“語音交互”技術中最核心的一部分。
四.“語音交互”的實現原理
在網上看了徐嘉南老師的視頻,獲益匪淺,他目前是百度的高級產品經理,他將“語音交互”的實現原理簡單地概括為一個過程,即:用戶說話,系統識別并理解,之后再轉換成聲音反饋出來。
接下來我對相關的過程進行一個簡單的概述。
Talk:用戶發出聲音——也就是前面所提及的“自然語言”,無論是哪國的,用戶通過說話來與設備形成信息的傳遞。只有這樣,才會有后續一系列的步驟產生。畢竟我們討論的是“語音交互產品”,用戶必須發聲才能形成互動,而不是用戶坐在沙發上設備就能說“你想要茶還是咖啡?”。
ASR(Automatic Speech Recognition):自動語音識別——在這個時候,機器通過聽取用戶發出的聲音,將其轉化為“文字”供機器讀取,也就是俗稱的“語音聽寫機”,是實現“聲音”到“文字”轉換的技術。在這一環節我們比較常見的就是各種“語音輸入法”的功能了。
這一環節也是比較容易出錯的環節,有時候用戶說話有口音,或者說話比較快,設備就很容易轉化出錯誤的文字。
NLU(Natural Language Understanding):自然語言理解——此時機器嘗試理解文字,這也是目前在“語音交互產品”中較難突破的一點,也是核心的一點。很簡單,交互如何實現完美,很重要的就是建立在“互相理解”的基礎上?;蛘哒f一場對話如何得以成功進行,很重要的一點就是互相理解對方所說的話的含義。
比如用戶說“我覺得今天天氣不錯,適合出去游玩”,潛臺詞就是“我想在這樣美好的日子里出去轉轉,你能給我一點建議嗎?”,但機器卻錯誤理解成“他想在出去玩之前吃點飯”,于是推薦了各種外賣的聯系方式。如此這樣一次的“交互”就是失敗的,因為機器沒用理解用戶的意思,也就是我們老話常說的“對牛彈琴”。
DST(Dialogue State Tracker):對話狀態控制 & DM(Dialogue Manager):對話管理——這兩個可以放在一起進行討論。舉例來說,比如用戶說“給我訂張機票”,很顯然,這個對話所對應的信息是不完整的,因為沒有時間,沒有目的地與出發地。這個時候系統判斷相應的指令存在信息缺失,或者說它作出判斷,接下來是不是該我說話了,于是它就會問:“請問你想從哪里出發?要去哪里?什么時候出發?”。
因此在這兩個階段,機器主要進行的判斷就是這個對話進行到哪一步了,該用戶說話還是機器說話了。因為如果對話完整,機器就可以執行相應的命令,如果不完整,它就需要再問一次用戶,以將內容補完。
Action:命令執行——很好理解,為什么它會單獨分出一條并與DM形成雙向,也就是我們前面所說的,如果這次命令是完整的,用戶說的是“給我定明早8:00的鬧鐘”,那么系統只需依照指令設置好鬧鐘,再給出反饋“鬧鐘已設置好”,那么這么一次的互動就算完成了。但如果用戶說的是“給我定鬧鐘”,顯然設備無法執行相關命令,于是需要生成相應的對話來提示用戶補充完整時間,之后再執行命令。
因此一定程度上也可以理解為Action,是獨立于“語音交互”過程外的,只有在這么一次交互的信息是完整的時候,它才會執行命令。
NLG(Natural Language Generation):自然語言生成——這時候系統經過語義的理解+對話狀態控制,對用戶發出的自然語言已經進行了解析,知道自己該做出怎樣的回應了,此時就會生成相對應的自然語言。比如用戶選擇的模式是漢語,那他說的是漢語,機器同樣也應該以漢語的形式進行回答。這時候就是設備開始給出回應的時候了。
TTS(Text To Speech):從文本到語音——很簡單來說,就是把“文字”轉換成“聲音”,算是ASR技術的逆推,只是在這一過程中,就很容易反映出其“人性化”的一面,需要設計師在其中添加多種豐富的話術,甚至于對音調、音色乃至斷句等都有要求,不然就會顯得“機械化”,不夠“擬人化”。
比如用戶說“我想吃外賣”,機器回答“好的,已為你找到附近的十家外賣店,其中沙縣小吃離你最近”;還有一種回答是“好的,這邊已經找到距離你最近的一家飯店,是沙縣小吃,網上評價還不錯,據說那邊的餛飩面很不錯,建議可以嘗試”。很顯然,最終推薦的都是那家沙縣小吃,但是后者稍顯人性。同樣的,一模一樣的句子,如果用不同的語調、音色來發出,給人的感覺同樣不同。
五. 總結
在這一系列過程中,ASR主要發生在“識別前”,這里著重的就是對用戶發出聲音的“識別靈敏度”,因為要先聽清楚,才有機會聽懂。這里所需要攻克的點就是“聲音信號的識別與優化”。
NLU發生在“識別中”,也是在整個語音交互過程中最難的一部分,因為需要機器去理解人類發出的語言,而機器沒有感情,就像用戶說了一句臟話,而不知道其實用戶是在說臟話。這一環節著重于“機器對聲音信號的理解”,機器人性化與否從這里開始產生改變。
TTS發生在“識別后”,也是用戶能真正直觀感受到的方面,因為在這一階段設備才算是與用戶形成互動。用戶不理解什么機器語言,他們只想感受到機器能不能在聽完我說的之后給我我想聽到的回答。有時候即使機器沒理解到位,但它反饋出的內容卻能令用戶耳目一新,同樣能夠凸顯產品的價值。這一環節需要注意的點是“信息的反饋與播報”。
打個比喻,我們把讀書時候的考試前的準備過程理解為是“ASR”,我們要去記知識點;考試過程為“NLU”,我們把記到的知識點實際應用到試卷的問題當中去;考試結果公布的過程即為“TTS”,只要結果是差的,無論前兩個過程再努力也很難得到認可,反之只要最后反饋的結果是好的,哪怕之前的工作都不到位,貌似也能讓人稱贊一句。(當然,世上沒有不勞而獲的事,前期的準備才能在最后獲得好的結果)
因為用戶是結果導向的,無論我們怎么吹噓自己的產品有多智能,響應速度有多快,理解能力有多強,什么網絡神經中樞、神經網絡引擎,只要用戶在使用過程中沒感覺到它的智能點,一切貌似都白搭。
因此在設計一款“語音交互產品”的過程中,每一環節都很重要。目前最大的語音交互平臺是“亞馬遜”,在其平臺上有超過兩萬個語音交互類產品,而國內卻不超過300個,連其零頭都未觸及?!罢Z音交互產品”潛力巨大,尤其是近年來“物聯網”的勢頭正足,5G網絡宣告展開,我想未來的浪潮中一定會有“語音交互產品”的一席之地。
本文由 @二十一弦 原創發布于人人都是產品經理。未經許可,禁止轉載。
題圖來自 Pixabay,基于 CC0 協議
請問徐嘉南老師的視頻是在哪里看的?
起點學院