• Yapay zeka soru ve sorunlarınızı uygun olan kategorilere açıp yanıt alabilirsiniz...

Python ile doğal dil işleme nasıl yapılır?

Garfield

YZF Admin
Yaş
40
Konum
YurtDışı
Katılım
27 Eki 2026
Konular
664
Mesajlar
689
AI Seviyesi
Yeni
Python ile doğal dil işleme yapmak için metni önce temizleyip parçalara ayırabilir, ardından kelime sıklığı, anahtar sözcük çıkarımı veya basit sınıflandırma gibi işlemler uygulayabilirsiniz. Aşağıdaki örnek yalnızca Python’un standart kütüphanesini kullanır; metinden kelimeleri çıkarır, yaygın bağlaçları eler ve en sık geçen kelimeleri listeler. Daha gelişmiş çözüm gerektiğinde aynı akış, Türkçe dil modeli kullanan bir NLP kütüphanesiyle genişletilebilir.

Doğal dil işleme akışı​


Doğal dil işleme, bilgisayarın insan dilindeki metinleri işlemesini sağlayan yöntemlerin genel adıdır. Python’da tipik akış; metni alma, temizleme, belirteçlere ayırma, gereksiz kelimeleri eleme, özellik çıkarma ve sonuç üretme aşamalarından oluşur.

Örneğin “Python ile metin işlemek kolaydır. Python, veri analizinde de kullanılır.” cümlesinde noktalama işaretlerini kaldırıp kelimeleri küçük harfe dönüştürebilir ve “ile”, “de” gibi sık geçen yardımcı kelimeleri sonuçtan çıkarabilirsiniz. Böylece analizde daha anlamlı görünen “python”, “metin” ve “veri” kelimeleri öne çıkar.

Hangi yöntem ne zaman kullanılır?​


İhtiyaca göre yöntemi seçmek önemlidir. Küçük bir metin analizi için standart kütüphane yeterli olabilir; cümle yapısını, kökleri veya sözcük türlerini çözümlemek içinse dile özgü kurallar, sözlükler veya modeller kullanan NLP araçları gerekir.
İhtiyaçUygun yaklaşımSınır
Kelime sayma ve basit aramaPython standart kütüphanesiDil bilgisi ve anlam ilişkilerini çözümlemez
Cümle ve kelime çözümlemeTürkçe destekli NLP kütüphanesiKullanılan araca göre dil kaynakları veya model kurulumu gerektirebilir
Metin sınıflandırmaMakine öğrenmesi modeliDenetimli model eğitimi için etiketlenmiş veri gerekir
Anlam benzerliği veya özetlemeHazır dil modeli ya da yapay zekâ modeliÇıktıların doğrulanması gerekir
Bu tabloya göre yalnızca en sık geçen kelimeleri bulmak istiyorsanız ilk yaklaşım yeterlidir. Bir kelimenin cümledeki görevini veya Türkçe eklerini doğru değerlendirmek istiyorsanız basit metin temizleme kodu tek başına yeterli olmaz.

Standart Python ile ilk metin analizi​


Örneği çalıştırmak için bilgisayarınızda Python bulunması ve bir .py dosyası oluşturabilmeniz yeterlidir. Harici paket kurulmadığı için işlem çevrim dışı da çalışır. Aşağıdaki kod, varsayımsal bir Türkçe metin üzerinde temel kelime sıklığı analizi yapar.
  1. Bir Python dosyası oluşturun. Dosyaya metin_analizi.py adını verin ve aşağıdaki kodu içine yapıştırın.
  2. Örnek metni değiştirin. metin değişkenindeki içeriği analiz etmek istediğiniz Türkçe metinle değiştirin; birden fazla cümle kullanabilirsiniz.
  3. Dosyayı çalıştırın. Komut satırında dosyanın bulunduğu klasöre geçip python metin_analizi.py komutunu çalıştırın. Bazı sistemlerde aynı komut python3 metin_analizi.py biçiminde olabilir.
  4. Çıktıyı yorumlayın. Ekrandaki her satır bir kelimeyi ve metinde kaç kez geçtiğini gösterir. Sayım, anlamı veya kelimenin olumlu-olumsuz olduğunu kanıtlamaz; yalnızca temizleme kurallarından sonra oluşan sıklığı gösterir.
