Emojify!

  • 目的:通过输入目标语句,输出对应的表情
  • 过程:

    • 1、计算句子的平均词向量

      • 传入:目标句子、词向量词典
      • 将目标句子进行分词处理
      • 将每个词的词向量累加并基数,再求平均
      • 输出:输出平均词向量
    • 2、训练模型

      • 传入(训练集,标签集,词向量词典,学习率,迭代次数)
      • 输出(预测的概率集合, softMax权重集合,softMax偏执集合)
    • 3、优化(使用LSTM单元-----可以考虑句子的顺序)

      • 提出问题:深度学习框架需要每个样例的长短一样
      • 解决问题:使用padding(填充)技术,用最长的句子长度作为基准,短句子用0向量填补
  • 词嵌入矩阵是一个层,是一个密集矩阵,获取方式有2种

    • 通过训练模型获得
    • 直接获取预训练好的模型
  • 词嵌入层的输入:(m , maxlen )

    • 是一个整型的列表
    • m对应的是样例的个数
    • Tx对应样例句中的词在词典中的下标(步数)
  • 词嵌入层的输出:(m , maxlen , word demension)

    • The word embeddings = word demension特征个数
    • m,样例的个数
    • 所有词典中单词的个数(unique words)+1(unknown)
    • word dimension,特征个数
    • 数据集中有m个样例,每个样例有单词词典中单词个数+1行,每行存储一个词嵌入向量
    • embedding层的输入维度(词表长度+1)
    • 输出维度(词在词嵌入矩阵中的位置个数,即不存在的词会忽略)
  • 句子转下标函数( X(m,1),词典,句子最大长度)
    ............
    return 整型列表(m,maxlen)

  • 参考:

posted @ 2021-08-09 20:12  Simbanana  阅读(98)  评论(0)    收藏  举报