語音互動產品的認知
因為使用者是結果導向的,無論我們怎麼吹噓自己的產品有多智慧,響應速度有多快,理解能力有多強,什麼網路神經中樞、神經網路引擎,只要使用者在使用過程中沒感覺到它的智慧點,一切貌似都白搭。
在目前的AI產品體系中,廣為人知的主要是三大方向,分別是: 影象 (即人臉識別)、 智慧推薦 (類似於各種推薦引擎產品,如今日頭條等)以及 語音互動 。
影象很好理解,去年很火的Face ID就是基於此而設計,早期的話像是很多公司會採用的“面部識別打卡”、臉部識別登入裝置等也都是相關的應用。而 智慧推薦 則是通過分析使用者的日常行為、操作等獲得使用者畫像,從而分析出使用者的喜好,為使用者生成並推薦其感興趣的內容。說“抖音”一刷就停不下來,很重要的一個原因就是因為它推薦的內容多半都是使用者感興趣的內容,這就依賴於其智慧的演算法。
那至於“ 語音互動 ”,它究竟是什麼?
語音互動是基於語音輸入的新一代互動模式,通過說話就可以得到反饋結果。生活中最常見的就是手機內建的各種“語音助手”:魅族的小溪、IPhone的siri以及小米的小愛等,都是相關的產品或者功能。
一.“語音互動”的定義
“語音互動”可以這麼來理解: 人類 與 裝置 通過 自然語言 完成了 資訊的傳遞 。
在這裡我們把它分成了簡單的四個內容:
1. 人類與裝置
語音互動,屬於“人機互動”的一種,是人類與機器之間的溝通、聯絡,比如和手機,和電腦,甚至“智慧家居”概念中的和電器。“語音互動”的物件是人與裝置,而非人與人,如微信,其實就是使用者通過微信與另一個使用者形成溝通,這自然就不屬於“人類與裝置”的範疇。
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):自然語言理解——此時機器嘗試理解文字,這也是目前在“語音互動產品”中較難突破的一點,也是核心的一點。很簡單,互動如何實現完美,很重要的就是建立在“互相理解”的基礎上。或者說一場對話如何得以成功進行,很重要的一點就是互相理解對方所說的話的含義。
比如使用者說“我覺得今天天氣不錯,適合出去遊玩”,潛臺詞就是“我想在這樣美好的日子裡出去轉轉,你能給我一點建議嗎?”,但機器卻錯誤理解成“他想在出去玩之前吃點飯”,於是推薦了各種外賣的聯絡方式。如此這樣一次的“互動”就是失敗的,因為機器沒用理解使用者的意思,也就是我們老話常說的“對牛彈琴”。
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個,連其零頭都未觸及。“語音互動產品”潛力巨大,尤其是近年來“物聯網”的勢頭正足,5G網路宣告展開,我想未來的浪潮中一定會有“語音互動產品”的一席之地。
本文由 @二十一弦 原創釋出於人人都是產品經理。未經許可,禁止轉載。
題圖來自 Pixabay,基於 CC0 協議