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 ↩