You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+4-5Lines changed: 4 additions & 5 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -75,7 +75,7 @@ It included 3 phases. In the first 2 the models for the text and non-text inputs
75
75
* a "homegrown" embeddings layer with Conv1D
76
76
* a pre-trained embeddings layer with Conv1D
77
77
* the top 2 models were then regularised in order for them to generalise better on unseen data
78
-
* at the end the best performing model with regularisation on the test data was the bag-of-words with both l2 & dropout
78
+
* at the end the best performing model with regularisation was the bag-of-words with dropout
79
79
80
80
[Product Type Model](https://github.com/Iskriyana/nlp-product-sentiment-classification/blob/master/notebooks/02_processing/02_2_Product_Type_Model.ipynb) - a simple fully connected neural network was used for this part
81
81
@@ -86,22 +86,21 @@ It included 3 phases. In the first 2 the models for the text and non-text inputs
86
86
* The main metric was the F1-score due to the imbalanced nature of the data set.
87
87
88
88
#### Text Part (NLP)
89
-
* The bag-of-words with both l2 regularisation and dropout turned out to be the best model when it comes to F1 62% on the test data.
89
+
* The bag-of-words with dropout turned out to be the best model. It achieved 64% F1 score on the test data.
90
90
* My expectations were that a model with pre-trained embeddings in combination with an LSTM or Conv1D will outperform the rest.
91
91
* My reasoning was that the pre-trained embeddings will enforce the generalisation while an LSTM or Conv1D will help capture the text sequence.
92
92
* However, it turned out:
93
93
* that for this particular data set "homegrown" embeddings are better than pre-trained. This can be explained by the small amount of data and the tech concentrated nature of the text descriptions. These "specificities" were better captured by training the data's own embeddings (that is why also "homegrown").
94
94
* that bag-of-words is better than any model with embeddings. This for me was the biggest surprise. After a discussion with a mentor of mine an explanation can be that due to the short length of the text descriptions and relatively "loose" way of writing them, semantics and text structure do not play a significant role. Much more important is, if a word is present, which is what bag-of-words captures.
95
95
96
96
#### Non-Text Part
97
-
* The Model achieves 72% F1 on test data
97
+
* The Model achieved 44% F1 on the test data
98
98
* This is not a very good result and is to be explained mostly by the fact that there is only one feature and little data
99
99
* However, it is still much better than the baseline model
100
100
* Therefore, the model was picked to be used in the multi-input model
101
101
102
102
#### Multi-Input Model
103
-
* A F1-score of 64% was achieved on the test data.
104
-
* Furthermore the graphs visualising the training and validation loss show that it generalises well - no significant gap between them
103
+
* A F1-score of 62% was achieved on the test data.
105
104
* The results on the final test set show a room for improvement.
106
105
* Given all the limitations, however, it is still a good enough performance (and better than the baseline)
0 commit comments