iT邦幫忙

2021 iThome 鐵人賽

DAY 7
0
AI & Data

我不太懂 AI,可是我會一點 Python 和 Azure系列 第 7

Day 07 Azure cognitive service- 於是,Chatbot 也有了智慧

Azure cognitive service- 於是,Chatbot 也有了智慧

Azure 認知服務

Azure 認知服務透過 API 或 SDK 提供 AI 服務,讓使用者不需要有人工智慧或者資料科學的基本能力,就能透過 Azure 認知服務,使用各式各樣的 AI 模型解決問題。分為五大類:

  • 視覺:偵測或分析圖像內容,例如:偵測圖像中的文字或物體。而此次會用到的功能有物體偵測(Object Detection)、影像描述(Image Description)、光學字元辨識(Optical Character Recognition)、人臉辨識(Face Recognition)。
  • 語音:從最簡單的文字和語音的互相轉換,到直接語音翻譯,甚至可以做到辨識誰在說話、辨別發話者的意圖。在之後會提到的韓文翻譯機器人,就會用到文字轉語音的功能。
  • 語言:目前 Azure 提供的功能已經可以做語言翻譯、文字分析,了解文字中真實的意圖。
  • 決策:目前提供的功能可以做到:1. 藉由歷史資料,判斷異常事件的發生。2. 推薦個人化商品、廣告、文字或影音內容。原本還有一個內容仲裁的功能,可以判斷文字和影音內容是否不雅,但官方文件顯示此功能將在2021/12/31下架。
  • 搜尋:提供搜尋引擎的功能。

如何讓自己的 Chatbot 得到智慧

之前所提到的Azure Web App算是整個 chatbot 的平台,在Azure Web App這個平台,透過 API 或 SDK 與其他雲端服務溝通,得到相對應的結果。而 Azure 的認知服務,在這次示範的 chatbot 中就扮演重要的角色,只要會基本的python,就能輕鬆串接各項 AI 服務。大致上的流程,如上圖與以下的說明:

  1. Azure Web APP ServiceFlask架設 chatbot server。
  2. 使用者透過 LINE Platform 傳遞影像到 chatbot server。
  3. Chatbot server 將影像傳給Azure Blob,取得影像 URL。
  4. Chatbot server 將影像 URL 傳給 Azure Cognitive Service,取得偵測結果。
  5. Chatbot server 把偵測結果和影像 URL 包裝成 Flex Message。
  6. Chatbot server 透過 Line Platform 將 Flex Message 傳回給使用者。

如何使用 Azure 認知服務

第一步當然還是要建立相對應的 Azure 認知服務資源,這部分就要去看說明文件才會知道有哪些資源,每個資源包含了哪些服務。以這次 chatbot 所設定的功能來看,以下列出需要建立認知服務的資源,以及其資源涵蓋的功能:

  • 電腦視覺(Computer vision)
    • 物體偵測
    • 光學字元辨識
    • 影像描述
  • 臉部(Face)
    • 人臉辨識
  • 翻譯工具(Translator)
    • 語言辨識
    • 翻譯
  • 語音(Speech)
    • 文字轉換語音

大部分的認知服務的使用方式都十分雷同,大致上的流程如下:

  1. 建立該項資源。
  2. 到建立好的資源頁面找到金鑰與端點的頁面,並取得金鑰與端點。
  3. 在自己的電腦安裝相對應的python套件。以下列出 chatbot 會用到的套件,可以先放到requirements.txt之中備用:
  • 電腦視覺:azure-cognitiveservices-vision-computervision
  • 人臉辨識:azure-cognitiveservices-vision-face
  • 語音:azure-cognitiveservices-speech
  • 翻譯工具:不需要套件,直接透過 REST API 取得結果。

接下來,幾天就會針對認知服務的使用與整合加以一一說明。


上一篇
Day 06 Flex message simulator- 美化自己的chatbot
下一篇
Day 08 Azure cognitive service: object detection- 匡出照片中的喵
系列文
我不太懂 AI,可是我會一點 Python 和 Azure30

尚未有邦友留言

立即登入留言