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) -
参考:
- 1、split函数--分割字符串。
- 2、np.unique函数,去重并按顺序排列
坚持学习,坚持记录Simbanana

浙公网安备 33010602011771号