Skip to content

Automatic Classification of Persuasive Arguments, RIT, 2017

License

Notifications You must be signed in to change notification settings

glebpro/nlptermproject2017

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Automatic Classification of Persuasive Arguments

Term project for ENGL 681 Introduction to Natural Language Processing at RIT, 2017.

@jdberlinski @glebpro

Abstract:

Public web forums allow for massive online debate, especially on the community platform Reddit. The language of persuasive arguments can be found on the sub-community /r/ChangeMyView, which encourages sharing views and discourse in a moderated public forum. To determine if there are any similarities between persuasive comments that were successful in changing a user's view we organized and labeled sets of argument examples, and found valuable features for classifying novel arguments through language modeling. Our model results saw 6% improved accuracy over the baseline, concluding that there are identifiable stylistic and topic features in effective arguments.

[Slides][Paper]

Technicals

Downloads

To download code: $ git clone https://github.com/glebpro/nlptermproject2017

To download corpus: download link. Data format explained here.

Scripts

To generate your own corpus, gathering posts backwards in time from now:

  1. Populate corpus_utils/reddit.auth.json with your reddit credentials
  2. Run $ python corpus_utils/download.py num_posts_to_collect

To generate comment pairs, use:

  1. $ python corpus_utils/comment_pairs.py CMV_##.jsonlist

For the classifier:

  1. To extract features: $ python model_files/get_features.py comment_pairs.jsonlist
  2. To train new model: $ python model_files/model.py
  • steps 1 and 2 might take hours
  1. To explore results: $ python model_files/explore.py
  • to print results from included model

Additional utility scrips included for parsing posts and comments

Requirements

python >= 3.4, praw >= 5.2, spacy >= 2.0.3, sklearn >= 0.18.1, numpy >= 1.13.3, nltk >= 3.2.5

License

MIT licensed. See the bundled LICENSE file for more details.

About

Automatic Classification of Persuasive Arguments, RIT, 2017

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages