我刚刚学习了跳过语法模型,但是不确定我的理解是否正确。
这是我的理解:
skip-gram模型中有两个独立的部分:
给出一个句子(作为训练示例),我们找到“单词对”的集合。
查找单词对的方法是:
对于句子中的每个单词,我们将其视为中心单词。对于每个中心词,我们找到在给定窗口(超参数)内的N个上下文词。然后,对于单个中心词,我们有N个看起来像(中心词,上下文词)的词对
根据给定的文本,我们找到一个词汇集,它是一组大小为M的单词。假设特征空间的维数为d(这是一个超参数),我们构造了两个矩阵A和B。>
A = (c_1, c_2, ..., c_M)
和B = (e_1, e_2, ..., e_M)
都是d by M
矩阵。矩阵A将每个单词的表示形式存储在单词中心时,矩阵B将每个单词的表示形式存储在上下文单词中。通过取内积,对于中心词i,我们将获得内积向量inner = (c_i^{T}e_1, c_i^{T}e_2, ..., c_i^{T}e_M)^{T}
。
然后用于构造目标函数(对于中心词i),我们应该在步骤1中使用构造的词对来确定应考虑列向量inner
的哪些条目。 (我省略了softmax的部分)
我的理解正确吗?任何建议表示赞赏。