Word Embeddings

Metin analizinde VSM(Vector Space Model) ‘de metin/belgelerin bu vektör uzay modelinde nasıl vektörler ile gösterildiğini anlatmıştık. Burada Bag Of Words bu vector scoring işleminin nasıl yapıldığından biraz bahsetmiştik.

1. Frekans Bazlı Word Embedding Yöntemleri

One Hot Encoding

Bu dokümanlarda çıkarılan dictionary kelime/kelime gruplarının olup olmaması durumuna göre matrix oluşturulur.

doc1= Ben bugün okula gidiyorum
doc2= Ben bugün sinemaya gidiyorum
doc3= Ben bugün maça gidiyorum.

One Hot Encoding

Count Vector

Dokümanda geçen Term(s)(kelime veya kelime gruplarının) buna Vocabulary kelimeler deniyor. Dokümanlardaki geçme sıklığına göre oluşturulan vektörlerdir.

Ek: Daha önceki yazımda binary yaptığımızda(0–1) olarak ifade etmemiz gerektiğini. Frekans olarak gösterdiğimizde diğer kelime toplamlarına göre frekansları üzerindende gösterimlerde bulunabileceğimizi anlatmıştık.

Count Vector

TF-IDF

Burada metinlerde geçen The, is vb.. türkçede ve, veya gibi bağlaç ve gerçekten term olmayan kelimelerin score/weight azaltabilmek için Logaritma’dan faydalanıyoruz. Sadece doküman içerisinde geçme oranları değilde, diğer dokümanlar içerisinde de çok sık gözüken bir kelime veya kelime grubu ise bu kelimenin değerini düşürüyorum

TF = (Terimin belge içerisinde gözükme oranı)/(belgedeki terim sayısına bölümü)

IDF = Log(N/n) N=(Kaç döküman olduğu) n=(terimin kaç dokümanda görüldüğüdür)

Özetle TF değeri bağlaç gibi kelimelerde veya çokça geçen kelimelerde bir + sağlarken. IDF değerinden gelen 0 değeri sonucu TFxIDF sonucu 0 veya iyice küçülterek değersiz hale getirir.

Co-Occurrence Matrix

Burada artık amacımız kelimelerin birlikte gözükme miktarlarını

Co-occurrence: kelime 2 lileri belirtilen pencere bağlamında(context window) görülme oranları

Context Window: belirtilen yönde kelimenin kendi yanındaki 2 kelime penceresi ile birlikte alınmasıdır.

Corpus= Ben bugün okula gidiyorum Ben bugün sinemaya gidiyorum Ben bugün maça gidiyorum.

Ben Ben =0, Ben bugün=3 Ben okula 1, Ben sinemaya =1 şeklinde matrisin oluşturulmasına denir.

Occurence Matrix

Co-occurrence matrix vocabulary büyüklüğünden dolayı çok büyük bellek alanı ve işlem gücü gerektirecektir. Bu nedenle bunun üzerinde direk işlem yapmadan önce noktalama işaretleri, kelime köklerine göre fazlalıkların elenmesi gerekir. Buna rağmen 10.000 Vocabulary için bu bilginin bellekte kaplayacağı alan 10.000x10x000 seviyesinde. Bunu doküman, kelime representation kullanmadan önce PCA , SVD gibi yöntemler ile daha Matrix U,S and V gibi 3 matrix bölünerek U∙S sonucu words vector temsil etmesi sağlanır.

2. Tahminleme Bazlı Word Embedding Yöntemleri

NLP Neural Network ile Word Representation işlemi oldukça sınırlı bir şekilde gerçekleştirilirken Mikalov word2vec CBOW ve Skip-Gram yöntemleri sonrası Neural Network’ler kullanılarakda Word Representation başarılı bir şekilde yapılmaya başlandı.

CBOW ve Skip-Gram’ın nasıl çalıştığını anlatmak için Muhammed Buyukkinaci Word2Vec Nedir ? yazısından alıntılar yaptım. Oldukça güzel bir yazı olmuş. Okumanızı tavsiye ederim.

CBOW (Continues Bag Of Words)

CBOW çalışma mantığı

Skip-Gram

Skip-Gram Çalışma mantığı

Buradaki Word2Vec aracı ilede bu çalışmanın nasıl yapıldığını daha detaylı öğrenebilirsiniz https://ronxin.github.io/wevi/

GloVE

Word2Vec bir eklenti olarak Stanford üniversitesi tarafından geliştirilen Global Word for Vector Representations;

Metin istatistiğinde kullanılan Matrix Factorization Method(Örn LSA) Word2Vec içinde performanslı şekilde çalışmasını sağlayan bir metoddur.

Faydalandığım Kaynaklar:

Okumaya Devam Et 😃

Bu yazının devamı veya yazı grubundaki diğer yazılara erişmek için bu linke tıklayabilirsiniz.

--

--

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store