Abstract
Multi-Agent Systems (MAS) have become a powerful approach to the development of complex AI systems. However, the community faces the challenge of developing communication interfaces between software agents and humans, for instance, using natural language. In this paper, we demonstrate an approach to the integration of MAS and chatbot technologies named Dial4JaCa. Dial4JaCa enables the implementation of MAS integrated with chatbots, which can be applied to a variety of domains. In this particular work, we demonstrate how it is possible to integrate a JaCaMo application (agent system) with Dialogflow (a chatbot platform) using Dial4JaCa.
Access provided by Autonomous University of Puebla. Download conference paper PDF
Similar content being viewed by others
Keywords
1 Introduction
A conversational agent (chatbot) is a computer program that interacts with users through natural language. With the advances of Natural Language Processing (NLP), conversational agents have started to play an important role in a variety of contexts. As a result, many platforms are available to provide mechanisms for NLP and dialog management. On the other hand, Multi-Agent Systems (MAS) are built upon core concepts such as distributed systems and reactivity, as well as individual rationality. Thus, agent technology is a promising way to provide strong reasoning capabilities to chatbot platforms.
In this paper, we demonstrate the use of Dial4JaCa, a communication interface between MAS and chatbot platforms. In particular, we demonstrate the implementation of a communication interface between a JaCaMo [3] application for supporting hospital bed allocation and DialogflowFootnote 1. Our communication interface makes it possible to implement multi-agent systems in which agents and humans are able to have dialogues in natural language.
2 Main Purpose
Dial4JaCa provides an integrationFootnote 2 of the JaCaMo framework [3] and Dialogflow, and it allows developers to implement intelligent agents that are able to communicate with humans through natural-language interaction. We aim at making our approach as modular as possible so that it can be imported into any MAS project developed in JaCaMo. Figure 1 depicts the Dial4JaCa architecture.
Our approach is built upon a resource-oriented abstraction provided by the JaCaMo REST projectFootnote 3 [2]. We integrate it with fulfillment services available in Dialogflow. Our interface allows all agents that are observing a particular CArtAgO artefact to receive requests from Dialogflow. Then, it is up to the agents to decide whether they are going to react to such requests or not. We show in Listing 1 an example of a Jason plan to react to a request. In a request, Dial4JaCa makes an agent perceive contexts and parameters captured by Dialogflow. Parameters is a list containing the pattern parameter(key, value). Contexts is a list in which each element contains a context name, a lifespan, and a list of parameters.
To reply to a request, the agents have at their disposal an operation in the Dial4JaCa artefact which may take in addition to the intended response a context or an event. The response is just plain text to be shown to the user. A reply with a context is important to provide to Dialogflow additional information besides the response to the user. To do so, an agent first creates a new context (line 3) in the same pattern as described above. Then it sends the information back through Dial4JaCa (lines 4–5). A reply with an event is useful in cases an agent is running out of time to reply to a request (e.g., if the chatbot platform has a predefined waiting timeout). In that case, Dial4JaCa automatically replies with an event for Dialogflow to reestablish the intention. Doing so, it gets more time for the agent to finish its reasoning. This mechanism can be used at most three times in a row.
Note that we can also use, given some small changes in Dial4JaCa, other natural language processing platforms such as Rasa, Watson, or Luis.
3 Demonstration
We use Dial4JaCa as a decision support system for hospital bed allocationFootnote 4. This application extends the integration in [4], which was application specific.
We show in Fig. 2 an overview of the application architecture (left) and part of the application interfaceFootnote 5 (right). In it, the assistant agent is responsible for communicating with other agents to assist a user in a search for bed availability. The database specialist agents take care of any database query needed. These agents use a CArtAgO artefact to connect to hospital databases (in this application in particular).
Communication specialist agents use Dial4JaCa to provide a communication layer between an end user and the assistant agent. For instance, it is possible to instantiate an agent for each user of the system. This allows customised responses according to a user profile. This way an application can avoid giving too many explanatory answers to a user who has a specialist background, as well as avoid giving superficial answers to users with little background. The ability to instantiate multiple communication expert agents, one for each user of the system, also allows the Assistant Agent to engage in multiparty conversations, helping a team or a group of users to make joint decisions.
Moreover, there are two other agents populating the MAS application: the optimiser agent and the validator agent. The optimiser agent is responsible for communicating with a GLPK solver to generate optimal bed allocations. The validator agent uses a PDDL (Planning Domain Definition Language) validatorFootnote 6 and a CArtAgO artefactFootnote 7 to validate bed allocation plans made by the user.
The current version of this MAS application has not been evaluated by professionals responsible for allocating beds in hospitals yet. However, we intend to do it in the near future. Dial4JaCa fulfilled its role in our preliminary tests, supporting communication and other functionalities as expected, and providing a complete integration between the MAS application and Dialogflow. In the next version of this multi-agent system application, we intend to use argumentation theory and ontology techniques, allowing agents to explain their suggestions for bed allocation. Explainability becomes an essential part of decision support systems, and Dial4JaCa can support this type of sophisticated interactions.
4 Conclusions
We made considerable progress towards natural language communication interfaces between humans and multi-agent systems. The scenario presented in this paper demonstrate the use of Dial4JaCa in practice, also showing promising preliminary results. We believe that several applications for various domains can be developed using Dial4JaCa, for example, ambient intelligence and law. Also, our approach provides support to the development of applications in the context of hybrid intelligence [1], in which human-agent collaboration is fundamental. In our future work, we intend to explore the integration with other chatbot development platforms. We also intend to apply Dial4JaCa in other domains.
References
Akata, Z., et al.: A research agenda for hybrid intelligence: augmenting human intellect with collaborative, adaptive, responsible, and explainable artificial intelligence. Computer 53(8), 18–28 (2020)
Amaral, C.J., Hübner, J.F., Kampik, T.: Towards Jacamo-rest: a resource-oriented abstraction for managing multi-agent systems. arXiv preprint arXiv:2006.05619 (2020)
Boissier, O., Bordini, R.H., Hübner, J.F., Ricci, A., Santi, A.: Multi-agent oriented programming with Jacamo. Sci. Comput. Programm. 78(6), 747–761 (2013)
Engelmann, D.C.: An interactive agent to support hospital bed allocation based on plan validation. dissertation, PUCRS (2019)
Author information
Authors and Affiliations
Corresponding author
Editor information
Editors and Affiliations
Rights and permissions
Copyright information
© 2021 Springer Nature Switzerland AG
About this paper
Cite this paper
Engelmann, D. et al. (2021). Dial4JaCa – A Demonstration. In: Dignum, F., Corchado, J.M., De La Prieta, F. (eds) Advances in Practical Applications of Agents, Multi-Agent Systems, and Social Good. The PAAMS Collection. PAAMS 2021. Lecture Notes in Computer Science(), vol 12946. Springer, Cham. https://doi.org/10.1007/978-3-030-85739-4_29
Download citation
DOI: https://doi.org/10.1007/978-3-030-85739-4_29
Published:
Publisher Name: Springer, Cham
Print ISBN: 978-3-030-85738-7
Online ISBN: 978-3-030-85739-4
eBook Packages: Computer ScienceComputer Science (R0)