iPieter / ad-hominem-detection

🤬 Web demo and research code for the paper "Computational Ad Hominem Detection"

Home Page:https://people.cs.kuleuven.be/~pieter.delobelle/computational-ad-hominem-detection/

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Detecting ad hominem attacks

This project was for the 2018-2019 course 'Knowledge and the Web' at KU Leuven.

The term "fake news" is associated with journalism that deliberately spreads deceitful or inaccurate information. In the past years, the use of the term has increased drastically, interfering in major areas within a community. The importance is such that Italian schools have implemented "fake news detection" as part of the school curriculum. In the political sphere, it is not uncommon to see allegations of fake news and misinformation. Those calls that often target sources, reporters and organizations, instead of assessing the arguments themselves. This paper will discuss the possibility to detect fallacies, primarily on the ad hominem. Ad hominem literally means "to the person", and the term is used when an argument directs to the person instead of assessing the argument itself.

The datasets are sourced from UKPLab/argotario and UKPLab/naacl2018-before-name-calling-habernal-et-al.

Classifier

During the project, several classifiers and network architectures were reviewed. The results are incorporated in the paper. The final, best performing network is a bidirectional GRU neural network, with the following features:

These features are combined into a classification network, resulting in a labeling as ad hominem or no ad hominem.

Network description

The network had the following confusion matrix as output, when it was trained on X and tested on 8018 paragraphs.

Confusion matrix

Getting started with the project

Running the backend server

This project uses Pipenv. So start with to create a virtual folder on your machine.

pipenv install

Afterwards, use:

pipenv shell

And if you want to exit the env, use:

exit

Running the frontend

# install dependencies
npm install

# serve with hot reload at localhost:8080
npm run dev

# build for production with minification
npm run build

For detailed explanation on how things work, consult the docs for vue-loader.

About

🤬 Web demo and research code for the paper "Computational Ad Hominem Detection"

https://people.cs.kuleuven.be/~pieter.delobelle/computational-ad-hominem-detection/


Languages

Language:Jupyter Notebook 95.9%Language:TeX 1.8%Language:Python 1.0%Language:Vue 0.9%Language:R 0.2%Language:HTML 0.1%Language:JavaScript 0.1%