Artificial intelligence (AI) has existed for over half a century. Today, it is a well-known and frequently used technology, the foundation for innovative “successors” such as deep learning and neural networks, and a reality that is here to stay for the foreseeable future.
But building AI apps and other digital products is still challenging, not least because of the rapid advances in technology. Like Alice from the fairy tale, you have to run twice as fast to get where you want and keep up with progress.
We have prepared a guide to tell you how to do it and how to create artificial intelligence software.
What Is Artificial Intelligence?
The concept that originated in 1956 applies to a set of technologies, a sphere of knowledge, and properties of computer systems. In a broad sense, it refers to the ability of machines to mimic the cognitive and creative functionality traditionally considered the prerogative of the human brain and intellect. In particular, such a system can solve problems, train, and learn from previous experiences.
In computer science, AI is defined as the study of devices or systems that interact with their environment and act to succeed at a specific goal. The concept is applied to an abundance of innovative products and services today. The most ambitious breakthroughs in AI practice are associated with machine learning (ML). Today, machine learning is one of the core methods for solving issues posed to artificial intelligence systems. ML is a subsection of AI dealing with building learning-capable algorithms.
Artificial intelligence has become one of the leading software development areas with vast growth potential. Statista’s data suggests that the global AI market will reach US$126 billion by 2025 because startups and companies in various domains actively leverage AI/ML technology to optimize their businesses.
How AI Works
The most promising and practically applicable AI apps are based on ML or deep learning that operates with neural networks similar to ones that exist in the human brain. They automatically build graphs representing programmatic interpretations of memory algorithms. The specificity of deep learning is the use of vast amounts of data and computer power.
Artificial intelligence’s primary goal is to create programs, systems, or other digital products that learn and self-train (or models that can be used for business purposes without add-on training). Data scientists implement models and use algorithms to process what appear to be vast quantities of structured and unstructured data in various forms, so engineers can identify patterns in datasets and develop and “train” AI via reinforcement learning. They can also categorize specific records in datasets and create an artificial intelligence software that will do it — with minimal human intervention.
As of early 2021, the following computing systems and AI technologies have found the most widespread practical usage (according to PYMNTS investigations):
- AI systems that use intelligent “agents” (apps and other software products) to personalize, self-learn, and adapt to new information in real-time;
- Deep learning: technology that is based on algorithmic sets and uses neural nets as its underlying architecture;
- Data mining: statistical methods that establish trends and other relationships from information in large databases;
- Case-based reasoning: algorithmic approaches that use input from past outcomes to solve upcoming issues;
- Fuzzy logic: systems that can categorize data based on middle-ground values rather than binary patterns such as black-white or true-false.
What Business Problems Can Be Solved With AI?
Every company needs a financial reason to develop artificial intelligence software and invest in it. The business benefit is that AI products can solve many pressing problems at different stages of production, delivery, and use of a product.
One of the most challenging issues, especially in the fintech sector, is fraud with payments, bank card data, and sensitive private information. AI-based systems can detect and prevent such fraud effectively. Financial institutions have already learned to appreciate it: in 2020, the number of organizations using artificial intelligence to combat fraud increased by almost 70 percent over the previous year.
Reducing the number of financial crimes and creating the prerequisites for preventing them are cited as key business benefits of AI. The growing use of AI-powered tools also helps to improve cybersecurity. Cyber-attacks have become more sophisticated, and data breaches are a constant threat for businesses and society.
Another advantage of artificial intelligence (and especially ML systems) is manual labor reduction. Document processing, checking the correctness of filling out papers, and other routine operations significantly slow down the work process and increase business costs. AI software can solve this problem and:
- Reduce manual processes of reviewing, exception, or verification of correctness and compliance with standards;
- Optimize a company’s number of employees and remove the extra routine workload from the staff;
- Minimize human error; and
- Improve workflows and customer satisfaction through intelligent automation.
Systems based on the newest technologies (such as deep learning) can significantly improve business decision-making quality. By processing massive amounts of data in seconds and continually increasing forecast accuracy, AI tools help reduce risk and form effective strategies in different domains.
Artificial intelligence also helps to solve specific, narrower problems. For example, it is effective at filtering spam in email, speech recognition and translation into text, intelligent chatbots, and virtual assistants like Siri or Nina. AI-powered systems work 24/7, help with everyday tasks, and greatly simplify business procedures.
Successful Examples of AI Integration Into Software
The practical application of artificial intelligence is a vast and constantly expanding field. Today, there are thousands of examples of AI implementation. Below are some successful projects where you can find inspiration for your ideas:
An IBM research project for business needs is a portfolio of pre-built apps, tools, and runtimes. Watson is designed to reduce the costs and hurdles in AI adoption, and it supports natural language processing (NLP). Today, it consists of 80 servers, answers user questions by searching its massive database, and can work even without connecting to the Internet.
IBM has other notable AI projects. In particular, its Deep Blue is a cluster of computers for playing chess. It was this system that beat the world chess champion, Garry Kasparov, in 1997. IBM’s set of cognitive APIs, BlueMix Catalog, is designed to simplify development. It includes but is not limited to:
- Languages translation,
- NLP and natural language classification,
- Speech-to-text tools, and
- Visual recognition.
This is a platform of AI/ML implementation with an APIs set similar to IBM’s, but the Microsoft product has more options to integrate with Bing capabilities such as autosuggest, spellcheck, image, entities, news, video search, etc.
The platform is available over Azure and REST endpoints. Microsoft’s implementations bring AI within reach of every developer and have many advantages:
- The platform opens up many opportunities for streamlining workflows — from decision making to language processing;
- Developers can easily add AI to their solution, regardless of their skill level, and they don’t need ML expertise to start; and
- Deploying is available anywhere, including Cloud and edge due to containers.
AI drives forward not only technological progress but also social change. AI for Social Good is an initiative focused on non-profit research and engineering in artificial intelligence. The created ecosystem is designed to solve global social problems, from protecting endangered animals to tracking the spread of dangerous diseases.
Google supports dozens of non-profit organizations worldwide and shares AI capabilities with them. In the company’s research centers based in several countries, scientists from commercial, non-profit, academic, and government institutions create system solutions. Among the most significant of them:
- COVID-19 open data repository — a project aimed to help mitigate adverse pandemic effects;
- AI Impact Challenge — support for non-profit organizations (training, scientific grants, project financing, consultations, etc.); and
- Machine learning guide — educational content that helps scientists and technical specialists (whether novices or strong experts) to up-level their ML skill sets.
What Does It Take to Get Started?
The first step is to clarify not how to develop AI software but why we will do it and what we need to get started. Therefore, we identify the problem-solving idea, pain points of the intended product users, and value proposition provided at the initial stage. If we frame these points correctly, we can identify techniques to use, all development steps, and the AI metrics tied with the business metrics. Also, this step is necessary for accurate data preparation.
To create an AI software, we need a dataset — data for implementation. If the client does not have a ready-made one, the project must provide time for its creation, search, and sometimes labeling. To label the dataset, you need a labeling team, for which the development company selects experts individually.
The base of any AI product is a model. Before launching it, we need to:
- Choose an algorithm and type of learning (supervised, unsupervised, reinforcement);
- Ensure that the data is organized, cleaned, and consistent; and
- Define chronological order, add labels, and so on.
After preparing the data, we can determine the platform and programming languages to create AI software.
There are many AI platforms providing developers with ready-made tools for product building. They combine intelligent decision-making algorithms and data. Some platforms are easy to use, while others require deep coding expertise.
Platforms commonly used to develop AI software are:
Google’s platform. This consists of AI Hub (resources for developing artificial intelligence systems), tools named AI Building Blocks, and AI Platform, a code-based data science environment for creating projects from idea to launch.
Microsoft Azure. AI capabilities include apps and agents, knowledge mining, and ML services. The platform helps to create, train, and deploy models. You can also use cloud search with built-in AI capabilities of pattern identification in content, sentiment analysis, or key phrases extraction.
Amazon Machine Learning. Services help to make, train, and deploy ML models of any complexity. Amazon’s AWS delivers out-of-the-box analytics for companies and enterprises and simplifies app–building. Services integrate with products seamlessly and simplify routine procedures.
There are some other engaging AI platforms such as Oracle AI cloud services, an open-source Melissa platform based on Python language, an H2O ML platform with linear scalability, etc. Developers can choose tools and solutions based on the problem’s type, business requirements, their experience, and the customer’s wishes.
Programming Languages, Libraries, and Frameworks
The programming languages commonly used for AI apps are:
- Python. This language easily integrates with data structures, offers unique algorithms beyond standard programming, and allows a developer to expand knowledge with libraries and tools such as NumPy, Pandas, Scikit, AIMA, etc.
- Java. An object-oriented language that differs in a thoughtful approach to exception handling, the availability of tools for developing multi-threaded applications, and support for arrays, lists, and structures.
- C++. One of the fastest compilation languages globally allows you to implement highly complex logic without loss of performance. C++ suites are for apps with high-speed animation and immediate user interaction with the rendering engine.
You can choose from different AI/ML frameworks, application programming interfaces (APIs), and infrastructures to experiment with and tweak algorithms and create artificial intelligence software￼. For instance, Google has created API.AI, a powerful AI tool that is compatible with Android and iOS and supports Node.js and Cordova. Another useful Google product is the open-source TensorFlow library, which helps develop apps based on deep ML.
Here are some more examples of useful tools for creating AI solutions:
- Frameworks like CNTK, Caffe, Keras, PyTorch, Accord.NET, scikit-learn, and Spark MLlib;
- ML-as-a-Service platforms that allow developers to use graphical user interfaces such as IDEs and Jupyter Notebooks;
- APIs that get exposed as REST endpoints and return JSON with results (e.g., Azure Topic Detection API).
How to Build a Software With AI
Creating AI/ML solutions is an iterative process. The development pipeline in its basic form can be represented as:
- Research, discovery, and team planning;
- Data mining;
- Minimum viable product (MVP) and product-with-improvements development; and
- Launching and support.
Now let’s take a closer look at how to make AI software and consider its specific points.
To get a competitive product, you have to hire an experienced team for:
- Management and research — project manager, business analyst;
- Data analysis — data scientists, dataset markup team, ML engineers;
- Development — solution architect, frontend and backend developers, CV, NLP, MLOps, DevOps engineers; and
- Testing — quality assurance (QA) engineers.
Data Mining and Modeling
Even the advanced algorithms need appropriately collected and prepared data. Most often, engineers use the Cross-Industry Standard Process for Data Mining (CRISP-DM) consisting of a sequence of steps:
- Business Understanding,
- Data Understanding,
- Data Preparation,
- Evaluation, and
In most cases, engineers apply steps cyclically and repeat them several times (besides deployment).
We have nothing except a project description in the discovery phase, and business and data understanding help us learn the issue and find its solution. Then we need to go to the data preparation stage. It consists of selecting and uploading raw data, picking annotation tools, highlighting and labeling data blocks, and selecting and saving file formats.
The collected dataset allows us to compare solution options selected by the client. For this type of problem, the metric choice for model comparison is crucial. So, it is necessary to establish success criteria and choose an option that best suits the client’s business goals.
The next step is modeling. We use previously collected data to train ML models via various methods. For instance, we at CHI Software apply deep learning or reinforcement learning techniques. When the model is trained, we have to test, evaluate, and deploy it. On the development and support stages, you can also optimize performance, improve and expand functionality, adapt the product to updates of various operating systems, etc.
Our Use Cases and Advice
We at CHI Software have a high focus on the newest AI/ML technologies and create sophisticated solutions in various technical and business domains. We’ll illustrate our approach with real use cases.
Document Scanning System
Our client, a worldwide company that offers industry-leading shipping services, wanted to build AI software￼ to reduce manual processes in its accounting department. We’ve provided a solution based on machine learning and computer vision (CV) and developed a documentation scanning system to help employees to process documents, check their scans, and enter data. We also have automated the identification of documents, through recognition of specific fields that allowed us to remove the human factor in mistakes.
The system allows users to upload one-page documents as scan images and PDFs, determine their type by checking the established set, extract text from predefined page fields, and detect signatures (if they are provided). Then, identification results save as XML files. An app with a simple sign–on and user-friendly dashboard UI meets the following ML/CV model criteria:
- Invoice correct detection rate and information extraction rate no lower than 90%;
- Bill of lading (BOL) correct detection no lower than 80%;
- Proof of delivery (POD) correct detection no lower than 75%; and
- BOL/POD correct information extraction rate no lower than 70%.
- Front End: axios, core-js, vue.js, vue-pdf, vue-router, babel-eslint, eslint
- Back End: MySQL, flask, img2pdf, dicttoxml, pdf2image
- AI: Python, PyTorch, TensorFlow, OpenCV, NumPy, Pandas
Parcel Station Based on Neural Network
We were tasked to develop an artificial intelligence software for a large U.S. logistics company focusing on intelligent solutions. Our client has faced a problem of identifying parcels due to damaged barcodes that often get mechanical scratches or other defects before reaching the sorting point.
To prevent possible mistakes, we created an ML-based solution and trained a custom neural network. It helped to localize the barcode even if any mechanical damages appear and reduce human factor risks. Our client received easy-to-use, powerful automation of the business process and an innovative parcel delivery system. It allows the company to perform many operations, such as:
- Proper postal label detection;
- Extraction of country and zip codes and text, if the barcode is not readable;
- Compositing of the delivery data;
- Postage checking — the information immediately enters into the database; and
- Creating the instructions for automatic sending of the parcel to the proper vehicle for delivery.
Through overall interaction, our client reduced costs and ensured that parcels, letters, and other items are identified and sorted correctly.
OCR with Tesseract, Python, С++, NumPy, Pillow, OpenCV, scikit–image, TensorFlow, Keras, CNN, RNN, Yolo, CNN-RNN-CTC.
As general advice on how to develop AI software, we can reiterate the need to use deep learning, neural nets, computer vision, natural language processing, Internet of Things (IoT), and other innovative tools to create additional value and enhance your business.
We briefly touched on the points to understand how to build AI software. But this field of knowledge is incredibly wide, and it is simply impossible to cover all the details in one guide.
Therefore, if you want to let artificial intelligence into your business, it is best and most appropriate to turn to professionals. A company focusing on AI-based software development can find the most efficient, resource-saving, and customer-centric solution for you — and show you with a live example how much AI can change your life for the better.