2017-08-03 120 views
0

我正在爲NLP任務構建TensorFlow模型,並且我正在使用預訓練手套300d單詞矢量/嵌入數據集。初始化詞彙表(OOV)令牌

很明顯,某些標記不能被解析爲嵌入,因爲沒有包含在單詞向量嵌入模型的訓練數據集中,例如,罕見的名字。

我可以用0的向量替換那些標記,但不是將這些信息放在地板上,我更願意以某種方式對它進行編碼,並將其包含到我的訓練數據中。假設我有'raijin'這個單詞,它不能被解析爲嵌入向量,那麼與Glove嵌入數據集一致的最佳編碼方式是什麼?將其轉換爲300d矢量的最佳方法是什麼?

謝謝。

回答

2

代替將所有Out of Vocabulary標記分配給共同的UNK向量(零),最好爲其分配唯一的隨機向量。至少當你發現它們與其他單詞相似時,它們中的每一個都是獨一無二的,模型可以從中學到一些東西。在UNK case中,它們將全部相同,因此所有UNK字詞將被視爲具有相同的上下文。

我試過這種方法,並使用LSTM模型在Quora Duplicate question pair detection數據集上獲得了3%的準確度提高。