20 Mayıs 2024 |

Metin Madenciliği ve Metin Sınıflandırma Teknikleri

Günümüzün dijital çağında, şirketler için en değerli varlık haline gelen şey nedir diye sorsak, muhtemelen veri cevabını alırız. 

Veri, şirketlerin pazar trendlerini belirlemesine, müşteri davranışlarını anlamasına ve stratejik kararlar almasına yardımcı oluyor. Ancak, bu değerli varlıkla başa çıkmak ve onu etkili bir şekilde yönetmek, beraberinde bazı zorlukları da getiriyor.

Şirketlerin karşılaştığı en büyük zorluklardan biri, veri miktarının hızla artması ve bu verinin çeşitliliği. İnternet, sosyal medya, mobil cihazlar ve diğer dijital platformlar aracılığıyla üretilen veri miktarı olağanüstü boyutlara ulaştı. 

Metin madenciliği

Veriler, yapılandırılmış ve yapılandırılmamış olarak çeşitli formatlarda ve kaynaklardan gelir. Yapılandırılmamış veriler aslında şirketlerin kullanabileceği ve ihtiyacı olan birçok bilgiyi içinde barındırır. Bu yüzden metinlerin analiz edilerek ihtiyaç duyulan verilerin ayıklanması gerekir. Metinlerin içinden gerekli verilerin alınması ise ancak metin madenciliği ile gerçekleşebilir.

Bu blog yazımızda metin madenciliği ve metin sınıflandırma tekniklerini detaylı bir şekilde ele alacağız.

 

Metin Madenciliği Nedir?

Metin madenciliği ya da İngilizce olarak text mining için belirli bir formatta olmayan, yazı tipindeki veriler içerisinde gizli olan nitelikli bilginin çıkarılması, düzensiz haldeki verinin yapılandırılması sürecidir diyebiliriz.

Metin madenciliği; metinlerin sınıflandırılması, kümelendirilmesi, metinlerden konu çıkarılması, duygu analizi ve metin özetleme gibi çalışmaları hedefler. Baktığımızda veri madenciliğinde kullanılan yöntemlerin birçoğu metin madenciliğinde de kullanılmaktadır.



Metin Madenciliği Nasıl Yapılır?

Metin madenciliği, büyük miktarda metin verisinden anlamlı bilgiler çıkarmayı amaçlayan bir disiplindir. Bu disiplinin başlıca süreçleri şunlardır: 

  • Metin Verilerinin Toplanması: Metin madenciliği çalışmalarının temeli, geniş veri kümelerinin toplanmasıyla başlar. İnternet, sosyal medya platformları, belgeler, makaleler gibi kaynaklardan metin verileri toplanır.

  • Metin Verilerinin Ön İşlenmesi: Toplanan metin verileri, önişleme adımından geçirilir. Bu adımda, metinler temizlenir, tokenize edilir, stop-words ve gereksiz karakterler temizlenir, ardından normalizasyon işlemleri yapılır.

  • Metin Verilerinin Temsili: Metinler, makine öğrenimi algoritmaları tarafından işlenebilir hale getirilir. Bu aşamada, metinler vektörlere dönüştürülür ve sayısal bir temsil elde edilir. Bu işlem, metin verilerinin matematiksel olarak işlenebilmesini sağlar.

  • Metin Verilerinin Analizi: Son aşamada, metin verileri analiz edilir ve anlamlı bilgiler çıkarılmaya çalışılır. Metin sınıflandırma, duygu analizi, konu modelleme gibi yöntemler kullanılarak metin verileri anlamlandırılır.

 

Metin Sınıflandırma 

Metin sınıflandırma, metin verilerini belirli kategorilere veya sınıflara ayırmak için kullanılan bir tekniktir. Bu süreç şu adımları içerir:

  • Önişleme ve Öznitelik Çıkarma: Metin verileri önişleme adımından geçirilir ve öznitelikler çıkarılır. Bu adımda, metinlerin şekli ve yapısı analiz edilir ve sayısal bir temsil elde edilir.
  • Model Seçimi ve Eğitimi: Çeşitli sınıflandırma algoritmaları kullanılarak metin verileri eğitilir. Bu algoritmalar arasında Naive Bayes, Destek Vektör Makineleri ve Derin Öğrenme yöntemleri bulunur.
  • Değerlendirme ve Doğrulama: Eğitilen model, test veri setleri üzerinde değerlendirilir ve performansı ölçülür. Modelin doğruluğu, hassasiyeti, geri çağırma oranı gibi metrikler kullanılarak değerlendirilir.

 

Metin Sınıflandırma Yöntemleri

İkili sınıflandırma (Binary classification) problemlerinde, sadece cevabı evet ya da hayır olan bir soru sorulmalıdır. Eğer verilecek cevap ikiden fazla değer içinden seçilerek cevaplanacaksa buna çok sınıflı sınıflandırma (multi-class classification) problemi denir.

Eğer tespit etmeye çalıştığımız sınıf birden fazla sınıfa sahip bir kümeden geliyorsa ve bu sınıflardan birden fazlasını aynı anda seçme ihtiyacı varsa buna çoklu etiketli sınıflandırma (multi-label classification) adını verilir.

Örneğin, bir resimde hem köpek hem çimen hem de doğanın aynı anda görüldüğü ve bunlardan herhangi birini seçmenin, diğerlerinin olmadığı anlamına gelmesinin yanlış olduğu durumlarda en doğru çıktıyı çoklu etiketli sınıflandırıcılar vermektedir. 

Sınıflandırma problemlerinin çok büyük bölümü birden fazla etiket ile sınıflandırma ihtiyacına sahip problemlerdir. Çoklu etiketli sınıflandırmanın amacı, tek bir örnek için bir dizi ilgili etiket ataması yapabilmektir. Bununla birlikte, yaygın olarak bilinen algoritmaların çoğu çok sınıflı sınıflandırma problemleri (çoklu etiketli değil) için tasarlanmıştır. 

Gelin şimdi metin sınıflandırmada kullanılan diğer teknikleri inceleyelim. 

 

Makine Öğrenmesi (Machine Learning) 

Klasik makine öğrenmesi algoritmaları olan istatistiksel ve olasılıksal modeller ile çoklu etiketli sınıflandırma problemlerine çözüm yolları üretmek mümkündür. Mevcut algoritmaların evrilerek bu probleme uyarlanmasında çeşitli yöntemler kullanılmaktadır:

  • Problem dönüştürme yöntemleri (problem transformation methods), çoklu etiketli sınıflandırma problemini bir veya daha fazla geleneksel çok sınıflı sınıflandırma (multi-class) problemine böler.

  • Problem uyarlama yöntemleri (problem adaptation methods), çoklu etiketli verilerle doğrudan başa çıkmak için çoklu sınıf sınıflandırma algoritmalarını genelleştirir. Örneğin, tek bir çoklu sınıf sınıflandırıcısının ürettiği çıktılardaki ihtimallere uygulanacak eşik değeri ile birden fazla sınıf etiketi seçilebilir.

  • Topluluk yöntemleri (ensemble methods), önceki iki yaklaşımdan da faydalanarak bir çözüm üretir. Örneğin yukarıdaki iki farklı metodolojinin kullanıldığı çözüm çıktıları bir kural ya da öngörü ile birleştirilerek nihai sonuç üretilebilir.

 

Derin Öğrenme (Deep Learning)  

Şu ana kadar en son teknoloji (state-of-the-art) çözümlerin pabucunu dama atmakta olan derin öğrenme yöntemlerinin boy göstermesi ile doğal dil işleme (NLP) algoritmaları altın çağına girmiştir.

Derin öğrenme, doğal dilin çoklu temsil seviyelerini öğrenmenin birçok faydasını getirir. NLP problemleri için derin öğrenmeyi kullanmanın birçok faydası vardır:

  • Verilerden veya problemden doğrudan sınıflandırıcı türetilebildiği gibi, el yapımı bir özelliğin eksikliğini veya aşırı spesifikasyonunu da iyileştirir.
  • Özelliklerin elle çıkartılması (feature engineering) genellikle çok zaman alır ve her görev veya etki alanına özgü sorun için tekrar tekrar çıkartılması gerekebilir. Bir alandan öğrenilen özellikler genellikle diğer alanlara veya etki alanlarına karşı çok az genelleme yeteneği gösterir. Aksine, derin öğrenme verilerden gelen bilgileri ve birçok seviyede temsili öğrenir, burada alt seviye, doğrudan veya ince ayarlardan sonra diğer alanlar tarafından kullanılabilen daha genel bilgilere karşılık gelir.

 

Sınıfların özelliklerine tamamen ayrık gibi davranmayan modeller ile öğrenmek, en yakın komşu veya kümeleme benzeri modellere göre çok daha verimli olabilir. Kelimeler bağımsız olarak ele alındığında, NLP sistemleri inanılmaz derecede kırılgan olabilir.

Derin öğrenmede denetimsiz öğrenmenin katkılarından faydalanarak sınıflandırma benzeri denetimli görevlere destek sunulabilir. 

Hali hazırda çok büyük miktarda işaretlenmemiş veri kümeleri bulunmaktadır. Bunlar üzerinden eğitilecek olan denetimsiz bir öğrenici ile dil modeli, kelimelerin semantik mesafeleri vb çıktılar üretilebilir. Bu çıktılar sınıflandırma probleminde girdiler ile beraber kullanılarak, dile veya çalışma alanına dair ön bilgiler de değerlendirmede yardımcı olabilir. 

Bir örnek vermek gerekirse, klasik makine öğrenmesi yöntemleri ile oluşturulan bir sınıflandırıcıda veri seti üzerinden oluşturulan sözlükte (vocabulary) görülmeyen bir sözcük ile karşılaşıldığında, tahminleme esnasında bu kelime hiç hesaba katılamaz. 

