Alexa 技能開發:入門指南
已發表: 2020-01-10在過去的十年裡,語音助手已經動態地進入了我們的生活。 像 Alexa、Siri、Google Assistant 和 Cortana 這樣的名字很可能會敲響警鐘。 無論如何,語音助手的想法暴露在這些名字之前的路線上。
早在 1962 年,IBM 就推出了第一款名為 Shoebox 的語音助手。 如果你沒有猜到,它的大小就是它的名字。 它可以做數學函數並識別數字 0-9 和 16 口語。 然後 Harpy 帶著一個三歲孩子的詞彙量來了,它可以識別 1,011 個單詞。
所有這些最初的創新都為接下來的發展鋪平了道路。 蘋果、亞馬遜、谷歌等巨頭都在這方面絞盡腦汁,結果讓全世界都看到了!
快進到今天,“Hey Siri”、“Alexa!”、“Okay, Google”是家喻戶曉的。
但在所有這些中,Alexa 脫穎而出。 在 1 億台設備上可用,它已成為業界的話題。 它不僅僅是帶揚聲器的會說話的湯姆貓,它實際上為你做家務,有時讓你與眾不同。
從技術上講,它使用 AccuWeather 通過 NPR、ESPN 和當地廣播電台等眾多來源提供天氣報告和新聞。
它了解用戶對來自所有者的 Amazon Music 帳戶的所有搖滾、流行和午夜旋律的節拍和流式傳輸的需求,並為 Spotify 和 Pandora 帳戶提供內置支持。 它可以按照您想要的方式管理警報和待辦事項列表,還可以為您撥打重要電話。
它理解客戶對節拍的要求,並從所有者的亞馬遜音樂唱片中流式傳輸大多數石頭、流行和 12 PM 歌曲,並為 Spotify 和 Pandora 帳戶提供幫助。 它可以以您需要的方式處理警報和計劃一天,並為您撥打重要電話。
Alexa 所做的所有這些任務都是通過其稱為“技能”的內置功能完成的。 用戶可以使用 Alexa Skills Kit 在 Alexa 中教授和灌輸新技能,然後可以通過提出請求或提問來訪問這些技能。 您還可以創建智能家居技能、音樂技能、視頻技能、Flash 簡報技能和自定義技能。
它是一款採用最新技術運行的綜合設備,最多可以完成您對語音助手的所有期望。
在本指南中,我們將介紹自定義 Alexa 技能開發,但在此之前,
“Alexa,在構建 Alexa 技能之前我應該知道什麼?”
構建任何類型技能的常見(明顯)先決條件是開發者控制台上的帳戶,該帳戶將用於為您的技能創建配置。
配置將需要有關技能的信息,例如技能的名稱、交互模型的類型、內容提要或端點以及其他信息。 此配置用於確定應針對您的技能發送到 Alexa 服務的用戶請求。
您將需要一個可訪問 Internet 的端點來託管基於雲的服務、Amazon Web Services (AWS) 帳戶和 Amazon 開發人員帳戶,以使用 AWS Lambda、適當的開發人員環境和支持 Alexa 的設備進行測試。
您需要一個 AWS 帳戶,這是一個適合您首選編程語言的開發人員環境。 您可以使用 Node.js、Python、Java、C# 或 Go 來創作 Lambda 函數。 要進行測試,您必須擁有支持 Alexa 的設備。
構建視頻技能需要具有公共 API 或訪問基於雲的服務的支持雲的視頻服務提供商、AWS 帳戶、支持 Alexa 的設備以及適合編碼的開發人員環境。
您將需要一個可通過 Internet 訪問的內容提要,使用 RSS 或 JSON,它會使用新內容進行刷新。
對於音樂技能,你需要有一個亞馬遜開發者賬戶、一個註冊了支持 Alexa 的設備、一個 AWS 賬戶、一個用於流式傳輸音樂的音樂服務和一個用於控制它的雲 API。
“Alexa,我怎樣才能讓你工作?”
可以要求 Alexa 以兩種方式告訴星座,一種是,
“Alexa,向今天的星座查詢雙魚座的星座。” 其中示例話語與調用匹配,另一個是:
“Alexa,我的星座是什麼?”,其中間接調用了 Alexa 自定義技能。
這都是意圖和話語的簡單遊戲,您的示例話語應該與您用來提問或請求 Alexa 的調用相匹配。
調用名稱與命令、動作或問題相結合,進一步發送帶有與用戶請求相對應的意圖的“IntentRequest”。 調用短語中的命令、操作或問題在示例話語中定義並映射到意圖。
有時用戶可能希望 Alexa 只聽他們說的話,以緩解可能導致的憤怒,提供大量以各種形式編寫的示例話語。
此外,誰不想在一天可能遇到的每一種心情旁邊列出他們的個性化播放列表。 Alexa 可以根據您的要求流式傳輸音樂和媒體。 一旦 Alexa 設備註冊到用戶的亞馬遜賬戶,他們就可以從完全可訪問的亞馬遜音樂庫中請求任何曲目。
“Alexa,你的技術方面是什麼?”
有哪些技術要記住?
現在,這個問題的答案應該沒有歧義。 這裡的工作是創建一個基於雲的服務來處理對技能的請求並將其託管在雲中。
要構建自定義技能,使用 AWS Lambda 函數。 另一種方法是編寫 Web 服務(使用任何語言),在這種情況下,Web 服務將響應 Alexa 發送的請求。
創建自定義技能時定義交互模型。 Alexa 使用它從語音中獲取單詞並將其轉換為請求,然後將其發送到特定技能。
其他技能類型具有提供內置交互模型的 API。
“Alexa,我如何建立技能?”
技能培養過程在開發者控制台上以系統的方式組織,從在構建頁面上創建技能到對其進行測試和分析。
在開發者控制台的構建頁面上,進行技能的設置和配置。 為服務指定相應的交互模型和端點。 所有這些選項都可以在開發者控制台上輕鬆使用。
但是,這裡應該使用哪些特定選項取決於技能的模型。 對於自定義模型,會創建意圖和示例話語。 對於預建的智能家居模型,指定端點並執行帳戶鏈接配置。
一項技能可以通過多種方式進行測試。 Utterance Profiler 用於測試自定義交互模型。
在 Developer Console 的測試頁面上,有一個模擬器可以訪問 Alexa Skill development Kit 功能,用於測試技能。 另一種選擇是使用支持 Alexa 的設備進行測試。
也可以使用 ASK CLI 命令從命令行測試該技能。
否則,技能管理 API 提供相同的技能測試功能。
開發者控制台上的分發頁面用於確定技能的可用性,並一目了然在技能商店中查看它時的顯示方式。
此處使用的元數據是特定於語言的。 需要使用技能支持的每種語言填寫詳細信息。 然後,此數據將顯示在技能商店中可訪問的技能詳細信息頁面上。
在“認證”頁面上,確認您的技能已準備就緒並將其提交以進行認證過程。 技能的發布狀態會顯示在開發者控制台的狀態欄。
技能發布後,發布狀態變為實時。 在這裡,技能也可以隱藏或移除。
如果有任何認證失敗或問題,則將其修復以成功驗證和認證。
開發者控制台上的分析頁面用於查看技能的使用指標。 此儀表板描述了有關客戶如何使用該技能的詳細信息。
語音助手的當前需求清楚地表明,它們正在徹底改變人們的生活方式。 據分析,沒有智能語音助手的人希望購買一個。
預計語音助手會變得非常聰明,只要你輕輕地說“Alexa,我餓了”,它就會自動為你點最喜歡的菜。
人工智能具有幫助智能揚聲器自主思考和學習的能力,而無需針對其他所有意圖進行編程。 人工智能將成為市場領導者,而語音助手,作為它的產物,並且一直在學習和改進,不會去任何地方。 語音助手在這裡成長和留存。
現在,如果您正在為您的公司尋找 Alexa 技能開發,請確保您聘請專業團隊並避免任何最後一分鐘的麻煩。 它不僅可以幫助您改善客戶服務,還可以幫助您節省時間,同時讓您領先於競爭對手。