Elamur Research⌕
☰
home / papers / 2020 / ConvoKit: A Toolkit for the Analysis of Conversations

ConvoKit: A Toolkit for the Analysis of Conversations

Summary

General NLP libraries such as NLTK, spaCy and scikit-learn are not designed for dialogue. Conversational data and code are also scattered across incompatible formats and one-off implementations, which hurts reproducibility. The authors present ConvoKit, an open-source Python package that treats conversations as structured social interactions rather than isolated text fragments. Its design rests on two abstractions. The Corpus is a hierarchy of Conversations, Utterances and Speakers, with reply links and user-defined metadata. The Transformer is a uniform operation that modifies a Corpus and follows the scikit-learn interface. Built-in Transformers handle text cleaning, parsing, feature extraction (politeness, hypergraph structure) and analysis (lexical comparison, classification, forecasting conversation trajectories). The package also ships ready-to-use datasets from very different settings: courtrooms, Wikipedia, Reddit and film scripts. The paper reports no benchmark results. Its contribution is a single shared representation and interface for conversational analysis. This makes such research easier to reproduce and opens it to social scientists who lack deep NLP expertise.

Key points

  • Four core classes (Corpus, Conversation, Utterance, Speaker) carry unique IDs and a free-form meta table. Thread structure comes from each Utterance's reply_to pointer, which allows tree traversal and browsing of a Speaker's history.
  • Transformers expose fit() and transform() like scikit-learn, plus a summarize() method for quick tables or plots. They can be chained in pipelines.
  • Built-in Transformers are grouped into three roles:
    • preprocessing: TextCleaner, TextParser;
    • feature extraction: PolitenessStrategies, UserConvoDiversity, HyperConvo;
    • analysis: FightingWords, Classifier, Forecaster.
  • Bundled corpora include supreme court transcripts, Wikipedia talk pages, a full Reddit dump and movie dialogs. Guidelines and code are provided for converting other datasets.
  • A worked example compares the language of mixed-gender and single-gender movie dialogs with FightingWords. The toolkit is available at convokit.cornell.edu.

Our summary of the paper, in our own words — not its text. The work belongs to its authors; read it at the links above.

Fields: Linguistics & languages

Cited by

61 papers of our library cite it (of the 140673 whose bibliographies we read); 4 of them have a page here, 57 not yet.

Cite

The paper itself, not this page. BibTeX from the library's record of the work. DOI 10.18653/v1/2020.sigdial-1.8

@inproceedings{chang2020convokit,
  title = {{ConvoKit: A Toolkit for the Analysis of Conversations}},
  author = {Chang, Jonathan P. and Chiam, Caleb and Fu, Liye and Wang, Andrew and Zhang, Justine and Danescu-Niculescu-Mizil, Cristian},
  booktitle = {Proceedings of the 21th Annual Meeting of the Special Interest Group on Discourse and Dialogue},
  year = {2020},
  doi = {10.18653/v1/2020.sigdial-1.8},
  url = {https://doi.org/10.18653/v1/2020.sigdial-1.8}
}

References

4 references, 1 of them with a card of ours. ↗ leads to the work, «find» searches for one we have no id for yet.

  1. Steven Bird, Edward Loper, and Ewan Klein. 2009. Natural Language Processing with Python. O’Reilly Media Inc. find
  2. Jonathan P. Chang and Cristian Danescu-Niculescu-Mizil. 2019. Trouble on the Horizon: Forecasting the Derailment of Online Conversations as they Develop. In Proceedings of EMNLP. find
  3. Cristian Danescu-Niculescu-Mizil, Moritz Sudhof, Dan Jurafsky, Jure Leskovec, and Christopher Potts. 2013. A Computational Approach to Politeness with Application to Social Factors. In Proceedings of ACL. find our card
  4. Matthew Honnibal and Ines Montani. 2020. spaCy: Natural Language Understanding with Bloom Embeddings, Convolutional Neural Networks and Incremental Parsing. find

This page in Markdown → https://md.research.elamur.ai/free/papers/chang-2020-convokit-toolkit-analysis-conversations/