Skip to content

Commit 02868d9

Browse files
authored
Adding CGA-CMV-Large to ConvoKit (#285)
authored-by: laerdon
1 parent b325e8c commit 02868d9

9 files changed

Lines changed: 224 additions & 135 deletions

File tree

README.md

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -66,8 +66,8 @@ These datasets can be downloaded using the `convokit.download()` [helper functio
6666

6767
### Conversations Gone Awry Datasets ([Wikipedia](https://convokit.cornell.edu/documentation/awry.html)/[CMV](https://convokit.cornell.edu/documentation/awry_cmv.html))
6868

69-
Two related corpora of conversations that derail into antisocial behavior. One corpus (CGA-WIKI) consists of Wikipedia talk page conversations that derail into personal attacks as labeled by crowdworkers (4,188 conversations containing 30.021 comments). The other (CGA-CMV) consists of discussion threads on the subreddit ChangeMyView (CMV) that derail into rule-violating behavior as determined by the presence of a moderator intervention (6,842 conversations containing 42,964 comments).
70-
Name for download: `conversations-gone-awry-corpus` (for CGA-WIKI) or `conversations-gone-awry-cmv-corpus` (for CGA-CMV)
69+
Three related corpora of conversations that derail into antisocial behavior. One corpus (CGA-WIKI) consists of Wikipedia talk page conversations that derail into personal attacks as labeled by crowdworkers (4,188 conversations containing 30.021 comments). Another (CGA-CMV) consists of discussion threads on the subreddit ChangeMyView (CMV) that derail into rule-violating behavior as determined by the presence of a moderator intervention (6,842 conversations containing 42,964 comments). The last is a recent expansion of the CGA-CMV dataset, containing now 19,578 conversations and 116,793 utterances.
70+
Name for download: `conversations-gone-awry-corpus` (for CGA-WIKI), `conversations-gone-awry-cmv-corpus` (for CGA-CMV), and `conversations-gone-awry-cmv-corpus-large` (for CGA-CMV-Large)
7171

7272
### [Cornell Movie-Dialogs Corpus](https://convokit.cornell.edu/documentation/movie.html)
7373

convokit/util.py

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,9 +36,11 @@ def download(
3636
- "conversations-gone-awry-corpus": Wiki Personal Attacks Corpus
3737
Wikipedia talk page conversations that derail into personal attacks as labeled by crowdworkers
3838
(see http://www.cs.cornell.edu/~cristian/Conversations_gone_awry.html)
39+
- "conversations-gone-awry-cmv-corpus-large"
40+
Discussion threads on the subreddit ChangeMyView (CMV) that derail into rule-violating behavior, now updated with conversations up to 2022.
41+
(see http://www.cs.cornell.edu/~cristian/Conversations_gone_awry.html)
3942
- "conversations-gone-awry-cmv-corpus"
4043
Discussion threads on the subreddit ChangeMyView (CMV) that derail into rule-violating behavior
41-
(see http://www.cs.cornell.edu/~cristian/Conversations_gone_awry.html)
4244
- "movie-corpus": Cornell Movie-Dialogs Corpus
4345
A large metadata-rich collection of fictional conversations extracted from raw movie scripts.
4446
(see https://www.cs.cornell.edu/~cristian/Chameleons_in_imagined_conversations.html)

docs/source/awry_cmv_large.rst

Lines changed: 81 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,81 @@
1+
Conversations Gone Awry Dataset (Large) - Reddit CMV version (CGA-CMV-Large)
2+
==============================================================
3+
4+
A collection of conversations from the ChangeMyView (CMV) subreddit that derail into personal attacks (19,578 conversations, 116,793 comments), now updated with conversations up to 2022. Using this dataset, over the original version, is recommended.
5+
6+
Summaries of conversation dynamics (SCDs) are available for a subset of the conversations.
7+
8+
Distributed together with: Trouble on the Horizon: Forecasting the Derailment of Online Conversations as they Develop. Jonathan P. Chang and Crisitan Danescu-Niculescu-Mizil. EMNLP 2019.
9+
10+
Summaries of conversation dynamics described in: How Did We Get Here? Summarizing Conversation Dynamics. Yilun Hua, Nick Chernogor, Yuzhe Gu, Seoyon Julie Jeong, Miranda Luo, Cristian Danescu-Niculescu-Mizil. NAACL 2024.
11+
12+
Example usage of the corpus and summaries: `SCD and Basic Examples <https://github.com/CornellNLP/ConvoKit/blob/master/examples/conversations-gone-awry-cmv/scd-example.ipynb>`_
13+
14+
Dataset details
15+
---------------
16+
17+
Speaker-level information
18+
^^^^^^^^^^^^^^^^^^^^^^^^^
19+
20+
Speakers in this dataset are Reddit users; their account names are taken as the user names.
21+
22+
Utterance-level information
23+
^^^^^^^^^^^^^^^^^^^^^^^^^^^
24+
25+
Each utterance corresponds to a Reddit comment. For each utterance, we provide:
26+
27+
* id: Reddit ID of the comment represented by the utterance
28+
* speaker: the speaker who authored the utterance
29+
* conversation_id: id of the first utterance in the conversation this utterance belongs to. Note that this differs from how 'conversation_id' is treated in ConvoKit's general Reddit corpora: in those corpora a conversation is considered to start with a Reddit post utterance, whereas in this corpus a conversation is considered to start with a top-level reply to a post.
30+
* reply_to: Reddit ID of the utterance to which this utterance replies to (None if the utterance represents a top-level comment, i.e., a reply to a post)
31+
* timestamp: time of the utterance
32+
* text: textual content of the utterance
33+
34+
Metadata for each utterance is inherited from the general CMV corpus:
35+
36+
* score: score (i.e., the number of upvotes minus the number of downvotes) of the content
37+
* top_level_comment: the id of the top level comment (None if the utterance is a post)
38+
* retrieved_on: unix timestamp of the time of when the data is retrieved
39+
* gilded: gilded status of the content
40+
* gildings: gilding information of the content
41+
* stickied: stickied status of the content
42+
* permalink: permanent link of the content
43+
* author_flair_text: flair of the author
44+
45+
46+
Conversational-level information
47+
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
48+
49+
Metadata for each conversation include:
50+
51+
* pair_id: the id of the conversation that this conversation is paired with
52+
* has_removed_comment: whether the final comment in this thread was removed by CMV moderators for violation of Rule 2
53+
* split: which split (train, val, or test) this conversation was used in for the experiments described in "Trouble on the Horizon"
54+
* summary_meta: metadata related to conversation summaries, a list of dictionaries (one per summary available, possibly empty) with the following keys:
55+
* summary_text: the text of the summary;
56+
* summary_type: whether the summary is humman written by humans;(human_written_SCD) or generated automatically using the procedural prompt ("machine_generated_SCD") ;
57+
* up_to_utterance_id: the last utterance considered when creating the summary;
58+
* truncated_by: the number of utterances the transcript was truncated by when creating the summary (starting from the end);
59+
* scd_split: whether the summary was in the train/test/validation split in the 2024 Summarizing Conversations Dynamics paper;
60+
61+
62+
Usage
63+
-----
64+
65+
To download directly with ConvoKit:
66+
67+
>>> from convokit import Corpus, download
68+
>>> corpus = Corpus(filename=download("conversations-gone-awry-cmv-corpus"))
69+
70+
71+
For some quick stats:
72+
73+
>>> corpus.print_summary_stats()
74+
Number of Speakers: 24555
75+
Number of Utterances: 116793
76+
Number of Conversations: 19578
77+
78+
Contact
79+
^^^^^^^
80+
81+
Please email any questions to: cristian@cs.cornell.edu (Cristian Danescu-Niculescu-Mizil)

docs/source/datasets.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@ Datasets
44
.. toctree::
55
Conversations Gone Awry Dataset - Wikipedia version (CGA-WIKI) <awry.rst>
66
Conversations Gone Awry Dataset - Reddit CMV version (CGA-CMV) <awry_cmv.rst>
7+
Conversations Gone Awry Dataset (Large) - Reddit CMV version (CGA-CMV-Large) <awry_cmv_large.rst>
78
Cornell Movie-Dialogs Corpus <movie.rst>
89
CANDOR Corpus <candor.rst>
910
Parliament Question Time Corpus <parliament.rst>

docs/source/examples.rst

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,7 @@ Forecaster
4747
----------
4848
- `CRAFT forecasting of conversational derailment <https://github.com/CornellNLP/ConvoKit/blob/master/convokit/forecaster/CRAFT/demos/craft_demo_new.ipynb>`_
4949
- `Forecasting of conversational derailment using a cumulative bag-of-words model <https://github.com/CornellNLP/ConvoKit/blob/master/convokit/forecaster/tests/cumulativeBoW_demo.ipynb>`_
50+
- `Evaluating Transformer Fine-tuned Models (i.e. RoBERTa, Gemma) <https://github.com/CornellNLP/ConvoKit/blob/master/examples/forecaster/Run%20Transformer%20Fine-tuned%20Models.ipynb>`_
5051

5152
Hyperconvo
5253
----------

docs/source/forecaster.rst

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,3 +79,5 @@ These are subclasses of ForecasterModel, each implementing forecasting models us
7979
**Table 1: Forecasting derailment on CGA-CMV-large conversations.**
8080
The performance is measured in accuracy (Acc), precision (P), recall (R), F1, false positive rate (FPR), mean horizon (Mean H), and Forecast Recovery (Recovery) along with the correct and incorrect recovery rates. Results are reported as averages over five runs with
8181
different random seeds.
82+
83+
For more information on how to produce a leaderboard string here, see the `Run Transformer Fine-tuned Models.ipynb <https://github.com/CornellNLP/ConvoKit/blob/master/examples/forecaster/Run%20Transformer%20Fine-tuned%20Models.ipynb>`_ notebook. If you would like to include your model in the leaderboard, please make a pull request adding the respective ForecasterModel and the version of the demo generating the leaderboard line. Please contact us on `Discord <https://discord.gg/R2ej9Kyr3K>`_ for assistance.

0 commit comments

Comments
 (0)