一篇文章了解智能音箱與你的對話是怎麼發生的?

一篇文章了解智能音箱與你的對話是怎麼發生的?

9 人贊了文章

圖中這個萌萌噠物體大家都不陌生,從2016年開始它已經將近火爆了3個年頭,它就是——智能AI音箱。

與人可以有多種謀生的技能不同,智能音箱要想在人類生活中立足,它只需要一項很強的技能就夠了,那就是語音技能。

什麼是語音技能

語音技能是部署在音箱等以語音交互為主要交互形式的設備上的功能,可以理解為是以語音交互面向用戶的app, 語音技能不需要下載,不需要安裝,由埠直接對接,輕量級且幾乎沒有遷移成本,目前大部分的智能音箱都具備一項到多項的語音技能。

如何開發語音技能

第一、先規劃好技能的使用流程

在開始設計您的技能之前。首先應該確定的是您的技能的功能和特點,然後想好用戶可以使用他來做些什麼事。最後你才需要考慮的是設計語音交互流程和相關細節。

確定技能的功能

你的技能應該是對應一個或者多個使用場景,通過思考以下的問題來明確技能的功能和他所能夠提供的能力:

  • 做這款技能的目的是什麼?人們為什麼要使用它?
  • 在進行技能語音交互之前,期間和之後,用戶將做什麼?
  • 用戶能夠從技能上獲得什麼,他們能不能通過另一種方式來獲得?

確定用戶的意圖

根據技能的開發目的和功能來確定技能的各個步驟和他的實現方式。

  • 用戶在技能的步驟中可以做什麼?或者是不可以做什麼?
  • 是否需要獲得用戶的個人信息?
  • 用戶的信息在當前技能中有哪些是可以利用的?
  • 用戶喚醒當前技能的方式是什麼?

編寫技能交互流程

技能的交互流程用來顯示如何和用戶來進行對話和相關邏輯的展示,就好像在製作一部電影之前需要有一個劇本一樣,在設計一款技能也應當有一個劇本。 使用他可以來幫助識別您可能尚未考慮的情況。

編寫技能交互流程時請考慮以下幾點:

  • 保持互動簡短。
  • 交互的形式應該是兩個人在進行交談,而不是閱讀和寫作。
  • 避免重複的短語。
  • 指示用戶何時需要提供信息。
  • 不要以為用戶知道該怎麼做或會發生什麼。
  • 清楚地呈現選項。
  • 一般來說,一次提供不超過三個選擇。
  • 一次要求一個信息。

根據交互流程設計邏輯

一個基本的交互流程並不能完全代表人們如何在現實生活中和技能進行互動。用戶可能會說太少,太多,或者說你不期待的東西。使用以下方法來擴展您的交互流程並捕獲用戶可能完成對話的各種方式:

設定完整流程的最快捷的路線

完整流程的最短路徑是通常是當用戶在當前技能已經綁定了相關賬號的情況下一次性提供了所有信息時,那麼當前用戶則不需要在重新進行信息的錄入和填寫,直接進行相關功能的操作。

設定完整流程的備選方案

這是當用戶說的與當前流程無關或者和當前技能無關的內容時需要採取的辦法。在流程中,應當會有一個備選方案來幫助用戶順利進行技能流程當用戶表述的與當前流程無關的內容時,如果用戶說的內容和當前技能無關可以參考"設備該如何回應"中的策略。

設定對於不同用戶的流程邏輯

需要識別用戶的不同種類,例如新用戶或老用戶。後台對於不同用戶的鑒別可以讓其執行不同的操作。

在技能中設定一個幫助選項

在幫助中,包括明確的方向,用戶可以使用該技能做什麼。基於技能的複雜性,幫助可以提供一個簡單的功能指引。

設定技能賬戶的關聯提示(如果存在)

確定帳戶關聯所需的信息。流程還需要確定當帳戶關聯尚未完成時技能將如何響應。

一個基本的交互流程並不能完全代表人們如何在現實生活中和技能進行互動。用戶可能會說太少,太多,或者說你不期待的東西。使用以下方法來擴展您的交互流程並捕獲用戶可能完成對話的各種方式:

設定完整流程的最快捷的路線

完整流程的最短路徑是通常是當用戶在當前技能已經綁定了相關賬號的情況下一次性提供了所有信息時,那麼當前用戶則不需要在重新進行信息的錄入和填寫,直接進行相關功能的操作。

設定完整流程的備選方案

