Bag Of Words Nedir ?

Bag Of Words

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ı.

Bag Of Word, Bigrams, Unigrams

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.

Document Vectors

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

Feature 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.

CBOW vs SkipGram

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.

--

--