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 取得结果。

接下来,几天就会针对认知服务的使用与整合加以一一说明。


<<:  Python 演算法 Day 8 - 理论基础 统计 & 机率

>>:  [Day 7] 初学HTML

投资前的第一铁则

我的投资方式是以「股票」为主,若你没有在接触的话,之後要讲的观念可能对你帮助不大。 进入正题前,要先...

Day 23. Hashicorp Vault: KeePass into Vault

Hashicorp Vault: KeePass into Vault 今天介绍一个小工具,当你要把...

利用谷歌提供的插件彻底解决Chrome隐藏WWW和HTTPS问题

谷歌官方多年前推出可疑网址报告这个扩展程序,原本这个扩展程序是帮助用户检测恶意网站和反馈恶意网站的。...

最短路径问题 (4)

10.5 Seidel’s APSP 演算法 如果一个无向图的所有边都没有权重,那麽就能用奥地利出生...

Day 27. Hashicorp Vault: Install Vault on Kubernetes

Hashicorp Vault:Install Vault on Kubernetes 今天介绍如何...