【.com快译】如今机器学习无处不在,从手机上的照片流识别系统到电子邮件收件箱中的过滤系统。更重要的是,机器学习已经成为未来不可或缺的工具之一。当然,不可否认的是:随着互联网变得更加个性化,机器学习变得比以往任何时候都更加重要。也许你听说过像亚马逊这样的大公司正在使用他们的机器学习算法(参见https://blog.eduonix.com/internet-of-things/6-machine-learning-algorithms-learn-newbie/),为客户提供根据他们的兴趣提供各种定制建议。就在大约十年前,互联网的主要目的仅仅是为您提供信息:根据您提供的关键字,搜索世界并生成该特定关键字的结果。今天,它的主要目标已经变成为用户提供更接近他们正在搜索的内容的相关信息。这就是机器学习真正发挥作用的地方。目前,虽然机器学习主要由包括谷歌、亚马逊、IBM和微软在内的大公司主导,但各种小公司也在潜移默化地将他们的算法和API引入该领域。这些API让不同的公司更容易跨境共享各种知识和信息。下面,在深入研究那些创新的机器学习API之前,让我们先简单介绍一下API是什么。什么是API?简单地说,一个API或应用程序编程接口(详见https://searchmicroservices.techtarget.com/definition/application-program-interface-API)是一个代码片段,可以让两个软件程序相互通信。它是一组用于构建软件的定义、协议和工具。API实现了两个软件之间的连接,不仅负责将一个软件的请求发送给另一个软件,同时也以同样的方式返回请求的响应。一般而言,API由两部分组成:首先,描述程序之间如何交换信息的规范;其次,作为写入该规范并以某种方式发布以供使用的软件接口。因此,存在三种类型的API:原生API——这些API为应用程序提供操作系统或中间件服务,例如Microsoft的.NETAPI。WebAPI-这些API可以在Internet上运行以发送和接收消息,包括各种URL。程序API——一些基于远程过程调用(RemoteProcedureCall)技术的API,使得远程程序组件看起来就像是在本地运行到软件的其他部分。在这里我们列出了今年值得掌握的十个“现象级”机器学习API:1.PredictionIOPredictionIO是一个基于Apache的开源机器学习API,它使数据科学家能够更轻松地构建各种预测机器(predictivemachines)。它可以轻松地与ApacheSpark、MLlib、HBase、Elasticsearch和Spray捆绑在一起。此外,它使用独特的模板系统来创建不同的机器学习系统,使开发人员可以更轻松地根据需要定制引擎。同时,PredictionIO还可以自动评估预测引擎,以确定应该使用的各种最优超参数(hyperparameters)。由于API负责主要任务,开发人员可以简单地添加自定义组合。总的来说,PredictionIO提供的特性包括:快速构建和部署的引擎、可定制的模板、实时响应动态查询、通过系统流程更快地进行机器学习建模、预建评估措施以及简单的数据基础设施管理。2.GeneeaNaturalLanguageProcessingAPIGeneea是一个自然语言处理(NaturalLanguageProcessing)类API,可以对提供的原始信息进行分析。此类API可以从给定的URL中提取文本,或者直接从给定的文档中对原始文本信息执行各种分析。此外,开发人员可以通过提供其他信息来帮助提高结果的准确性,例如:口语和特定领域。因此,Geneea能够对语言、纠正、变音、标记、主题检测、名称实体识别等主题类型进行多项分析。3.IBMWatsonVisualRecognitionIBMWatson的视觉识别(VisualRecognition)API使用机器学习算法正确识别、分类和标记对象。同时,它还可以用于搜索各种视觉内容,包括:识别颜色、寻找面孔、标记图像、区分年龄和性别,甚至在集合中寻找相似图像。或者,开发人员可以创建和训练自定义分类器来识别他们的目标对象。另一方面,IBMVisualRecognition是IBMWatsonDeveloperCloudAPI套件的一部分,该套件还包括:语音转文本、文本转语音、问答、个性洞察、语气分析等。4.SlackAPI几年前,Slack是协作工作的最佳通信工具之一。从那时起,它推出了自己的API,允许开发人员为其协作空间构建自定义通信系统。开发者可以通过这个RESTfulAPI学习和使用Slack代码。该API不仅提供了Slack强大的自然语言处理功能,还允许开发者构建与Slack集成的各种应用,包括:智能聊天机器人和日程安排会议机器人。5.AT&T语音AT&T语音API允许开发人员将语音识别集成到他们的应用程序中。该API由AT&TWatson语音引擎提供支持,还包括自然语言处理功能,例如自然语言理解、语音识别和语音转录。它不仅可以轻松地将口头文字(一种行为艺术)文档转录成文本,还可以调整API以满足特定需求,例如:Web搜索、业务搜索、语音邮件、短信、问答等。6.微软认知服务-文本分析Microsoft在机器学习方面取得了长足的进步。它提供了一个API,允许开发人员在执行翻译操作之前自动检测文本的语言类型。同时,它还可以从你提供的文字中破译出一定的“解释”。此外,它还提供了其他功能,例如:关键短语提取、语言检测、情感分析、翻译,甚至可以识别文本中的字符实体。7.亚马逊机器学习亚马逊的机器学习API可以实现很多不同的功能,包括:欺诈检测、内容个性化、文档分类和客户流失预测等。同时,它还允许开发者快速训练和部署自己的模型。不过亚马逊的API并不是开源的,它提供了一套按需付费的使用方案。8.BigMLBigML是一种机器学习RESTAPI,允许开发人员为自己的应用程序轻松构建和部署AI模型。此类API能够构建各种监督和非监督机器学习任务,以及具有机器学习管道的预测模型。BigML的亮点在于它允许用户使用各种标准的HTTP方法来创建、检索、更新和删除与BigML相关的资源。9.GoogleCloudAPIs一向致力于创新的谷歌,在机器学习领域时常给人们带来惊喜。它拥有一套完整的CloudAPI,旨在简化开发人员的各种繁琐工作。Google的机器学习API包括:CloudVisionAPI、CloudSpeechAPI、NaturalLanguageAPI、TranslationAPI和DialogflowAPI。它们各自的特点如下:CloudVisionAPI-包括:图像标注、人脸、标志和地标检测、光学字符识别和露骨内容检测。CloudSpeechAPI-包括:语音识别、音频转换为麦克风或文件、80多种语言的文本转换。自然语言API-包括:结构分析、文本含义识别、情感分析、实体识别和文本注释。翻译API-从一种语言翻译成另一种语言。DialogflowAPI-为各种对话界面开发的完整套件,例如聊天机器人或语音驱动的应用程序。10.Wit.aiWit.ai是一个开源的自然语言处理平台,它提供的语音功能可以为Web和移动应用程序增加智能。它可以为家庭自动化、联网汽车、智能电视、机器人、智能手机、可穿戴设备等应用提供智能语音接口。Wit.ai的文档简洁易懂。它不仅包含了各种代码示例,还为其SDK提供了快速入门指南和完整的Wit应用指南,适用于多种流行语言和平台。结语随着机器学习的广泛应用,所有的开发者都需要在激烈的竞争中保持优势,必须潜心研究和“玩”机器学习的各种API。希望以上十个API能给大家提供指导和帮助。原标题:10MachineLearningAPIsYouShouldLearn,作者:ShwetaDatar
