Skip to main content

A toolkit for evaluating deliberative discussions and building DEliBots. For more details see delibot.xyz

Project description

A toolkit for evaluating deliberative discussions and building DEliBots. For more details see https://delibot.xyz

Install

Please install the latest version from PyPi, preferably in a virtual environment of choice.

pip install delitoolkit

Usage

DeliAnnotation

This module gives access to classifiers trained to annotate deliberative discussions. The classifier predicts the first 2 levels from the DeliAnnotate annotation scheme. Please refer to the original paper for usage, annotation description, guidelines, classification architecture and performance: link.

from delitoolkit import deliannotate

deli_predictor = deliannotate.DeliAnnotationPredictor()

type, role = deli_predictor.predict("What about A")

Cause of change of mind predictor (aka conversational turning points or inflection points)

This module gives access to classifiers trained to predict which utterances in a collaborative conversation can cause someone to change their mind. Please refer to the original paper for usage, classification architecture and performance link. Currently delitoolkit provides API to an enhanced Bag-of-words model, with slightly better performance than the one in the original paper. The classifier relies only on linguistic data, without incorporating any other datastreams (and thus is applicable to wider-range of tasks). Please provide conversation context of at least 2 utterances for best performance.

from delitoolkit.inflection_point import bow

predictor = bow.BoWSimple()

print(predictor.predict_proba(["Hi", "I think 3"]))

DeliData

Easy way to access the contents of DeliData. Contains 500 deliberative discussions of groups solving the Wason card selection task. Each utterance is augmented with additional data, such as annotation, solutions, and approximation of team performance. For full information, please refer to the DeliData paper and DELIDATA_README.md

from delitoolkit.delidata import DeliData


delidata_corpus = DeliData()
groups = list(delidata_corpus.corpus.keys())
for m in delidata_corpus.corpus[groups[0]]:
    print(m['message_type'], m['original_text'])

Relevant papers and BibTeX citations

DeliAnnotation module

DeliData A dataset for deliberation in multi-party problem solving (https://delibot.xyz/delidata)

@article{karadzhov2023delidata,
    title={DeliData: A dataset for deliberation in multi-party problem solving},
    author={Karadzhov, Georgi and Stafford, Tom and Vlachos, Andreas},
    journal={Proceedings of the ACM on Human-Computer Interaction},
    volume={7},
    number={CSCW2},
    pages={1--25},
    year={2023},
    publisher={ACM New York, NY, USA}
  }

Inflection point module

What makes you change your mind? An empirical investigation in online group decision-making conversations

@inproceedings{karadzhov2022makes,
  title={What makes you change your mind? An empirical investigation in online group decision-making conversations},
  author={Karadzhov, Georgi and Stafford, Tom and Vlachos, Andreas},
  booktitle={Proceedings of the 23rd Annual Meeting of the Special Interest Group on Discourse and Dialogue},
  pages={552--563},
  year={2022}
}

History

0.3.9 (16.01.2024)

  • First release on PyPI.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

delitoolkit-0.3.9.tar.gz (6.6 MB view hashes)

Uploaded Source

Built Distribution

delitoolkit-0.3.9-py2.py3-none-any.whl (6.9 MB view hashes)

Uploaded Python 2 Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page