itag的baseline之一,一个基于LSTM和LDA的单tag推荐模型。
itag的其他几个baseline都有现成的源码,但这个论文没有,严格来说是没有一个现成可以运行的源码。由于其结构不算复杂,故将其实现了(项目地址)。由于其只是个baseline,外加比较简单,故只进行简单分析。
模型分析
本论文使用了LDA和LSTM对文本进行建模,然后使用attiention机制结合LDA和LSTM输出的编码向量,最后对编码向量使用softmax进行输出,结构图如下:
和原模型不同地方在于,我将LSTM单元替换为了GRU,根据论文Empirical Evaluation of Gated Recurrent Neural Networks on Sequence Modeling的结果来看,除非有必要使用LSTM(例如需要使用LSTM单元的记忆门的值),否则使用GRU的结果通常优于LSTM

计算流程如下:
文本分别送入GRU编码器和LDA模型中(LDA模型是提前进行训练好的),然后将LDA的主题向量和编码器输出的时间步序列输入到注意力层中,计算后进行输出,输出层使用softmax函数。
总结
这个模型的相当于使用LDA对文本的类型进行了一个预判,预判的类别信息可以改善GRU的模型输出结果。另外,不同于通常的基于RNN的文本分类器/单tag推荐任务(它们通常使用最终的state向量进行softmax计算),由于使用了attention,模型最终用于输出tag的信息是时间步序列,这种情况下模型受梯度爆炸/消失的影响较小。