As the world of business moves increasingly online — a transformation turbocharged by the global COVID-19 pandemic — enterprises have seen a massive increase in need to automate and integrate the various services they provide their customers. Consumers are increasingly turning to the internet for all their needs, from purchase comparison and shopping to customer support. At the same time, the tightening of the job and labor market has made it extremely difficult for companies to fill roles that demand highly specialized skills like customer care, application configuration, and back-end programming.
A growing technology trend that seeks to support enterprises in improving the efficiency of their existing workforce, while keeping costs down, revolves around the concept of low code/no code (LCNC). Put simply, low code/no code aims to democratize access to complex processes and interfaces that might previously have required significant expertise, such as programming knowledge, by significantly lowering the learning curve to creating and using such processes and interfaces. The LCNC movement seeks to create technology that can upgrade the output of an existing worker, such as someone working in marketing or sales without incurring prohibitive training effort, time, or costs.
The LCNC movement has leaned significantly on recent technical advances in AI to process the input from a user into information that a back-end system can consume and use. Newer natural language processing (NLP) and machine learning (ML) advances have enabled users to specify their intentions in natural language — a form that they are used to — while still being able to task the systems they use with complex assignments. This has been best exemplified by the proliferation of virtual AI assistants like Siri and Alexa. While such assistants are mostly used in domestic and personal use-cases, the world of enterprise business has been catching up by infusing AI techniques into back-end systems and technology.
A prime example of this kind of enterprise technology is IBM’s App Connect product. It’s a platform that allows businesses to integrate all their data and processes in one place. App Connect allows for the creation of data and process “flows” that transform and route customers’ data to address various tasks. Examples of the kinds of tasks that are possible on the App Connect platform include the automation of sending reminder emails to customers who are signed up for an event, handling of customer care requests from consumers, generation of sales and marketing insights from past customer behavior, and so on.
While App Connect is very powerful in the breadth and complexity of the flows that can be designed and executed on it for business intelligence and other tasks, it still requires significant expertise on the part of the business user who is designing the flows. The user must be conversant with all the services “connectors” that are present on the platform such as Gmail, Slack, or ServiceNow, and the various actions that those connectors can perform. For example, sending an email, an instant message, or retrieving customer complaints. After selecting the right set of connectors or services to use for their task, the business user must then also engage in visual programming to generate the right data flow through the platform that will fulfill their end goal: for example, responding to a customer’s complaints via email.
IBM's App Connect, part of the CloudPak for Integration (CP4I) platform, enables users to connect applications without the need to understand or work with each of their individual APIs. Users can create automations that move and modify data, flowing through one or more applications. For example, a user can create a flow that does the following: when there is a new attendee on Eventbrite, create a contact in HubSpot and add them to a subscription list on MailChimp.
Learn more about the CP4I platform and AppConnect flows here.
A new effort from IBM Research seeks to transform this pro code problem into a low code/no code scenario, where the business user no longer needs to be conversant with all the back-end details of the App Connect platform. This tool — called Goal-Oriented Flow Assist (GOFA) — automatically transforms natural language invocations from business users into candidate flows, using AI and NLP techniques.1
GOFA in App Connect's low code/no code user interaction are informed by a series of experiments conducted as part of our newly established research agenda on Human-Centered AI , which includes exploring the task effectiveness of natural language interactions. Our experiments have shown that a list of predicted services or connectors, which constitute the candidate flows, lead to higher success rates for users. Additionally, explanations that suggested the kind of natural-language invocations that users could use (based on prior successful flow generations) led to higher success rates than explanations that merely described the working of the GOFA system.
We also found that providing users with system-generated natural language examples in GOFA reduced user cognitive load such as frustration, mental demand, and effort, and improved their overall task success rate. Finally, the availability of a structured interface within GOFA reduced the number of attempts that a user had to make in order to get the system to generate a flow that achieved their goal. It also improved the chances that a user would choose to work with the system again or recommend it to others.
Below, we provide a detailed explanation of how we use AI techniques to generate a candidate flow from the business user’s natural language invocation of the system.
As a running example: a business user could submit the input 'When a new contact is created in Salesforce, send a slack message' and receive the following flow:
The user can then open this flow in the App Connect designer, which enables them to edit or add on to the flow.
To generate a flow like this, the natural language (NL) is processed by three main components: the Abstract Meaning Representation Service (AMR) (1), the Integration Knowledge Graph (IKG) (2) and the AI Planner (4).
The AMR Service abstracts away syntactic idiosyncrasies in the utterance and generates its representation as rooted, directed, edge-labeled, leaf-labeled graphs that are easy to traverse. We then use this graph to resolve the utterance into tasks using parts-of-speech and edge types associating them. After the relevant parts of the utterance have been identified by the AMR service, the word fragments are passed to the IKG.
The IKG analyzes the metadata of the connectors available in App Connect and identifies common items between different connectors representing them in a graph structure. This information contains a description of applications, business objects those applications can handle, and operations allowed on those business objects. The IKG is then enriched by discovering links between similar entities, also referred to as latent links. The IKG returns the closest nodes along with their neighborhood in the IKG, and an associated relevance score.
To complete the flow composition process, we apply AI planning techniques (using Planning Domain Definition Language, or PDDL) to generate one or more flows depending on the candidates provided by the IKG in the previous step. The planner receives the candidates identified via the AMR and IKG steps; additionally, it also receives the action schemas for each of the identified candidates. These schemas consist of the name of the action (operation), as well as the ins and outs of each action. Subsequent to this, our AI planner utilizes all the information provided to sequence the candidates into a valid candidate flow. These proposed flows are then translated into the native YAML (yet another markup language) format that is understood by AppConnect to render and allow further editing of the proposed flow.
GOFA for App Connect is now generally available in the June 2022 release of IBM's CloudPak for Integration (CP4I). Additionally, App Connect users can access a beta experimental version of our natural language flow generation directly from their UI. Anyone can try it at https://ibm.biz/gofa-service-open.
This beta version will have the latest research updates from our team hot off the press and will also enable users to provide data and feedback to us about the system. This will enable the research team to continuously improve both the AI technology supporting the natural language flow generation, as well as the user experience of the tool.
The user can type a sentence of their own describing a flow, or if they aren't sure what to type, they can view a short set of examples provided or check out the user guidance. Users can also view the list of available applications to choose from if they aren't sure which tools they want to use.
Once a user has typed a sentence describing their flow, they can see the flow generated for them by our system. Alongside the flow, users can check out other options that the system thought were similar to what they typed and modify their sentence if the flow wasn't quite right.
Users can also let us know whether the generated flow met their needs. When working in our beta tool, users' sentences and feedback are recorded to support further research and development on natural language AI technology and natural language interfaces. Our experimental beta flow generator supports research and improvement of the core technology by enabling us to better understand use cases of customers, how users type natural language for this type of interaction, and whether our system is generating the flows that users need.
A Goal-Driven Natural Language Interface for Creating Application Integration Workflows. Michelle Brachman, Christopher Bygrave, Tathagata Chakraborti, Arunima Chaudhary, Zhining Ding, Casey Dugan, David Gros, Thomas Gschwind, James Johnson, Jim Laredo, Christoph Miksovic, Qian Pan, Priyanshu Rai, Ramkumar Ramalingam, Paolo Scotton, Nagarjuna Surabathina, Kartik Talamadupula, Thirty-Sixth AAAI Conference on Artificial Intelligence, AAAI 2022 ↩