torchtext Use pre-trained embedding
这里可以参照这个代码:
https://github.com/JinYang88/Emoji-Prediction/blob/master/src/datahelper.py
(这里只是用自己的embedding, 比如word hashing, 比如lstm的hidden layer的输出等等, 因为如果Glove 或者 word2vec应该有一些更完备的API;
还有一个包我没用过:https://github.com/iamalbert/pytorch-wordemb
)
基本思路就是,先自己建立{'word': vector}
的dict
然后用上述代码中的 vocab_to_matrix
建立一个wordvec_matrix
然后在自己的nn的类的初始化函数里:
V = args.embedding_num
D = args.embedding_length
self.embedding = nn.Embedding(V, D)
self.embedding.weight.data.copy_(wordvec_matrix)
如果来一个query,对这个query的每一个词的embedding就是:
query = self.embedding(query)
关于DL可解释性的讨论
https://zhuanlan.zhihu.com/p/30074544
可以去看看这个博客以及下面的讨论,我觉得思路很好
想到NLP和CV的区别,如果说图像,确实人可能没有理解的那么深刻,因为图像上的东西毕竟属于大自然。
但是NLP,语言是人创造出来的东西,如果想要让机器理解语言,就要按照人的思路走,所以NN的可解释性可能就要重要一些。
网友评论