Which machine learning algorithm is designed to handle sequential data and has been widely used in speech recognition and natural language processing?
a) Convolutional Neural Network (CNN)
b) Long Short-Term Memory (LSTM)
c) Support Vector Machines (SVM)
d) k-Nearest Neighbors (k-NN)