counterfacto

small software tool to analyze twitter and highlight counterfactual statements
git clone git://parazyd.org/counterfacto.git
Log | Files | Refs | README | LICENSE

README.md (3284B)


      1 Counterfacto
      2 ============
      3 
      4 Counterfactual (noun)
      5 
      6 Definition: the tendency to create possible alternatives to life events
      7 that have already occurred; something that is contrary to what actually
      8 happened.
      9 
     10 Effects: it starts off with disappointment, then one will be able to
     11 uncover insights or knowledge that can be used to enhance future
     12 performance, leading to a better outcome in life.
     13 
     14 -----------------------------------------------------------------------
     15 
     16 Counterfacto is a small software tool that can analyse search results
     17 on twitter to highlight counterfactual statements on certain topics.
     18 
     19 This tool is used by PIEnews.eu researchers for sentiment analysis
     20 about poverty and other related topics, to understand actual stories
     21 elaborated as counterfactual.
     22 
     23 We deem such a tool as a useful experiment, considering the importance
     24 of counterfactual analysis for political sentiment assessments and
     25 focus on news stories.
     26 
     27 Dependencies
     28 ------------
     29 
     30 Python is required along the following packages:
     31 
     32 ```
     33 python-twitter python-nltk
     34 ```
     35 
     36 Your distro may have an outdated nltk (less than 3.2) without the
     37 perceptron module, in that case an update from `pip` is needed:
     38 
     39 ```
     40 pip install nltk --upgrade
     41 ```
     42 
     43 After installing the necessary python modules, run `make`, which will
     44 then download the needed data for nltk, and tell you how to use your
     45 twitter credentials in counterfacto
     46 
     47 Running the web edition of counterfacto
     48 ---------------------------------------
     49 
     50 To run counterfacto along with its web interface, you will need
     51 additional dependencies:
     52 
     53 ```
     54 python-flask
     55 ```
     56 
     57 Usage
     58 -----
     59 
     60 ```
     61 usage: ./counterfacto [-a account] [-f tweetfile] [-s searchterm]
     62 ```
     63 
     64 The web interface can be ran with (port defaults to 5000):
     65 
     66 ```
     67 usage: ./counterfacto-web [-p port]
     68 ```
     69 
     70 References
     71 ----------
     72 
     73 * [Learning Representations for Counterfactual Inference (2016)](http://jmlr.org/proceedings/papers/v48/johansson16.pdf)
     74 * [Bounding and Minimizing Counterfactual Error (2016)](https://arxiv.org/abs/1606.03976)
     75 * [Counterfactuals in the Language of Social Media: A Natural Language Processing Project in Conjunction with the World Well Being Project (2015)](http://www.seas.upenn.edu/~cse400/CSE400_2015_2016/reports/report_15.pdf)
     76 
     77 Licensing
     78 ---------
     79 
     80 Counterfacto is Copyright (C) 2016-2017 by the Dyne.org Foundation
     81 as part of the PIEnews project
     82 
     83 Software written by Ivan J. <parazyd@dyne.org>
     84 with contributions by Denis Roio <jaromil@dyne.org>
     85 
     86 This source code is free software; you can redistribute it and/or
     87 modify it under the terms of the GNU Public License as published by the
     88 Free Software Foundation; either version 3 of the License, or (at your
     89 option) any later version.
     90 
     91 This source code is distributed in the hope that it will be useful, but
     92 WITHOUT ANY WARRANTY; without even the implied warranty of
     93 MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  Please refer to
     94 the GNU Public License for more details.
     95 
     96 You should have received a copy of the GNU Public License along with
     97 this source code; if not, write to: Free Software Foundation, Inc.,
     98 Mass Ave, Cambridge, MA 02139, USA.
     99 
    100 This project has received funding from the European Union’s Horizon 2020
    101 Programme for research, technological development and demonstration under
    102 grant agreement nr. 687922