2019/04/12 成大 Azure AI Cognitive services 體驗課程 === david@isrock.com.tw ### Azure Cognitive Services 課程須知 #### 課前準備: 1.Microsoft Account(請務必於上課前申請) https://account.microsoft.com/account?lang=zh-TW 2.Azure Portal Account(請務必於上課前申請,上課中申請失敗率非常高,同一個對外IP短時間內無法多次申請) https://azure.microsoft.com/zh-tw/free/ 或 https://azure.microsoft.com/zh-tw/free/students/ 3.LINE Account (設計Chat Bot用,請務必於上課前申請,但我猜你一定有) 4.手機(收取簡訊驗證身分用) 5.信用卡(如果無法於上課前申請完成Azure Account則可能需要) #### 學員上課環境: 1.Windows 10中文版 2.Visual Studio Code https://code.visualstudio.com/ 3.Visual Studio 2017/2019 Community 以上版本 (windows版) https://visualstudio.microsoft.com/zh-hant/vs/community/ 4.Postman https://www.getpostman.com/downloads/ 5.建議使用 Chrome 瀏覽器 ## 展示LINE Bot: #### 圖像、人臉辨識 ![](https://i.imgur.com/nlNEYPK.png) 您可以用LINE 搜尋 @jtv0835u 將其加入好友即可測試 或掃描QR Code ![](https://i.imgur.com/OdTJInY.png) #### 翻譯王 ![](https://i.imgur.com/mf26Os0.png) 您可以用LINE 搜尋 @ejn1954w 將其加入好友即可測試 或用手機點選底下連結: https://line.me/R/ti/p/%40ejn1954w 或掃描QR Code ![](https://i.imgur.com/3vP0is9.png) #### cognitive services URL: https://azure.microsoft.com/zh-tw/services/cognitive-services/computer-vision/ ### Lab 20.測試與建立Computer Vision服務 1.造訪 https://azure.microsoft.com/zh-tw/services/cognitive-services/computer-vision/ 2.嘗試上傳一張照片測試 3.以MS Account登入 https://azure.microsoft.com/zh-tw/try/cognitive-services 建立免費試用 或 使用 Azure Portal申請key 4.取得 endpoint 與 key 1, key 2 5.下載測試程式 https://github.com/isdaviddong/Demo-CognitiveServices 可執行範例程式: A> http://arock.blob.core.windows.net/blogdata201904/%E4%BA%BA%E8%87%89%E8%BE%A8%E8%AD%98.zip B> http://arock.blob.core.windows.net/blogdata201904/%E5%8D%B3%E6%99%82%E7%BF%BB%E8%AD%AF.zip 6.取得 Key1(8b178c6a180647e7807f4a013d26bf68), endpoint , 替換程式碼 7.endpoint 應該類似 https://westcentralus.api.cognitive.microsoft.com/vision/v1.0 :::info Exercise 1.如何辨識圖片的內容(顯示圖說)? ::: Ans: 修改程式碼第55行 ```csharp= //分析圖片 var Results = visionClient.AnalyzeImageAsync( MemStream1, new VisualFeature[] { VisualFeature.Faces, VisualFeature.Description }).Result; ``` ### Computer Vision API: https://westus.dev.cognitive.microsoft.com/docs/services/56f91f2d778daf23d8ec6739/operations/56f91f2e778daf14a499e1fa 使用postman: ![](https://i.imgur.com/BEddyRY.png) ![](https://i.imgur.com/xIfqDfN.png) 使用 http post 呼叫 Computer Vision ``` POST /vision/v1.0/analyze?visualFeatures=Description HTTP/1.1 Host: southeastasia.api.cognitive.microsoft.com Ocp-Apim-Subscription-Key: f3306fdad493414586dc7e7396feac7a Content-Type: application/json Cache-Control: no-cache Postman-Token: 4ff32e01-1c53-9598-26c8-f1bd37c02ee7 {"url":"https://i.imgur.com/pBNAy1L.png"} ``` 使用 http post 呼叫 Computer Vision(python) ```python= import http.client conn = http.client.HTTPSConnection("southeastasia.api.cognitive.microsoft.com") payload = "{\"url\":\"https://i.imgur.com/pBNAy1L.png\"}" headers = { 'ocp-apim-subscription-key': "換成自己的", 'content-type': "application/json", 'cache-control': "no-cache", 'postman-token': "4ee26ac7-3f42-9a1e-37da-2ade0435f520" } conn.request("POST", "/vision/v1.0/analyze?visualFeatures=Description", payload, headers) res = conn.getresponse() data = res.read() print(data.decode("utf-8")) ``` ### Lab 21. translator text api 1.從Azure Portal取得translator text API的key :::warning 測試 key(建議自行建立): 89e4e936969f48fbb32c07eac3693141 ::: 2.開啟測試程式,修改 Key 值, endpoint(不用換) 3.測試看是否能翻譯 :::info Exercise 1.如何翻譯成其他更多種的語言? 調整可以選擇的語系: https://docs.microsoft.com/zh-tw/azure/cognitive-services/translator/language-support ::: 修改第32行: ```csharp= var result = MSTranslatorUtility.Translate(this.textBox1.Text, "ja"); //zh-Hant 為翻譯成中文 ``` :::info Exercise 嘗試結合上面兩個範例,將辨識出的圖說改為中文。 ::: ### Lab 22. 使用LUIS進行自然語言識別 1.https://www.luis.ai 2.建立LUIS App 參考文章: https://studyhost.blogspot.com/2016/08/bot-framework-4-luis.html 參考影片: https://channel9.msdn.com/Shows/NET-Walker-5/luis-1 :::info Exercise 目標: 建立 1.客訴行為、點餐行為 兩個intents 2.建立 餐點名稱、飲料名稱 兩個entities ``` 參考語句: 我要點一份燒餅油條 麻煩你我需要一份蛋餅 給我來個大亨堡 三明治帶走 今天請幫我來一個飯糰 ``` ::: memo: 只要train變成紅色都要點選並Publish ### 23.訓練LUIS review endpoint utterrance ![](https://i.imgur.com/w3w9rWj.png) 建立LINE Bot WebApp === 建立好Line Bot之後...先取得 1. Channel Access Token 2. User Id 開啟Visual Studio 2017 建立專案, 操作步驟 1. ![](https://i.imgur.com/Gc4msTl.png) ![](https://i.imgur.com/adE3kcM.png) 安裝套件: ![](https://i.imgur.com/xm91pOv.png) Nuget套件名稱: studyhost.example.linebot ![](https://i.imgur.com/y2aRjNH.png) ![](https://i.imgur.com/AhUuXWN.png) 找出 default.aspx.cs 修改程式碼: ![](https://i.imgur.com/KDVH6Hf.png) 按下 F5 執行 貼圖編號: https://devdocs.line.me/files/sticker_list.pdf 下載NGROK套件進行測試: https://ngrok.com/download ex: ngrok http 50812 -host-header="localhost:50812" ex: endpoint https://westus.api.cognitive.microsoft.com/luis/v2.0/apps/9edf4044-f3fc-413c-9e71-7e83b453c48d?verbose=true&timezoneOffset=-360&subscription-key=0e3a44153fa046a5af08ef9a5924a3cc&q=珍珠奶茶一杯外帶 相關資源: === LINE Bot blog: http://studyhost.blogspot.com/2018/01/index-clinebot.html LineBotSDK:https://www.nuget.org/packages/LineBotSDK 相關課程:http://www.studyhost.tw/NewCourses/LineBot 線上課程:https://www.udemy.com/line-bot/ LINE Bot實體書籍:https://www.tenlong.com.tw/products/9789865020354 更多內容,請參考電子書:https://www.pubu.com.tw/ebook/103305 最新消息: === 您可透過Line App搜尋 『@studyhost』或 點選底下網址加入好友: https://line.me/R/ti/p/%40dfe5542k 也可以使用Line App掃描底下QR Code加入: ![](https://i.imgur.com/J8RXJJR.png) 各種最新消息、活動、課程、書籍更新,我們都會透過LINE@優先發送給您。如果有任何非技術性的問題,也可隨時與我們的LINE線上服務人員聯繫。 若有技術問題,可直接在講師的FB專頁中與講師聯繫。 https://www.facebook.com/DotNetWalker/ ### tags: 課程