Artificial Intelligence and Machine Learning

Our team supports full-cycle of AI/ML app development, including data extraсtion, data cleaning, building and evaluation of AI/ML models, data visualization, building enterprise applications with embedded AI/ML models. We propose building custom ML models from scratch for your special business needs, as well as complex solutions which involve an integration of different services. Below is some detailed info about what we offer and the technology stack we use.

General AI/ML

We use Azure Machine Learning for fast prototyping of ML models. It allows us to prepare working solutions quickly either for demonstration purposes or under tight time constraints.

Matlab allows us to integrate machine learning models into enterprise systems, clusters, and clouds, and target models to real-time embedded hardware.

Pandas is a software library for data manipulation and analysis. In particular, it offers data structures and operations for manipulating numerical tables and time series.

NumPy is the fundamental package for scientific computing with Python.

SciPy is a Python-based ecosystem of open-source software for mathematics, science, and engineering.

XGBoost is an optimized distributed gradient boosting library designed to be highly efficient, flexible and portable. It implements machine learning algorithms under the Gradient Boosting framework. XGBoost provides a parallel tree boosting (also known as GBDT, GBM) that solve many data science problems in a fast and accurate way.

There are several Python libraries which provide solid implementations of a range of machine learning algorithms. One of the best known is Scikit-Learn, a package that provides efficient versions of a large number of common algorithms. Scikit-Learn is characterized by a clean, uniform, and streamlined API, as well as by very useful and complete online documentation.

Deep Learning

Our toolkit for building deep learning models (neural networks) consists of the following tools.

Apache MXNet is a modern open-source deep learning framework used to train, and deploy deep neural networks. It is scalable, allowing for fast model training, and supports a flexible programming model.

Keras is an open source neural network library written in Python. Designed to enable fast experimentation with deep neural networks, it focuses on being user-friendly, modular, and extensible.

TensorFlow is an open source software library for numerical computation using data flow graphs. This flexible architecture enables you to deploy computation to one or more CPUs or GPUs in a desktop, server, or mobile device.

The Microsoft Computational Network Toolkit (CNTK) is a very powerful command-line system that can create neural network prediction systems.

Natural Language Processing

One of our main areas of interest is chatbot-development, therefore we use Machine Learning tools that helps us to focus on doing real work with text data, such as document classification, topic segmentation, semantic analysis, etc.

Gensim, spaCy, NLTK - are popular Python ML libraries for text data analysis.

LUIS is an NLP-powered web-service, which, informally speaking, extracts meaning from user’s text. It recognizes intents of user’s utterances and derives entities from it. You can make LUIS work great in a specific domain by providing it an appropriate training data. Also, LUIS can be easily integrated with Bot Framework.

Besides LUIS, there are plenty of useful Microsoft Cognitive Services that deals with natural language. Thus, Text Analytics API outputs a semantic score of your text input, Translator Text API - cloud-based machine translation service, Bing Spell Check API is used to correct spelling mistakes. It is worth to mention, that almost all services from Microsoft Cognitive Services’ family are REST API services.

Wit.ai is an NLP platform, that makes it easy for developers to build applications and devices that you can talk or text to. It isolates all complicated details so that developers can focus on making something that functions rather than creating new ML and NLP models.

IBM Watson services is a collection of cognitive services, dedicated to different tasks. We use NLP services from the collection, including AI Assistant (like “OK Google” and others) which easily integrates into your apps, Natural Language Understanding, Language Translator, Natural Language Classifier and Empathy service, which allows to understand person’s emotional state and analyze personality.

Stanford CoreNLP provides a set of human language technology tools. It can give the base forms of words, their parts of speech, whether they are names of companies, people, etc., normalize dates, times, and numeric quantities, mark up the structure of sentences in terms of phrases and syntactic dependencies, indicate which noun phrases refer to the same entities, indicate sentiment, extract particular or open-class relations between entity mentions, get the quotes people said, etc. Stanford CoreNLP is a robust and effective production NLP tool, provides API for a vast majority of popular programming languages and also can be run as a web service.

Dialogflow is an NLP-powered tool for human-computer interactions. It provides us possibilities to recognize voice speech, build complex conversation graphs, differentiate user’s phrases conditioning on a context of a conversation, recognize user intents and do lots of other smart things. Voice and conversational interfaces created with Dialogflow works with a wide variety of devices including phones, wearables, cars, speakers, and others. Currently, it supports more than 14 languages, including English, Ukrainian and Russian.

Open Calais is an NLP-powered service, which extracts semantic information from web pages in a format that can be used on a semantic web. It reads unstructured text and returns Resource Description Framework formatted results identifying entities, facts, and events within the text.

