摘要:在可能的情況下,儘量提供多個相關的輸出結果,幫助人們更好地根據個人需求或喜好來進行選擇。譬如 App Store 會通過釋義信息告訴人們爲什麼會向他推薦特定的 app,這樣也可以幫助人們瞭解相關數據的用途,使他們更加放心。

聊過了機器學習的基本原理及模型層面的設計要素,即「數據」和「指標」,接下來我們將探討界面層面的設計。

往期回顧:

優秀的機器學習體驗一方面取決於底層模型的質量,另一方面取決於界面能否幫助人們以符合直覺的方式與信息互動。

模型的處理結果會經由界面轉化爲易於人們認知和互動的信息,即「輸出」;模型從人機互動過程中接收到的,可以被用於模型優化的反饋信息,即「輸入」。

聊過了機器學習的基本原理及模型層面的設計要素,即「數據」和「指標」,接下來我們將探討界面層面的設計。

優秀的機器學習體驗一方面取決於底層模型的質量,另一方面也取決於界面能否幫助人們以符合直覺的方式與信息進行互動。

模型的處理結果會經由界面轉化爲易於人們認知和互動的信息,即「輸出」。

模型從人機互動過程中接收到的,可以被用於模型優化的反饋信息,即「輸入」。

我們已經在 HIG (人機界面設計指南)文檔中創建了一系列關於「輸出」與「輸入」的設計模式說明;今天,我們將從中選擇一部分進行深入討論,幫助你更好地理解如何將相關設計原則應用到實際產品的體驗設計當中。

輸出(Outputs)

你可以將「輸出」理解爲一種設計媒介,通過它來爲人們提供更加情境化的無縫體驗。

接下來我們將從四個方面來了解關於「輸出」的設計原則,包括:

  • 多重選項:如何同時呈現多個相關的輸出值。
  • 釋義:詮釋輸出機制,避免帶來困惑。
  • 可信度:以恰當的方式體現輸出的可靠程度。
  • 侷限性:如何解決功能與預期之間的衝突。

1. 多重選項

多重選項使人們可以從模型輸出的一系列相關結果當中進行選擇。

在實際當中,模型針對特定問題所輸出的結果可能不止一個。然而設計者往往傾向於只爲人們提供一個「最優選項」;在真實場景中,這未必能帶來最優體驗。

來看個現實中的例子。上週末,我想來一次從舊金山到納帕谷的短途旅行,於是我向同事們打聽最優路線是哪條。

取決於我所詢問的對象及時間,他們的回答各有不同。路線預測是一件複雜的任務,當中涉及到很多變量,且始終在發生變化,譬如擁堵、施工、交通意外等等。

在「地圖」中,我們同樣基於這些變量信息來預測最佳路線。通常情況下,單一的輸出結果是不夠的,因爲我們無法瞭解特定用戶的關注點,他們有可能喜歡風景秀麗的路線,有可能傾向於收費較少的路線,或是希望避開高速公路,等等。

如何彌補多種多樣的需求喜好與模型輸出侷限性之間的鴻溝?答案就是同時提供多個輸出選項供人選擇。譬如「地圖」會爲我提供三條不同的路線,使我可以根據具體情況來切實掌控自己的行程。

在可能的情況下,儘量提供多個相關的輸出結果,幫助人們更好地根據個人需求或喜好來進行選擇。

進入實際行程之後,人們同樣需要用到地圖;對於那些看上去非常相似的路線選項,人們可能很難迅速理解其中的差異並進行選擇。

我們可以進一步幫助人們瞭解不同選項之間的具體差異,譬如通過輔助信息告訴人們哪條路線需要收費,哪條路線會經過高速;甚至可以高亮突出那些濱水景觀路線。

這些信息有助於人們快速瞭解多個選項之間的差異,從而更易於在行動場景當中進行選擇。

或許地圖的例子有些過於顯而易見,因爲我知道自己在哪,要到哪裏去,輸入和輸出都很明確。而對於那些需求和場景都比較模糊的情況,多重選項依然非常有用。我們以 Apple Watch 爲例。

一日之計在於晨。每天早上,我都需要了解當天的天氣狀況,查看我的當日安排與待辦事項等等。Watch 的「Siri」錶盤可以爲我提供多達 19 個來自於不同 app 的信息。

要在這塊小屏幕上瀏覽 19 個 app 的信息並不輕鬆。還好 Siri 會根據當前的時間、地點和我的最近操作來優先選擇其中的某些信息,呈現在最頂端的幾張卡片當中。這使得我每天早上的慣例任務變得非常輕鬆。

而對於系統來說,人們進行的每一個選擇都是一次「隱性輸入」。對於這些選項保持長久的學習,模型在模糊場景下優先提供的若干選項將會變得越發符合人們的實際需求。

2. 釋義

釋義信息用於向人們解釋 app 做出特定決策的具體原因。譬如 App Store 會通過釋義信息告訴人們爲什麼會向他推薦特定的 app,這樣也可以幫助人們瞭解相關數據的用途,使他們更加放心。

來看一些具體的設計原則。假設 App Store 因爲我曾經下載過烹飪類 app 而爲我做了一系列相關推薦。實際上,我下載過相關 app 並不意味着我一定是要下廚,也不意味着我真的喜歡那個 app;因此,在通過輔助信息解釋推薦原因時,一定要反映出客觀的關聯條件,而不要自作聰明地替用戶做任何主觀假設。

App Store 的做法是簡明地陳述出「因爲你下載過 NYT 烹飪」。

