|
| 1 | +# Goal-setting dialogue for physical activity with a virtual coach |
| 2 | +This github repository contains the code for the chatbot Jody that is created for the thesis project: Goal-setting dialogue for physical activity with a virtual coach. |
| 3 | +Please refer to our [OSF pre-registration](https://osf.io/4duwh/) for more details on our experiment. |
| 4 | + |
| 5 | +## Dialog flow |
| 6 | + |
| 7 | +The figure below visualizes the structure of the dialogue with Jody. |
| 8 | + |
| 9 | +<img src = "dialogue_flow.png" width = "700" title="Dialog Flow"> |
| 10 | + |
| 11 | +## System architecture |
| 12 | + |
| 13 | +### Frontend |
| 14 | +The frontend is a html-page that makes use of [Rasa Webchat](https://github.com/botfront/rasa-webchat) 1.0.1. |
| 15 | + |
| 16 | +It is expected that the user ID is provided as a URL-parameter, e.g. http://<IP_address>:5005/?userid=beyza if the frontend is running on port 5005. This user ID is extracted and sent to the backend to link previous collected data to that user. |
| 17 | + |
| 18 | +Files: |
| 19 | +- index.html: html-page if the conversational agent runs locally. |
| 20 | +- socketChannel.py: This file is needed to connect the frontend to the backend. |
| 21 | + |
| 22 | +### Backend |
| 23 | + |
| 24 | +The main component is a conversational agent trained in Rasa 2.8.0. |
| 25 | + |
| 26 | +Files: |
| 27 | +- actions: custom actions, e.g. to read from files. |
| 28 | +- models: contains trained models. |
| 29 | +- config.yml: configuration for the training of the agent. |
| 30 | +- data: contains files to specify e.g. the stories on which the agent is trained. |
| 31 | +- domain.yml: utterances, slots, forms etc. |
| 32 | +- endpoints.yml: defines the endpoints of the conversational agent. |
| 33 | + |
| 34 | +### Experiment data |
| 35 | + |
| 36 | +The experiment_data folder contains the following two files: |
| 37 | +- goals.csv: contains the examples of people that achieved a running or walking goal. |
| 38 | +- user_examples: this file contains example usernames that you can use to chat with Jody. |
| 39 | + |
| 40 | +## Running Jody |
| 41 | + |
| 42 | +To run the conversational agent locally: |
| 43 | + |
| 44 | +1) Install the python package Rasa 2.8.0. |
| 45 | +2) In a command window, navigate to the root folder and type `rasa run -m models --enable-api --cors "*"`. |
| 46 | +3) Open a separate command window and type `rasa run actions` to start the custom action server. |
| 47 | +4) Open the frontend ("index.html") and specify a userid in the URL. Choose one of the usernames that can be found in /experiment_data/user_examples. For example: index.html?userid=beyza |
| 48 | +5) Chat with the conversational agent. |
| 49 | + |
| 50 | +## License |
| 51 | + |
| 52 | +Copyright (C) 2022 Delft University of Technology. |
| 53 | + |
| 54 | +Licensed under the Apache License, version 2.0. See LICENSE for details. |
0 commit comments