# Chatots for Cultural Venues: A Topic-Based Approach
## 1 Introduction
### Chatbot Platforms  
Nowadays, numerous technologies and platforms have been made available for organizations and individuals to create their own chatbots. These technologies and platforms are mainly available as cloud services, under the 'Software-as-a-Service' (SaaS) model, while some platforms are available for self-hosted installations. The available platforms have different characteristics related to their ease of use, available features and amount of technical knowledge that is required for their use and successful modeling of a chatbot. In the following, we will briefly review platforms with widespread use. BotPress [28] is a platform for creating chatbots that are embeddable in web pages, and applications such as Facebook and WhatsApp, or any other context. BotPress focuses on the ease of use for users with low technical expertise, allowing the creation of chatbot agents by populating an activity diagram with elements corresponding to intents. This is accomplished by dragging tools from a toolchest onto the activity diagram and interconnecting the activities via conditional transitions. Each element within the activity diagram may contain a number of actions, such as communicating a message, receiving input, executing code, determining intents and transitions and so forth. Microsoft Bot Framework [29; 30] (also known as Azure Bot Service) is a comprehensive framework for building conversational AI experiences [31]. Chatbots built with the Microsoft Bot Framework can be directly integrated with Azure Cognitive Services, delivering features such as speech synthesis, voice control, natural language analysis and understanding and so forth. Virtual assistants, customer care and Q&A chatbots are typical agents implemented with the Microsoft Bot Framework; however, any application domain can be served. Integration with a multitude of third-party tools and services is also possible. IBM Watson Assistant [32; 33] is a conversational AI platform based on NLP, machine learning, deep learning and entity recognition technologies. It processes user input to determine their meaning and intent, and subsequently finds the best answers and may guide the user through the process of information retrieval and/or task completion. When user intents cannot be determined with a high level of confidence, the IBM Watson Assistant framework automatically injects clarification questions. Amazon lex is an AI service comprising advanced NLP models which can be used to support the full lifecycle of conversational interfaces in applications, including the design, implementation, testing, deployment and integration of such interfaces [34; 35]. Amazon lex-based chatbots can handle either textual or voice input and similarly produce textual or speech-oriented output. They can also easily be integrated with other AWS services, while integration with third-party tools and platforms is also supported. Google Cloud DialogFlow [36] employs NLP techniques to facilitate the design, development and testing of chatbots. Chatbots developed using Google Cloud DialogFlow can be integrated into a wide range of applications and platforms, including mobile and web applications, automated call centers, etc. DialogFlow accepts and processes input either in textual or audible format, while its responses can also be either textual or audible. Finally, DialogFlow offers a collection of ready-made agents to bootstrap the chatbot development process. OpenDialog.ai [37] is a platform for designing, developing and testing conversational applications. OpenDialog.ai-based chatbots may be deployed as standalone full-page web applications or as in-page popup experiences, while integrations with mobile environments are available too. OpenDialog.ai provides a code-free conversation designer, through which the interaction with the user may be modeled, and the messages returned by the chatbot to the user can be defined.