word2vec(CBOW)简易实现_基于Pytorch
数据集是老朋友莎士比亚,正则化的方法用的是之前两篇博客提到的方法。
cbow基于分布式假设,用上下文来预测中心词。然后截取模型中间的隐层输出用来做词嵌入。
感想:参考了《深度学习进阶:自然语言处理》的第三章 ,不过人家不是拿pytorch实现的,代码更加底层,可读性也比我这好很多。写了一下午,本来觉得挺简单的,但是模型设计那边还是弄了很长时间。不能在模型类里定义两个方法,不然会发生未知错误,只能有forward方法,原因未知。one_hot接受LongTensor,Linear接受float,注意tensor的数据类型和维度。