【NLP】词向量 笔记

目的:记录自己感觉经常忘的部分、和理解不深的知识点

Skip-Gram

【参考:Skip-Gram模型_skipgram模型_Irelia.的博客-CSDN博客】

注意数据构建方式

【NLP】词向量 笔记_第1张图片
先把句子分词转成onehot,然后送入模型。

训练方式是 经过两个 隐藏层

训练结束后 第一个隐藏层就是 词向量矩阵

class Word2Vec(nn.Module):
    def __init__(self,word_size,embedding_num):
        super().__init__()
        self.w1 = nn.Linear(word_size,embedding_num)
        self.w2 = nn.Linear(embedding_num,word_size)
        self.loss_fun = nn.CrossEntropyLoss()

    def forward(self,x,label):
        h = self.w1(x)
        p = self.w2(h)
        loss = self.loss_fun(p,label)
        return loss

负采样

【参考:词向量模型skip-gram以及负采样技术图解_有梦想的咸鱼lzj的博客-CSDN博客】

为了将正确标签与其他标签分离开来,我们无需每次都计算所有标签,而是只计算正确标签和一部分其他标签,即从错误标签中随机选取部分,与正确标签作为对照,以将正确标签从其他标签中分离,这就是负采样技术。

【NLP】词向量 笔记_第2张图片

你可能感兴趣的:(NLP,自然语言处理,深度学习,机器学习)