选自KDnuggets 机器之心编译参与:吴攀
人工智能正在成为新一代技术变革的基础技术,但从头开始为自己的应用和业务开发人工智能程序既成本高昂,且往往很难达到自己想要的性能表现,但好在我们有大量现成可用的 API 可以使用。开发者可以通过这些 API 将其它公司提供的智能识别、媒体监测和定向广告等人工智能服务集成到自己的产品中。机器之心在 2015 年底就曾经编译过一篇介绍当前优质人工智能和机器学习 API 的文章《技术 | 50 个常用的人工智能和机器学习 API》,列举了 50 个较为常用的涉及到机器学习、推理预测、文本分析及归类、人脸识别、语言翻译等多个方面的 API。一年多过去了,好用的 API 也出现了一些新旧更迭,现在是时候对这篇文章进行更新了。
本文所有的 API 分成以下四组:
面部和图像识别
文本分析、自然语言处理、情绪分析
语言翻译
预测和其它机器学习
每一组我们都是以首字母排序的,相关描述来自其网址链接在 2017 年 2 月 3 日的介绍信息。如果你知道另一些很好的 API 但这里没有收录,一定记得向我们分享!
面部和图像识别
1.Animetrics Face Recognition:该 API 能用来检测图片上的人物面部,并且将其和已知的面部特征进行比对。该 API 还能在可搜索的图库中添加或移除搜索主题,也可以在某个主题中添加或删除某张脸。
链接:http://api.animetrics.com
2.Betaface:一个面部识别和检测的网页服务。提供了包括多面部识别、面部遮蔽、123 个面部点(22 个基本,101 个高级)检测、面部验证、鉴定、大数据集中相似度搜索等功能。
链接:https://www.betaface.com/wpa
3.Eyedea Recognition:专注于高端计算机视觉解决方案,主要关注目标检测和目标识别软件。一个提供眼睛、面部、载具、版权和车牌检测的识别服务。该 API 的最大价值在于其能够即时理解物体、用户和行为。
链接:http://www.eyedea.cz
4.Face++:一个面部识别和检测服务,提供了可以集成到应用中的检测、识别和分析服务。使用者可以通过调用该服务来训练该程序,实现检测面部、识别面部、面部分类、创建面部集、创建分组和获取信息等功能。
链接:https://www.faceplusplus.com
5.FaceMark:其提供的 API 能够识别正面人脸照片上的 68 个点以及侧脸照片上的 35 个点。
链接:http://apicloud.me/apis/facemark/docs
6.FaceRect:这是一个用于面部检测的强大 API,而且是完全免费的。该 API 可以找到单张照片中的脸(正面或侧面均可)或多张脸,并为每一张找到的脸给出一个 JSON 输出。此外,FaceRect 可以为每一张检测到的脸找到面部特征(眼睛、鼻子和嘴)。
链接:http://apicloud.me/apis/facerect/demo
7.Google Cloud Vision API:该 API 由 TensorFlow 等强大的平台驱动,能够实现可以学习和预测图像内容的模型。其能很快地在大范围内帮助用户找到最喜欢的图片,并且还带有丰富的注释。它能将图片分成好几千类(如:船、狮子、埃菲尔铁塔),能够检测相关表情的面孔,还能识别出图片上多种语言的印刷文字。
链接:https://cloud.google.com/vision
8.IBM Watson Visual Recognition:能够理解图像的内容——图像的视觉概念标签、寻找人脸、给出近似年龄和性别、寻找一个集合中相似的图像。你也可以通过创建自己的自定义概念来训练该服务。
链接:https://www.ibm.com/watson/developercloud/visual-recognition.html
9.Kairos:允许用户将情绪分析和面部识别快速整合进他们的应用和服务中的平台。
链接:https://www.kairos.com/docs/api
10.Microsoft Cognitive Service - Computer Vision:这个基于云的 API 可以基于输入和用户选择以不同的方式分析视觉内容。比如,基于内容标记图像;分类图像;检测人脸并返回坐标;识别特定领域的内容;生成内容的描述;识别图像中找到的文本;标记成人内容。
链接:https://www.microsoft.com/cognitive-services/en-us/computer-vision-api
11.Rekognition:为社交图片应用提供面部和场景的识别和优化。Rekognition API 可以利用眼睛、嘴、鼻子和面部的特征实现情绪识别和性别检测,可以用来确定性别、年龄和情绪。
链接:http://www.programmableweb.com/api/rekognition
12.Skybiometry Face Detection and Recognition:提供人脸检测和识别服务。该 API 的新版本包含了区分墨镜和透明眼镜的功能。
链接:https://skybiometry.com/Documentation
文本分析、自然语言处理、情绪分析
1.Bitext:提供了最精确的多语言的基于主题的市场中的情感。目前提供了四种语义服务:实体和概念提取、情感分析和文本分类。该 API 支持 8 种语言。
链接:https://www.bitext.com/text-analysis-api-2/#How-accurate-is-the-analysis
2.Diffbot Analyze:提供了能用来对任何网页进行识别、分析和主要内容和章节提取的开发者工具。
链接:https://www.diffbot.com/dev/docs/analyze/
3.Free Natural Language Processing Service:一个免费服务,包括情感分析、内容提取和语言检测。这是大规模云 API 市场中一个流行的数据 API。
链接:https://market.mashape.com/loudelement/free-natural-language-processing-service
4.Google Cloud Natural Language API:分析文本的结构和含义,包括情感分析、实体识别和文本标注。
链接:https://cloud.google.com/natural-language/reference/rest/
5.IBM Watson Alchemy Language:能用来教计算机学习如何阅读和进行文本分析(如,用于将非结构化的数据转换成结构化的数据,尤其是在社交网络监控、商业智能、内容推荐、金融交易和定向广告领域)。
链接:http://www.alchemyapi.com/
6.MeaningCloud Text Classification:该 API 能够完成一些预分类的任务,比如:提取文本、符号化、移除禁用词、词形还原。
链接:https://www.meaningcloud.com/developer/text-classification
7.Microsoft Azure Text Analytics API:是一个用 Azure Machine Learning 构建的文本分析网页服务套件。该 API 可以被用于分析非结构化的文本,可用于情感分析、关键短语提取、语言检测和主题检测等任务。无需训练数据。
链接:https://docs.microsoft.com/en-us/azure/machine-learning/machine-learn
8.Microsoft Cognitive Service - Text Analytics:能检测文本中的情感、关键短语、主题和语言。
链接:https://www.microsoft.com/cognitive-services/en-us/text-analytics-api
这一组(语言的认知服务)的其它 API 包括:
Bing Spell Check:https://www.microsoft.com/cognitive-services/en-us/bing-spell-check-api
Language Understanding:https://www.microsoft.com/cognitive-services/en-us/language-understanding-intelligent-service-luis
Linguistic Analysis:https://www.microsoft.com/cognitive-services/en-us/linguistic-analysis-api
Web Language Model:https://www.microsoft.com/cognitive-services/en-us/web-language-model-api
9.nlpTools:是一个在 HTTP RESTful 网页服务上简单的 JSON,用于自然语言处理。其能解码在线新闻媒体以进行情感分析和文本分类。
链接:http://nlptools.atrilla.net/web/api.php
10.Semantic Biomedical Tagger:有一个内置的功能来识别 133 种生物实体类型,并且能通过语义分析将其和已有的知识库系统链接起来。
链接:http://docs.s4.ontotext.com/display/S4docs/Semantic+Biomedical+Tagger
11.Thomson Reuters Open Calais™:使用了自然语言处理、机器学习等方法。Calais 能够将你的文档与实体(人、地点、组织等)、事实(人 X 为公司 Y 工作)和事件(人 Z 在时间 X 被任命为公司 Y 的主席)进行归类和链接。
链接:http://www.opencalais.com/opencalais-api/
12.Yactraq Speech2Topics:是一个能够通过语音识别 & 自然语言处理将 audio visual 内容转换成主题元数据(topic metadata)的云服务。
链接:http://yactraq.com/
语言翻译
1.Google Cloud Translation:可以动态地在数千个语言对之间翻译文本。该 API 让网站和程序可以通过编程的方式来与该翻译服务集成。
链接:https://cloud.google.com/translate/docs/
2.IBM Watson Language Translator:将文本从一种语言翻译成另一种语言。该服务提供了多种特定领域的模型,让你可以基于你独特的术语和语言进行自定义。比如,客户可以用他们自己的语言进行交流。
链接:http://www.ibm.com/watson/developercloud/language-translator.html
3.LangId:能快速地从任何种类的语言中提取信息,没有限定任何语言。(即让你能识别你要分析的任何文本的语言)
链接:http://langid.net/identify-language-from-api.php
4.Microsoft Cognitive Service - Translator:在翻译之前能够自动检测文本的语言。它支持 9 种语言上的语音翻译和 60 种语言的文本翻译。
链接:https://www.microsoft.com/cognitive-services/en-us/text-analytics-api
5.MotaWord:是一个快速的人类翻译平台。其提供了超过 70 种语言的相互翻译。该 API 还允许开发者获得每一次翻译的记录、提交带有文档和风格指导的项目、跟踪翻译项目的进度并获得实时活动数据流。
链接:https://www.motaword.com/developer
6.WritePath Translation:其 API 允许开发者在其它应用中接入和整合 WritePath 的功能。其应用案例包括字数统计、发布翻译文档和检索已翻译的文档和文本。
链接:https://www.writepath.co/en/developers
预测和其它机器学习
1.Amazon Machine Learning:可用来找到数据的模式。已有用户使用该 API 来执行欺诈检测、需求预测、目标市场确定和点击预测分析等任务。
链接:https://aws.amazon.com/documentation/machine-learning/
2.BigML:BigML 是为基于云的机器学习和数据分析提供的服务。用户可以通过标准的 HTTP 使用基本的监督和非监督机器学习任务设置数据源和创建预测模型。
链接:https://bigml.com/api/
3.Ersatz:一个使用基于 GPU 的深度神经网络即服务的基于网页的预测程序。在 Ersatz 中,训练了一组不同的神经网络模型(组合方法),有时候多达 20 个模型。
链接:http://www.ersatzlabs.com/documentation/api/
4.Google Cloud Prediction:提供了一个用于构建机器学习模型的 RESTful API。这些工具可以帮助分析你的数据以为你的应用增加各种功能,比如客户情感分析、垃圾检测、推荐系统等。
链接:https://cloud.google.com/prediction/docs/
5.Google Cloud Speech API:使用快速和准确的语音识别来将音频(来自麦克风或文件)转换成文本。支持超过 80 种语言及其变体。
链接:https://cloud.google.com/speech/docs/apis
6.Guesswork.co:为电子商务网站提供产品推荐引擎。Guesswork 能够准确预测用户的动机,它使用的是一个运行在 Google Prediction API 上的语音规则引擎。
链接:http://www.guesswork.co/
7.Hutoma:通过一个专有平台来帮助全世界的开发者开发和产品化深度学习聊天机器人,该平台提供了用于创建和分享会话人工智能的工具和通道。
链接:https://www.hutoma.com/about.html
8.IBM Watson Conversation:构建理解自然语言的聊天机器人,并将它们部署在消息平台和网站以及任何设备上。
链接:https://www.ibm.com/watson/developercloud/conversation.html。
这一类(用于语言的认知服务)的 API 还包括:
Dialog:https://www.ibm.com/watson/developercloud/dialog.html
Natural Language Classifier:https://www.ibm.com/watson/developercloud/nl-classifier.html
Personality Insights:https://www.ibm.com/watson/developercloud/personality-insights.html
Document Conversion:https://www.ibm.com/watson/developercloud/document-conversion.html
Tone Analyzer:https://www.ibm.com/watson/developercloud/tone-analyzer.html
9.IBM Watson Speech:包括「语音转文本」和「文本转语音」。(用于比如,转录呼叫中心的对话或创建语音控制的应用)
语音转文本:https://www.ibm.com/watson/developercloud/speech-to-text.html
文本转语音:https://www.ibm.com/watson/developercloud/text-to-speech.html
10.IBM Watson Data Insights:这个集合包含 3 个 API:AlchemyData News、Discovery 和 Tradeoff Analytics。AlchemyData 提供了使用自然语言处理丰富过的新闻和博客内容。Tradeoff Analytics 能帮助人类在平衡多个目标时进行决策。
链接:https://www.ibm.com/watson/
11.IBM Watson Retrieve and Rank:开发者可以将自己的数据加载到该服务中,并用已知的相关结果对机器学习模型(Rank)进行训练。服务输出包括一个相关文档和元数据列表。比如,一个联络中心代理可以快速找到能提升平均呼叫处理时间的答案。
链接:http://www.ibm.com/watson/developercloud/retrieve-rank.html
12.Imagga:提供了能为你的图像自动分配标签的 API,让你的图像可被查找。其基于一个图像识别的平台及服务。
链接:https://imagga.com/solutions/auto-tagging.html
13.indico:提供文本分析(如,情感分析、Twitter 参与、情绪)和图像分析(如,面部情绪、面部定位)。indico API 是可以免费使用的,也不需要提供训练数据。
链接:https://indico.io/docs
14.Microsoft Azure Cognitive Service API:正在替代 Azure Machine Learning Recommendations 服务,提供基于预测分析的解决方案。其能为客户提供个性化的产品推荐和提升销售成绩。这个新版本有新的功能,比如批量支持、更好的 API Explorer、更清爽的 API 界面、更一致的注册和支付体验等。
链接:https://azure.microsoft.com/en-au/services/cognitive-services/
15.Microsoft Azure Anomaly Detection API:使用时间中均匀间隔的数值来检测时序数据中的异常。比如,当检测计算中的内存使用时,一个上升趋势可能是相关的,因为其可能指示了着内存泄露。
链接:https://gallery.cortanaintelligence.com/MachineLearningAPI/Anomaly-Detection-2
16.Microsoft Cognitive Service - QnA Maker:将信息提炼成对话式的、易于浏览的答案。
链接:https://www.microsoft.com/cognitive-services/en-us/qnamaker。
这一组(用于知识的认知服务)的 API 还包括:
Academic Knowledge:https://www.microsoft.com/cognitive-services/en-us/academic-knowledge-api
Entity Linking:https://www.microsoft.com/cognitive-services/en-us/entity-linking-intelligence-service
Knowledge Exploration:https://www.microsoft.com/cognitive-services/en-us/knowledge-exploration-service
Recommendations:https://www.microsoft.com/cognitive-services/en-us/recommendations-api
17.Microsoft Cognitive Service - Speaker Recognition:让你的应用能知道是谁在说话。
链接:https://www.microsoft.com/cognitive-services/en-us/speaker-recognition-api。
在同一组(用于语音的认知服务)的 API 包括:
Bing Speech(将语音转换成文本,然后转换回来,并理解其目的):https://www.microsoft.com/cognitive-services/en-us/speech-api
Custom Recognition:https://www.microsoft.com/cognitive-services/en-us/custom-recognition-intelligent-service-cris
18.NuPIC:是一个用 Python / C++ 编写的开源项目,实现了 Numenta 的 Cortical Learning Algorithm,由 NuPIC 社区维护。该 API 允许开发者使用原始算法进行工作,并可以将多个不同的领域(包括数据的不同层次)放到一起协同,并且还能利用其它平台的功能。
链接:https://github.com/numenta/nupic/wiki/NuPIC-API---A-bird's-eye-view
19.PredicSis:通过预测分析获取大数据的强大见解和提升市场营销的表现。
链接:https://predicsis.ai/
20.PredictionIO:PredictionIO 是一个构建与 Apache Spark、HBase 和 Spray 之上的开源的机器学习服务器,按 Apache 2.0 证书发布。目前给出的 API 实例已经能实现创建和管理用户和用户记录、检索项目和内容、创建和管理基于用户的推荐等功能了。
链接:http://predictionio.incubator.apache.org/index.html
21.RxNLP – Cluster Sentences and Short Texts:一个文本挖掘和自然语言处理服务。其中的 Cluster Sentences API 可以用来将句子(比如从不同的新闻源采集的内容)和短文本(比如 Twitter 和 Facebook 的状态更新)组织成逻辑分组。
链接:http://www.rxnlp.com/api-reference/cluster-sentences-api-reference/
22.Sightcorp F.A.C.E:这是一个网页服务,允许第三方应用更好地了解用户行为,并且还能从面部分析中得到用户的年龄、性别、种族、面部表情、头部姿态等信息。
链接:http://face.sightcorp.com/doc_swagger/
其它资源
以下两个资源能看到其它 API 列表:
Mashape Blog:http://blog.mashape.com/list-of-20-sentiment-analysis-apis/
Programmable Web:http://www.programmableweb.com/news/t