I'm applying a naive Bayesian classifier to a set of clauses from privacy policies and terms-of-service that have been rated by the crowd as 'good', 'bad' or 'neutral'. There are various different topics and the classifier works on a per-topic basis. The classify.py script uses clauses on copyright as an example, but the same principles apply to other clauses.
The data is taken from tosdr.org, specifically what's contained in /points. This can be extracted using the getpointsdata.py script.
If this approach works, it could give an automatic score to any privacy policy / terms-of-service text. No one has time to read these texts, so an automated guess as to how good or bad they are, even if it is imperfect, could be quite useful.
See also Ammar et al, 2012
In order to play with the scripts in this repository you need to have scikit-learn and pandas installed.
To actually get the data first clone the repository to a destination you like and then run
git submodule init
which will initalize the tosdr.org submodule. After that you can run
git submodule update
which will in turn get the latest data.
To generate the dataset we use run python getpointsdata.py
.