Taze Logo
Yapay Zeka12 Mart 2026

Doğal Dil İşleme (NLP): Makineler Konuşmayı Nasıl Öğrendi? Kapsamlı Rehber

Doğal Dil İşleme (NLP): Makineler Konuşmayı Nasıl Öğrendi? Kapsamlı Rehber

Siri'den ChatGPT'ye, spam filtrelerinden Google Translate'e... NLP'nin ne olduğunu, nasıl çalıştığını ve dünyamızı nasıl şekillendirdiğini; vektörlerden Transformer mimarisine, Python kod örneklerinden etik tartışmalara kadar her detayıyla öğrenin.

Giriş: Sabah Rutininizdeki Görünmez Büyü

Sabah uyandınız ve telefonunuza "Bugün hava nasıl olacak?" diye sordunuz. Sesli asistanınız size anında yanıt verdi. Gelen kutunuza baktığınızda, onlarca gereksiz e-postanın "spam" klasörüne otomatik olarak taşındığını gördünüz. Bir arkadaşınıza mesaj yazarken, telefonunuz bir sonraki kelimenizi şaşırtıcı bir isabetle tahmin etti. Tüm bu küçük mucizelerin arkasındaki teknoloji aynı: Doğal Dil İşleme (NLP). Bu rehber, NLP'nin ne olduğu, nasıl çalıştığı, etik boyutları ve gelecekte bizi nelerin beklediği konusunda size derin bir bakış sunacak.

Bölüm 1: Temel Sorun ve Çözüm - Makineler Metni Nasıl "Anlar"?

İnsanlar için dil doğaldır; bağlamı, imaları, esprileri anlarız. Ancak bilgisayarlar için "güzel bir gün" ifadesi anlamsız bir karakter dizisidir. NLP'nin ilk ve en temel görevi, bu anlamsız dizileri, makinelerin işleyebileceği yapılandırılmış verilere, yani sayılara dönüştürmektir. Bu süreç birkaç adımdan oluşur:

  1. Tokenization (Kelimelere Ayırma): Bir cümle, en küçük anlamlı birimlerine, yani "token"larına (genellikle kelimeler ve noktalama işaretleri) ayrılır. "Bugün hava çok güzel." -> ["Bugün", "hava", "çok", "güzel", "."]
  2. Normalleştirme (Normalization): Kelimeler standart bir formata getirilir. Bu, genellikle tüm harfleri küçük harfe çevirmeyi (case folding) içerir. Ayrıca iki önemli teknik kullanılır:
    • Stemming (Kök Bulma): Kelimenin sonundaki ekleri basitçe keser. Örneğin, "gözlükçüler" kelimesini "göz" olarak bulabilir. Hızlıdır ama her zaman dilbilgisel olarak doğru kökü vermez.
    • Lemmatization (Anlamsal Kök Bulma): Kelimenin dilbilgisel yapısını ve bağlamını analiz ederek anlamlı kökünü bulur. Örneğin, "gözlükçüler" kelimesini "gözlük" olarak bulur. Daha yavaştır ama çok daha doğru sonuçlar verir.
  3. Stop Word (Etkisiz Kelimeler) Temizliği: "ve", "ile", "ama", "bir" gibi sık kullanılan ancak tek başlarına fazla anlam taşımayan kelimeler metinden çıkarılır. Bu, analizde gürültüyü azaltır.
  4. Vectorization (Vektörlere Dönüştürme): İşte sihrin gerçekleştiği yer burası. Temizlenen kelimeler, matematiksel olarak temsil edildikleri sayısal vektörlere dönüştürülür. Basitçe kelime saymaktan (Bag-of-Words) çok daha gelişmiş yöntemler vardır:
    • TF-IDF: Bir kelimenin sadece bir belgede ne kadar sık geçtiğini değil, tüm belgeler koleksiyonunda ne kadar nadir olduğunu da hesaba katar. Bu, "teknoloji" gibi önemli ama spesifik kelimelere daha fazla ağırlık verir.
    • Word Embeddings (Word2Vec, GloVe): Kelimeleri yoğun vektörlere dönüştürerek anlamsal ilişkileri yakalar. Bu sayede model, "kral - erkek + kadın" işleminin sonucunu "kraliçe" vektörüne yakın bir yerde bulabilir. Kelimelerin anlamını öğrenir.

Bölüm 2: NLP'nin Zengin Görev Seti ve Uygulamaları

Temel dönüşüm yapıldıktan sonra, NLP çeşitli görevleri yerine getirebilir:

a) Duygu Analizi (Sentiment Analysis)

Nedir? Bir metnin pozitif, negatif veya nötr bir duygu içerip içermediğini belirleme görevidir. Gelişmiş versiyonu olan Yön-Bazlı Duygu Analizi, "Bu telefonun kamerası harika ama bataryası berbat" gibi bir cümlede, "kamera" için pozitif, "batarya" için ise negatif duyguyu ayrı ayrı tespit edebilir.

b) Adlandırılmış Varlık Tanıma (Named Entity Recognition - NER)

Nedir? Metin içindeki özel isimleri (kişi, şirket, yer, tarih, para birimi vb.) bulup sınıflandırma işlemidir. Bu, yapılandırılmamış metinden yapılandırılmış bilgi çıkarmanın temelidir.

c) Makine Çevirisi (Machine Translation)

Nedir? Bir dildeki metni başka bir dile çevirme. Google Translate gibi servisler bu teknolojiyi kullanır. Modern sistemler (Neural Machine Translation), kelimeleri tek tek değil, cümlenin bağlamını bir bütün olarak anlayarak çeviri yapar.