我們無法完整客觀地瞭解某個人的口味和喜好,這些會隨着每一天的生活而發生變化;而且人們也很有可能在和家人分享賬號。任何關於用戶的主觀假設都有可能令他們感到困惑。不要在釋義信息當中對用戶的喜好或情緒進行任何看似聰明的理解和判斷。

釋義元素還可以用於描述輸出結果的權威性。我是一個天文愛好者,我有時候需要了解當晚的天空中有哪些星體是可見的。譬如我會問 Siri:「什麼時候可以看到木星?」 我所得到的答案當中會包含該信息的來源,譬如著名的知識引擎 Wolfram Alpha,使我瞭解到信息具備足夠的可靠性。

特別是在涉及科學或政治一類的場景時,相關的數據來源信息對於人們的進一步的決策是非常有必要的。

3. 可信度

有時候,我們還需要通過一些信息來描述輸出結果的可信度。

仍以 App Store 爲例。其實我們可以更具體地告訴人們,那些推薦 app 與他有 85% 的匹配度,但這樣的表達方式非常難於理解,因此我們會使用上文當中提到的釋義方式。

但是 85% 這個數字本身是可信程度的一種量化體現,意味着模型的輸出結果可能被人們所喜歡的幾率。

有時候,我們需要將可信度以更加易於理解的方式提供給人們進行判斷;而有時,我們又需要直接將可信度的數字呈現出來。

譬如「天氣」中的「降雨概率」,人們如何根據「30%」這個數字來判斷是否需要帶傘?確實不太容易。但是一方面,這是約定俗成的表述方式,另一方面,人們也會隨着時間而逐漸掌握概率數字與天氣情況的對應關係。

對於具有統計學意義的信息,譬如天氣、體育賽事或大選一類的預測結果,直接使用數字是符合人們認知的方式。而另一些則不然。

以廉價機票訂購服務 Hopper 爲例。他們也需要通過可信度來呈現價格上漲或下跌的可能性。對於這個需求場景,人們很難通過百分比來決定下一步的行動。如果當前價格繼續下跌的可能性是 65%,那麼是否該下單呢?在這裏 65% 和 70% 之間又存在着這樣的區別呢?

因此 Hopper 會直接提供行動建議,譬如繼續等待或立刻購買。同時他們還會進一步提供額外的信息,包括繼續等待可能幫你節省下的最高金額,以及等待不要超過的最晚日期。這些信息綜合起來就可以幫助人們更加有據可依地進行決策。

然而在某些情況下,僅提供可信度仍然無法幫助人們有效地評估風險。例如我詢問「現在從這裏出發去到舊金山需要多長時間」,得到的答案是「一點三十分到達那裏的可能性是 72%」,這會讓人無從判斷。

這種情況下,提供區間範圍是更好的做法。譬如 Lyft 在呈現車輛選項時,會讓人們知道這輛車到達當前位置所需要的時長區間,以及到達目的地時的具體時間區間。這可以爲我提供更加真實有效的判斷依據。

4. 侷限性

以上關於可信度的「好例子」都不難理解。然而如果信息的可信度過低,即模型難以提供足夠有效的輸出,我們應該如何處理呢?

很多時候,我們還需要請用戶參與進來,幫忙解決技術侷限性所造成的問題。

例如「照片」可以自動識別圖像中的人物,但當可信度較低時,它還會邀請人們對相關照片進行額外的確認。我幫助 app 標註了這些照片,之後它便能更準確的對我進行自動識別。

所謂侷限性,即是指系統功能的執行結果與人們的預期之間存在錯位。在我的預期當中,「照片」應該始終能夠識別出我,即便客觀來講照片可能拍得太糊或是亮度過低。

出於設計、硬件能力或環境等各方面因素,任何功能都會存在侷限性。要增強人們的信任感,設計者必須讓人們對這些侷限性保持知情,並告訴人們如何進行相應的處理。

我個人非常喜歡 Memoji,但這個功能在某些情況下是無法正常工作的,例如人臉不在取景範圍當中,或是攝像頭被遮蓋,或是環境較暗,等等。每當這些狀況發生時,系統都會立刻進行提示,引導人們進入正確的使用狀態。

如果缺乏對於侷限性的告知和引導,人們就會對功能失去信任感。你必須管理人們對於功能的預期,通過各種方法引導人們解決問題。

幫助人們在異常狀態下繼續完成任務的另一種方式,就是提供備選方案。這需要你對人們使用產品時的實際目標有着清楚的認知。

例如人們有可能會在 Mac 上試圖讓 Siri 開啓計時器,然而 macOS 並沒有提供這項功能。這種情況下,Siri 不會簡單的回覆「無法執行」,畢竟那樣會帶來負面體驗;取而代之地,它會提供創建提醒事項的建議。

這個建議是符合場景的,因爲人們的實際目標很可能是爲了在特定的時間收到提醒,而「提醒事項」同樣可以幫助人們完成這個目標。

5. 小結

希望上述四個方面的設計原則可以幫助你更好地爲模型的輸出進行設計。

請始終記住,「輸出」是一種設計媒介,我們可以根據實際的設計目標去選擇最適合自己產品的輸出模式。

我們要確保輸出信息能夠被人們在實際場景當中快速地理解;有時還需要將模型的輸出轉化成爲更有利於人們進行決策的形式;在必要的情況下還要引導人們處理問題,實現目標。

「輸出」並不是一成不變的,它會根據人們的輸入而始終發生變化。接下來,我們將探討如何面向交互輸入進行設計。

歡迎關注作者的微信公衆號:「Beforweb」

相關文章