Scenerio:在语料库C1上训练word2vec模型,词汇量为V1。如果我们想要使用train()API将另一个具有词汇表V2的语料库C2重新训练相同的模型,那么将会发生以下两种情况:
上述哪两个是正确的假设?
答案 0 :(得分:0)
如果我正确理解了这个选项,你将重置共享单词的所有权重,然后在C2数据上训练它们......这意味着C1中共享单词的所有信息都会丢失,这对我来说似乎是一个巨大的损失。 (我不知道语料库大小)。另外,这两个语料库有多么不同?这个交叉点有多大?语料库是否涵盖类似的主题/领域?这也可能影响您决定是否丢失C1语料库中的所有信息是否合适。
这对我来说似乎更合乎逻辑......但是语料库/词汇的差异在这里也很重要。如果由于交叉点而遗漏了C2中的大量单词,您可以想办法以这种或那种方式添加未知单词。
但是为了评估哪个选项真的是最好的'在您的情况下,创建一个案例,您可以衡量如何“好”'一种方法是根据另一种方法。在大多数情况下,这涉及一些相似性度量......但也许你的情况不同......
答案 1 :(得分:0)
为什么不使用每次运行随机生成的数字来初始化每个word2vec参数?我可以做到这一点,并通过仔细选择每个参数(numFeatures,contextWindow,seed)的随机数,我能够获得我的用例想要的随机相似元组。模拟整体架构。
别人怎么看?请回答。