DBpedia Spotlight is a tool is a tool for automatically annotating mentions of DBpedia resources in text, providing a solution for linking unstructured information sources to the Linked Open Data cloud through DBpedia. DBpedia Spotlight performs named entity extraction, including entity detection and name resolution. It can also be used for named entity recognition, amongst other information extraction tasks.

Chatbots Development

Microsoft Bot framework allows us to focus on bot logic development rather on configurations, setting up channels, etc. The main advantage of Bot Framework is that you just write code once and it works with different channels, such as Telegram, Facebook Messenger, Microsoft Teams, Skype, Slack and some others. Bot Builder SDK is a powerful library for development of complicated bots and it is available for .NET as well as for NodeJs. In addition, we can use programming languages and libraries of our own choice for some special cases with Bot Framework Rest API. Bot Builder supports a lot of useful and advanced features, for instance, dialogs management, rich messages, convenient debugging.

Intercom shows who is using your product or website in a real-time and makes it easy to communicate with customers through targeted content, in-built webchats, web-messages, behaviour-driven emails. Hence, Intercom is a simple, integrated platform which allows you to do everything you need to understand, communicate with and support your clients in one place.

Chatfuel is a platform for building bots for Facebook Messenger. Main advantages are that Chatfuel is easy to use (don’t even requires coding skill to do things) it is well-suited for Facebook bot development and can be easily integrated with a big amount of web-services.

Usually, when you develop bots you must ensure that it has the ability to answer some typical user questions in your domain, so-called FAQ questions. QnA Maker is a web-based service which trains NLP model on your knowledge base and responds to user questions in a natural way. The nice thing is, that it also supports “active learning” mode, thus a user can improve the accuracy of its answers.

Personal Assistants

Alexa is Amazon cloud-based voice service. It enables users to interact with the technology they use every day in more intuitive, natural way. In general, Alexa recognizes user’s voice and finds out what user command is, which follows by executing corresponding actions on user’s devices, web, elsewhere. Alexa can be connected to different devices, to popular services as well as your own products.

Cortana is a Microsoft digital assistant which is quite similar to Alexa. Thus, Cortana can be easily integrated with different Microsoft services and programs.

Vision

The cloud-based Computer Vision API provides developers with access to advanced algorithms for processing images and returning information. By uploading an image or specifying an image URL, Microsoft Computer Vision algorithms can analyze visual content in different ways based on inputs and user choices. With the Computer Vision API users can analyze images to tag ones based on content, categorize them, detect human faces and return their coordinates, recognize handwritten text, etc.

Data Visualization

Because of the way the human brain processes information, using charts or graphs to visualize the data is easier than handling tons of spreadsheets. We use the following tools to make cool and informative visualizations which makes your data and outcome of our models clear and intuitively understandable.

Tableau helps people see and understand data. This tool is convenient for securely consuming the data via browser, desktop, mobile, or embedded into any application. And it can integrate into the existing data infrastructure, whether on-prem or in the cloud. It is chosen by organizations everywhere, from non-profits to global enterprises, and across all industries and departments, such as Healthcare, Education, Finance and Marketing Analytics, IT Management, Human Resources and many other.

Matplotlib is a Python plotting library which produces publication quality figures in a variety of hardcopy formats and interactive environments across platforms. It would be suitable for generating plots, histograms, power spectra, bar charts, error charts, scatterplots, etc.

Seaborn is a library for making attractive and informative statistical graphics in Python. It is built on top of matplotlib and tightly integrated with the PyData stack, including support for numpy and pandas data structures and statistical routines from scipy and statsmodels.

ggplot2 is a plotting system for R, based on the grammar of graphics. It takes care of many of the fiddly details that make plotting a hassle (like drawing legends) as well as providing a powerful model of graphics that makes it easy to produce complex multi-layered graphics.

Did not find your favorite tool or framework? Don't worry, we learn fast and be able to adopt any other solution or propose the alternative.

Why DevRain Solutions?

DevRain Solutions is a Ukrainian full-cycle software development company with specialization in mobile, web, cloud AI/ML development.

Working with startups and enterprises in different domains including ERP/CRM/CMS systems, entertainment, communication, media, finance, banking, digital signage, e-Health and Smart City, eGov. Providing a full stack development from the idea to publishing, as well as Research & Development, startups consulting, data analysis and other services. Company is experienced in designing and developing intuitive desktop, mobile, tablet, wearable, TV solutions on web, cloud, Windows, XBOX, Xamarin and iOS/Android platforms.

If you are ready or still have doubts – don't hesitate to contact us!

Looking for customer reviews? Refer to our Clutch profile or simply download our presentation.