Bag Of Words Nedir ?
Belgeler ve dokümanlar üzerine çalışmaya devam ediyoruz. Bu dokümanda belgeler üzerinde sürekli olarak karşıma çıkan Bag Of Word kavramı ile ilişkili bazı kavramlarıda anlatmaya çalışacağım. BOW (Bag Of Words), CBOW(Continues Bag Of Words), Skip-Gram, Word Vectors,
1. Verileri Toplama
Elinizde analiz etmek istediğiniz belgeler ve dokümanlar olmalı. Bu belgeler bazen ePosta, bazen Kitap, bazen Makale, bazen Yazılar olabilir. İncelediğimiz örnekte 4 satırlık bir kelime dizisi üzerinden bu işlemleri yaparak her satırın bir belge olduğunu farz edelim.
2. Kelime Haznesi(Vocabulary) Oluşturuyoruz
Elimizdeki belgeleri analiz ederek kelime haznesi oluşturuyoruz. En basit yöntem Külliyat(corpus) bulunan kelime sayısı 24 kelime haznesinde bulunan kelime sayımız ise 10 tane olduğunu görebilirsiniz.
2.1 Kelime Haznesinin Arttırılması
Bu kısımda N-Grams yazımı inceleyebilirsiniz. Çünkü kelimeler tek tek anlam içermez iken 2li ve 3lü olarak anlamlı olabilir. Deyimler, Şirket , kurum ve özel isimler: Örn Türk Hava Yolları, Devlet Demir Yolları.
2.2 Kelime Haznesinin Azaltılması
Bazı kelimeler işaretler kelime haznesinin gereğinden fazla şişmesine sebep olur.
- Büyük küçük harf ayrımının kaldırılması
- Noktalama işaretlerininin elenmesi
- Kelime köklerine göre farklılıkların kaldırılması(stemming) — playing play , oynuyordum oynadım
- Yanlış yazılmış kelimelerin elenmesi
- Frekansı çok geçen The, a vb.. yardımcı kelimlerin tf-idf yöntemleri kullanılarak elenmesi Şu yazılarımı okuyabilirsiniz. tf-idf, Vector Space Model
3. Doküman Vektörleri Oluşturuyoruz.
Doküman Vektörleri oluşturuyoruz. Bu doküman vektörlerinde bulunan elemanlar v1 v2 bizim kelime haznesinde bulunan kelime veya kelime gruplarıdır.
3.1 Scoring
Vektörlerin değerlerini ise değişik şekillerde oluşturabiliriz. Bu işleme Scoring deniyor
- Binary Scoring: Dokümanda olup olmaması durumuna göre 0 veya 1 veriyoruz(Presence or Absence) Bag of Words genelde bu yöntemi kullanıyor
- Count: Doküman içerisinde kelime kaç tane geçiyor
- Frekansı : Doküman içerisinde diğer kelimelere göre frekansı
Bu işlemlere göre Doküman Vektörleri oluşturuyoruz
3.2 Word Hashing
3.3 Dense/Sparse Vector
Doküman/Word Vektörlerinin içerisinde bir çok 0 oluşan değer oluşuyor. Bunlar bellek anlamında çok ciddi yer kayıplarına neden olabilir. Bunlar için Sparse Vector şeklinde verilerinizi tutabilirsiniz.
4. Word2Vec kullanılan CBOW ve Skip-gram Yöntemi
Word2Vec kullanılan CBOW ve Skip-gram yöntemlerininde aslında kelimelerin arka arkaya farklı şekilde gruplanmasından oluşur. Bunun mantığından daha ileride bahsedeceğim.
Faydalandığım Kaynak
Okumaya Devam Et 😃
Bu yazının devamı veya yazı grubundaki diğer yazılara erişmek için bu linke tıklayabilirsiniz.