/NLP-ArgumentationMining

Text argument extraction

Primary LanguagePython

Extraction of Argumentative Elements from Text

About / Synopsis

  • Argumentation mining is a research field in Natural Language Processing. The objective is to automatically extract and identify argumentative structures from a natural language text. This project provides notebooks aiming to solve that task.
  • Project status: Completed
  • This project was presented at INSAT university as end of year project.

How to run it?

  • You can run it with google colab plateform by click its icon on the notebook. Note: we recommend using GPU for faster proceessing.
  • You can also run them local with jupyter but you need to pay attention to the diffrent packages and requirements.

Usage

Screenshots

image

Features

As highlighted in the above image the task is solved using that pipeline :

  • Argument detection phase.
  • Argument Classification phase.

The notebooks showcase various NLP ecniques that were used on the embedding level as well as the model. Word2Vec, Fastext, RNNs, CNNs, Naive Bayes to name a few.

Code

Content

nlp-pipeline

Our notebooks follow the classical NLP pipeline, we tried to test a set of techniques for each step in each notebook.

To better understand our data, you can run the EDA notebook.

Example : the feature engineering notebook is good example following those steps with diffrent models running.

Results

Model f1-score
BiLSTM+PoS 0.7703
SimpleBiLSTM 0.7626
Random Forest 0.73

Limitations

  • Due to hardware limitations we couldn't run complex models such as Transformers namely Bert.
  • Due to time constraints we didn't finish the deployement phase, we focused all of our efforts on building rebost models.

Resources (Documentation and other links)

We provide useful link that can help you with understanding this project :

  • You can find a link for the project report with in length details here
  • You can find the dataset here

Contributors

Achraf Trabelsi

Chedly ben Azizi