Giter VIP home page Giter VIP logo

cart's Introduction

CART - Conversational Agent Research Toolkit [DEPRECATED]

Update

Given changes in the underlying offering of services (e.g., Microsoft Bot Framework), CART may not be operational for new projects. This repository is being archived and the code can be reused by others as needed.

About the project

The Conversational Agent Research Toolkit (CART) is aimed at enabling researchers to create conversational agents for experimental studies using computational methods. CART provides a unifying toolkit written in Python that integrates existing services and APIs for dialogue management, natural language understanding & generation, and frameworks that enable publishing the conversational agents as either a web interface or within messaging apps.

Requirements

CART is written in Python 3.8, and needs run in a server able to execute Python code (serving a Flask application with an https certificate) and host a MySQL database. The documentation demonstrates how to use Heroku (for the web server) and a database service (e.g., AWS RDS).

CART requires also access to two API services:

  • DialogFlow, for dialogue management
  • Microsoft Bot Framework, to publish the agent online in a web chat or in other channels (e.g., Skype, Telegram, Facebook Messenger)

Note: CART has been updated in May 2021 to reflect the new way to connect with DialogFlow's API. The DialogFlow credentials need to be set as environment variables (e.g., config vars). More information is available in the documentation (see steps 3 and 5).

Installing and Using CART

Documentation on how to install and use CART is available here: https://cart.readthedocs.io/en/latest/

cart's People

Contributors

theoaraujo avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar

cart's Issues

Include new assignment method (sequential)

As random_balanced can still lead to issues, sequential can be useful especially for pretests.

        if experimental_design['assignment_method'] == 'sequential':
            sql = 'SELECT conditionid FROM conversations'
            db.commit()
            cur = db.query(sql)
            results = cur.fetchall()
            if len(results) == 0:
                return conditions[0]

            results = [item[0] for item in results]
            last_cond = results[-1]

            total_cond = len(conditions)
            if conditions.index(last_cond) + 1 == total_cond:
                return conditions[0]
            else:
                return conditions[conditions.index(last_cond) + 1]

Change the font/color for redirect to survey

As suggested by one anonymous reviewer:
recommend to change system to automatically advance to survey after chatbot done, or at least put the 'robotic' text in a different color/font, since 'please enter B150 code' puts the chatbot in an experimenter's voice and role, which is not appropriate for a chatbot that could have a different role and can influence people's perception of the chatbot, especially if there's multiple chatbot interactions in a participant's session.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.