對話式設計要點:構建聊天機器人的技巧

已發表: 2022-03-10
快速總結 ↬如果您仔細觀察人與人之間的互動——社交尷尬、溝通方式、知識傳遞方式、講述故事的方式和建立信任的方式,它們會非常迷人。 但是當一台機器喚起同樣的反應時會發生什麼呢? 會話界面已成為 UX 設計的新熱點。 谷歌即將發布新的虛擬助手聊天機器人; Facebook 已經推出了帶有聊天機器人的更新版 Messenger 平台; 微軟甚至聲稱未來的操作系統不是 Windows,而是“作為平台的對話”。

如果你仔細觀察,人與人之間的互動是非常迷人的——社交尷尬、溝通方式、知識傳遞的方式、講述故事的方式和建立信任的方式。

但是當一台機器喚起同樣的反應時會發生什麼呢?

會話界面已成為 UX 設計的新熱點。 谷歌即將發布新的虛擬助手聊天機器人; Facebook 已經推出了帶有聊天機器人的更新版 Messenger 平台; 微軟甚至聲稱未來的操作系統不是 Windows,而是“作為平台的對話”。

關於 SmashingMag 的進一步閱讀

  • 對話界面:我們今天在哪裡? 我們將走向何方?
  • 對話會傷害還是幫助 Chatbot UX?
  • 如何使用 Node.js 開發聊天機器人
跳躍後更多! 繼續往下看↓

所有大型行業參與者都已經發現,人工智能 (AI) 的進步可以解決一個非常重要的用戶體驗問題:讓不知名的品牌網站和應用程序感覺非常個性化。

Facebook Messenger 演示:隨時隨地預訂酒店房間
Facebook Messenger 演示:隨時隨地預訂酒店房間(查看大圖)

聊天機器人可以創造一種更真實、量身定制的體驗,這種體驗可以與商店的體驗相提並論——你會從銷售人員那裡得到微笑、閒聊和友好的眨眼,這使得整個購買體驗更加個性化和愉快. 對於品牌而言,這代表了一個機會,可以擴展和管理與客戶的關係,並超越“僅僅是一種產品”。

然而,從用戶體驗的角度來看,構建一個真正有用且有吸引力的聊天機器人仍然是一個挑戰。 儘管我們現在擁有出色的機器學習技術,推動了人工智能和自然語言處理 (NLP) 技術的發展,但我們可以創建的助手類型仍然有限,我們需要最大限度地利用現有技術。 Chatbots 雜誌的創始人 Matt Schlicht 創建了一個非常全面的指南,總結了聊天機器人生態系統的現狀和設計師的機會。

最近,我參與了 Alty 的聊天機器人項目——一個 Facebook 即時通訊機器人,用於與潛在客戶聊天,向他們介紹公司和所提供的服務,並發送電子郵件查詢。

聊天機器人
(查看大圖)

這種體驗相對較新且具有挑戰性。 與標準圖形用戶界面 (GUI) 不同,該應用程序需要在用戶輸入很少的情況下無縫運行,通過利用存儲的信息提供新價值,並預測用戶需求。 標準模式和流程在對話式設計中並不真正起作用,否則它們需要進行重大調整。 檢查 Messenger 平台的 Bot UI Kit,由 Mockuup 和 Botframe 提供 - 一個簡單的原型工具,用於模擬由 Alsadir Monk 開發的對話,以更好地了解該平台上的常見流程。

1.選擇一個工具包

如前所述,您可能遇到的第一個挑戰是您幾乎無法控制應用程序的外觀。 您不需要對排版、佈局或樣式大驚小怪。 如果您正在構建一個語音控制聊天機器人,它甚至沒有視覺方面! 因此,放棄大多數標準工具並使用新的有用工具來增強您的工具包。

對於我們的項目,我們選擇了最簡單的工具 — Chatfuel,這是一款免費、直觀的 Facebook 管理器機器人構建器,具有拖放界面,幾乎不需要任何編碼。

但是,如果您計劃構建更高級的機器人,則值得研究以下工具:

  • Twine 這個非線性文本編輯器為您的對話框創建文本腳本和消息序列。
  • 機智 這個不可或缺的工具將幫助您將語音和文本命令轉換為動作。 社區創建了數十個方便的命令,您可以添加自定義命令。
  • Botkit Howdy 的 Botkit 提供了一組方便的命令和現成的代碼,供您構建您的第一個 Slack 聊天機器人。
  • Api.ai 最近被 Google 收購,這個強大而全面的平台將幫助您構建任何類型的會話 UX 界面。
  • Botwiki 這個 wiki 回答了所有常見的聊天機器人問題。

我們在標準應用程序中使用的標準控件或樣式很少適用於對話式設計。

2. 提示用戶如何開始

對話式設計徹底改變了用戶與應用交互的方式。 通常,當用戶打開一個新的 iOS 應用程序時,他們會看到一些熟悉的元素,例如菜單、用於登錄或創建帳戶的面板、按鈕等——這些元素他們已經知道如何基於常見的交互模式。