這是當用戶說的與當前流程無關或者和當前技能無關的內容時需要採取的辦法。在流程中,應當會有一個備選方案來幫助用戶順利進行技能流程當用戶表述的與當前流程無關的內容時,如果用戶說的內容和當前技能無關可以參考"設備該如何回應"中的策略。

設定對於不同用戶的流程邏輯

需要識別用戶的不同種類,例如新用戶或老用戶。後台對於不同用戶的鑒別可以讓其執行不同的操作。

在技能中設定一個幫助選項

在幫助中,包括明確的方向,用戶可以使用該技能做什麼。基於技能的複雜性,幫助可以提供一個簡單的功能指引。

設定技能賬戶的關聯提示(如果存在)

確定帳戶關聯所需的信息。流程還需要確定當帳戶關聯尚未完成時技能將如何響應。

進行技能開發

如果你已經有一個詳細的交互流程和技能的設計劇本,那麼就可以開始創建你的技能了,並且根據用戶會說什麼來和它進交互:

識別意圖

意圖代表你的技能能夠做的獨特的事情。舉個例子,如果做一款翻譯的技能可能會有4種意圖用戶需要來操作。例如:翻譯、停止、退出、幫助。

識別話語

話語包括用戶將會用來表達意圖的詞語、短語、或者句子。例如要使用翻譯的意圖時用戶可能會說"翻譯下你好"「把你好翻譯下」或者「你好用英文怎麼說」這些不同的表達實際上都在表達一個相同的意思,你不需要全都考慮上,但你需要讓你的意圖的表達的可識別性變得儘可能高。

有關識別用戶話語的內容可以參考用戶會如何說出指令

第二、基於用戶的行為設計用戶的表達

用戶會怎麼說

人與人之間的交流的目的就在於交換信息。 所以對於信息的表達和提取並不像看起來那麼簡單,需要仔細和有意地設計音箱和用戶之間的對話。 一個好的語音設計是可以允許人們自由的表達他的意思。

會話由一個人說出話題開始,其次是回應。 這對許多人來說是一種新的互動形式,因此請確保您了解用戶參與會話的方式,以便您可以進行設計。

識別意圖

意圖表示用戶可以詢問您的技能來做什麼。 你的技能可能可以幫助用戶進行養生,說笑話或播放下一首歌曲 。這些我們稱之為意圖。 有關確定意圖的技巧的指導,請參閱設計流程。

不要指望用戶會準確地說出你預期的意圖的話。 雖然用戶可能會說"打開翻譯",但是他也可以輕易地說「我想翻譯」。為了確保你的技能能夠讓用戶使用起來體驗比較好,你應該提供廣泛的句子,短語和詞語來進行表達。

處理過度回答

處理用戶的更正

涵蓋各種各樣的話語

不同信息的提供

識別槽位

槽位可以允許人們指定話語的可變部分,例如城市或日期。槽位值在以任務和信息為中心的技能上很常見。設計槽位在話語中的顯示方式,然後從內置詞表中選擇槽位值,或提供您自己的槽位值。

在下面的例子中,{toCity}和{travelDate}是槽位:

  • "我想去{toCity}"
  • "預訂{travelDate}的旅行"
  • "計划去{toCity}吃烤鴨"

使用內置槽位值

內置槽位值是我們為您提前準備的一些預設的槽位值,他可能包括地區、人名、日期等信息,儘可能使用內置槽位值,以幫助節省時間並提高準確性。根據您的技能,您還可以擴展一些內置槽位值。例如,對於本地區域,您可以擴展mi_CITY以包括所有本地城市和城鎮。

仔細查看槽位值

雖然可能很容易找到,通過批量導入和批量追加詞表來填充槽位值,但請確保查看並編輯內容。錯誤的槽位值會使技能邏輯錯誤並破壞用戶體驗。請注意以下內容:

  • 重複槽位值:確保消除重複的詞條
  • 詞條與槽位無關:避免包含與槽位無關的詞條

第三、基於用戶的表達來設計技能返回結果

如何回應能夠讓人們能夠輕易理解和回應?讓音箱以自然和對話的方式通知並詢問問題。 在設計音箱會對用戶說什麼時,請考慮以下最佳做法:

保持對話簡潔

保持對話的簡潔有助於他們了解音箱在說什麼,並對發生的事情充滿信心。更長的對話往往更難以跟蹤和記住。

一口氣測試

當寫下音箱說的話時,你可以大聲朗讀你寫的內容。如果你可以一口氣說出一個對話的話,長度可能很好。如果您無法一句話說出你寫的內容,請考慮縮短長度。

