ICSOC 2022 Process Oriented Intents
ICSOC 2022 Process Oriented Intents
1 Introduction
Task-oriented conversational services (or simply chatbots) emerged as engines
for transforming online service-enabled digital assistance and powering natural
interactions between humans, services, and things [15]. Recently, organizations
leveraged chatbots in a variety of assistance tasks. For instance, the augmen-
tation of process-enabled automation with task-oriented chatbots emerged as
a promising technology to make process automation even closer to users [1,5].
This evolution promises to increase the benefits of automation by simplifying
access and reuse of concomitant capabilities across potentially large number of
evolving and heterogeneous data sources, applications and things [5,9]. While
today’s chatbots may automate some tasks, bot developers have recently started
2 Authors Suppressed Due to Excessive Length
UpdateFlight
CancelFlight
CancelHotel
UpdateHotel
CancelTravel
UpdateTravel
[Method]
[Method]
[Method]
[Method]
[Method]
[Method]
Booking
Booking
Booking
Booking
[Process]
[Process]
[Process]
[Process]
[Process]
[Process]
has-cancellation-policy
has-cancellation-policy has-cancellation-policy has-update-policy
has-update-policy
has-update-policy
Travel Booking
Flight Booking
Hotel Booking
[Process]
[Activity]
[Activity]
has-process-schema
is-realized-by
YES YES
BookTravel
Do you want to Do you want to Send Booking
[Method]
book a flight?
NO book a hotel room?
NO details
[Decision Point]
[Decision Point]
[Activity]
cancel a travel booking) [2]. In this paper, we consider that a process is realized
by a composite service. Furthermore, a composite service is accessible through
an API that includes: a main method to invoke the normal process behavior
(e.g., BookTravel method), and exception handling methods to handle excep-
tional behaviors of a process (e.g., CancelTravel method) or an activity (e.g.,
CancelHotel method). We also consider that a process has a set of correlation
attributes that uniquely identify an instance [7].
Scenario. Figure 2 shows an example of a user-chatbot conversation in which
the user is interacting with the Travel Booking process illustrated in Figure 1.
There are interactions that are triggered by the user and others by the chatbot.
During normal process execution (e.g., booking travel): (i) the chatbot can ask
for more information to fulfill a task (message 10) or provide information about
a performed task (message 6), (ii) the user can provide information (message 11)
or inquire about task progress (message 23). As mentioned before, a process is
associated with possible run-time exceptions. In message 27, the user wants to
change the check-out date. This interaction (changing date) is triggered by the
user and involves the update of a previously performed task. However, exception
interactions can also be triggered by the chatbot. For example, assume that the
airline company canceled the user’s flight. The chatbot can trigger an interaction
that involves notifying the user about the cancellation and proposing alternatives
such as changing the travel date. In this paper, we focus on interactions from
the user side; chatbot-initiated interactions are outside the paper scope.
Architecture. To support natural language conversations with processes, the
chatbot needs a set of services to initiate, monitor, and control task-related
conversations. The Natural Language Understanding (NLU) service aims to ex-
tract HP interaction acts and slot-value pairs from the utterance. The Process
Embedding Service (PES) aims to identify the process that corresponds to the
utterance. The Dialogue Manager (DM) service aims to infer the dialogue state
in terms of user intent and its slot-value pairs. This DM relies on the Context
Knowledge Service (CKS) to recognize user intent and infer missing information.
Once the DM recognizes the intent and collects all required information, it per-
4 Authors Suppressed Due to Excessive Length
[START NEW PROCESS INSTANCE] 1. USER: I would like to plan a one-way trip from Paris to Montreal
[ASK FOR MORE INFORMATION] 4. BOT: Do you want to book a flight?
[PROVIDE INFORMATION] 6. BOT: Here is the list of flights I found for the given date: [...].
[PROVIDE INFORMATION] 7. USER: book the first flight on the list, the one with air Canada
1-14
[ASK FOR MORE INFORMATION] 10. BOT: What is the check-out date from the hotel?
...
[PROVIDE INFORMATION] 14. BOT: Done! I have booked the hotel room. I sent you details about your travel booking by email.
[START NEW PROCESS INSTANCE] 15. USER: Can you help me to plan another one-way trip from Montreal to New York on 3 August.
...
15-22
[PROVIDE INFORMATION] 22. BOT: I sent you details about your travel booking by email.
Book Travel
[FOLLOW-UP ON PROCESS STATUS] 23. USER: What is the status of my travel?
[ASK FOR INFORMATION] 24. BOT: What are the departure city and date of this travel?
23-26
[PROVIDE INFORMATION] 26. BOT: The status of your travel from Paris to Montreal on 10 July is completed. You have booked
travel status
a one-way flight on 10 July and a hotel from 10 July to 5 August.
27-28
[UPDATE AN INSTANCE] 27. USER: Please update my hotel booking for this travel. Change the check-out date to 3 August.
Update a hotel
[PROVIDE INFORMATION] 28. BOT: Done! I updated your hotel booking in Montreal from 10 July to 3 August.
booking
forms the corresponding action and sends the results to the Natural Language
Generator (NLG). The NLG generates then human-like responses to the user.
In what follows, we describe PES and CKS.
The PES aims to identify processes from natural language utterances. It has
(i) a process knowledge model and (ii) a set of services to leverage this knowledge.
The process knowledge model is denoted as a process knowledge graph (P-KG)
with specific types of nodes and relationships. In particular, nodes can describe
Processes, Paths, and Activities. Part of the information in the P-KG is the graph
representation of what we find in the process model definition. Such information
typically includes the process name, the process description, activity name, and
activity description. Furthermore, a Process node has relationships such as is-
realized-by that denotes that a process is performed by an API method (refer to
Figure 1). The PES features the following three services:
– Vector generation Service is used to construct vector embeddings for process
elements. It takes as input a process element e and generates its vector
embedding. It generates: (i) an activity vector by aggregating the information
from activity name and its description; (ii) a path vector by aggregating
vectors of activities in this path; and (iii) a process vector by averaging the
information from process name, process description and all path vectors.
– Process Identification Service aims to identify the corresponding process of a
given utterance u. First, it generates the embedding vector of the utterance.
Second, it calculates the cosine similarity between this utterance vector and
the vector of each process in the P-KG. Then, according to a predefined
threshold, processes with similarities greater than this threshold are kept and
ordered. Finally, the service returns the process scoring the highest similarity.
– Method Identification Service aims to identify a process API method that
corresponds to a given process intent. It takes as input a process p (e.g.,
Travel Booking), a process intent i (e.g., canceling task) and an activity a
(e.g., Hotel Booking) and returns the corresponding API method.
In [3], we proposed the CKS that enables to capture contextual knowledge
from different sources. We extend the CKS with two additional services:
Title Suppressed Due to Excessive Length 5
– Process Instance Identification Service returns the list of instances for a given
process. It takes as input a process p and returns the list of instances of p.
– Correlation attribute Value Retrieval Service provides values of correlation
attributes for a given process instance id. It takes as input an instance id
and returns an array of attribute-value pairs.
(1) (1)
(3) (3)
(1) (1)
Action
(2) (2)
(1) (1)
(2) (2)
(3) (3)
(1) (1)
(2) (2)
(3) (3)
(4) (4)
are satisfied, the chatbot (1) retrieves the corresponding instance and (2) lists
the status of this instance.
Task Update. This intent allows to identify whether the user wants to update
an existing process instance (e.g., update the hotel check-out date). A user can
request to update an information in the whole process, or a specific activity
in the process. We model an activity as an input parameter of the intent task
update, thus the chatbot can extract from the user utterance the activity that
the user wants to update. The conditions are the same as those defined in the
first rule, except that this rule needs to detect a task update HP interaction
act and the process instance should exists. If all conditions are satisfied, the
chatbot (1) retrieves the corresponding instance, (2) extract the value of the
activity parameter, (3) invokes the Method Identification PES service to get the
the corresponding method m and (4) triggers m to update the corresponding task.
Canceling a Task. This intent allows to identify whether the user utterance
expresses a task cancellation of an existing process instance. The user can request
to cancel the whole process (e.g., canceling travel bookings), or a specific task
in the process (e.g., canceling hotel booking). The steps to recognize and realize
canceling task intent are the same as those in the task update intent (Figure 3).
Table 1. Performance of experimental conditions for each task according to the rele-
vant metrics. Values in bold denote best performance.
Baseline-bot Process-bot
M1 M2 M4 M1 M2 M3 M4
Task TURNS PROMPTS INTENT TURNS PROMPTS PROCESS INTENT
References
1. Barukh, M.C., et al.: Cognitive augmentation in processes. In: Next-Gen Digital
Services. A Retrospective and Roadmap for Service Computing of the Future, pp.
123–137. Springer (2021)
2. Benatallah, B., et al.: The self-serv environment for web services composition.
IEEE internet computing 7(1), 40–48 (2003)
3. Bouguelia, S., et al.: Context knowledge-aware recognition of composite intents in
task-oriented human-bot conversations. Proc. CAiSE 2022
4. Bouguelia, S., et al.: Reusable abstractions and patterns for recognising composi-
tional conversational flows. Proc. CAiSE 2021
5. Brabra, H., et al.: Dialogue management in conversational systems: a review of
approaches, challenges, and opportunities. IEEE Transactions on Cognitive and
Developmental Systems (2021)
6. Bradley, N., et al.: Context-aware conversational developer assistants. In: 2018
IEEE/ACM 40th ICSE. pp. 993–1003. IEEE (2018)
7. Dumas, M., et al.: Fundamentals of business process management, vol. 1. Springer
(2013)
8. Gaulke, D., et al.: Interactive user interface to communication-enabled business
process platforms method and apparatus (May 26 2015), uS Patent 9,043,407
9. Hofmann, P., et al.: Robotic process automation 30(1), 99–106 (2020)
10. Kalia, A.K., et al.: Quark: a methodology to transform people-driven processes to
chatbot services. In: Proc. ICSOC. pp. 53–61. Springer (2017)
11. Kobeissi, M., et al.: An intent-based natural language interface for querying process
execution data. In: Proc. ICPM. pp. 152–159. IEEE (2021)
12. López, A., et al.: From process models to chatbots. In: International Conference
on Advanced Information Systems Engineering. pp. 383–398. Springer (2019)
13. Matthies, C., et al.: An additional set of (automated) eyes: chatbots for agile
retrospectives. In: Proc. BotSE. pp. 34–37. IEEE (2019)
14. Rizk, Y., et al.: A unified conversational assistant framework for business process
automation. arXiv preprint arXiv:2001.03543 (2020)
15. Sheth, A., et al.: Cognitive services and intelligent chatbots: current perspectives
and special issue introduction. IEEE internet computing 23(2), 6–12 (2019)
16. Zamanirad, S., et al.: Hierarchical state machine based conversation model and
services. Proc. CAiSE 2020
17. Zamanirad, S., et al.: Programming bots by synthesizing natural language expres-
sions into api invocations. Proc. ASE 2017