Thank you so much for the detailed answer.
I relabeled my text to have negative sentiment as 2 instead of -1, which should be fine, right?
A couple of more questions if I may:
1-  What does having input_length in the Embedding layer do in my case? Is it necessary or would it be redundant? From the documentation, they say it’s only necessary if I have a Flatten layer after the Embedding layer, which I’m assuming I don’t need here?
2-  Is the SparseCategoricalCrossentropy I used here correct? I’m having a bit of difficulty choose this over CategoricalCrossentropy.
3-  Would BatchNormalization help here and where would it fit? I’ve see examples where it sits just before the first BiLSTM layer.