對於包括連續(如任務中的步驟)的響應,請單獨閱讀每個步驟。雖然整個反應可能需要一次以上的呼吸,但請確保您只是在兩者之間切換時進行呼吸而不是在閱讀步驟時。

保持對話自然

激勵用戶自己說出自己想要的東西。 不要提示選項菜單。 相反,讓用戶知道可能的內容,並指導用戶進行有效的投入。

確保音箱說話方式像一個人,比如使用更加口語化的表達和避免行話。 這將有助於用戶更輕鬆地了解技能,並鼓勵用戶自然而然地說話。

當音箱說話時,請務必聽聽您所做的提示語。 有時,一個書面的短語聽起來不自然而且需要改寫。

合理使用開關麥邏輯

音箱是和用戶通過語音進行溝通,那麼就需要留給用戶思考和回答的時間。按照介面規範,欄位/response/open_mic用來告訴音箱在輸出完成後開麥等待用戶輸入,這樣下一次用戶就不需要再說喚醒詞了

使用會話標記

當人們交談時,他們使用一些連詞或者短語來表示對話進行的各個階段,這有助於將對話分成更易理解的大塊。使用這些片語將幫助您的用戶更好的理解和記憶您的技能。

先後順序的標記

"首先",「中途」,「那麼」,「最後」可以幫助用戶來明確目前所處的環節。當多個步驟或重要的環節進行時,使用這些片語可以讓用戶意識到接下來會進行的流程或者環節。

致謝和反饋

"謝謝",「明白了」,「好的」,「好」,「是的」讓用戶知道他們的語句已經被理解或已經收到了這些信息。

指示參考

"這",「那個」,「這裡」和「它」有助於識別參考的內容或即將提及的主題。

轉變進入

"現在",「所以」,「好的」和「下一個」可以用於將現在的主題轉到另一個主題時引入變化。

讓互動變得更加豐富

將互動變得更加豐富和自然將會使重複交互變得更加容易記憶,例如通過從相同提示的合理同義詞中隨機選擇。

如果用戶會頻繁聽到相同的提示,那麼用戶會覺得當前技能很傻,但是如果在您的打開和關閉提示中,擁有更加豐富的提示的話,這會使您的技能變得非常有個性。

自適應提示

隨著越來越多的人使用您的技能,你需要考慮每個用戶是如何使用他們的,考慮使提示變得更短,更直接,甚至確認使用頻率將會對用戶的體驗越來越友好。

謹慎使用確認

如果讓用戶過多地使用確認對話,會讓用戶使用信心受到傷害,熟練的用戶也會嫌麻煩。所以要盡量避免使用確認,但出現以下的高風險的行為,需要加上確認。

  • 用戶的意圖將要公開可見的(譬如:分享到朋友圈)
  • 涉及到扣費、付款的(譬如:用戶在購買電影票)
  • 影響到其他的人(譬如:發送一條通知簡訊)

讓交互變得更自然

設計時您應當想像是兩個人在交談而不是在閱讀或者寫作。

處理錯誤

當音箱聽不到或者無法理解用戶時,使用自然和溫柔的措辭來幫助用戶將對話回到正軌。

當音箱沒收到用戶的回答時,請使用一個重新提示:可以對原有內容稍微改寫一下,這是添加細節的好機會,以防用戶不了解。

音箱不理解的用戶對話

如果音箱聽到但無法處理用戶說的內容,請先試圖詢問一下,並嘗試讓對話回到正軌。 使用一個簡單的請求,幫助用戶知道他下一步可以做什麼。 這將有助於防止用戶感到迷失。

「不明白「與」沒聽到「

如果音箱說她沒有聽到,用戶可能會嘗試更大聲地說話,但這並不會解決問題。 事實是音箱聽到了用戶,但是卻不明白用戶說了什麼。

聽明白了但不能幫助

當用戶要求不支持的功能時,請使用某種形式的"我不能幫助您…",以通知用戶該功能不可用,但可能在將來, 為了支持這一點,您需要實施計劃功能的意圖。 然後,您可以跟蹤用戶何時請求不支持的功能,這也可以幫助您了解如何確定功能的優先順序。

錯誤消息

雖然錯誤的類型不盡相同,但是他卻會讓用戶感覺困惑和混亂。所以儘可能讓用戶知道錯誤是什麼,避免使用技術術語。如果錯誤可能只存在很短的時間,請告訴用戶再次嘗試。如果不是存在很短的問題時,在這種情況下避免去鼓勵用戶,因為用戶可能會遇到相同的錯誤。舉一個例子,如"你的空氣凈化器現在沒有響應"。

尚未支持的情況

