10 Machine Learning APIs you should learn in 2019
ونوس شکورنیاز
این روزها یادگیری-ماشین در هر جایی خودنمایی می کند، از کاربردهایش در عکس های موبایلتان گرفته تا سیستم فیلترینگ در ایمیل شما. یادگیری ماشین از مهمترین مولفه های کلیدی در آینده شده و از آنجاییکه روند اینترنت به سمت شخصی سازی پیش می رود، بکاری گیری یادگیری ماشین از هر زمان دیگری مهمتر شده است. حتی شرکت های بزرگی مثل آمازون از آن برای ارائه پیشنهادها بر اساس علاقه شما استفاده می کنند.
در طول 10 سال پیش، از اینترنت برای بدست آوردن اطلاعات استفاده می کردیم، یک کلمه که جستجو می کردیم، اطلاعاتی رو بر اساس کلمه کلیدی برای ما در نتیجه فراهم می کرد؛ اما الان، تمرکز روی اطلاعات مرتبط ترهست، یا به عبارتی هر چیزی که نزدیکتر به آنچه که جستجو می شود را در نتیجه ها شامل می شود. اینجا است که یادگیری ماشین مهمترین نقش خودش را بازی می کند!
در حال حاضر، قدرت یادگیری ماشین در اختیار شرکت های بزرگی مثل گوگل، آمازون، آی بی ام، مایکروسافت هست. اما روند در حال تغییر است و شرکت های کوچکتر هم الگوریتم ها و API های خودشون را در این زمینه توسعه می دهند.
API ها اشتراک گذاری دانش و اطلاعات را در طیف های مختلف، ساده می کنند. قبل از اینکه چند تا از APIهای نوآورانه یادگیری ماشین رو معرفی کنیم، بیایید نگاهی بیندازیم که API واقعی چیست؟
Application Programming Interface
یک API یا همان Application Programming Interface ، در ساده ترین عبارت، قطعه کد برنامه ای است که به دو برنامه نرم افزاری اجازه می دهد تا با یکدیگر ارتباط برقرار کنند. مجموعه ای از تعاریف، پروتکل ها و ابزاری برای ساخت نرم افزار است. API یک لینک ارتباطی بین دو نرم افزار است و مسئول ارسال درخواست ها از یک نرم افزار به نرم افزار دیگر و بازگشت پاسخ به درخواست است. یک API از دو قسمت تشکیل شده است: مشخصاتی که نحوه تبادل اطلاعات را بین برنامه ها توصیف می کند و به عنوان یک رابط کاربری نرم افزاری برای مشخصات تبادل اطلاعات نوشته و برای استفاده منتشر شده است.
سه نوع API داریم:
1. Local APIs
این API ها سیستم عامل یا سرویس های میان افزاری (middleware ) را به برنامه های کاربردی مرتبط می کنند مانند Microsoft’.NET APIs
2. Web APIs
این API ها در اینترنت و به منظور ارسال و دریافت اطلاعات بکار می روند، شامل URL ها هستند
3. Program APIs
این APIها روال های از راه دور را در برنامه ها صدا می زنند.
10 تا از APIهای یادگیری ماشین که متخصصین علم داده باید در سال 2019 آنها را یاد بگیرند:
1. PredictionIO
PredictionIO یک API کد-بازِ یادگیری ماشین است که توسط Apache ارائه شده تا متخصصین علم داده بتوانند ماشین های پیشگویانه بسازند. به سادگی با Apache Spark, MLlib, HBase, Elasticsearch, و Spray کار می کند. و از الگوی یک سیستم منحصر به فرد برای ایجاد سیستم های یادگیری ماشین استفاده می کند تا به توسعه دهندگان و برنامه نویسان این امکان را می دهد تا برنامه خود را بر اساس نیازهایشان، سفارشی سازی کنند. به پرس و جوهای پویا بصورت real-time پاسخ بدهند، مدل های یادگیری ماشین سریع تری را با پردازش های سیستماتیک بسازند، معیارهای ارزیابی مدل ها و مدیریت زیرساخت داده ساده ای نیز دارد.
https://predictionio.apache.org/

