【问题标题】:How does word embedding/ word vectors work/created?词嵌入/词向量如何工作/创建?
【发布时间】:2018-02-14 19:31:02
【问题描述】:

word2vec 如何为单词创建向量?我使用两个不同的文件(来自 commoncrawl 网站)训练了两个 word2vec 模型,但是我从两个模型中得到了给定单词的相同单词向量。

实际上,我已经使用来自 commoncrawl 网站的不同文本文件创建了多个 word2vec 模型。现在我想检查一下哪种型号更好。如何从所有这些模型中选择最好的模型?为什么我会为不同的模型得到相同的词向量?

对不起,如果问题不清楚。

【问题讨论】:

    标签: neural-network nlp deep-learning gensim word2vec


    【解决方案1】:

    如果您从从不同文本语料库准备的模型中获得相同的词向量,则您的过程中可能有问题。您可能根本没有进行任何培训,可能是因为如何将可迭代的文本提供给 Word2Vec 类存在问题。 (在这种情况下,词向量将保持其初始的、随机初始化的值。)

    您应该启用日志记录,并仔细查看日志以查看在此过程中显示的字数、示例、进度和增量进度的合理计数。您还应该检查一些表面的、临时检查的结果在训练后看起来是否合理。例如,model.most_similar('hot') 是否返回类似于“热”的其他词/概念?

    一旦你确定模型是在不同的语料库上训练的——在这种情况下,它们的词向量应该彼此非常不同——决定哪个模型“最好”取决于你对词向量的具体目标。

    您应该设计一种可重复的定量方法来根据您的预期最终用途评估模型。这可能从您自己对结果的一些手动审查开始,例如查看most_similar() 结果中的重要词以获得更好/更差的结果——但应该变得更广泛。随着项目的进展,严谨和自动化。

    这种自动评分的一个例子是 gensim 的词向量对象上的 accuracy() 方法。见:

    https://github.com/RaRe-Technologies/gensim/blob/6d6f5dcfa3af4bc61c47dfdf5cdbd8e1364d0c3a/gensim/models/keyedvectors.py#L652

    如果提供了特定格式的词类比文件,它将检查词向量解决这些类比的能力。例如,Google 最初的word2vec 代码发布的questions-words.txt 包括他们用来报告矢量质量的类比。但请注意,最适合某些目的的词向量,例如理解文本主题或情感,可能也不是解决这种类比风格的最佳选择,反之亦然。如果训练你自己的词向量,最好根据你自己的目标特定标准来选择你的训练语料库/参数,以确定什么是“好”向量。

    【讨论】:

    • 我已启用调试日志,但我正在低于日志。 WARNING : train() called with an empty iterator (if not intended, be sure to provide a corpus that offers restartable iteration = an iterable). 这个也是。 worker exiting, processed 0 jobs我在这里遗漏了什么吗?下面是我的代码。 ` model = gensim.models.Word2Vec(iter=3, min_count=1000, size=256, workers=16, window=15, max_vocab_size=15000000) 句子 = Sentences(docs) model.build_vocab(sentences) 句子 = Sentences(docs ) model.train(sentences,total_words=15000000,epochs=5) `
    • 您的Sentences 类可能没有提供可重新启动的可迭代集合——相反,它可能是一个简单的迭代器,它可以返回每个项目一次但随后为空。您应该仔细检查它的代码并在将其传递给Word2Vec 之外对其进行测试。 (如果您需要添加更多代码详细信息,您可能希望通过编辑您的问题来做到这一点,它可以很好地格式化,而不是在这些有限的 cmets 中。)
    • 查看其他 SO 答案以了解有关 iterable-vs-iterator 的更多信息:stackoverflow.com/questions/9884132/…
    猜你喜欢
    • 2015-02-18
    • 2020-10-23
    • 2019-09-16
    • 2017-03-13
    • 2018-08-22
    • 2019-02-24
    • 1970-01-01
    • 2017-11-30
    • 2018-12-16
    相关资源
    最近更新 更多