Performans açısından Word gömme algoritmaları


11

Kabaca 60 milyon ibareyi bir vektör boşluğuna yerleştirmeye çalışıyorum , sonra aralarındaki kosinüs benzerliğini hesaplıyorum . Ben sklearn's CountVectorizerunigram ve bigram üreten özel inşa tokenizer fonksiyonu ile kullanıyorum. Anlamlı temsiller elde etmek için, çok sayıda sütuna izin vermem gerekiyor, satır sayısı bakımından doğrusal. Bu inanılmaz derecede seyrek matrislere yol açar ve performansı öldürür. Sadece yaklaşık 10.000 sütun olsaydı bu kadar kötü olmazdı, ki bence kelime düğünleri için oldukça makul.

Google’ları kullanmayı denemeyi düşünüyorum word2vecçünkü çok daha düşük boyutlu ve daha yoğun düğünler ürettiğinden eminim. Ama ondan önce, ilk bakışta görünmesi gereken başka düğünler var mı? Temel gereksinim yaklaşık 60 milyon ifadeyi (satır) ölçeklendirmek olabilir.

Ben kelime düğün alanında oldukça yeniyim, bu yüzden herhangi bir tavsiye yardımcı olacaktır.

Ayrıca, performansı artırmak için zaten tekil değer ayrışımı kullandığımı da eklemeliyim.


Spark mı kullanıyorsunuz?
eliasah

1
İlk başta Spark'ı önermemin nedenlerinden biri de bu. Üzgünüm, telefonumdayım. Önceden yerleştirilmiş PCA teknikleriyle ilgili herhangi bir referansa erişimim yok.
eliasah

1
Bu kadar veri ile aşırıya kaçmış olduğundan emin değilim.
eliasah

1
Gereksiz jetonları kaldırmak, metinleri çalıştığınız için boyutu çok fazla azaltmamalıdır. 150000 kelimelik bir sözlük söz konusu olduğunda, örnek başına durma kelimelerini kaldırmak birkaç düzine ile size fayda sağlayacaktır. Bu yardımcı olmaz.
eliasah

1
Aksi takdirde, ifade başına metin vektör boyutunuzu azaltmak için Latent Dirichlet Tahsisiyle modelleme konularını göz önünde bulundurmak isteyebilirsiniz.
eliasah

Yanıtlar:


3

Son zamanlarda Boltzmann makinelerini kullanarak word2vec (atlama gram) boyutunu dinamik olarak atama konusunda bazı çalışmalar yapıldı. Bu makaleye göz atın:

"Sonsuz boyutlu kelime düğünleri" -Nalsnick, Ravi

Temel fikir, eğitim setinizin word2vec modelinizin boyutsallığını dikte etmesine izin vermektir.

Yukarıdaki makale bunu kelimeler için yapıyor ve bunun ifadelerle ne kadar iyi performans gösterdiğini merak ediyorum.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.