2. Geneea Natural Language Processing API
Geneea یک API برای پردازش زبان طبیعی یا NLP که می تواند تحلیل را بر روی اطلاعات خام انجام دهد. تحلیل ها بر روی متن، متن استخراج شده از یک URL، و یا متنی از یک داکیومنت قابل انجام است.

3. IBM Watson Visual Recognition
از الگوریتم های یادگیری ماشین استفاده می کند تا اشیاء را شناسایی، دسته بندی و شناسه دار (تگ) می کند. برای جستجوی محتواهای بصری مثل رنگ، صورت انسان، شناسه دار کردن تصاویر، تخمین سن و جنسیت از روی تصاویر و حتی یافتن تصاویر مشابه در کلکسیونی از تصاویر استفاده می شود.
https://www.ibm.com/watson/services/visual-recognition/
4. Slack API
توسعه دهندگان برنامه های یادگیری ماشین برای سفارشی سازی سیستم های ارتباطی (communication system) از آن استفاده می کنند. و از نوع RESTful بوده و کدهای Slack در زمینه NLP و یادگیری مدل ها بهره می گیرد. کاربرد آن بیشتر در chatbots و سایر بات هایی است که می توانند ملاقات ها را زمان بندی کنند.

5. AT&T Speech
به توسعه دهندگان امکان می دهد تا قابلیت های تشخیص گفتار speech-recognition را با برنامه های خود یکپارچه کنند. توسط AT&T Watson ارائه شده و شامل ویژگی های NLP مانند درک زبان طبیعی و بازنویسی گفتار است. به سادگی فایل های گفتاری را به متن تبدیل می کند.

6. Microsoft Cognitive Service — Text Analysis
این زبان اجازه می دهد تا زبان یک متن پیش از ترجمه آن شناسایی شود. قابلیت تحلیل احساسات (Sentiment Analysis)، استخراج کلمات کلیدی و اطلاعات، ترجمه و شناسایی موجودیت ها در متن را نیز دارد.

https://azure.microsoft.com/en-gb/services/cognitive-services/text-analytics/
7. Amazon Machine Learning
دارای قابلیت های متعددی از جمله کشف تقلب، شخصی سازی محتوا، دسته بندی سند است. API های آمازن کد-آزاد نیستند.
https://aws.amazon.com/machine-learning/
8. BigML
یک REST API برای یادگیری ماشین است و به توسعه دهندگان این امکان را می دهد تا به سادگی مدل های هوش مصنوعی را برای appها، ایجاد کنند. برای ساخت مدل های پیشگویانه از نوع نظارت شده (supervised) و نظارت نشده (unsupervised) بکار می رود و از متدهای استاندارد HTTP برای ایجاد، بروزرسانی و حذف منابع BigML استفاده می کند.

9. Google Cloud APIs
گوگل همواره به سمت نوآوری در حرکت است، و بویژه در یادگیری ماشین درخشان ظاهر شده است. دارای مجموعه کاملی از API های ابری است که به منظور ساده سازی امور برای توسعه دهندگان طراحی شده اند. این API ها شامل Cloud Speech، Cloud Vision، Natural Language، Translation و Dialogflow هستند.
10. Wit.ai
یک پلتفرم پردازش زبان طبیعی کد-آزاد و یک پلتفرم پردازش زبان طبیعی منبع باز است که فانکشنی را برای اضافه کردن قابلیت های گفتار هوشمند به برنامه های وب و تلفن همراه ارائه می کند. واسط صوتی هوشمند، برای برنامه های کاربردی مانند اتوماسیون خانگی، اتومبیل های دارای اتصال (car connected)، تلویزیون هوشمند، رباتیک، گوشی های هوشمند، و غیره است.