2 回答

TA貢獻1829條經(jīng)驗 獲得超9個贊
您可以使用FastText而不是 Word2Vec。FastText 能夠通過查看子詞信息(字符 ngrams)來嵌入詞匯外的詞。Gensim還有一個FastText實現(xiàn),非常好用:
from gensim.models import FastText
model = FastText(sentences=training_data, size=128, ...)
word = 'hello' # can be out of vocabulary
embedding = model[word] # fetches the word embedding

TA貢獻1871條經(jīng)驗 獲得超8個贊
Doc2Vec
與普通的平均詞向量相比,通常文本向量的有用性非常相似(或者在調(diào)整后更好一些)。(畢竟,算法非常相似,處理相同數(shù)據(jù)的相同形式,并且創(chuàng)建的模型大小大致相同。)如果出現(xiàn)大幅下降,則您的Doc2Vec
過程可能存在錯誤。
正如@AnnaKrogager 指出的那樣,F(xiàn)astText 可以通過使用單詞片段合成猜測向量來處理詞匯外的單詞。(這需要單詞具有這種共享詞根的語言。)向量可能不是很好,但通常比完全忽略未知單詞或使用全零向量或隨機插入向量要好。
在進程之間拆分它是否有助于運行時?因為向子進程和從子進程發(fā)送批處理工作有很多開銷,而 Python 中的子進程會導(dǎo)致內(nèi)存需求激增——而且這種開銷甚至虛擬內(nèi)存交換都可能超過并行性的任何其他好處.
添加回答
舉報