Word2Vec应该训练多少个时期?什么是推荐的训练数据集?

A. *_*man 4 word2vec tensorflow

我正在使用TensorFlow教程来学习Word2Vec。我为Word2Vec运行的代码也来自TensorFlow教程:https : //github.com/tensorflow/models/blob/master/tutorials/embedding/word2vec_o​​ptimized.py。当我将代码运行15个纪元时,测试准确性约为30%。当我跑100个纪元时,测试准确性高达39%。我正在使用Text8数据集进行训练,并使用questions-words.txt进行评估。

我需要跑更多的时间吗?我应该使用其他数据集吗?如何提高测试准确性?

goj*_*omo 5

数据集越大越好;text8很小,非常小-足以显示字向量的某些类比求解能力,但不足以用于其他目的。

更多的迭代可能有助于从较小的数据集中挤出强度稍强的向量,但收益递减。(在弱数据集上没有任何数量的额外迭代可以提取出更大,更多样化的语料库可以提供的同样丰富的相互关系。)

text9来自同一来源的一个相关信息是,如果我没记错的话,它的大小要大10倍。与使用进行10倍以上的迭代相比,使用它可能会获得更好的评估结果text8

我相信Google曾经发布过300万个预先训练的向量(即GoogleNews集合)是在价值1000亿个单词的新闻文章的语料库上进行训练的,但是只有3次通过。

请注意,单词向量质量没有统一的标准:questions-words.txt类比求解只是一种方便的评估,但是最擅长的单词向量可能不会在您自己的特定领域分析中表现最佳。同样,GoogleNews与更好地匹配您的领域的文本(例如论坛帖子,科学文章等,它们都以不同的方式使用不同的词)相比,在一个文本领域(如新闻报道中的集合)上训练的词向量可能会表现不佳。 。

因此,通常最好使用自己的语料库和针对特定目标的定量评估来帮助调整语料库/参数选择。