我需要在使用gensim的推文上訓練word2vec表示。與我在gensim上看到的大多數教程和代碼不同,我的數據不是原始數據,而是已經過預處理。我在包含65k字(包括「未知」標記和EOL標記)的文本文檔中包含字典,並且將推文保存爲具有索引的numpy矩陣到本字典中。的數據格式的一個簡單的例子可以看出以下:Gensim word2vec在預定義詞典和詞索引數據
dict.txt
you
love
this
code
鳴叫(5是未知的,圖6是EOL)
[[0, 1, 2, 3, 6],
[3, 5, 5, 1, 6],
[0, 1, 3, 6, 6]]
我不確定我應該如何處理指數表示。一個簡單的方法就是將索引列表轉換爲一個字符串列表(即[0,1,2,3,6] - > ['0','1','2','3','6 ']),因爲我將它讀入word2vec模型。然而,這必然是低效的,因爲gensim會嘗試查找用於例如'2'。
如何使用gensim以有效的方式加載這些數據並創建word2vec表示?
我可以確認我不能簡單地將整數輸入到模型中。正如原文中所述(可能不夠清楚),它只需將整數映射到字符串即可工作。 – pir
出於好奇,你會如何濾除2D numpy數組中的'5'和'6'?每行應始終具有相同的大小。當遍歷矩陣將其提供給word2vec時,它可以完成,但這似乎效率很低。 – pir