[英]Word2vec Re-training with new corpus, how the weights will be updated for the existing vocabulary?
Scenerio:使用詞匯V1在語料庫C1上訓練了word2vec模型。 如果我們想使用train()API用另一個具有詞匯V2的語料庫C2重新訓練相同的模型,那么這兩種情況將會發生什么:
以上兩個中哪一個是正確的假設?
如果我正確理解此選項,那么您將重置共享詞的所有權重,然后將其訓練在C2數據上……這意味着丟失了來自C1的共享詞的所有信息,這似乎很大輸給我 (我不知道語料庫的大小)。 另外,兩個語料庫有何不同? 這個十字路口有多大? 語料庫是否涵蓋相似的主題/領域? 這也可能會影響您決定是否丟失來自C1語料庫的所有信息。
對我來說,這似乎是更合乎邏輯的流程……但是語料庫/詞匯的差異在這里很重要。 如果由於交集而遺漏了C2中的許多單詞,則可以考慮以一種或另一種方式添加未知單詞的方法。
但是,為了評估哪種選擇在您的情況下真正是“最佳”,請創建一個案例,在其中可以衡量一種方法在另一種方法下的“良好”程度。 在大多數情況下,這涉及一些相似性措施……但也許您的情況有所不同。
為什么不使用每次運行隨機生成的數字來初始化每個word2vec參數? 我可以做到這一點,並通過仔細選擇每個參數(numFeatures,contextWindow,seed)的隨機數,我能夠獲得我的用例想要的隨機相似元組。 模擬整體架構。
別人怎么看? 請回復。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.