Yusuf Dede
YazarYusuf Dede
2 dakika okuma süresi
Tem 19, 2019

Metin Madenciliği | Word2Vec Nedir ?


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/

Bunlar İlginizi Çekebilir