Keras'ta kullanmak için eğitilmiş bir kelime yerleştirmede (Gensim) bilinmeyen kelimeler

Dec 19 2020

GENSIM (word2vec) kullanarak bir kelime gömme eğitimi veriyorum ve eğitimli modeli KERAS'ta bir sinir ağında kullanıyorum. Bilinmeyen (kelime dağarcığı dışında) bir kelimeye sahip olduğumda bir problem ortaya çıkıyor, bu yüzden sinir ağı artık çalışmıyor çünkü o belirli kelime için ağırlık bulamıyor. Sanırım bu sorunu çözmenin bir yolu <unk>, sıfır ağırlıklarla (veya belki rastgele ağırlıklarla? Hangisi daha iyi?) Önceden eğitilmiş kelimeye yeni bir kelime ( ) eklemektir. Bu yaklaşım iyi mi? Ayrıca, bu kelime gömme için, ağırlıklar bu sinir ağında eğitilemez.

Yanıtlar

1 gojomo Dec 20 2020 at 04:17

En tipik olanı, bilinmeyen kelimeleri görmezden gelmektir. (Bunları bir eklenti kelime veya başlangıç ​​vektörüyle değiştirmek daha çarpıtıcıdır.)

Bunun FastTextyerine, eğitim sırasında oluşturulan karakter-n-gram vektörlerinden kelime dışı bir kelime için her zaman bazı tahmin vektörleri sentezleyecek bir mod eğitmeyi de düşünebilirsiniz . (Bu sentetik vektörler genellikle hiç yoktan iyidir, özellikle bir kelime ilişkili kelimelerle örtüşen kelime köklerine sahipse - ancak ilgili tüm kelime kullanımlarının örnekleriyle daha fazla eğitim verisi almak daha iyidir ve sadece nadiren bilinmeyen kelimeleri göz ardı etmek o kadar da kötü değildir.)