Project for NLU at the University of Trento A.Y.2023/2024
Developed by:
De Martini Davide
This project aimed to introduce the main tasks of Natural Language Understanding field.
- Build a Neural Language Model from an LSTM and use some regularization techniques in order to get better results.
- Intent classification and Slot Fillling
- At first with LSTM
- Then done with BERT
- Use BERT for 'Aspect Based Sentiment Analysis', only the part of term extraction is done
In each folder is present a report that outlines better the tasks.
basic_nlu_tasks
├── LM
│ ├── part_1
│ │ ├── dataset
│ │ ├── functions.py
│ │ ├── main.py
│ │ ├── model.py
│ │ ├── README.md
│ │ └── utils.py
│ └── part_2
├── NLU
│ ├── part_1
│ └── part_2
├── nlu_env.yaml
├── README.md
├── requirements.txt
└── SA
└── part_1
- LM: Language models
- NLU: Slot filling and intent recognition
- SA: Aspect extraction for Sentiment Analyisis
In order to run the project you'll need to clone it and install the requirements. We suggest you to create a virtual environment
-
Clone it
git clone https://github.com/davidedema/basic_nlu_tasks
-
Create the env, in this case with conda but venv could be also used:
conda env create -f nlu_env.yaml -n nlu24 conda activate nlu24
In order to run the examples enter in the folder of the task and run the main.py
file