为了能够使用TextCNN获得非常好的结果,你还需要仔细阅读此论文“用于句子分类的卷积神经网络灵敏度分析(和从业者指南)”(A Sensitivity Analysis of (and Practitioners' Guide to) Convolutional Neural Networks for Sentence Classification),它可以帮助你了解一些影响性能的相关见解。当然,你还需要根据具体任务来更改某些设置。 3.文本循环神经网络(Text RNN) 结构:降维--->双向lstm ---> concat输出--->平均 -----> softmax 查看:p8_Text RNN_model.py 4.双向长短期记忆网络文本关系(BiLstm Text Relation) 结构与Text RNN相同。但输入是被特别设计的。例如:输入“这台电脑多少钱?笔记本电脑的股票价格(how much is the computer? EOS price of laptop)”。“EOS”是一个特殊的标记,将问题1和问题2分开。 查看:p9_BiLstm Text Relation_model.py 5.两个卷积神经网络文本关系(two CNN Text Relation) 结构:首先用两个不同的卷积来提取两个句子的特征,j2直播,然后连接两个功能,使用线性变换层将投影输出到目标标签上,然后使用softmax。 查看:p9_two CNN Text Relation_model.py 6.双长短期记忆文本关系双循环神经网络(BiLstm Text Relation Two RNN) 结构:一个句子的一个双向lstm(得到输出1),另一个句子的另一个双向lstm(得到输出2)。那么:softmax(输出1 M输出2) 查看:p9_BiLstm Text Relation Two RNN_model.py 有关更多详细信息,你可以访问:《Deep Learning for Chatbots》的第2部分—在Tensorflow中实现一个基于检索的模型(Implementing a Retrieval-Based Model in Tensorflow) 7.循环卷积神经网络(RCNN) 用于文本分类的循环卷积神经网络。 《用于文本分类的循环卷积神经网络》(Recurrent Convolutional Neural Network for Text Classification)论文的实现。 结构:1)循环结构(卷积层)2)最大池化3)完全连接层+ softmax 它用左侧文本和右侧文本学习句子或文档中的每个单词的表示: 表示当前单词= [left_side_context_vector,current_word_embedding,right_side_context_vecotor]。 对于左侧文本,它使用一个循环结构,前一个单词的非线性转换和左侧上一个文本;类似于右侧文本。 查看:p71_TextRCNN_model.py 8. 分层注意网络(Hierarchical Attention Network) 《用于文档分类的分层注意网络》(Hierarchical Attention Networks for Document Classification)论文的实现。 结构: 1)降维 2.词编码器:词级双向GRU,以获得丰富的词汇表征 3.次注意:词级注意在句子中获取重要信息 4.句子编码器:句子级双向GRU,以获得丰富的句子表征 5.句子注意:句级注意以获得句子中的重点句子 6.FC + Softmax 数据输入: 一般来说,这个模型的输入应该是几个句子,而不是一个句子。形式是:[None,sentence_lenght]。其中None意味着batch_size。 在我的训练数据中,对于每个样本来说,我有四个部分。每个部分具有相同的长度。我将四个部分形成一个单一的句子。该模型将句子分为四部分,形成一个形状为:[None,num_sentence,sentence_length]的张量。其中num_sentence是句子的个数(在我的设置中,其值等于4)。 查看:p1_HierarchicalAttention_model.py 9. 具有注意的Seq2seq模型 具有注意的Seq2seq模型的实现是通过《共同学习排列和翻译的神经机器翻译》来实现的。 一、结构: 1)降维 2)bi-GRU也从源语句(向前和向后)获取丰富的表示。 3)具有注意的解码器。 二、数据输入: 使用三种输入中的两种: 1)编码器输入,这是一个句子; 2)解码器输入,是固定长度的标签列表; 3)目标标签,它也是一个标签列表。 例如,标签是:“L1 L2 L3 L4”,则解码器输入将为:[_ GO,L1,L2,L2,L3,_PAD];目标标签为:[L1,L2,L3,L3,_END,_PAD]。长度固定为6,任何超出标签将被截断,如果标签不足以填补,将填充完整。 三、注意机制: 1.传输编码器输入列表和解码器的隐藏状态 2. 计算每个编码器输入隐藏状态的相似度,以获得每个编码器输入的可能性分布。 3. 基于可能性分布的编码器输入的加权和。 通过RNN Cell使用这个权重和解码器输入以获得新的隐藏状态 四、Vanilla E编码解码工作原理: 在解码器中,源语句将使用RNN作为固定大小向量(“思想向量”)进行编码: (责任编辑:本港台直播) |