服务大众的人工智能---认知服务

什么是认知服务Cognitive Service?

  认知服务是由微软在IBM认知计算[^1]的基础上提出来的,简单来讲,认知服务是基于文本分析、语音理解、以及视觉输入等形式经过人工智能网络分析后所提供的一种服务形式。微软认知服务的前身就是其大名鼎鼎的牛津计划[^2]项目,2015年火爆朋友圈的How-Old.net[^3]应用就是利用图片识别和情感分析等技术来判断一张图片中所有人的年龄,在很大程度上分析一个人的年龄基于一些固定的算法或者由于机器无法“理解”人类的“欺骗”技巧,所以可以对图片进行特殊处理使识别出来的年龄不同于真实年龄,以达到和朋友互动娱乐的效果。其实这还只是认知服务的冰山一角。

目前认知服务的历史及发展状况?各大厂商提供了那些功能接口?如微软、IBM等。

认知服务最早起源于IBM的Waston计划[^4],早期Waston是一个基于自然语言的第一个“智能”问答系统,曾在2011年的综艺节目《危机边缘》[^5]中战胜了人类选手。而现如今Waston更是以认知商业服务的形式展现,从最初的语音文本识别,到今天的图片、图像识别;从简单的专家问答系统,到今天的辅助医疗诊断[^5],认知服务的范围在不断扩大。在认知服务领域,IBM和微软共同领导行业的发展,尤其在图片识别分支领域微软拥有更多优势[^6],所提供的API服务也大体相似。下面以微软提供的认知服务为例:

 

微软认知服务分为5大类:

1. 视觉类:计算机视觉,情感识别,人脸识别,视频检测。

2. 语音类:自定义智能语音识别服务,声纹识别,语音识别。

3. 语言类:必应拼写检查,语言理解智能服务,语言分析,文本分析,网络及语言模型。

4. 知识类:学术知识,实体链接智能服务,知识探索服务,推荐。

5. 搜索类:必应自动推荐,必应图片搜索,必应新闻搜索,必应视频搜索 API,必应网页搜索。

 

其中前三类是属于输入部分,人类也好,计算机也好都需要一个确定的输入,然后由核心计算网络对数据进行加工、分解、运算。这三类输入奠定了人工智能理解人类世界的能力,也为她打开了一扇通往人类社会的大门。后面的两部分主要是基于搜索引擎的内容和图片搜索,就像谷歌一样,作为一个搜索引擎对我们来说再熟悉不过,个人觉得并没有太多亮点。接下来重点介绍几个比较有趣的功能。

首先,让我们来看一下计算机视觉API。计算视觉API主要围绕对图像内容的定位和识别,然后通过分析对图片进行分类。

上传一张图片,视觉API能对图片进行分析,识别事物类型,例如游泳,爬山等。

{

  "requestId": "9d8398c3-c3df-4966-992e-cd81756f8d32",

  "metadata": {

    "height": 1155,

    "width": 1500,

    "format": "Jpeg"

  },

  "imageType": {

    "clipArtType": 0,

    "lineDrawingType": 0

  },

  "color": {

    "accentColor": "19A4B2",

    "dominantColorForeground": "Grey",

    "dominantColorBackground": "White",

    "dominantColors": [

      "White"

    ],

    "isBWImg": false

  },

  "adult": {

    "isAdultContent": false,

    "isRacyContent": false,

    "adultScore": 0.14750830829143524,

    "racyScore": 0.12601403892040253

  },

  "categories": [

    {

      "name": "people_swimming",

      "score": 0.98046875

    }

  ],

  "faces": [

    {

      "age": 29,

      "gender": "Male",

      "faceRectangle": {

        "width": 304,

        "height": 304,

        "left": 748,

        "top": 336

      }

    }

  ],

  "tags": [

    {

      "name": "water",

      "confidence": 0.99964427947998047

    },

    {

      "name": "sport",

      "confidence": 0.95049923658370972

    },

    {

      "name": "swimming",

      "confidence": 0.90628170967102051,

      "hint": "sport"

    },

    {

      "name": "pool",

      "confidence": 0.87875890731811523

    },

    {

      "name": "water sport",

      "confidence": 0.631849467754364,

      "hint": "sport"

    }

  ],

  "description": { 

    "type": 0,

    "captions": [

      {

        "text": "a man swimming in a pool of water”,

        "confidence": 0.78501086930930186

      }

    ]

  }

}

