iT邦幫忙

2018 iT 邦幫忙鐵人賽
DAY 15
0
AI & Machine Learning

利用 MS Bot framework 與 Cognitive Service 建構自用智慧小秘書系列 第 15

15.Cognitive Service - 文字翻譯服務

Translator Text API 介紹

在查詢 Cognitive Service 能做些什麼事情的時候,第一眼覺得最實用的功能非翻譯服務莫屬。因為個人在工作環境因素,撰寫電子郵件、Skype 與團隊討論、撰寫文件…等多數情況下都需要用到英文。英文不是很好的我,偶爾用詞遣字需要翻譯翻譯,就得開啟 Google 翻譯/搜尋。不意外地,趁這次參加鐵人賽的機會,強化自己的 Skype Bot 功能。

Translator Text API 是 Microsoft Cognitive Service 其中一項服務,呼叫方式相當簡單,若先前介紹介接政府開放資料、第三方英文笑話API 或 Google Calendar API 都能夠實作,銜接 Translator Text API應該沒有問題。他提供一組看似簡單卻實用的功能:翻譯、語言偵測、建立自訂翻譯與斷句…等等功能。

圖片來源:Translator Text API 文件
圖片來源:Translator Text API 文件

開啟 Translator 文件 - http://docs.microsofttranslator.com/text-translate.htm,可以看見類似swagger 呈現方式,呼叫方法(GET/POST)、Header、Parameter 寫得蠻詳細的。
https://d2mxuefqeaa7sj.cloudfront.net/s_E7B300E0091C5620F22EC144077D78492F85EFE44B3044FD0EEE604719A7F68C_1513609282468_image.png

使用服務流程圖如下,大致上都需要先取的 access token 後,再使用相關服務
https://d2mxuefqeaa7sj.cloudfront.net/s_E7B300E0091C5620F22EC144077D78492F85EFE44B3044FD0EEE604719A7F68C_1513612633125_image.png

以單一翻譯功能來說,需要放入的資料有
appid:在header 內有放入驗證資料就可以保持空白,主要放入 Bearer access_token 即可
from 與 to:語系代碼、從哪一個語言翻譯成另一種語言
text:要翻譯的內容
https://d2mxuefqeaa7sj.cloudfront.net/s_E7B300E0091C5620F22EC144077D78492F85EFE44B3044FD0EEE604719A7F68C_1513609486889_image.png

偵測服務也不難,除了驗證資料,只需要 text 資料即可 (要偵測的句子)
https://d2mxuefqeaa7sj.cloudfront.net/s_E7B300E0091C5620F22EC144077D78492F85EFE44B3044FD0EEE604719A7F68C_1513611445324_image.png

官方當然也很貼心了提供範本:https://github.com/MicrosoftTranslator
但開始撰寫程式之前,我們似乎要先啟用服務,才能取得驗證相關資料…


設定 Translator Text API

Step 1. 登入 Azure Portal → 點選新增 → 輸入搜尋 Translator → 選擇 Translator Text API
https://d2mxuefqeaa7sj.cloudfront.net/s_E7B300E0091C5620F22EC144077D78492F85EFE44B3044FD0EEE604719A7F68C_1513606800570_image.png

Step 2. 拉至最下方 → 點選建立
https://d2mxuefqeaa7sj.cloudfront.net/s_E7B300E0091C5620F22EC144077D78492F85EFE44B3044FD0EEE604719A7F68C_1513606962904_image.png

Step 3. 填選相關資料 → 建立 (免費層相當實用)
https://d2mxuefqeaa7sj.cloudfront.net/s_E7B300E0091C5620F22EC144077D78492F85EFE44B3044FD0EEE604719A7F68C_1513609914542_image.png

Step 4. 建立完成後 → 開啟服務,很貼心地多了一個 Quick Start;我們按照步驟先取得 key
https://d2mxuefqeaa7sj.cloudfront.net/s_E7B300E0091C5620F22EC144077D78492F85EFE44B3044FD0EEE604719A7F68C_1513610035060_image.png

Step 5. 記錄其中一個 Key,測試與撰寫程式的時候會用到
https://d2mxuefqeaa7sj.cloudfront.net/s_E7B300E0091C5620F22EC144077D78492F85EFE44B3044FD0EEE604719A7F68C_1513611041298_image.png

Step 6. 與過去相同,我們透過 postman 做測試,取得access token
選擇POST
URL: https://api.cognitive.microsoft.com/sts/v1.0/issueToken
Header 放入 Ocp-Apim-Subscription-Key : 你剛剛紀錄的key

https://d2mxuefqeaa7sj.cloudfront.net/s_E7B300E0091C5620F22EC144077D78492F85EFE44B3044FD0EEE604719A7F68C_1513612186838_image.png

Step 7. 我們組合參數並測試翻譯功能 (雖然我還是比較愛 JSON格式啦...)
Url :https://api.microsofttranslator.com/v2/Http.svc/Translate?text=Hello&from=en&to=zh
Header 放入 Authorization: Bearer 你剛剛回傳的access_token (Bearer access_token與中間要空白)
https://d2mxuefqeaa7sj.cloudfront.net/s_E7B300E0091C5620F22EC144077D78492F85EFE44B3044FD0EEE604719A7F68C_1513612855426_image.png


參考資料

  1. Translator Text API 文件 -

https://azure.microsoft.com/zh-tw/services/cognitive-services/translator-text-api/


上一篇
14.應用:自用定時提供每日資訊 Skype 機器人
下一篇
16.應用:自用英文翻譯機器人
系列文
利用 MS Bot framework 與 Cognitive Service 建構自用智慧小秘書31

尚未有邦友留言

立即登入留言