机器学习杂乱笔记

https://tensorflow.google.cn/tutorials/representation/word2vec

暂时我们使用 vanilla 定义,将“上下文”定义为目标字词左侧和右侧的字词窗口


通过噪声对比训练进行扩展


神经概率语言模型一直以来都使用最大似然率 (ML) 原则进行训练,以最大限度地提高使用 softmax 函数根据之前的字词 (表示“历史”字词)正确预测出下一个字词 (表示“目标”字词)的概率


在大多数情况下,这对于小型数据集来说是很有用的。但是,skip-gram 将每个上下文-目标对视为一个新的观察对象,当我们使用大型数据集时,skip-gram 似乎能发挥更好的效果。在本教程接下来的部分,我们将重点介绍 skip-gram 模型。


Word2vec 是一种计算效率特别高的预测模型,用于学习原始文本中的字词嵌入。它分为两种类型:连续词袋模型 (CBOW) 和 Skip-Gram 模型


基于计数的方法会计算在大型文本语料库中,一些字词与临近字词共同出现的频率统计数据,然后将这些计数统计数据向下映射到每个字词的小型密集向量。预测模型会根据学到的小型密集嵌入向量(被视为模型的参数),直接尝试预测临近的字词。


向量空间模型 (VSM) 在连续向量空间中表示(嵌入)字词,其中语义相似的字词会映射到附近的点(“在彼此附近嵌入”)。VSM 在 NLP 方面有着悠久而丰富的历史,但所有方法均以某种方式依赖于分布假设,这种假设指明在相同上下文中显示的字词语义相同。利用该原则的不同方法可分为两类:基于计数的方法(例如潜在语义分析)以及预测方法(例如神经概率语言模型)。


图像和音频处理系统采用的是庞大的高维度数据集,对于图像数据来说,此类数据集会编码为单个原始像素强度的向量,对于音频数据来说,则编码为功率谱密度系数


tf.global_variables_initializer().run()

sess = tf.InteractiveSession()

获得以下数据集

([the, brown], quick), ([quick, fox], brown), ([brown, jumped], fox), ...

其中包含多组 (context, target) 对。回想一下,skip-gram 会调换上下文和目标,并尝试根据其目标字词预测每个上下文字词。因此,任务变成根据“quick”预测“the”和“brown”、根据“brown”预测“quick”和“fox”,等等。这样一来,我们的数据集就变成了

(quick, the), (quick, brown), (brown, quick), (brown, fox), ...

对于 word2vec 中的特征学习,我们不需要完整的概率模型。CBOW 和 skip-gram 模型会使用二元分类目标(逻辑回归)进行训练,以在相同上下文中区分实际目标字词 虚构(噪声)字词 。我们在下图中描绘了 CBOW 模型。对于 skip-gram,只需调换方向即可

猜你喜欢

转载自www.cnblogs.com/augustone/p/10469374.html
今日推荐