A Python-based Assistant Agent able to Interact with Natural Language

This paper describes the software architecture and functionalities of an assistant agent, developed by the authors, able to interact with the user through the natural language. The agent is implemented by means of PROFETA, a Pythonbased BDI engine developed within the author’s research group. The agent is composed of two parts: (i) the speech-to-text and text-to-speech services, and (ii) the reasoning engine. As for the former part, the agent exploits Clould services (in particular those provided by Microsoft Bing and IBM Watson); to this aim, a flexible software architecture is designed in order to connect first-class entities of PROFETA (i.e. sensors and actions) to the cloud world. The reasoning engine is instead designed by means of the declarative language provided by PROFETA: utterances said by the user become PROFETA beliefs that can, in turn, trigger reasoning rules. In order to show effectiveness of the solution, a case-study of speech-based interaction to browse Wikipedia is presented.