Python:
import re
from collections import Counter

metin = """
Python ile metin işlemek kolaydır. Python, veri analizinde de kullanılır.
Metin analizi Python ile hızlı başlayabilir.
"""

# Türkçe karakterleri koruyarak yalnızca harf ve rakamları bırakır.
kucuk_metin = metin.translate(str.maketrans("Iİ", "ıi")).lower()
kelimeler = re.findall(r"[a-zA-ZçğıİöşüÇĞIÖŞÜ0-9]+", kucuk_metin)

# Analizde genellikle bilgi taşımayan yardımcı kelimeleri çıkarır.
durak_kelime = {
    "ile", "ve", "de", "da", "bir", "bu", "için", "çok",
    "olan", "olarak", "birçok"
}

anlamli_kelimeler = [
    kelime for kelime in kelimeler
    if kelime not in durak_kelime and len(kelime) > 2
]

sayim = Counter(anlamli_kelimeler)

for kelime, adet in sayim.most_common(10):
    print(f"{kelime}: {adet}")

Bu örnekte çıktının ilk iki satırı python: 3 ve metin: 2 olur. Sıra, metindeki gerçek tekrar sayısına göre belirlenir. Önce I ve İ Türkçe küçük harflerine eşlenir, ardından lower() uygulanır; düzenli ifade Türkçe harfleri içeren parçaları çıkarır, Counter ise tekrarları sayar.

Bu sonuç ne anlama gelir?​


python: 3 sonucu, temizleme işleminden sonra “python” kelimesinin üç kez görüldüğünü gösterir. Bu, metnin ana konusunun kesin olarak Python olduğunu kanıtlamaz; aynı kelime alıntı, başlık veya olumsuz bir cümle içinde de geçebilir. Konu sınıflandırması yapmak istiyorsanız etiketlenmiş örnekler ve ayrı bir sınıflandırma yöntemi gerekir.

Ayrıca kod, Türkçedeki ekleri otomatik olarak çözmez. “kitap”, “kitabı” ve “kitaplar” farklı kelimeler olarak sayılır. Kök bulma, sözcük türü belirleme, kişi ve yer adı tanıma gibi işlemler için Türkçe dil desteği olan bir NLP kütüphanesi veya model kullanmalısınız.

Kodun doğruluğunu artırma​


Gerçek bir projede temizleme kurallarını veriye göre belirleyin. Örneğin ürün yorumlarında “iyi” ve “kötü” gibi kelimeleri durak kelime listesine eklememelisiniz; çünkü duygu analizinde bu kelimeler temel özelliklerdir. Buna karşılık rapor biçimindeki metinlerde tarih, URL veya özel kodları ayrı bir alan olarak saklamak daha doğru olabilir.

Sonraki aşama, analiz amacına göre değişir. Anahtar kelime arıyorsanız sıklık hesabına TF-IDF gibi ağırlıklandırma ekleyebilirsiniz. Metinleri konuya göre ayıracaksanız eğitim ve test verilerini ayırarak bir sınıflandırma modeli kurmanız gerekir. Cümle anlamı, Türkçe eklerin çözümü veya varlık tanıma gerekiyorsa yalnızca karakter temizleme ve kelime sayımıyla yetinmeyin; Türkçe bir dil modeliyle üretilen sonucu örnek veriler üzerinde ayrıca kontrol edin.
 

Sen de şimdi bize katılmak ister misin?

Kayıt ol

Bize katılım kolay ve ücretsizdir!

Konuyu görüntüleyenler

Bu konuyu şu anda görüntüleyen üye bulunmuyor.
Robotlar:
  • Anthropic
Geri
Üst