語音交互:如何讓“機器”變成善解人意的“機器人”
語音交互逐漸深入生活,本文教你如何設計一個流暢自然的對話系統。
隨著語音識別技術和自然語言理解技術的不斷突破,電影當中人與計算機設備通過自然語言進行交互的方式已經成為現實,語音交互的革命正席卷而來,影響著我們每個人的生活。
然而,在科研技術成果向現實應用場景轉變過程當中(尤其是在多輪連續對話的情況下),智能設備的表現往往差強人意,很多問題并不是依靠技術就能解決的。
于是,出現了語音對話界面設計的概念。
如今,越來越多的電子設備開始支持通過自然語言/語音與人類進行交互。在人們的客廳里,辦公室里,汽車駕駛艙里都能找到語音交互的應用場景。
新的交互方式讓人們解放了雙手,并弱化了人們集中在電子設備上的注意力,為人們提供了更加有效,更加自然,同時更加安全的人機交互體驗。
本文筆者目前從業于一家AI初創公司,專注于智能對話類產品的體驗設計與質量評估。經過幾年時間的探索與學習,筆者在人機對話交互設計的相關工作上略有一點心得,望在此與讀者交流學習。
與所有人機交互系統一樣,語音交互也需要一套規范且有效的設計方法和流程。
目前,網上有很多關于對話交互設計的指導和介紹,主要內容基本都是出自谷歌和亞馬遜這兩家科技巨頭,國內百度和訊飛在相關領域也有一定的研究。
這些規范都很有價值,非常值得我們借鑒和學習。然而,無論是谷歌還是百度,都只是針對自己企業所研發的硬件和產品有針對性的設計對話交互,整個行業當中目前尚未有一個公認的,被廣泛認可的設計標準。
總體來說,語音對話交互延續了人機交互以人為本的設計原則,在不同的應用場景,不同的用戶群體,以及不同的硬件形態下,都需要有針對性的進行不同的設計。
筆者將參照部分科技巨頭提出的設計元素,結合自己的工作經驗,為讀者整理一下對話交互設計的過程。
第一步:定義場景和用戶畫像
設計一個對話系統之前,我們首先要明確誰是這個系統的用戶。
不同的用戶具備不同的知識背景和交互習慣,同時每一類用戶都有不同的需求點和痛點。清晰的用戶定義可以幫助我們更加有針對性的設計對話的內容和節奏。
常用的用戶定義方法包括:用戶畫像,用戶背景調查,用戶采訪,A/B測試,使用習慣調研等。
定義場景和定義用戶是相輔相成的,需要關聯在一起進行思考。
場景的定義主要是回答自己這樣一個問題:我的用戶將在什么時候,什么地點,以一個什么樣的狀態與我設計的對話系統進行交互?
這當中就涉及到了很多變量,包括時間,空間和情感觸發。
通常有效的場景設計需要結合深入的用戶調研和測試,設計者需要親自在特定的時間和地點帶著特定的情緒和期待去體驗對話系統。
第二步:設計問答對
定義清楚了用戶和場景之后,我們就可以開始設計對話了。
千里之行始于足下,在設計一個對話系統時,我們首先要設計好一個簡單的問答對。好的問答對包括一個好的問題和一個好的答案。
問題的設計主要是語法的設計。和人類的語言一樣,計算機對話系統也需要一套語法框架。我們試圖讓計算機掌握人類的語言,所以,這個工作就是把人類語言的語法重新以一個適合計算機的方式設計出來。
當我們有一個有效的語法框架時,就可以快速的為對話系統設計問題,并覆蓋一個問題的各種問法。
比如當設計一個詢問節日假期的問題時,我們可以通過語法匹配的方式來實現。
例句:
- 中秋節假期是哪天?
- 中秋節假期在哪天?
- 我想問一下中秋節假期是哪天?
- 中秋節假期什么時候?
- 哪天到哪天是中秋節假期?
- 中秋節是哪天?
- 中秋節假期在何時呢?
- 什么時候是中秋節假期呢?
語法:
- 疑問 = 什么時候||哪天||何時
- {前綴}{節日}假期||{介詞}{疑問}{后綴}
回復的設計主要是話術的設計。話術的設計將會直接影響到對話系統的表現和用戶體驗。
話術往往需要結合對話系統的使用場景與目標用戶進行設計。
話術設計主要有兩個原則:即內容接近人的思維,以及讓交互者有持續聊下去的意愿。
第三步:制作對話流
對話流的設計是對話交互設計的最后一個環節,也是最為重要的環節。
對話流泛指通過不同對話節點將多個問答對按照一定邏輯串聯起來的流程框架。對話流往往可以解決一個具體的任務,如訂機票、查天氣等。
另外,常見的會話類游戲,繪本等應用也是通過對話流的設計來實現的。
簡單來說就是,從一組問答對中擴散出多個對話節點,再衍生新的問答對,同時部分問答對與對話節點之間存在邏輯上的關聯,這當中的每一個節點,每一層關聯都需要預先設計(下圖是筆者之前設計的游戲對話流的一小部分內容,供參考)。
一個好的對話流設計通常具備以下特點:自然通順,邏輯嚴謹,引導清晰,簡潔有效。
第四步:對話流之外的設計
在設計對話交互的時候,還需要充分考慮對話系統的各種極端使用情況,以及遇到錯誤時的應對辦法。
首先,我們需要讓用戶知道,其聊天對象是一個機器人而不是一個真實的人。
雖然很多會話交互設計都聲明,其設計的主旨就是讓人工智能可以表現無限接近真人(通過圖靈測試)。但是筆者認為,在實際應用場景下,也并非如此。
事實上,在效率和針對性兩方面,人工智能可以比人類做的更好。用戶需要適應與機器之間的對話交互方式,這必然是一種有別于用戶與其他人之間的交互。在這樣的前提下,用戶會有意無意提高對對話系統的包容度。
另外,比較重要的一點是,設計者有必要在對話流的中加入足夠的對話引導,和內容確認的部分。這樣用戶就能夠清楚的知道自己可以說什么、怎么說。關于對話引導和主動對話的相關設計網上以及有很多相關的文章分享,這部分筆者就不做過多描述了。
最后,設計這應該預先想到錯誤發生的情況,并提前設計好應對措施。
目前在業界針對這塊的處理有一些歧義。不少人認為當系統無法識別用戶問題時就設置一個兜底答案庫(可能是技術開發者不愿意向用戶承認自己的技術能力不足),通過“打馬虎眼”的方式避免這些對話內容。
但是筆者認為,在這種情況下,對話系統應該直接向用戶道歉,并承認自己能力的不足。從真實的體驗效果上來看,“認慫”可能比“打馬虎眼”更易被用戶接受。
不過,單純“認慫”肯定是不夠的。
這種情況下,筆者會在“認慫”之后,為對話系統加一個問題推薦和話題引導的功能,再次把主動權抓住,將用戶重新引入一個可控狀態當中。
第五步:驗證和評測對話質量
對話系統設計好之后,我們需要一套有效的對話能力評估系統來對其進行檢測和評估。
評估結果可以幫助設計者客觀判斷對話系統的能力,同時還能夠橫向對比不同的對話系統,從而找到對話系統的問題和不足,針對性優化和改善對話交互的設計。
對話系統的評估可以從兩個方面來進行。
- 一方面是對話系統的表現,對話系統需要按照特定的指標和維度被評估,評估結果將能夠直接反應出對話系統在各個指標上的表現。
- 另一方面是用戶的體驗反饋,對話交互設計者應該刻意去收集用戶在使用對話系統后的反饋,整理用戶的建議,并制定改進的策略。常見的方法包括用戶調研,用戶采訪,用戶行為數據跟蹤等。
為了讓整個對話設計更加完整和有效,除了基本的對話設計流程之外,我們還需要在設計前做好充足的準備。同時在設計后,對整個對話系統將呈現給用戶的樣子做進一步的思考。
設計前的準備
在對話交互開始之前,我們首先需要定義對話的內容和展示形態。
對話內容包括:話題的設計,意圖的設計,以及詞槽列表的設計。
計算機設備無法像人類一樣,可以同時有邏輯地表達不同話題的語言內容。因此在制定一個對話系統之前,我們需要明確,被創建的對話系統將會處理什么樣的話題,以及話題當中將包含什么樣的會話意圖。
此外,根據展示媒介的不同,對話交互中還可能會包含視覺信號、提示燈、提示聲音,以及富文本內容。
很多人認為這些內容是在會話設計過程當中逐步完善的,但是筆者認為,這些工作對于設計一個好的人機對話交互體驗來說至關重要,這些內容均需要在對話交互開始之前就預先定義好,以便于在設計對話的時候使用。
設計后的思考
當完成一個對話交互系統的設計后,我們還需要對整個對話系統的風格和交互體驗進行設計。
單是完成一個清晰和對話流程設計是不夠的,設計者需要從一個更高的維度去看整個對話系統,塑造對話系統的“性格”。就像人一樣,我們希望在設計對話系統的時候,也要考慮到用戶在與對話系統交互時的情感和感受。
當計算機設備能夠實現語音交互時,它就不再是一個冷冰冰的“機器”,而是變成了一個富有個性的“機器人”。
理想狀態下,情感共鳴將在用戶與對話系統完成交互后產生。對話交互設計的最后一步是不斷通過評測與反饋,反復塑造對話系統背后的角色(avatar)。
這也就意味著,在適當的時候,筆者會為了讓對話系統保持回話風格的一致性,而放棄部分對每一句問答內容質量的堅持,以犧牲單輪對話質量的代價來更好地塑造整個對話系統的“性格”。
本文介紹了對話交互設計的基本概念、重要原則與實踐環節,幫助讀者理清對話設計工作的大致流程和內容。
在未來,語音交互并不會代替現有的交互形式,而是與現有的交互形式相疊加,為人們的生活與交互體驗帶來更多的可能性。
在可預見的未來里,人們將與電子設備更緊密的結合。放眼當下,最新的科研成果正在不斷的被開源和共享,應用技術的門檻也正變得越來越低。技術的領先性已經不再是行業的壁壘,只有應用體驗的差異化才是企業與產品的突破口。
好的對話交互設計,必將帶來好的體驗,而好的體驗必將把成功帶給行業和企業。
本文由 @單師傅?原創發布于人人都是產品經理,未經許可,禁止轉載
題圖來自 Unsplash ,基于 CC0 協議
- 目前還沒評論,等你發揮!