Ancak derin öğrenmenin getirdiği dile dair ön bilgilerin kullanımı ile o kelime hiç görülmemiş olsa bile, vektörel gösterimi ile eğitim setinden karşılaşılmış olan ve benzeri anlama gelen kelimelerden bir fikir yürütülerek tahminlemede bu sözcük de kullanılabilmektedir. 

Bu derin öğrenmenin en önemli avantajlarından biridir, öğrenilen bilgiler kompozisyon yoluyla seviye bazında inşa edilir. Daha düşük temsil düzeyi genellikle görevler arasında paylaşılabilir. İnsan dilinin özyinelemesini doğal olarak ele alır. İnsan cümleleri belirli bir yapıya sahip kelimelerden ve ifadelerden oluşur. 

Yani insanlar bir cümleyi kurarken aslında kelimelerin dizilimi çok fazla bilgi barındırmaktadır ve bilgi bu diziler üzerinden akmaktadır. 

Klasik makine öğrenmesi yöntemlerinde çok popüler olan kelime çantası (bag-of-words) yönteminde bu bilgi akışını temsil etmek ne yazık ki mümkün olmamaktadır. Derin öğrenme, özellikle tekrarlayan sinir ağları, dizi bilgisini çok daha iyi bir şekilde yakalayabilir.

 

Makine Öğrenmesi Kurgusu (Show me the code)

Veriyi ilk olarak ön işleme ile hazırlamamız gerekmektedir. NLP (Natural Language Processing) görevlerinin genelinde kelimlerin benzersizliğini azaltmak için köke indirgeyici (stemmer) kullanılır. Böylece “gitmek”,”gidiyor”, ve “gidecek” kelimeleri ‘git’ köküne indirgenerek yazılacaktır.

Bu işlem parçaları biraz anlamsızlaştırabilir, kelimenin hangi durumda olduğu bilgisini kaybettirebilir ama yine de sonuçlar kısmına baktığımızda köke indirgeyicinin sınıflandırmaya büyük katkı sunduğunu görebiliriz. 

Ancak köke indirgemede optimizasyon diğer tüm problemlerde olduğu gibi önemlidir. Çünkü köke indirgemede amaç ortak temisili arttırırken, bilgi kaybını önlemek olmalıdır. 

Örneğin, basitçe, bir kelimenin ilk 4 karakteri kökünü temsil eder varsayımı ile ortaya konacak köke indirgeyici ortak gösterimi yüksek oranda arttıracaktır ancak öyle örneklerde de bilgi kaybına sebep olacaktır. 

Mesela “denir” ve “deniz” kelimeleri bu varsayıma göre aynı “deni” kökünde temsil edilecektir. Oysa her iki kelime birbirinden çok uzak kavramları ifade etmektedir.

 

Derin Öğrenme Mimarisi (Deep Learning Model Architecture)

Dikkat mekanizmaları ile birlikte hangi kelimelerin sonucun üretilmesinde daha etkili olduğuna karar verip ona göre o kelimelerin ağırlıklarını günceller. Ayrıca görselleştirmeye izin vererek modelin kararlarının daha anlaşılır olmasını sağlayan bir tekniktir. 

Bahsedilen modelde kullanılan dikkat mekanizmasının (attention mechanism) sayesinde, metnin hangi bölümlerinde atama yapılan sınıfa dair daha fazla bilgi olduğu da görselleştirilebilmektedir (highlighting).

 

Artiwise Müşterinin Sesi (VoC) Platformu ile Veri Analizinin Potansiyelinden Yararlanın!

Artiwise, çeşitli iletişim kanallarından gelen müşteri verilerini anlık bir şekilde takip ve analiz eden kapsamlı bir VoC (Müşterinin Sesi) platformudur.

Artiwise’ın yapay zeka destekli veri ve metin analizi yetenekleri müşteri sesli ya da yazılı müşteri geri bildirimlerinin detaylı bir şekilde ayıklanmasını, kategorize edilmesini ve bu geri bildirimlerin aksiyon alınabilir iç görülere dönüşmesini sağlar.

Müşteri verilerini doğru bir şekilde analiz edip sürdürülebilir müşteri memnuniyeti sağlamak istiyorsanız hemen bizimle iletişime geçin. Ücretsiz POC servisimizle, Artiwise’ın yeteneklerini keşfetmenizi sağlayalım!

İlginizi Çekebilecek Diğer Postlar

29 Mayıs 2024 |

Her gün yaklaşık 2,5 kentilyon bayt değerinde veri üretiliyor. Şirketlerin büyük bir çoğunluğu, ellerindeki bu toplu ve yapılandırılmamış verileri etkili...

7 Mayıs 2024 |

Doğal Dil İşleme (NLP) Teknolojisine Detaylı Bir Bakış NLP (Natural Language Processing), Türkçe ismiyle Doğal Dil İşleme (DDİ), günümüzde bir...

14 Mayıs 2024 |

“Bilgi 21. yüzyılın petrolü, analitiği ise motorudur.” – Gartner. Günümüzde veri, şirketlerin en değerli varlığı haline geldi. Bu büyük veri...