Implement CRF by hand based on 2 POS datasets
- install virtualenv
- run
pip install -r requirements.txt
- P1: run
python P1.py <train file>
- P2: run
python P2.py <train file> <dev in file> <dev out file>
- P3: run
python P3.py <train in file>
- P4: run
python P3.py <train file> <dev in file> <dev out file>
- P5 Bert: run
python bert.py <train file> <dev in file> <dev out file> <lang>
, lang is "EN" or "ES"
- P5 Bi-LSTM-CRF: run
python bilstm-crf.py <train file> <dev in file> <dev out file> <lang>
, lang is "EN" or "ES"
- P5 attention model: run
python transformers.py <train file> <dev in file> <dev out file> <lang>
, lang is "EN" or "ES"
Metrics |
EN |
ES |
# Entity in gold data |
210 |
235 |
# Entity in prediction |
35 |
21 |
# Correct Entity |
22 |
6 |
Entity precision |
0.6286 |
0.2857 |
Entity recall |
0.1048 |
0.0255 |
Entity F |
0.1796 |
0.0469 |
# Correct sentiment |
14 |
6 |
Sentiment precision |
0.4000 |
0.2857 |
Sentiment recall |
0.0667 |
0.0255 |
Sentiment F |
0.1143 |
0.0469 |
Metrics |
EN |
ES |
# Entity in gold data |
210 |
235 |
# Entity in prediction |
158 |
156 |
# Correct Entity |
118 |
125 |
Entity precision |
0.7468 |
0.8013 |
Entity recall |
0.5619 |
0.5319 |
Entity F |
0.6413 |
0.6394 |
# Correct sentiment |
84 |
104 |
Sentiment precision |
0.5316 |
0.6667 |
Sentiment recall |
0.4000 |
0.4426 |
Sentiment F |
0.4565 |
0.5320 |