用戶可以在語音界面中說出任何內容,優雅地處理錯誤並引導用戶重新進行發問是很重要的。對於尚未支持的用例,請說"不好意思,目前我還暫不支持這樣的功能"。當用戶的說法無法理解的時候,說出「對不起,我不明白」。

重複

處理錯誤後,會再次提示用戶音箱詢問的最新問題。避免告訴用戶您沒有聽到或不明白,因為您這樣去鼓勵用戶會使他們更加緩慢或大聲重複剛才的問題,而不是重新組織想要發問的語言。

錯誤退出

如果用戶一直說著音箱不理解的話或者已經不再旁邊時一直不停的在技能的流程中重複,這樣的體驗是不好的,所以需要配置一些情況下讓技能自動退出:

目前來說,退出有兩種方式:主動和被動。被動發生在用戶多次無響應時,小愛開放平台會強制結束會話。具體來說,小愛開放平台會在用戶無響應時發送信號給開發者:設置/request/no_response為true,開發者應當在無響應發生時按照產品規範回復提示話語,當到達第三次時,開發者仍有回復結束話語的機會,之後音箱會主動結束會話。

功能指引

告訴用戶技能可以做什麼,然後支持用戶可以訪問功能的各種自然方法。 在任務結束後和用戶保持友好的互動可以讓用戶更多的和您的技能進行交互,例如"您想聽到更多內容嗎?"或「是的,我可以幫助您嗎?」如果用戶沒有對功能引導進行答覆請遵循自動退出機制來讓技能自動退出。

澄清

澄清允許用戶自然地與音箱通話,無需一次提供所有信息,無需知道需要哪些信息。 如果遺漏或含糊不清,音箱會問問題澄清。 請記住,最好在收聽用戶回應之前立即向用戶詢問問題。 如果音箱提出問題並繼續發言,可能會讓用戶感到困惑,因為用戶期望音箱正在聽,然而她其實還在說話。

使用預錄音頻

在有用的時候考慮使用預先錄製的音頻,特別是如果您可以進行自由的語音理解工作,那麼你可以嘗試像"冒險世界"這樣的技能來設計更富有沉浸感的設計。

短格式音頻

小於90秒的音頻剪輯被認為是短格式音頻。短格式音頻允許技能會話保持打開狀態,這意味著用戶不必再次通過音箱的喚醒詞來重新調用該技能。在播放音頻剪輯後,當您希望與用戶進行額外的交互時,請使用短格式的音頻。

文件類型:.mp3

規格:16000Hz w /比特率(48kbps)

長度:最多90秒

有關實現短格式音頻的更多信息,請參閱文檔

長格式音頻

如果您有基於音頻技術的技能,您將使用長格式的音頻。超過90秒的音頻剪輯被認為是長形音頻。當音頻開始播放時,該技能的麥克風會關閉。用戶可以通過沒有調用名稱的請求來控制音頻,例如通過說"小愛同學,暫停"。為了再次與技能交互,用戶需要通過說「小愛」和調用名稱來調用該技能。當您期望用戶交互包含音頻控制請求時,請使用長格式的音頻。您的技能還可以將新的音頻文件添加到音頻列表中以進行連續播放,例如播放列表。

文件類型:.acc .mp4 .mp3 .hls .pls .m3u

規格:從16kbps到384 kbps的比特率

長度:無限制

有關實現短格式音頻的更多信息,請參閱自定義技能介面文檔

使用不同的喚醒方式

對於一個技能來說,單一的打開方式對於用戶的記憶程度雖然低,但是會讓用戶感覺到不智能,適量的配上不同的喚醒方式會讓你的技能變得別具一格。直接喚醒表示用戶在喚醒技能的同時指定了意圖,例如讓印象筆記記一下今天吃飯花了50元,這個時候小愛開放平台會直接喚醒印象筆記技能,並且給印象筆記技能傳送"今天吃飯花了50元」作為query,並且設置/request/intent/is_direct_wakeup為true,表示是直接喚醒,開發者可以自由選擇是否在回復後結束(如果想單輪搞定,就設置is_session_end為true即可)

第四、技能認證標準

包括完善技能信息,查詢技能是否符合規範等

參考資料:小愛開放平台-為開發者提供一站式人工智慧服務


推薦閱讀:

陪伴無微不至 ROOME室友小易給你想要的
2018年最新別墅智能家居系統設計方案
居家陪伴智能小白蛋——室友小易
家裡有65個智能設備是什麼體驗?

TAG:AmazonEcho | 智能家居 | 智能音箱 |