d) Metin Özetleme (Text Summarization)

Nedir? Uzun bir metnin ana fikirlerini içeren kısa bir versiyonunu oluşturma. İki ana türü vardır: Çıkarımsal (Extractive), orijinal metinden en önemli cümleleri seçip birleştirir. Üretimsel (Abstractive) ise metni "anlar" ve kendi kelimeleriyle tamamen yeni bir özet yazar. LLM'ler bu ikinci türde devrim yaratmıştır.

Bölüm 3: Devrimin Adı: Transformer Mimarisi ve Büyük Dil Modelleri (LLM)

2017'de Google tarafından yayınlanan "Attention Is All You Need" başlıklı makale, NLP dünyasını sonsuza dek değiştirdi. Tanıttıkları **Transformer Mimarisi**, metni sıralı bir şekilde işlemek yerine, cümlenin her kelimesinin diğer tüm kelimelerle olan ilişkisini aynı anda tartan **"Dikkat Mekanizması" (Attention Mechanism)** üzerine kuruluydu. Bu, bilgisayarın "O, nehrin kenarına oturdu, yorgundu çünkü çok yüzmüştü." cümlesindeki "O" zamirinin kime veya neye atıfta bulunduğunu çok daha iyi anlamasını sağladı.

Bu mimari, ChatGPT, Gemini, Llama gibi Büyük Dil Modelleri'nin (LLM'ler) doğmasını sağladı. Milyarlarca parametre ve internetin devasa bir bölümüyle eğitilen bu modeller, sadece dili analiz etmekle kalmaz, aynı zamanda dili **üretir**. Bu, NLP'nin analizden yaratıma geçtiği tarihi bir kırılma noktasıdır.

Bölüm 4: Pratik Uygulama - Basitten Endüstri Standardına Duygu Analizi

Teoriyi pratiğe dökelim. İşte Python ile iki farklı duygu analizi örneği.

Örnek 1: TextBlob ile Hızlı Başlangıç

(Bu kodu çalıştırmak için pip install textblob komutuyla kütüphaneyi kurmanız gerekir.)


from textblob import TextBlob

text = "The new Taze Software update is amazing, but the customer service was slow."
blob = TextBlob(text)
print(f"TextBlob Polarity: {blob.sentiment.polarity}")
# Çıktı, genellikle iki zıt duygunun ortalamasını alır.
        

Örnek 2: Hugging Face Transformers ile Güçlü Analiz

Bu, günümüzdeki endüstri standardıdır. (Gerekli kütüphaneleri pip install transformers torch ile kurun.)


from transformers import pipeline

# Sadece bir kere indirilir, sonra cache'den kullanılır.
sentiment_pipeline = pipeline("sentiment-analysis")
data = ["I love this new feature!", "I am very disappointed with this product."]
results = sentiment_pipeline(data)
for result in results:
    print(f"Label: {result['label']}, Score: {result['score']:.4f}")

# Çıktı:
# Label: POSITIVE, Score: 0.9999
# Label: NEGATIVE, Score: 0.9998
        

Gördüğünüz gibi, Hugging Face modeli çok daha net ve güvenilir sonuçlar vermektedir.

Bölüm 5: Etik Pusula - NLP'nin Sorumlulukları ve Riskleri

NLP'nin gücü, büyük bir sorumluluğu da beraberinde getirir. Bu teknolojinin karanlık yüzünü anlamak, onu doğru kullanmak için kritiktir:

  • Önyargı (Bias): Modeller, eğitildikleri verilerdeki (genellikle internet) ırksal, cinsiyetçi ve kültürel önyargıları öğrenir ve yeniden üretir. Örneğin, bir iş başvurusu analiz sisteminin belirli isimlere veya okullara karşı önyargılı davranması mümkündür.
  • Yanlış Bilgi (Misinformation): LLM'ler, son derece ikna edici ama tamamen yanlış metinler üretebilir. Bu, sahte haberlerin ve propagandanın yayılmasını kolaylaştırabilir.
  • Mahremiyet (Privacy): NLP modelleri, kişisel mesajlardan veya belgelerden hassas bilgileri (sağlık durumu, finansal bilgiler) istemeden "öğrenebilir" ve açığa çıkarabilir.

Bu sorunların çözümü, daha çeşitli ve temiz veri setleri oluşturmak, modellerin kararlarını şeffaf hale getirmek ve sürekli insan denetimi uygulamaktan geçer.

Sonuç: Gelecek Konuşarak Şekillenecek

Doğal Dil İşleme, artık sadece bir bilgisayar bilimi alt dalı değil, insan-makine etkileşiminin temelini oluşturan bir köprüdür. Gelecekte, karmaşık yazılımları kullanmak yerine onlarla konuşacağız, uzun raporları okumak yerine özetlerini dinleyeceğiz ve yaratıcı süreçlerimizde yapay zekâ ile iş birliği yapacağız. NLP'yi anlamak, aslında geleceğin dilini anlamaktır.

Daha Fazlasını Öğrenmek İçin Kaynaklar

  • Hugging Face: Binlerce önceden eğitilmiş NLP modeline ve kütüphaneye ev sahipliği yapan, endüstri standardı bir platform.
  • spaCy & NLTK: Python için en popüler iki NLP kütüphanesi.
  • Stanford NLP Grubu Yayınları: Alanındaki en son akademik araştırmaları takip etmek için harika bir kaynak.