Kelimeler arasındaki uzaklık durumlarını vektörel olarak bulmamıza yarayan algoritmalar bütünüdür. Vektörel yapı üzerinde yazılmış araçlar ile bir kelimeye yakın veya uzak kelimeleri listeleme & kelimeler arasında anoloji kuralabilir[1].
Word2Vec Kelime Vektörü
Word2Vec CBOW & Skip-Gram Algoritması
Multi-Word CBOW model (5)
Daha sonra, ağırlıkları güncellemek için gradyan iniş uygularız:
Skip-Gram model (5)
Ağırlıklar için güncelleme denklemi, CBOW modeli ile aynıdır.
Word2Vec Python & Gensim
Python, nesne yönemli programlamayı destekleyen, yorumlamalı (yani byte kod üreten), modüler ve yüksek seviyeli bir dildir[2].
Python dili, yapay zeka ve makine öğrenmesini uygulamalarında oldukça popüler ve kullanışlı bir dildir. Kullanılma nedenleri, makine öğrenmesi için ihtiyaç duyulan paketlerin import edilmesi ve en iyi performans açısından oldukça tercih edilen bir dildir[3].
Gensim, Python’da import edilerek kullanılan bir kütüphanedir. Aslında bir kütüphaneden daha fazlası! Çünkü veri madenciliği konusunda oldukça yetenekli olması ve performanslı olması için NumPy, Scipy yapılarını kullanır. Özellikle kullanım alanı büyük metinleri belli algoritmaları kullanılarak uzaklık ve kelime anolojisi hakkında oldukça başarılıdır[4].
Word2Vec Kurulumu (Linux(Debian))
debian@pc:~$ sudo apt install python3-pip
python yükleme aracını sistemimize kuruyoruz.
debian@pc:~$ sudo pip install word2vec
Word2vec’i pip yükleme aracı ile sisteme kuruyoruz.
Kurulum sırasında hata oluşması, dosya bağımlılıkları ile alakalıdır. İlk olarak kuruluma
Başlamadan önce sisteminizin güncel olduğundan emin olun.
Manuel olarak kurmak isteyenler için…
https://github.com/danielfrg/word2vec
Kullanımı
Word2Vec komut satırında şu şekilde kullanılabilir:
word2vec
word2phrase
word2vec-distance
word2vec-word-analogy
Word2vec-compute-accuracy
Kullanılacak türkçe eğitilmiş vektör/model dosyası.
https://drive.google.com/drive/folders/1IBMTAGtZ4DakSCyAoA4j7Ch0Ft1aFoww
Örnek model kullanımı
debian@pc:~$ word2vec-distance trmodel
debian@pc:~$ word2vec-word-analogy trmodel
İsteğe göre windows veya OS X sistemler üzerinde de çalışıtırabilir.
Linux/Debian türevi sistemler word2vec için daha performanslı ve stabil çalıştığı için tercih edilmiştir.
Word2Vec Örnek Gerçekleştirimi
./distance kullandığımıda çay için en yakın kelimeleri buldu mesela
Kelime analojisi için ./word-analogy kullandığımızda
Word2Vec Background
Yukarıdaki şekilde görüldüğü gibi formül üzerinden Kelimler arasındaki benzerlik ve uzaklık yukarıdaki mantığa göre şekillenmektedir.
KAYNAKLAR
[1] https://medium.com/@odayibasi/word2vec-nedir-ne-i%C5%9Fe-yarar-a314a37c45aa
[2] https://tr.wikipedia.org/wiki/Python_(programlama_dili)
[3] https://medium.com/@EbubekirBbr/makine-%C3%B6%C4%9Frenmesi-uygulamas%C4%B1-geli%C5%9Ftirme-2-python-41028d52686b
[4] https://en.wikipedia.org/wiki/Gensim
[5] http://www.claudiobellei.com/2018/01/07/backprop-word2vec-python/