Artificial Intelligence is not one technology or discipline, but a set of technologies. In science fiction, and increasingly in research, artificial intelligence is often discussed in terms of general intelligence. General intelligence is when a computer thinks like a human. It is about taking acquired knowledge and skills and positively correlating those across completely different tasks.
The focus and the usefulness of artificial intelligence in business applications lies in specific intelligence. In specific intelligence we train computers to do things like understanding language, image recognition, pattern recognition, data classification, and data prediction. The training is embodied in artificial intelligence models that are then used to understand classify predict new data.
Computers using the artificial intelligence models can typically perform the tasks such as classifying images more quickly and accurately than humans, and some cases also better. But the application of the artificial intelligence modes is very specific, for a particular type of problem only. For example, an artificial intelligence model that is good at identifying similar looking images would not be of much use to control traffic.
What has changed recently is that several artificial intelligence technologies such as language understanding and deep learning have reached a level of maturity, in part due to the massive amounts of training data generated by the big Internet services. They have also become a lot more accessible and affordable thanks to the cloud and the investments made by the big cloud providers. The important thing is not artificial intelligence in itself, but rather what it can be used for.
There are three key areas where the use of artificial intelligence technologies will allow us to provide with major improvements and new capabilities:
Human machine interaction
Where advancements in speech recognition, natural language understanding, and computer image processing allow us to create things.
In terms of automating tasks and decisions that are currently performed manually, but also in terms of providing a smarter, more flexible, and more effective way of handling things we currently automate with simple business rules.
Predictive maintenance and service
Where machine learning in particular allows us to combine IoT data with data to better predict future maintenance and service needs.
Important artificial intelligence applications in human machine interaction are the abilities to translate human speech to text, to understand natural language, and to interpret images. Imagine using speech to tell a chatbot on your phone please add this to my expenses for the conference and then snapping a photo of a parking receipt.
To do this the chatbot has to understand your intent as adding receipt to expense report, identify the correct travel expense object, process the photo to understand which part of that text refers to the date, which the amount, and so on. The most common usage today is on natural language interactions using text.
With speech and language understanding being readily available from Microsoft, Google and other players, the challenge shifts from understanding what the user says, to understanding context and how to perform meaningful business tasks. Both of those require tight integration to the business applications.
This is not just about the immediate action of adding a new expense line for the parking receipt, but also the need to understand its context. Only by looking at ongoing travel expenses, travel requisitions and planned training events will a chatbot be able to accurately identify what it refers to.
Business applications have always been about automation. Historically this was done by programming the application to automate certain tasks and decisions, like automatically reserving goods in inventory when an order is confirmed. In situations where greater flexibility is needed applications have introduced configurations and business rules to allow organisations to define how they want automation to happen over and above what is locked in the application’s programming.
But business rules have shortcomings. Firstly, there is a limitation in terms of the degree of complexity that it is possible or desirable to develop in relation to rule building. Secondly, business rules do not dynamically change over time, forcing organisations to either use fewer more generic rules or spend a lot of time continuously defining and updating rules.
The next logical step in the evolution of automation is adding artificial intelligence to capture that complexity and dynamic in a self-learning model. Artificial intelligence also has the capacity to detect patterns and rules that might not be apparent to human beings, resulting in better decisions and business optimisations being made.
There is great potential in using artificial intelligence for three categories of automation:
Alerting the user and drawing attention to patterns that the user would most likely not have looked at otherwise. For example, a top five list of invoices most likely to be fraudulent, or a top-10 list of customers most likely to cancel placed orders.
With help of value prediction and classification algorithms, we can start automating decisions based on the likelihood they will be correct. This will often start with recommending a decision which is confirmed by the user, switching to full automation as quality and confidence in the artificial intelligence grows. Correct reports could be automatically approved, incorrect ones rejected back to the employee, leaving managers to focus on the questionable ones only
Taking a complex situation with many variables and inputs and creating the optimal strategy for making many decisions at the same time. Optimisation is seen in areas ranging from supply chain to manufacturing to field service. Anomaly detection, single decisions, and optimisations are all areas where artificial intelligence can be used to accelerate and improve automation.
Though artificial intelligence has the potential to take automation and quality of decisions to the next level, it is not without its challenges. Most artificial intelligence techniques need access to a large set of historical data in order to train and validate models, limiting where artificial intelligence can be applied. Using artificial intelligence consumes additional computing resources to train and re-train models, evaluate transactions against models and so on.
Therefore, if automation can be done using a pre-determined behavior, simple business rules or statistical algorithms, that would often be preferable. Where artificial intelligence automation will excel is in areas where it is unknown what the rules and correlations are, or where it is hard to express them. We expect that we will often see rules and artificial intelligence models being used together and in combination.
- Training embodied in artificial intelligence models are used to understand, classify, predict new data.
- Computers using artificial intelligence models can perform tasks more quickly and accurately than humans.
- Application of artificial intelligence modes is very specific for a particular type of problem only.
- Important applications are translating human speech to text, understand natural language, interpret images.
- Challenge shifts from understanding what the user says, to understanding context and how to perform meaningful business tasks.
- Artificial intelligence has the capacity to detect patterns that might not be apparent to human beings.
- Automation will excel in areas where it is unknown what the rules and correlations are, where it is hard to express them.
- We will often see rules and artificial intelligence models being used together and in combination.
How multitier applications are driving agility
Executives who have been around enterprise software implementations know software systems can take a long time to implement and almost as long to change. This can put businesses in a situation where their business software cannot keep up with the ongoing transformation brought on by economic or technological change.
Enterprise resource planning, enterprise asset management, asset performance management and other software products are evolving to address this disconnect. So, what is layered application architecture? How does it help executives increase enterprise agility?
In a layered, multitier architecture, each tier has a clearly defined function with clear separation from, and interface to, other tiers. The data storage tier is based on the relational database model. But no data in the data storage tier can be accessed or modified except through the business logic tier, safeguarding data integrity.
The business logic tier contains business knowledge, functionality, and processes. The business logic tier consists of a large number of individual software objects that, like the different application tiers, are segregated and interact in well-defined ways.
The presentation tier provides user interfaces, including client-side applications and devices. Segregation of the presentation tier from the tier that contains the business logic allows the same business logic to serve many different types of interfaces.
Retiring modifications aids in digital transformation by decreasing the cost of implementing, operating, reconfiguring and upgrading the software. Modifications must be written and tested, increasing cost and time spent in implementation. They must be supported by the enterprise software vendor, which increases the cost of on-going maintenance.
Each time the underlying enterprise software is upgraded, modifications must also be rewritten, or uplifted, to function in the new environment. The additional cost of uplifting and testing modifications can be a disincentive to upgrading, and can therefore prevent some companies from benefitting from the new technologies and functionality they are entitled to under their maintenance contract.
By segregating modifications into their own layer, and setting up rules for when they are invoked by the application, modifications no longer need to be rewritten or uplifted. All that is required is simple testing of these modifications, which may take a third of the time as before.
Layered application architecture provides a clear separation of the standard application code from the complete solution code, including configurations and localisations. This enables a high degree of configuration as well as non-intrusive development of modifications.
Layered application architecture also defines clear ownership for the areas affecting business functionality and end-user experience. Each layer is automatically overlaid on top of the underlying layers and contains only the changes, additions from underlying layers, making it small and easy to maintain.