簡體   English   中英

使用新語料庫重新訓練Word2vec,如何為現有詞匯更新權重?

[英]Word2vec Re-training with new corpus, how the weights will be updated for the existing vocabulary?

Scenerio:使用詞匯V1在語料庫C1上訓練了word2vec模型。 如果我們想使用train()API用另一個具有詞匯V2的語料庫C2重新訓練相同的模型,那么這兩種情況將會發生什么:

  1. 對於模型,將重置V1交叉點V2的權重,並對語料庫C2進行重新訓練,並提供所有新的權重
  2. 對於模型,將使用語料庫V1交叉點V2的現有權重繼續進行語料庫C2的重新訓練。

以上兩個中哪一個是正確的假設?

  1. 如果我正確理解此選項,那么您將重置共享詞的所有權重,然后將其訓練在C2數據上……這意味着丟失了來自C1的共享詞的所有信息,這似乎很大輸給我 (我不知道語料庫的大小)。 另外,兩個語料庫有何不同? 這個十字路口有多大? 語料庫是否涵蓋相似的主題/領域? 這也可能會影響您決定是否丟失來自C1語料庫的所有信息。

  2. 對我來說,這似乎是更合乎邏輯的流程……但是語料庫/詞匯的差異在這里很重要。 如果由於交集而遺漏了C2中的許多單詞,則可以考慮以一種或另一種方式添加未知單詞的方法。

但是,為了評估哪種選擇在您的情況下真正是“最佳”,請創建一個案例,在其中可以衡量一種方法在另一種方法下的“良好”程度。 在大多數情況下,這涉及一些相似性措施……但也許您的情況有所不同。

為什么不使用每次運行隨機生成的數字來初始化每個word2vec參數? 我可以做到這一點,並通過仔細選擇每個參數(numFeatures,contextWindow,seed)的隨機數,我能夠獲得我的用例想要的隨機相似元組。 模擬整體架構。

別人怎么看? 請回復。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM