Naive Bayes ile Duygu Analizi

📍Duyarlılık Analizi, belirli bir şeye göre birinin hissiyatını yargılamak veya duygularını anlamlandırmak için kullanılan bir yöntemdir. Temel olarak bir metin işleme (text processing) işlemi olup verilen metinin duygusal olarak ifade etmek istediği sınıfı belirlemeyi amaçlar.
Duygu Analizi aynı zamanda metinlerin üzerinden amaca yönelik olarak fikir çıkarımı yapılırken kelime sayısı, isim, sıfat, zarf veya fiil gibi kelimelerin sıklıkları (frekansları) üzerinden fikir madenciliği yapılmasına verilen isimdir. (Word2vec, TF/ IDF) Frekans tabanlı fikir madenciliğinde, öncelikle isim kelime grupları bulunarak bunlar uzunluklarına, kullanımdaki gerekliliklerine ve olumlu olumsuz kutupsallığına göre sınıflandırılmaktadır.

📑Herhangi bir dökümanın, bir belgenin veya bir metnin içeriğine göre duygu analizi yapılabilmektedir. Bu durum aslında bir bakıma Text Mining denilen Fikir Madenciliğiolarak da adlandırılmaktadır. Metin madenciliği sayesinde verilen metnin duygusal olarak ifade etmek istediği sınıf belirlenmektedir. Duygu analizindeki duygusal kutupsallık (sentimental polarity) ile verilen metin basitleştirilerek olumlu (positive) ve  olumsuz (negative) olarak sınıflandırılmaktadır.

[gdlr_core_space height=”30px”]

[gdlr_core_space height=”30px”]

📍 Sınıflandırmanın yapılacağı sınıflandırıcı çeşidi ise makine öğreniminde çok başarılı sonuçlar elde edebilen olasılık tabanlı Naive Bayes Teoreminin temeline dayanan Bayes sınıflandırıcısı olarak karşımıza çıkmaktadır. Peki bu Naive Bayes Teoremi nedir? Bayes teoremi, olasılık kuramı içinde incelenen önemli bir konudur. Bu teorem bir rassal değişken için olasılık dağılımı içinde koşullu olasılıklar ile marjinal olasılıklar arasındaki ilişkiyi gösterir. Naive Bayes, bir metnin sınıfını (kategori veya etiket) tahmin etmek için olasılık teorisinden ve Bayes Teoreminden yararlanan olasılıksal algoritmalar ailesidir. Naive Bayes Teoremi temelinde çalışan bu sınıflandırıcı, incelediği bir kelime ya da bileşen için her bir durumun olasılığı hesaplanmaktadır. Bulduğu bu olasılık değerleri içerisinde en yüksek değere göre sınıflandırma yapmaktadır. 

[gdlr_core_space height=”30px”]

[gdlr_core_space height=”30px”]

🔮Haydi, sizlerle bir örnek üzerinde sınıflandırıcıyı daha iyi anlamaya çalışalım. Daha önce söylediğim gibi Naive Bayes sınıflandırıcısı farklı dökümanları kategorilere ayırabilmektedir. Örneğin bir haberi BOW (bag-of-words) yöntemi ile kelimelerin sıklıklarına göre anlamlarını bilim, politika veya spor olarak kategorilere göre sınıflandırmaktadır. Duygu Analizinde ise elindeki herhangi bir dökümanı, metni veya bir ürünü pozitif veya negatif olarak sınıflandırmaktadır. 

[gdlr_core_space height=”30px”]

[gdlr_core_space height=”30px”]

⬆️Yukarıda verilen cümleler, Bayes sınıflandırıcısı ile Pozitif veya Negatif olarak sınıflandırılmaktadır. Örneğin ‘Onu çok severim’ cümlesinde her bir olasılık değeri hesaplanarak sınıflandırılmış ve Pozitif değer ağır bastığı için sınıfı Pozitif olarak seçilmiştir.

Metin Özellikleri Çıkarımı

Makinelerin bizler gibi ham metni anlayabilmesi maalesef imkansızdır. Bununla birlikte ham metin gibi görüntü ve sesleri de algılayabilmeleri için sayısal verilere dönüşmesi gerekmektedir. 

[gdlr_core_space height=”30px”]

[gdlr_core_space height=”30px”]

🧷Bu nedenle, burada çalışacağımız metnin özelliklerini ayıklamak ve bu özellikler üzerinde hesaplama yapabilmemiz için verileri sayı olarak temsil etmemiz gerekir.

[gdlr_core_space height=”30px”]

[gdlr_core_space height=”30px”]

Bayes Teoremine göre hesaplanacak değerler için kelimelerin belirli bir sınıfa ait olma olasılığı ve daha sonra kelimelere verilen sınıfın olasılığı hesaplanmak istendiğinde aşağıdaki formül kullanılacaktır.

[gdlr_core_space height=”30px”]

[gdlr_core_space height=”30px”]

Bu formül bize Koşullu Olasılık kavramını verir ve B olayı gerçekleştiğinde A olayının gerçekleşme olasılığıolarak okunur. Bu şekilde herhangi bir dökümanda veri analizi yapmak için Naive Bayes kullanılarak metin madenciliği gerçekleştirilebilmektedir. Aşağıdaki örneği inceleyelim.

[gdlr_core_space height=”30px”]

𝑃(+|𝐼 𝑙𝑜𝑣𝑒
𝑡ℎ𝑖𝑠 𝑝𝑟𝑜𝑑𝑢𝑐𝑡)
= (𝑃
(𝐼
𝑙𝑜𝑣𝑒
𝑡ℎ𝑖𝑠 𝑝𝑟𝑜𝑑𝑢𝑐𝑡
| +).𝑃(+))/(𝑃(𝐼 𝑙𝑜𝑣𝑒
𝑡ℎ𝑖𝑠 𝑝𝑟𝑜𝑑𝑢𝑐𝑡))
= 𝑃
(𝐼
𝑙𝑜𝑣𝑒
𝑡ℎ𝑖𝑠 𝑝𝑟𝑜𝑑𝑢𝑐𝑡
| +).𝑃(+)

𝑃(−|𝐼 𝑙𝑜𝑣𝑒 𝑡ℎ𝑖𝑠 𝑝𝑟𝑜𝑑𝑢𝑐𝑡) = (𝑃 (𝐼 𝑙𝑜𝑣𝑒 𝑡ℎ𝑖𝑠 𝑝𝑟𝑜𝑑𝑢𝑐𝑡 | −).𝑃(−))/(𝑃(𝐼 𝑙𝑜𝑣𝑒 𝑡ℎ𝑖𝑠 𝑝𝑟𝑜𝑑𝑢𝑐𝑡)) = 𝑃 (𝐼 𝑙𝑜𝑣𝑒 𝑡ℎ𝑖𝑠 𝑝𝑟𝑜𝑑𝑢𝑐𝑡 | −).𝑃(−)

[gdlr_core_space height=”30px”]

Yukarıdaki formüldeki olasılıkların hesaplanması için öncelikli olarak her bir durumun olasılık değerinin bilinmesi gerekmektedir. Bu sebeple öncelikli olarak  𝑃 (𝐼 𝑙𝑜𝑣𝑒 𝑡ℎ𝑖𝑠 𝑝𝑟𝑜𝑑𝑢𝑐𝑡) olasılığının + ve – analizinin yapılması gerekmektedir.

[gdlr_core_space height=”30px”]

𝑃 (𝐼 𝑙𝑜𝑣𝑒 𝑡ℎ𝑖𝑠 𝑝𝑟𝑜𝑑𝑢𝑐𝑡 | +) = 𝑃 (𝐼 | +). 𝑃 (𝑙𝑜𝑣𝑒 | +). 𝑃 (𝑡ℎ𝑖𝑠 | +). 𝑃 (𝑝𝑟𝑜𝑑𝑢𝑐𝑡 | +)

𝑃 (𝐼 𝑙𝑜𝑣𝑒 𝑡ℎ𝑖𝑠 𝑝𝑟𝑜𝑑𝑢𝑐𝑡 | −) = 𝑃 (𝐼 | −). 𝑃 (𝑙𝑜𝑣𝑒 | −). 𝑃 (𝑡ℎ𝑖𝑠 | −). 𝑃 (𝑝𝑟𝑜𝑑𝑢𝑐𝑡 | −)

[gdlr_core_space height=”30px”]

Bu örnekte görüldüğü gibi Bayessian formülü ile olasılık değerleri yerine yazıldığında çıkacak sonuçlarda hangi değer daha büyükse metnin çıkarımı ona göre yapılmaktadır. Örneğin tüm hesaplamalar bittiğinde aşağıdaki gibi sonuçlar yer almaktadır.

[gdlr_core_space height=”30px”]

𝑃(+|𝐼 𝑙𝑜𝑣𝑒 𝑡ℎ𝑖𝑠 𝑝𝑟𝑜𝑑𝑢𝑐𝑡)  = P(+).P(this|+).P(product|+).P(I|+).P(love|+) = (0.6 x 0.1053 x 0.1579 x 0.1053 x 0.1053) = 0.000110616 = 1.1 x 10-4

𝑃(−|𝐼 𝑙𝑜𝑣𝑒 𝑡ℎ𝑖𝑠 𝑝𝑟𝑜𝑑𝑢𝑐𝑡) = P(-).P(this|-).P(product|-).P(I|-).P(love|-) = (0.4 x  0.0667 x0.1333 x  0.1333 x 0.0667) = 0.00003162 = 3.1 x 10-5

[gdlr_core_space height=”30px”]

Değerlere bakıldığında I love this product cümlesinin pozitif koşulunun daha yüksek olduğu görülmektedir. Bu sebeple cümlenin pozitif yani olumlu bir cümle olduğu söylenebilmektedir 🎉

[gdlr_core_space height=”30px”]

𝑃(+|𝐼 𝑙𝑜𝑣𝑒 𝑡ℎ𝑖𝑠 𝑝𝑟𝑜𝑑𝑢𝑐𝑡) > 𝑃(−|𝐼 𝑙𝑜𝑣𝑒 𝑡ℎ𝑖𝑠 𝑝𝑟𝑜𝑑𝑢𝑐𝑡)

Başka bir yazımda görüşmek dileğiyle. Güzel günler diliyorum 🤗

Diğer yazılarıma buradan ulaşabilirsiniz.

[gdlr_core_space height=”60px”]

REFERANSLAR

  1. Şadi Evren ŞEKER, Duygu Analizi (Sentimental Analysis), Smith College, Department of Computer Science, MA, US.
  2. Buse Yaren Tekin, Lojistik Regresyon ile Duygu Analizi, Medium yazısından alınmıştır.
  3. https://textdecipher.com/category/duygu-analizi/ adresinden alınmıştır.
  4. Onur Dayıbaşı, Bag of Words Nedir, Medium yazısından alınmıştır.
  5. From Vikipedi, https://tr.wikipedia.org/wiki/Bayes_teoremi adresinden alınmıştır.

Leave a Reply

Your email address will not be published. Required fields are marked *