1

我正在使用https://github.com/tensorflow/tensorflow/blob/r1.2/tensorflow/examples/tutorials/word2vec/word2vec_basic.py中的 word2vec_basic ,我有一些(一般)问题。

我应该如何确定num_steps?在示例中,它设置为 100001。

askip_window是 5 还是应该更大(10、25)?

此外,是否应该从训练数据集中删除停用词和标点符号,是否应该将所有单词转换为小写?

谢谢。

4

1 回答 1

1

通常,模型越多num_steps,模型越好。您可以从 的一个值开始num_steps,并将其用作针对不同值的基准。您可以绘制lossvsnum_steps并查看在某个参数阈值之后您的损失是否真的减少了num_steps

选择skip_window取决于您选择的数据集类型。如果窗口大小为 5 可以捕获单词的上下文,但如果选择 10,则会降低学习模型的质量,反之亦然。

让我们举个例子。考虑以下句子 - “Tensorflow 程序员机器学习的伟大框架”。如果窗口大小为2,那么词' Tensorflow '的向量直接受到词' great '和' framework '的影响,但如果窗口大小为5,则' Tensorflow '可以直接受到多两个词的影响——''和'机器学习'。因此,它将拉近两个词的向量。

而且,就停用词而言,我建议删除停用词和标点符号并将单词转换为小写,因为它们会给数据集添加噪音并且对上下文单词没有太大的重要性。

您可以查看此链接以更好地了解 Google 用于训练 word2vec 模型的数据。

于 2017-06-24T13:26:19.110 回答