2017/12/28


Amazon Echo Dot 到手後, 萊恩大兵花了一些時間研究 Alexa Skill 的架構與程式編寫.


為怕久了記憶模糊, 大致記錄一下目前對 Alexa Skill 的了解, 以供日後能回頭查閱提醒.




一個 Alexa Skill 服務, 其動作包括..




[1] 使用者對 Echo Dot 輸入語音命令.
[2] Echo Dot 透過 Alexa Voice Service 分析出語音命令中的 Invocation, Intent, Slot 與 Utterance.
[3] 根據 Invocation 觸發 Lambda 上對應程式做適當的處理, 並回傳資訊給 Echo Dot.
[4] Echo Dot 再將收到的回傳資訊唸出來.



而要開發一個 Alexa Skill 服務, 至少得要弄清楚下列幾個問題:

* Invocation, Intent, Slot 與 Utterance 這些術語是什麼意思?

-> 可參考這篇文章 (Understanding Custom Skills) 的說明.
-> 或從這張圖可大略知道這幾個術語的定義.




* 在 Echo Dot 端需要寫什麼程式?
-> 在 Echo Dot 端, 與其說是寫程式, 不如說是定義 Intent Schema 與 Sample Utterances, 以及操作 Alexa Dashboard 去新增, 測試與發佈一個 skill.




-> Intent Schema 是以 JSON 格式定義 intent 與 slot 的内容.




-> Sample Utterances 則是條列出可能的語句.




* 登入 Alexa Dashboard 需要申請 Amazon Developer 帳號.





* 在 Lambda server 端要寫什麼程式?

-> 比較吃重的處理都在 Lambda 這端, 需要對應 invocation 以及其可能的 intent 與 slot 做處理與回傳結果. 
-> 可使用 Alexa Skills Kit SDK, 以及 lambda-local, npm, git 等開發工具, 來節省開發的時間.
-> 也會需要登入 Lambda console 去新增 function.



參考資料

[1] Amazon Alexa Skill 官網, 提供大量的參考課程 (https://developer.amazon.com/alexa-skills-kit/alexa-skills-developer-training)

[2] Code decademy- Introduction to Alexa (https://www.codecademy.com/learn/learn-alexa)
[3] Build An Alexa Fact Skill (https://github.com/alexa/skill-sample-nodejs-fact)
[4] Build An Alexa Trivia Skill (https://github.com/alexa/skill-sample-nodejs-trivia)
-> [2], [3], [4] 這三篇都是很初級的 1-2-3 教學文章.

[5] Alexa skill, 啟用 account linking 功能 





[萊恩大兵的其它文章]

自製大四軸

CC2540 Bluetooth Low Energy

OpenCV 學習路徑

小惡魔 無線溫度感測器







0 意見:

張貼留言