然而,與聊天機器人的第一次相遇並不那麼傳統。 用戶將盯著空白屏幕,迷失在下一步要做什麼或如何與應用程序交互的假設中。 他們面臨兩個簡單的問題:

  • “我不知道我應該做什麼。”
  • “這東西到底能為我做什麼?”

對於大多數用戶來說,聊天機器人似乎並不直觀。 因此,您的首要任務是提示用戶接下來將要發生的事情。 從快速介紹和直接的號召性用語開始,例如:

聊天機器人
(查看大圖)

保持簡短和簡單。 邀請用戶體驗您的應用程序的一項快速優勢並立即享受結果。

對於 Alty 的機器人,我們選擇在對話中包含按鈕有幾個關鍵原因:

  • 對於某些用戶來說,在旅途中打字可能會很麻煩,而且聊天機器人並不總是足夠聰明來檢測錯別字(儘管我們稍後會討論如何處理這個問題)。
  • 按鈕可以向用戶提示機器人可以回答哪些問題以及可以執行哪些操作。

3. 制定正確的對話流程

你希望你的機器人看起來像一個巫師,而不是一個障礙,對吧?

設計聊天機器人最具挑戰性的部分之一是使對話流程盡可能自然和高效。 然而,人類交互通常是混亂和非線性的。 以下是一些優化應用程序性能的技巧。

教你的機器人區分不同類型的問題

創建您的機器人能夠有效處理和回答的問題的初始範圍。 您可以使用一個名為 qTypes 的優秀庫,其中包含 40 多個關於如何回答問題的子分類。 qType 表示用戶期望的回复類型,qSubType 表示問題的格式:

  • 對於替代選擇問題,機器人被要求在兩種選擇之間進行選擇(例如,“這件襯衫是紅色還是綠色?”)。
  • WH 。 這些問題從誰、什麼、何時、何地或為什麼開始。
  • 。 這些是是或否的問題(例如,“你有狗嗎?”)。
  • TG 。 一個標籤問題不是一個實際的問題,而是一個保持對話暢通的選項(例如,“這個海灘很可愛,不是嗎?”)。

當您的機器人收到標準問題之一時,它可以根據庫中的數據生成更準確的回复:

聊天機器人

避免問反問,因為大多數用戶傾向於回應他們,即使聊天機器人只是禮貌。

既然您的機器人能夠理解問題,下一個挑戰是教應用程序呈現適當的命令作為回報。

更有效地驗證輸入數據

標準的 GUI 允許您在處理輸入數據時輕鬆地對其進行細化。 這個電子郵件地址有效嗎? 這個用戶名可用嗎? 這個電話號碼有效嗎? 您可以在處理之前輕鬆限制和優化輸入的數據。

然而,在對話式設計中,事情變得有點複雜。 用戶可以隨意說出或鍵入他們想要的任何內容; 因此,在構建問題和處理答案時,您需要很聰明。

提供提示。 盡可能避免開放式問題,因為它們通常會導致更多的混亂。 相反,提示您提供您期望的答案。 例如:

你想看什麼樣的案例研究? 我們有用於旅行、社交網絡、設計和個人理財的應用程序。

或者,您可以根據您正在構建的平台的格式呈現信息——例如,Facebook Messenger 的列表:

聊天機器人
(查看大圖)

另外,確認。 如果答案有效,請重複以確保一切正確,然後繼續下一個問題:

知道了。 旅遊應用。 你有什麼預算?

或者提示出了什麼問題。 如果輸入的數據無效,請再次說明您需要什麼樣的答案。 理想情況下,區分你不理解的答案和很好但你不能接受的答案:

聊天機器人
(查看大圖)

不要忘記用戶正在與您的應用程序交談。 他們可能會使用不同的詞來描述同一件事——例如,“星期四”、“星期四”、“明天”或有錯字的詞。 您可以要求他們確認他們的條目,或者專注於為您的聊天機器人創建更高級的消息序列。

您可以通過 Normalizer 運行輸入的數據來優化輸入的數據,Normalizer 是一個將英國和加拿大拼寫轉換為美國英語的庫,解釋常見的縮寫詞並修復 4,000 多個拼寫錯誤的單詞。

等待關鍵輸入。 在某些情況下,您需要用戶輸入一些您無法繼續進行的基本信息。 在標準 GUI 中,該問題通常通過彈出模式窗口來解決,該窗口阻止對所有內容的訪問,直到用戶完成任務:“您驗證了您的電子郵件地址嗎?”,窗口提示“是”或“否”。

但是,在對話式設計中,您應該以稍微不同的方式解決這個問題。 這種循環對機器人來說可能會很煩人,所以一定要解釋你需要的確切動作以及你為什麼如此迫切地需要它。 為此目的準備一些對話片段,以防止聊天機器人變得重複:

聊天機器人
(查看大圖)

