Natural Language Processing for Complex Tasks: Challenges and Solutions for Small Datasets in the Era of Deep Learning