Python ile Kelime Sıklığını Grafikleştirme

Giriş: Kelime Sıklığının Önemi

Veri analizi ve doğal dil işleme (NLP) alanlarında, kelime sıklığı, metinlerin içeriğini anlamak için kritik bir öneme sahiptir. Kelime sıklığını analiz etmek, hangi kelimelerin daha fazla kullanıldığını ve metnin temel konularını belirlemeye yardımcı olur. Python, bu tür analizler için oldukça güçlü kütüphaneler sunmaktadır. Bu yazıda, Python kullanarak bir metindeki kelime sıklığını hesaplayacak ve bunu bir grafikte görselleştireceğiz.

Bu tür analizler, metin madenciliği, sosyal medya analizi, içerik yönetimi ve kullanıcı geri bildirim analizi gibi birçok alanda kullanılabilir. Ayrıca, kelime sıklığı verileri, kullanıcıların ilgisini çeken konuları belirlemek veya içerik stratejilerini geliştirmek için kullanılabilir. Python’da bu analizi yapabilmek için birkaç temel araç ve kütüphane üzerinde duracağız.

Kelime sıklığını belirlemek için metinleri düzgün bir şekilde işlemek ve analiz yapmak gerekmektedir. Python’daki NumPy, Pandas ve Matplotlib gibi kütüphaneler, bu tür işlemler için gerekli araçları sağlayarak işlemleri daha da kolaylaştırmaktadır. Şimdi bu kütüphaneleri kullanarak, bir metindeki kelimelerin sıklığını nasıl hesaplayacağımızı adım adım inceleyelim.

Gerekli Kütüphanelerin Kurulumu

İlk olarak, Python ortamımızda ihtiyacımız olan kütüphaneleri kurmalıyız. Aşağıdaki komutları kullanarak NumPy, Pandas ve Matplotlib kütüphanelerini kurabilirsiniz:

pip install numpy pandas matplotlib

Bu kütüphaneler, veri analizi ve görselleştirmesi için oldukça kullanışlıdır. NumPy, sayısal hesaplamalar için; Pandas, veri manipülasyonu ve analizi için; Matplotlib ise grafikleri oluşturmak için kullanılacaktır. Kütüphanelerin kurulumunu tamamladıktan sonra, kelime sıklığı hesaplama adımlarına geçebiliriz.

Kurulumdan sonra, Python kodumuzda bu kütüphaneleri içe aktarmamız gerekecek. Aşağıdaki gibi içe aktarabilirsiniz:

import numpy as np
import pandas as pd
import matplotlib.pyplot as plt

Bu basit adım, kelime sıklığını analiz etmemiz için gerekli olan kütüphaneleri hazırlamış olacaktır.

Metin Verisini Hazırlama

Kelime sıklığını analiz etmek için öncelikle bir metin verisine ihtiyacımız var. Bu metin, analiz etmek istediğimiz cümleler, paragraflar veya makaleler olabilir. Örnek olarak basit bir metin dizesi oluşturabiliriz:

metin = "Python programlama dili, özellikle veri analizi ve makin öğrenimi için çok popülerdir. Python kullanılabilirliği ve kolay öğrenilmesiyle bilinir. Python ile birçok farklı projede çalışabilirsiniz."

Bu metni düzenlememiz ve kelimeleri saymamız gerekiyor. İlk adım, metni kelimelere ayırmak olacaktır. Python’da bunu yapmak için split() metodunu kullanabiliriz:

kelimeler = metin.lower().split()

Yukarıdaki kod, metni küçük harflere çevirerek kelimeleri bir liste halinde tutmamızı sağlar. Daha sonra, kelime sıklığını hesaplamak için her bir kelimenin sayısını bulmamız gerekiyor. Bunu yapmak için bir sözlük kullanabiliriz.

Kelime Sıklığını Hesaplama

Kelime sıklığını hesaplamak için bir döngü kullanarak her kelimenin kaç kez geçtiğini sayabiliriz. Aşağıdaki örnek kod, kelimeleri ve sıklıklarını sayacak basit bir yapıyı göstermektedir:

