What-什么是LSTM和BiLSTM?
LSTM:全称Long Short-Term Memory,是RNN(Recurrent Neural Network)的一种。LSTM由于其设计的特点,非常适合用于对时序数据的建模,如文本数据。
BiLSTM:Bi-directional Long Short-Term Memory的缩写,是由前向LSTM与后向LSTM组合而成。
可以看出其很适合做上下有关系的序列标注任务,因此在NLP中常被用来建模上下文信息。
我们可以简单理解为双向LSTM是LSTM的改进版,LSTM是RNN的改进版。
(这里简单说一下RNN,熟悉的可以直接跳过。RNN的意思是,为了预测最后的结果,我先用第一个词预测,当然,只用第一个预测的预测结果肯定不精确,我把这个结果作为特征,跟第二词一起,来预测结果;接着,我用这个新的预测结果结合第三词,来作新的预测;然后重复这个过程;直到最后一个词。这样,如果输入有n个词,那么我们事实上对结果作了n次预测,给出了n个预测序列。整个过程中,模型共享一组参数。因此,RNN降低了模型的参数数目,防止了过拟合,同时,它生来就是为处理序列问题而设计的,因此,特别适合处理序列问题。LSTM对RNN做了改进,使得其能够捕捉更长距离的信息。但是不管是LSTM还是RNN,都有一个问题,它是从左往右推进的,因此后面的词会比前面的词更重要。因此出现了双向LSTM,它从左到右做一次LSTM,然后从右到左做一次LSTM,然后把两次结果组合起来。)