通常,請三思而後行,確定某些信息是否至關重要。 只要有可能,進行有根據的猜測,或在後續步驟中再次詢問相同的信息。

另一種選擇是使用按鈕和預先建議的文本,用戶可以在提問和提供回复時從中選擇。 按鈕應該可以提高用戶輸入的整體質量,但是,它們可能會略微降低參與度。 因此,最好僅在您需要接收必要數據以進行操作時才使用它們。

隨著人工智能技術的進步,訓練機器人做出某些反應並教它們根據存儲在數據庫中的先前交互來猜測用戶的意圖可能會變得更容易。 然而,今天的大多數聊天機器人都沒有花哨的人工智能大腦來回應用戶。 因此,為了獲得更好的用戶體驗,您需要自己完成這項工作。

4.專注於顯微鏡

在開發聊天機器人時,設計師應該像文案一樣思考。 內容和對話框將定義您產品的風格。 最好的應用程序通常是那些具有有趣對話方式的應用程序。 因此,重點關注以下方面:

  • 遵循與實際與人交談時相同的用戶流程。
  • 該機器人不應該聽起來太聰明,使用複雜的語法或語言結構。 保持簡單和簡潔。
  • 不要使用特定性別的代詞,因為你永遠不知道誰在談話的另一邊。
  • 準備一組略有不同的罐頭回复,使對話更人性化。
  • 在用戶感到迷茫時添加幫助消息和建議。
  • 為不受支持的主題撰寫詼諧的回复,以免機器人看起來很愚蠢。

5. 逐漸顯露特徵

標準 GUI 通常會同時顯示屏幕上可用的所有功能。 用戶可以將鼠標懸停在圖標上,單擊按鈕並訪問菜單以查看應用程序的功能。

然而,與聊天機器人交互似乎是用戶在向虛無說話。 因此,提示每一步,並逐漸突出不熟悉的功能。 讓我們探討一下這意味著什麼。

在收到用戶的初始命令後,解釋接下來將發生什麼以及機器人將做什麼來完成任務。 建議下一步可能的步驟和/或鏈接到常見問題解答頁面或用戶手冊。

首次成功交互後解鎖附加功能。 禁用“訓練模式”,並開始建議其他功能和更高級的技巧。 這些功能和提示基於用戶的歷史記錄和先前輸入的數據。

使用 Taco Bell 的聊天機器人訂購炸玉米餅
使用 Taco Bell 的聊天機器人訂購炸玉米餅(圖片:Taco Bell)(查看大圖)

提示用戶新的事情要做。 例如,主動推薦機器人的其他一些很酷的功能:

嘿,你要開派對了! 你要我點 5 個大比薩嗎?

例如,對話敏捷性是 Taco bot 的主要優勢之一。 該公司使用 Wit.ai 為不同的對話場景提供支持,甚至開一些玩笑。 該平台的自然語言處理技術現在也用於為 Facebook 的 M 虛擬助手提供支持,允許機器人呈現不同的訂購風格。 例如,“我可以吃墨西哥捲餅嗎?”、“墨西哥捲餅,請”,甚至搞笑地回應“我喝醉了”的請求,這會觸發“好的。 一杯水添加到您的訂單”回复。 此外,用戶可以鍵入“無奶酪”之類的單行評論,機器人將理解該信息指的是之前訂購的墨西哥捲餅。

但是,如果聊天機器人發起對話,請確保它提供相關建議,因為您不想看起來像一個討厭的垃圾郵件發送者,對吧?

聊天機器人和語音識別

語音命令正在成為 Siri 和 Google Now 的一部分,但開發此類機器人顯然需要人力和物力資源。 即使是負責語音識別的最強大的神經網絡,目前也很難訓練。 正如 Andrew Gibiansky 指出的那樣,最常見的挑戰是,雖然小錯誤很容易消除,但由於相乘,較大的重複出現的錯誤可能會變得更大。

例如,如果有口音的用戶將 Apple 發音為Eupple ,網絡可能會以這種方式記住該命令。 同音字是語音識別的另一個主要挑戰; 像“花”和“麵粉”這樣的詞聽起來相同,理解正確的上下文可能很困難。

因此,如果您的目標是構建一個簡單的聊天機器人,那麼目前選擇語音命令可能不是您的最佳選擇,除非您準備好在架構和先進的機器學習技術堆棧上進行大量投資。

最後的筆記

雖然聊天機器人可以成為創造更個性化客戶體驗的絕佳工具,但對話式設計仍然存在一定的局限性。 正如 Mariya Yao 所指出的,在某些情況下,對話可以幫助或傷害用戶體驗。

在為您的企業構建聊天機器人之前,您應該明確定義其目的以及它可以為用戶帶來的確切價值。 教機器人做一件非常好的事情,例如提供天氣預報或介紹公司的服務範圍,然後再進一步試驗更高級的功能。 這是我們在根據用戶反饋開發 April 機器人時學到的關鍵一課。