kelime_sayilari = {}
for kelime in kelimeler:
    if kelime in kelime_sayilari:
        kelime_sayilari[kelime] += 1
    else:
        kelime_sayilari[kelime] = 1

Bu kod parçasında, her kelime için sıklığını tutmak üzere bir sözlük oluşturmaktayız. Eğer kelime daha önceden sözlükte varsa, sayısını artırıyoruz; yoksa sıfırdan başlatıyoruz. Bu sayede metindeki her kelimenin sıklığını başarıyla hesaplamış oluyoruz.

Sonuçları görmek için bu sözlüğü bir Pandas DataFrame’ine dönüştürebiliriz. Bu, verilerin daha düzenli bir şekilde görüntülenmesini sağlar:

df_sonuc = pd.DataFrame(list(kelime_sayilari.items()), columns=['Kelime', 'Sıklık'])

DataFrame’de, her kelimenin karşısında sıklığıyla birlikte düzenli bir tablo oluşturmuş oluyoruz.

Kelime Sıklığını Görselleştirme

Kelime sıklığı hesaplandıktan sonra, bu verileri görselleştirmek için Matplotlib kütüphanesini kullanabiliriz. Aşağıdaki kod parçacığı, kelimelerin sıklığını çubuk grafik olarak gösterecektir:

plt.figure(figsize=(10, 6))
plt.bar(df_sonuc['Kelime'], df_sonuc['Sıklık'])
plt.xlabel('Kelimeler')
plt.ylabel('Sıklık')
plt.title('Metindeki Kelime Sıklıkları')
plt.xticks(rotation=45)
plt.show()

Bu grafikte, metindeki kelimelerin ne kadar sık geçtiğini açıkça görebiliriz. Kütüphanelerin sunduğu özelliklerle birlikte bu grafiği daha da özelleştirebiliriz. Örneğin, farklı renkler, etiketler ya da eksenlerdeki ayarlamalarla görselliği artırabiliriz.

Görselleştirmeyi yaptıktan sonra, kelime sıklığı analizinin sonuçlarını tartışabilir ve hangi kelimelerin metinde baskın olduğunu ve neden bu şekilde olduğunu gözlemleyebiliriz. Bu, içerik analizi için önemli bir adımdır.

Hata Kontrolü ve Sonuç

Metin analizi yaparken yaşanabilecek bazı hatalar olabilir. Örneğin; küçük büyük harf duyarlılığı, noktalama işaretleri gibi durumlar kelime sıklığı hesaplamasını etkileyebilir. Bu nedenle, metni işlerken temizleme adımlarını atlamamamız önemlidir. Aşağıda birkaç öneri bulabilirsiniz:

  • Metini temizlemek için noktalama işaretlerini kaldırabilirsiniz.
  • Tam kelime eşlemesi yapmak yerine kök veya köklerine göre eşleştirme yapabilirsiniz.
  • Stop word (anlam taşımayan kelimeler) kaldırma konusunda dikkatli olunmalıdır.

Bu adımlar, kelime sıklığı analizinizi daha doğru hale getirebilir. Sonuç olarak, Python ile kelime sıklığını analiz etmeyi ve görselleştirmeyi öğrenmek, veri analizi üzerine çalışan geliştiriciler için oldukça faydalıdır. Bu, farklı metinler üzerinde rejenerasyon ile çalışmanızı ve kendi projelerinize özgü analizler yapmanızı sağlayacaktır.

Bunların yanında, Python’daki ek kütüphanelerle (örneğin, NLTK ya da SpaCy) doğal dil işleme işlemlerini de dâhil ederek daha ileri düzey analizler yapabilirsiniz. Önerilen kütüphaneler, metni derinlemesine çözümlemek ve analiz etmek için oldukça geniş bir özellik seti sunar.

Son olarak, bu yazıda temel kelime sıklığı analizine ve bu verilerin grafikleştirilmesine odaklandık. Bu yöntemleri ve araçları kullanarak kendi metin verilerinizi analiz etmekte özgürsünüz. Gelecekte farklı metin türlerini deneyerek, bu süreçleri daha da geliştirme fırsatını bulmayı unutmayın!

Scroll to Top