It is a NLP task in the medical field. Based on doctors' descriptions of CT scans, we need to build models to determine whether anomalies exist in specific areas of the patients' bodies.
For the reason of privacy protection, the text description has already replaced by the number,that is, each unique word is translated into the unique number. the label is just the ID of anomalies areas,if no any anomalies areas, then the label is empty.
For this task, I tried following classical deep learning models and the combination of them.
1.Text-CNN
2.Bi-LSTM
3.Attention
4.Attention+Text-CNN
5.Bi-LSTM+Text-CNN
6.Attention+Bi-LSTM+Text-CNN
Besides, I also compare the performance of each model on both the training set and validation set.Below shows the result.
Feel free to use my model in ./model
for your own project.
If you want to run my code to train and make prediction by yourself,you can simply run the following command:
python main.py --model_name ['cnn'/'rnn'/'attn'/'attn_cnn'/'lstm_cnn'/'attn_lstm_cnn'] --seed 1 --epochs 20 --device 'cpu'
.
Of course, you can change the parameters as you want,for the --model_name argument,you should choose one you want from the above list. For example
--model_name 'cnn'
The final prediction result of test set will be stored in
./pred_out/submission.csv