十种值得掌握的机器学习类API

发表于 讨论求助 2020-12-19 12:26:41

HMS虽然目前机器学习主要由Google、Amazon、IBM和Microsoft等大公司主导,但是各类小型公司也正在潜移默化地将其算法和API引入该领域。

现如今,从手机上的照片流识别系统到电子邮件收件箱中的过滤系统,机器学习可谓是无处不在。更有甚者认为:机器学习已成为了未来不可或缺的工具之一。

当然,不可否认的是:随着互联网更加趋向于个性化,机器学习已经变得比以往任何时候都更加重要了。也许您早已听说,像Amazon这样的大公司正在使用其机器学习算法(具体请参见https://blog.eduonix.com/internet-of-things/6-machine-learning-algorithms-learn-newbie/),来根据用户的兴趣为客户提供各种定制化的建议。

大约就在十年前,互联网的主要目的还只是单纯地为您提供信息,即:根据您所提供的某个关键字,在全球范围内搜索并生成有关该特定关键字的结果。而如今,其主要目标已经变成了为用户提供更多的相关信息,这些信息更接近于他们所搜索的内容。这便是机器学习真正起作用的地方。

目前,虽然机器学习主要还是由包括Google、Amazon、IBM和Microsoft在内的大公司所主导,但是各类小型公司也正在潜移默化地将其算法和API引入该领域。这些API使得不同的公司更容易地跨界共享各类知识和信息。下面,在深入研究那些创新式的机器学习类API之前,让我们先简单介绍一下到底何为API。

什么是API?

简单说来,API或称应用程序编程接口(请详见https://searchmicroservices.techtarget.com/definition/application-program-interface-API)是实现两个软件程序相互通信的代码片段。它是一组用于构建软件的定义、协议和工具。API实现了两个软件之间的连接,不但负责将请求从一个软件发送到另一个软件,还会将请求的应答原路返回。

一般而言,API由两部分组成:一、描述如何在程序之间交换信息的规范;二、作为写入该规范并以某种方式发布出去,以供使用的软件接口。

因此,API有如下三种类型:

本地API - 这些API为应用程序提供了操作系统或中间件的服务,例如Microsoft的.NET API。

Web API - 这些API可运行在互联网上,实现消息的发送和接收,包括各种URL。

程序API - 基于远程过程调用(Remote Procedure Call)技术的一些API,使得某个远程程序组件对于软件的其他部分而言,就像是运行在本地一样。

我们在此为您列举了本年度值得掌握的十种“现象级”机器学习类API:

1.PredictionIO

PredictionIO是一个基于Apache的开源类机器学习API,它能够使得数据科学家更加轻松地构建出各种预测机(predictive machines)。它可以与Apache Spark、MLlib、HBase、Elasticsearch和Spray轻松地捆绑到一起。另外,它使用独特的模板系统来创建不同的机器学习系统,并使得开发人员可以根据自己的需要更加轻松地定制引擎。

同时,PredictionIO还可以自动评估预测引擎,以确定应该采用的各种最佳超参数(hyperparameters)。由于该API承担了主要的任务,因此开发人员只需简单地添加自定义的组合。总的说来,PredictionIO提供的功能包括:用于快速构建和部署的引擎,可自定义的模板,对于动态查询的实时响应,通过系统性流程实现更快的机器学习建模,预构建的评估措施,以及简单的数据基础架构管理等。

2.Geneea自然语言处理API

Geneea是一种自然语言处理(Natural Language Processing)类API,它可以对所提供的原始信息进行分析。此类API可以从给定的URL中提取文本、或直接从给定文档里对原始文本信息执行各种分析。另外,开发人员还可以通过提供诸如:既用语言和特定域等其他信息,来协助提高结果的准确性。因此,Geneea能够对语言、矫正、变音、标记、主题检测、名称实体识别等主题类型进行多种分析。

3.IBM Watson视觉识别

IBM Watson的视觉识别(Visual Recognition)API,通过使用机器学习算法来正确地识别、分类和标记对象。同时,它还可以被用来搜索各种视觉内容,包括:辨识颜色,查找人脸,标记图像,分辨年龄与性别,甚至可以在某个集合里查找相类似的图像。另外,开发人员也可以通过创建和训练自定义的分类器,来识别他们的目标对象。另一方面,IBM 视觉识别隶属于IBM Watson Developer Cloud API套件的一部分,后者还包括:语音到文本,文本到语音,问与答,个性见解,音调分析等服务。

4.Slack API

几年前,Slack曾是最受欢迎的协同工作通讯工具之一。从那之后,它推出了自己的API,允许开发人员为其协作空间构建自定义的通信系统。开发人员可以通过该RESTful API来学习并使用Slack代码。该API不但提供了Slack强大的自然语言处理功能,还允许开发人员构建与Slack相集成的各类应用,包括:智能聊天机器人和安排会议机器人。

5.AT&T Speech

AT&T Speech API允许开发人员将语音识别功能,集成到他们的应用程序之中。由AT&T Watson语音引擎所提供支持的这款API,还包含有自然语言处理功能,例如:自然语言的理解、语音的识别、以及语音的转录等。它不但可以轻松地将口语(spoken word,一种表演艺术)文件转录为文本,还可以通过调整API以满足诸如:Web搜索、商业搜索、语音邮件、短信、问与答等特定的需求。

6.Microsoft认知服务 - 文本分析

Microsoft在机器学习方面已经取得了长足进步。它提供的API允许开发人员在执行翻译操作之前,先自动检测文本的语言类型。同时,它也可以从您所提供的文本中解读出一定的“话外之音”。另外,它还提供诸如:关键短语提取,语言检测,情感分析,翻译,甚至能够识别文本中的字符实体等其他功能。

发表
26906人 签到看排名