识别后返回一个Json格式的数据结构,对识别出的类型标签,还会给出一个置信度的值,接近1为最可信。如果娱乐精神强一点的话,完全可以设定很低的置信度比如0.6,如果涉及安全等领域,对识别精度要求较高时,就要适当的提升置信度。 

其次,让我们来看一下微软的另一个招牌服务—-情绪识别。情绪识别API采用图片中的人脸表情作为输入项,为图片中每张人脸返回一组情感置信评分,同时用人脸识别API为人脸范围做出标记。如果用户已经调用了人脸识别API,也可以将人脸方框作为一个可选输入项提交。  可检测到的情感有愤怒、轻蔑、厌恶、恐惧、快乐、无表情、悲伤以及惊讶[^7 ]。这些情感具有特定的面部表情,被认为是可进行跨文化和普适交流的。

 

返回的数据还是比较清晰的数据就结构。

[
  {
    "faceRectangle": {
      "left": 479,
      "top": 190,
      "width": 158,
      "height": 158
    },
    "scores": {
      "anger": 0.00001619889,
      "contempt": 0.000121588469,
      "disgust": 0.0000216889184,
      "fear": 0.00138592813,
      "happiness": 0.00001577913,
      "neutral": 0.002224847,
      "sadness": 0.00000300440252,
      "surprise": 0.996211
    }
  },
  {
    "faceRectangle": {
      "left": 289,
      "top": 209,
      "width": 117,
      "height": 117
    },
    "scores": {
      "anger": 0.0003364322,
      "contempt": 0.008513732,
      "disgust": 0.000237169676,
      "fear": 0.001399079,
      "happiness": 0.03209325,
      "neutral": 0.1274486,
      "sadness": 0.000152969456,
      "surprise": 0.8298188
    }
  }
]

是不是很有趣?微软亦或IBM、Google等[^8]大公司在人工智能方面提供了很丰富的API接口,我们所需要做的仅是展开我们丰富的想象力,实现有实用价值并且有趣又好玩的应用App或者Web程序,这也许就是我们作为软件工程师的长处。

 

将来会怎么样?

关于认知服务我们能做些什么:

微软的工程师们设计出一个结合IOT和人脸识别服务的项目,目的是通过人脸识别服务去控制门禁系统[^9],能现实生活中找到实际应用的案例。也许这个项目并没有什么新鲜的想法或创新,不过其真正的意义在于人脸识别的准确率在实际操作上的可行性,正如DNA检测的准确率被广泛应用一样[^10]。其实我们还可以结合多个API去组合完成一些比较有意思的事情,比如我们可以上传一张自己或者朋友的图片,然后系统会自动依据人物特征推荐出最匹配的名人,并且可以分享到社交平台,有些类似于TwinsOrNot.net[^11]项目。更好的想法还得大家共同探索,希望有更多、更新奇的应用能展现出来。

 

关于认知服务的一些假设:

当我们谈及人工智能时不可回避的一个问题是究竟人工智能是天使还是魔鬼。而认知服务的主要任务是让机器理解人类世界,并能按照人类的思维方式或者超出普通人的思考能力去替代人类完成某些的判断或决策,以替代人类大脑。一旦人工智能拥有“思考能力”之后,人类很难预测她的行为究竟是善意的行为,还是恶意的陷阱(本文中的思考能力未有完整的定义,部分科学家并不相信机器会拥有“智能”,相关内容可参考图灵测试[^12]等内容)。今天的认知服务是否开启了人工智能的潘多拉魔盒我们还未尝可知,未来的一切还有待我们来探索。

  

参考引用:

1. ^ https://en.wikipedia.org/wiki/Cognitive_computing

2. ^ http://www.msra.cn/zh-cn/research/project-oxford

3. ^ http://www.how-old.net/

4. ^ http://www-31.ibm.com/ibm/cn/cognitive/outthink/

5. ^ https://en.wikipedia.org/wiki/Watson_(computer)

6. ^ http://www.image-net.org/challenges/LSVRC/2015/results

7. ^ https://www.azure.cn/cognitive-services/zh-cn/emotion-api

8. ^http://www.programmableweb.com/news/top-10-machine-learning-apis-att-speech-ibm-watson-google-prediction/analysis/2015/08/03

9. ^https://www.azure.cn/cognitive-services/zh-cn/WindowsIoTFacialRecognitionDoor

10. ^https://en.wikipedia.org/wiki/Genealogical_DNA_test

11. ^https://www.twinsornot.net

12. ^https://en.wikipedia.org/wiki/Turing_test

posted @ 2016-07-24 13:55  史蒂芬King  阅读(1495)  评论(1编辑  收藏  举报