1.1 NLP Nedir? Tanım ve Kullanım Alanları
Doğal Dil İşleme (NLP), bilgisayar bilimleri, yapay zeka (AI) ve dilbilim alanlarının kesişiminde yer alan bir disiplindir. Temel amacı, makinelerin insan dilini, yani doğal dili, anlamasını, yorumlamasını, analiz etmesini ve üretmesini sağlamaktır. İnsan dili, belirsizlik, bağlamsallık, ironi, deyimler ve gramer karmaşıklığı gibi sayısız zorluk barındırdığı için, bu alandaki çalışmalar büyük bir bilimsel meydan okumadır.
B. NLP'nin Katmanlı Anlayışı:
Bir makinenin dili tam olarak anlaması, dilin farklı seviyelerdeki yapısını çözmesini gerektirir:
- Morfoloji (Biçimbilim): Kelimelerin yapısını, köklerini, eklerini ve bunların anlamı nasıl değiştirdiğini incelemek. (Örn: 'evler' -> 'ev' kök, '-ler' çoğul eki).
- Sözdizimi (Syntax): Cümledeki kelimelerin birbirleriyle olan gramer ilişkilerini ve cümle yapısının doğruluğunu incelemek. (Örn: POS Tagging, Cümle Ayrıştırma).
- Anlambilim (Semantics): Kelimelerin ve cümlelerin gerçek anlamını çıkarmak. Aynı kelimenin farklı anlamlarını (polisemi) bağlama göre çözmek (Örn: 'Bankaya yürüdü' cümlesindeki 'banka').
- Pragmatik (Bağlam Bilimi): Dilin kullanıldığı bağlamı, amacı ve konuşmacının niyetini anlamak. (Örn: İroninin anlaşılması).
NLP modelleri, klasik kural tabanlı sistemlerden (Hard-Coded Rules) istatistiksel yaklaşımlara (Markov Modelleri) ve nihayetinde Derin Öğrenme (Deep Learning) tabanlı modellere (Transformer'lar) evrilmiştir.
C. NLP'nin Temel Zorlukları (Ambiguity):
Doğal dilin kendisinden kaynaklanan sorunlar, NLP'nin en büyük engelleridir:
- Anlamsal Belirsizlik (Polysemy): Bir kelimenin birden fazla anlama gelmesi. (Örn: İngilizce'de 'crane' hem vinç hem de turna kuşu anlamına gelir.)
- Sözdizimsel Belirsizlik: Bir cümlenin birden fazla gramer yapısına sahip olması. (Örn: "Yaşlı adamı dürbünle izledi." - Kimin dürbünü var?)
- Bağlamsal Belirsizlik (Coreference Resolution): Zamirlerin veya isimlerin cümlenin önceki kısmında hangi varlığa atıfta bulunduğunu saptama. (Örn: "Ali ve Veli eve gitti. O (Ali) çok yorgundu.").
D. NLP'nin Kritik Kullanım Alanları ve Endüstriyel Önemi:
NLP, günümüz teknolojisinin temelini oluşturan, milyarlarca dolarlık bir endüstri haline gelmiştir:
- Üretken Yapay Zeka (Generative AI): Büyük Dil Modelleri (LLM'ler), metin, kod, makale, şiir oluşturma ve karmaşık sorulara bağlamsal yanıtlar üretme. Bu, LLM'lerin en popüler ve dönüştürücü kullanımıdır.
- Duygu Analizi (Sentiment Analysis) ve Görüş Madenciliği: Şirketlerin müşteri geri bildirimlerini, sosyal medya eğilimlerini ve pazar algısını anlık olarak takip etmesini sağlayan kritik bir iş zekası (Business Intelligence) aracıdır.
- Makine Çevirisi (Machine Translation): Diller arası engelleri ortadan kaldıran, global iletişimi mümkün kılan sistemler.
- Bilgi Erişim (Information Retrieval) ve Soru-Cevap (QA) Sistemleri: Büyük doküman havuzlarında hızlı ve kesin bilgi bulma. Kurumsal arama ve yasal/tıbbi bilgi sistemlerinde temeldir.
- Sanal Asistanlar ve Arayüzler: Siri, Alexa, Google Asistan gibi sesli komutları anlayan ve doğal dilde yanıt veren sistemler.
NLP'deki ilerlemeler, veri hacminin katlanarak artması (Big Data) ve GPU/TPU gibi hesaplama gücündeki sıçrama ile doğrudan ilişkilidir. Her geçen gün, daha akıllı, daha az yanlı (bias) ve daha hızlı çalışan modeller geliştirilmektedir. NLP, sadece dilbilimcilerin değil, aynı zamanda yazılım mühendisleri ve veri bilimcilerinin de ortak çalışma alanıdır.
1.2 Temel Ön İşleme Adımları (Tokenization, Stopwords)
Ham metin (raw text) verisi, genellikle gürültülüdür ve doğrudan makine öğrenmesi modelleri tarafından işlenemez. Bu nedenle, metni standartlaştırmak, temizlemek ve modelin anlayacağı parçalara ayırmak için kapsamlı bir ön işleme (preprocessing) süreci gereklidir. Ön işleme, modelin yalnızca önemli bilgilere odaklanmasını sağlayarak performansı ve eğitimin verimliliğini doğrudan artırır. Başarılı bir NLP projesinin temelini, iyi yapılmış bir ön işleme oluşturur.
A. Tokenizasyon (Tokenization) ve Çeşitleri:
Metin akışını daha küçük, anlamlı birimlere, yani token'lara ayırma işlemidir. Token, kelime, karakter, alt kelime, noktalama işareti veya emoji olabilir.
- Kelime Bazlı Tokenizasyon (Word Tokenization): En yaygın yöntemdir. Boşluklar ve noktalama işaretleri kullanılarak kelimeler ayrılır. Bu yaklaşım, bitişik kelimeler ve noktalama işaretleri arasında ayrım yapmayı gerektirir.
Örn: "İstanbul'u seviyorum!" -> ["İstanbul", "'u", "seviyorum", "!"].
- Cümle Bazlı Tokenizasyon (Sentence Tokenization): Metni, cümle sonu belirteçlerine (nokta, soru işareti, ünlem) göre ayrı cümlelere bölme. Özetleme ve diyalog sistemlerinde zorunludur.
- Karakter Bazlı Tokenizasyon (Character Tokenization): Her karakteri bir token olarak kabul eder. Özellikle yazım hatalarına karşı sağlamdır ve OOV sorununu tamamen çözer, ancak uzun sekanslar oluşturduğu için hesaplama maliyeti yüksektir.
- Alt Kelime Bazlı Tokenizasyon (Sub-word Tokenization): Modern Transformer modellerinin (BERT, GPT) standart yöntemidir. Byte Pair Encoding (BPE), WordPiece veya SentencePiece algoritmalarını kullanır. Bu yöntem, nadir kelimeleri ve OOV kelimeleri sık kullanılan alt-kelime parçalarına (morphemes) ayırır. Bu, hem kelime dağarcığını yönetilebilir boyutta tutar hem de nadir kelimeler için makul temsiller oluşturur.
Örn: "Tokenization" -> ["Token", "##iza", "##tion"].
B. Normalizasyon ve Temizlik (Normalization and Cleaning):
Metin verisini standart bir forma getirme adımlarıdır.
- Küçük Harfe Çevirme (Lowercasing): 'Elma', 'ELMA' ve 'eLmA' kelimelerinin aynı kabul edilmesini sağlar. (Örn: 'NLP MÜKEMMEL' -> 'nlp mükemmel').
- Noktalama İşaretlerini Kaldırma: Genellikle metin sınıflandırma ve kümeleme gibi görevlerde, noktalama işaretleri anlamı değiştirmediği sürece (bazı özel durumlar hariç) kaldırılır.
- HTML, URL ve Özel Karakter Temizliği: Web sayfalarından çekilen verilerdeki etiketlerin, bağlantıların ve diğer gereksiz gürültünün temizlenmesi.
- Sayısallaştırma (Numerization): Rakamların genel bir etiketle ($<$NUM$>$) değiştirilmesi veya metne dönüştürülmesi.
C. Stopwords (Önemsiz Kelimeleri Kaldırma):
"Ve", "ile", "bir", "mi", "bu" gibi dilde çok sık geçen, ancak genellikle cümlenin temel anlamsal katkısına düşük ağırlık veren kelimelerdir.
- Faydası: Özellikle BoW ve TF-IDF gibi seyrek temsil modellerinde boyutluluğu azaltır, hesaplama süresini düşürür ve gürültüyü azaltır.
- Ne Zaman Kaldırılmaz: Makine çevirisi, dil modelleme veya duygu analizi (Örn: "Bu film hiç de iyi değil." cümlesinde "hiç de" kısmı önemlidir) gibi sekans sırasının veya ince anlamın kritik olduğu görevlerde stopwords'i kaldırmak model performansını düşürebilir.
D. Stemming ve Lemmatization (İndirgeme Teknikleri):
Kelimelerin farklı çekimlenmiş veya türetilmiş hallerini tek bir temel forma indirgeme işlemidir.
- Stemming (Kök Ayırma): Basitçe kelimenin sonundaki ekleri, dilbilgisel bir bilgi olmaksızın, bir dizi kurala göre keser. Hızlıdır ancak her zaman geçerli bir kök kelime üretmez. (Örn: 'koşuyordu' -> 'koşu', 'evler' -> 'evl').
- Lemmatization (Sözcük Kökü Bulma): Kelimenin POS (Sözcük Türü) etiketini ve bir sözlükbilimsel veri tabanını kullanarak, kelimenin anlamlı temel formu olan lema'yı bulur. (Örn: 'koşuyordu' -> 'koşmak'). Lemmatizasyon, Stemming'den daha yavaş ancak anlamsal olarak daha doğrudur ve genellikle tercih edilir.
1.3 Etiketleme (POS Tagging) ve Temel Dil Modelleri
Metin verisi üzerinde dilbilgisel ve istatistiksel analizler yaparak, metnin yapısını anlamayı sağlayan temel NLP teknikleridir. Bu teknikler, daha karmaşık Derin Öğrenme modellerine girdi sağlamak veya bağımsız olarak basit görevleri çözmek için kullanılır.
A. POS Tagging (Part-of-Speech – Sözcük Türü Etiketleme):
Bir cümledeki her kelimeye, ait olduğu dilbilgisel kategoriyi (isim, fiil, sıfat, zarf, bağlaç, edat vb.) otomatik olarak atama işlemidir. POS etiketleme, metnin sözdizimsel (syntactic) yapısının anlaşılmasında kritik bir rol oynar ve diğer birçok görev için ön koşuldur.
- Örnek: "Hızlı tren geldi." -> Hızlı (Sıfat), tren (İsim), geldi (Fiil).
- Kritik Rolü:
- Lemmatizasyon: Doğru kökü bulmak için kelimenin türünü bilmek esastır.
- Adlandırılmış Varlık Tanıma (NER): NER, büyük ölçüde isimlere ve sıfatlara odaklanır; POS etiketleri bu sürecin doğruluğunu artırır.
- Sözdizimi Ayrıştırma (Parsing): Cümledeki gramer ağacını oluşturmanın ilk adımıdır.
- Temel Teknikler:
- Kural Tabanlı: Sözcüklerin etiketlendiği bir sözlük ve belirsizlikleri çözen kurallar kullanılır.
- İstatistiksel: En popüler istatistiksel yaklaşım Gizli Markov Modelleri (HMM) veya Koşullu Rastgele Alanlar (CRF)'dır. Bu modeller, sadece kelimenin kendisinin etiketi için olasılığını değil, aynı zamanda önceki etiketten bu etikete geçişin olasılığını da hesaba katar.
B. Dil Modellerine Giriş ve N-Gramlar:
Bir Dil Modeli (Language Model - LM), belirli bir dizideki kelimelerin olasılığını hesaplamak için kullanılan istatistiksel bir yapıdır. Temel olarak, verilen bir kelime dizisinden sonraki kelimenin ne olacağını tahmin etmeyi amaçlar. Dil modelleri, konuşma tanıma, otomatik tamamlama ve metin üretimi gibi temel NLP görevlerinin merkezindedir.
Matematiksel tanım: Bir $w_1, w_2, \dots, w_n$ dizisinin olasılığını hesaplamak.
$$ P(w_1, w_2, \dots, w_n) = \prod_{i=1}^{n} P(w_i | w_1, \dots, w_{i-1}) $$
N-Gram Modelleri:
Bu, Dil Modellemesinin en basit ve en eski yöntemidir. Markov Varsayımı'na dayanır: Bir kelimenin olasılığı sadece kendinden önceki N-1 kelimeye bağlıdır. Bu, hesaplamayı pratik hale getirir.
- Bigram (N=2): $P(w_i | w_{i-1})$. Sadece bir önceki kelimeye bakar.
$$ P(\text{cümle}) \approx P(w_1) \times P(w_2 | w_1) \times P(w_3 | w_2) \times \dots $$
Bigram olasılıkları, eğitim verisindeki frekanslar sayılarak hesaplanır.
- Trigram (N=3): $P(w_i | w_{i-2}, w_{i-1})$. Önceki iki kelimeye bakar, daha fazla bağlam yakalar.
C. N-Gram Sorunları ve Çözümleri:
- Seyrek Veri (Sparsity) Sorunu: Eğitim setinde hiç görülmeyen kelime dizilerinin olasılığının sıfır olması. Bu, modelin genelleme yeteneğini ciddi şekilde kısıtlar.
- Düzleştirme (Smoothing) ve Geri Dönüş (Backoff): Seyrek veri sorununu çözmek için kullanılan tekniklerdir.
- Laplace Düzleştirmesi (Add-one): Tüm sayımlara 1 eklenerek hiçbir olasılığın sıfır olmaması sağlanır.
- Katz Backoff: Trigram olasılığı hesaplanamadığında Bigram'a, o da hesaplanamadığında Unigram'a geri dönülür.
N-Gram modelleri, basit yapılarına rağmen hızlı oldukları için bazı temel otomatik tamamlama ve yazım denetimi uygulamalarında hala bir referans noktası olarak kullanılır, ancak bağlamı yakalama kısıtlamaları nedeniyle modern NLP'de yerlerini derin öğrenme modellerine bırakmışlardır.
2.1 Seyrek Vektörler (BoW, TF-IDF)
Makine öğrenmesi algoritmaları yalnızca sayısal verilerle çalışabilir. Metin verisini makineye girdi olarak vermek için, metni sayısal vektörlere dönüştürmek, yani Metin Temsili (Text Representation) oluşturmak zorunludur. Seyrek vektörler, kelime dağarcığı boyutu kadar yüksek boyutlu (genellikle 10.000+), ancak çoğu değeri sıfır olan vektörlerdir. Bu teknikler, Derin Öğrenme öncesi NLP'nin temelini oluşturur ve basit metin analizi görevlerinde hala kullanılabilir.
A. Bag of Words (BoW) – Kelime Çantası Modeli:
BoW modeli, bir dokümanın metnini, kelime dağarcığındaki her kelimenin o dokümanda kaç kez geçtiğini gösteren bir vektöre dönüştürür. En önemli kısıtlaması, kelime sırasını tamamen göz ardı etmesidir (aynı kelimelerden oluşan iki cümlenin vektörü aynıdır). Bu model, yalnızca kelime sıklığını esas alır.
- Süreç:
- Tüm eğitim setindeki benzersiz kelimelerden oluşan kelime dağarcığı (Vocabulary) oluşturulur. Her kelimeye benzersiz bir indeks atanır.
- Her doküman, bu kelime dağarcığı boyutu kadar bir vektörle temsil edilir.
- Vektördeki her pozisyon, o kelimenin dokümanda kaç kez geçtiğini (frekansını - Count) veya sadece geçip geçmediğini (Binary - 0 veya 1) belirtir.
- Avantajları: Basit, hızlı ve kolay uygulanabilir. Geleneksel ML algoritmaları (Naive Bayes, SVM) ile uyumludur.
- Dezavantajları:
- Anlamsal Kayıp: "Kedi fareyi yedi" ve "Fare kediyi yedi" cümleleri aynı vektör temsiline sahip olabilir, bu da anlamsal bağlamın tamamen kaybolduğu anlamına gelir.
- Yüksek Boyutluluk ve Seyreklik: Kelime dağarcığı büyüdükçe (milyonlarca kelime), vektör boyutu çok büyür ve vektörlerin çoğu sıfır olur. Bu, depolama ve hesaplama açısından verimsizdir.
B. TF-IDF (Term Frequency-Inverse Document Frequency):
BoW'un temel eksikliği, "ve", "bir", "ile" gibi sık geçen, ancak anlamsal katkısı düşük kelimelere yüksek ağırlık vermesidir. TF-IDF bu sorunu çözmek için geliştirilmiştir. Bir kelimenin bir dokümandaki önemini, iki faktörün çarpımıyla hesaplar:
$$ \mathbf{\text{TF-IDF}(t, d, D) = \text{TF}(t, d) \times \text{IDF}(t, D)} $$
- TF (Term Frequency – Terim Sıklığı): Kelimenin ($t$) belirli bir dokümanda ($d$) kaç kez geçtiğidir. Genellikle, logaritmik olarak normalleştirilmiş (log-normalized) formları kullanılır.
- IDF (Inverse Document Frequency – Ters Doküman Sıklığı): Kelimenin tüm doküman kümesinde ($D$) ne kadar nadir geçtiğini ölçer. Bir kelime ne kadar yaygınsa, IDF değeri o kadar düşüktür. Bu, stopword'lerin ağırlığını düşürür.
$$ \mathbf{\text{IDF}(t, D) = \log \left( \frac{\text{Toplam Doküman Sayısı (N)}}{\text{Kelimenin Geçtiği Doküman Sayısı (df}_t)} \right) + 1} $$
C. TF-IDF'in Önemi:
TF-IDF, bir kelimenin hem yerel (TF) hem de global (IDF) önemini dikkate alarak daha dengeli ve ayırt edici bir ağırlık verir. Seyrek vektörler arasında TF-IDF, doküman sınıflandırma ve bilgi erişimi (Information Retrieval) sistemlerinde (Örn: arama motorlarının eski versiyonlarında) hala güçlü bir temel model olarak kabul edilir.
2.2 Yoğun Kelime Gömülmeleri (Word2Vec, GloVe)
Seyrek vektörlerin (BoW, TF-IDF) anlamsal ilişkileri yakalayamama, kelime sırasını yok sayma ve yüksek boyutluluk sorunlarını çözmek için Yoğun Gömülmeler (Dense Embeddings) geliştirilmiştir. Bu vektörler, kelime dağarcığı boyutundan çok daha küçük (genellikle 50 ile 300 boyut arasında) olup, her boyut belirli bir anlamsal veya sözdizimsel özelliği temsil eder. Bu yöntemler Dağıtımsal Anlambilim (Distributional Semantics) ilkesine dayanır: "Benzer bağlamda kullanılan kelimelerin anlamları da benzerdir."
A. Word2Vec (Kelime-Vektöre Dönüşüm):
Google'dan Mikolov ve arkadaşları tarafından 2013'te geliştirilen Word2Vec, kelimelerin anlamsal olarak yakınlığını temsil eden vektörler öğrenmek için kullanılan hafif bir sinir ağı modelidir. İki temel mimarisi vardır, her ikisi de bir kelimenin bağlamını tahmin etme görevi üzerinden eğitilir:
- CBOW (Continuous Bag-of-Words): Çevredeki (context) kelimeleri toplayarak, merkezdeki (target) kelimeyi tahmin etmeyi amaçlar. Eğitim süreci daha hızlıdır ve sık kullanılan kelimeler için daha iyi çalışır.
- Skip-gram: Merkezdeki kelimeyi kullanarak çevredeki kelimeleri tahmin etmeyi amaçlar. Nadir kelimeler için daha iyi temsiller ürettiği ve genellikle büyük veri setlerinde daha başarılı olduğu kabul edilir.
Word2Vec'in başarısı, vektör aritmetiği ile karmaşık anlamsal ilişkileri yakalayabilmesidir:
$$ \mathbf{\vec{Kral} - \vec{Erkek} + \vec{Kadın} \approx \vec{Kraliçe}} $$
Bu, modelin vektör uzayında cinsiyet ve kraliyet gibi kavramlar arasında doğru vektörel farkları öğrendiğini gösterir.
B. GloVe (Global Vectors for Word Representation):
Stanford Üniversitesi'nden geliştirilen GloVe, Word2Vec'in lokal pencere bazlı yaklaşımına ek olarak, metindeki kelimelerin global eş-oluş (co-occurrence) istatistiklerini de birleştirir.
- Yaklaşım: GloVe, tüm veri kümesi üzerinde bir eş-oluş matrisi (bir kelimenin başka bir kelimeyle ne kadar sık yan yana geldiğini gösteren matris) oluşturur. Model, öğrenilen vektörlerin (dot product) kelimelerin eş-oluş sıklıklarının logaritmasıyla ($ \log(X_{ij}) $) ilişkili olmasını sağlamaya çalışır.
- Faydası: Hem lokal bağlam bilgisini hem de global istatistiksel bilgiyi aynı anda yakalar, bu da onu Word2Vec'e güçlü bir alternatif yapar.
C. FastText ve Morfolojik Zenginlik:
Facebook AI Research (FAIR) tarafından geliştirilen FastText, Word2Vec'in bir uzantısıdır. En büyük farkı, kelimeleri bütün olarak değil, karakter N-gramları (genellikle 3 ile 6 karakterli parçalar) toplamı olarak temsil etmesidir.
- OOV Çözümü: FastText, kelime dağarcığı dışındaki (OOV) kelimeler için bile makul bir vektör üretebilir (kelimeyi oluşturan karakter parçalarının vektörlerini toplayarak).
- Eklemeli Diller: Türkçe gibi morfolojik açıdan zengin dillerde (bir kelimeye çok sayıda ek gelebilen diller) ve yazım hatalarında sağlamlık sağlar.
Yoğun gömülmeler, metin sınıflandırma, kümeleme ve benzerlik ölçümü gibi görevlerde bir sonraki aşama olan Derin Öğrenme mimarilerinin temel girdi katmanını oluşturur.
2.3 Metin Sınıflandırma ve NER
Metin sınıflandırma ve Adlandırılmış Varlık Tanıma (NER), NLP'nin temel ve en yaygın kullanılan görevlerinden ikisidir. Bu görevler, dilin farklı seviyelerdeki anlamsal içeriğini anlamaya odaklanır ve endüstrideki birçok kritik uygulamanın temelini oluşturur.
A. Metin Sınıflandırma (Text Classification):
Bir metin parçasına (cümle, paragraf veya doküman) önceden tanımlanmış bir kategori etiketi atama görevidir. Bu, NLP'deki en temel ve çok yönlü görevlerden biridir. Model, metnin içeriğini analiz ederek hangi sınıfa ait olduğunu tahmin eder.
- Temel Alt Görevler:
- Duygu Analizi (Sentiment Analysis): Müşteri yorumlarını, sosyal medya gönderilerini pozitif, negatif, nötr veya daha ince duygular (neşe, öfke) olarak etiketleme.
- Konu Etiketleme (Topic Labeling): Bir haber makalesini "Spor", "Siyaset", "Teknoloji" olarak sınıflandırma.
- Spam/Zararlı İçerik Tespiti: E-posta veya çevrimiçi platformlarda istenmeyen/zararlı içeriği belirleme.
- Niyet Tespiti (Intent Recognition): Chatbotlarda kullanıcının niyetini anlama (Örn: "Hesap bakiyemi sor", "Randevu al").
- Model Gelişimi:
- Geleneksel ML: BoW/TF-IDF vektörleri üzerine Naive Bayes veya SVM kullanılırdı.
- Derin Öğrenme: Word2Vec/GloVe gömülmeleri üzerine kurulmuş CNN veya RNN/LSTM modelleri.
- Modern Yaklaşım: BERT, RoBERTa gibi Transformer modellerinin (genellikle [CLS] token'ının çıktısı) üzerine basit bir yoğun katman (Dense Layer) ekleyerek ince ayar yapılması. Bu, bağlamsal bilgiyi kullanarak çok daha yüksek doğruluk sağlar.
B. Adlandırılmış Varlık Tanıma (Named Entity Recognition – NER):
Bir metin içinde yer alan özel adları, sayısal ifadeleri veya zaman kavramlarını bulup, bunları önceden tanımlanmış kategorilere (kişi, yer, organizasyon, tarih, para birimi vb.) ayırma işlemidir. NER, bilgi çıkarma (Information Extraction) sürecinin ilk ve en hayati adımıdır.
Örn: "Tesla'nın CEO'su Elon Musk, 2024 Mart'ta Berlin'de bir fabrika açtı."
NER sonucu: Tesla (Organizasyon), Elon Musk (Kişi), 2024 Mart (Tarih), Berlin (Yer).
- NER'in Zorluğu (Sekans Etiketleme): NER, bir sekans etiketleme (sequence labeling) görevidir. Yani girdi sekansındaki her tokene bir çıktı etiketi atanır. Yaygın etiketleme şeması BIO (Begin, Inside, Outside) şemasıdır.
- **B-PER:** Kişi adının başlangıcı (Begin Person)
- **I-PER:** Kişi adının içindeki kelime (Inside Person)
- **O:** Bir varlığın parçası değil (Outside)
- Model Gelişimi:
- Klasik: CRF (Conditional Random Fields).
- Derin Öğrenme: Bi-LSTM-CRF (Çift yönlü LSTM, CRF katmanı ile çıktıyı iyileştirir).
- Modern: BERT/RoBERTa gibi Transformer modelleri, token'ın bağlamsal temsilini kullanarak üstün doğruluk sağlar.
NER, arama motorlarında bilgi grafiklerinin oluşturulması, yasal metinlerde kritik bilgilerin çıkarılması ve tıbbi kayıtlarda hastalık/ilaç adlarının otomatik tespiti gibi alanlarda temel bir araçtır.
2.4 Metin Benzerliği ve Ölçümleme
Metin benzerliği, iki metin parçasının ne kadar ilgili veya aynı anlama sahip olduğunu nicel olarak belirlemek için kullanılan teknikler bütünüdür. Bu ölçümler, bilgi erişimi, tekrarlayan içerik tespiti (plagiarism), doküman kümeleme, soru-cevap sistemleri ve anlamsal arama (semantic search) gibi birçok temel NLP uygulamasında kritik rol oynar.
A. Anlamsal Benzerlik (Semantic Similarity) ve Cosine Similarity:
Anlamsal benzerlik, iki metin parçasının aynı anlamı taşıyıp taşımadığına odaklanır. Bu ölçümler, genellikle metinlerin yoğun sayısal vektör temsilleri (Word2Vec, GloVe veya BERT/Sentence-BERT gömülmeleri) üzerinde uygulanır. İki vektör arasındaki yön farkı incelenir.
- Cosine Similarity (Kosinüs Benzerliği): İki vektör arasındaki açının kosinüsünü hesaplayan en popüler anlamsal benzerlik ölçüsüdür. Bu, vektörlerin büyüklüğünden (metin uzunluğundan) ziyade, onların yönünün ne kadar benzer olduğunu ölçer. Vektörler aynı yöne ne kadar yakınsa, benzerlik skoru 1'e o kadar yakındır. Ortogonal (dik) iseler skor 0'dır.
$$ \mathbf{\text{Cosine Similarity}(\mathbf{A}, \mathbf{B}) = \frac{\mathbf{A} \cdot \mathbf{B}}{||\mathbf{A}|| \cdot ||\mathbf{B}||}} $$
- Öklid Uzaklığı (Euclidean Distance): İki vektör arasındaki geometrik uzaklığı ölçer. Benzerlik ölçüsü yerine uzaklık ölçüsü olarak kullanılır; daha küçük değerler daha yüksek benzerlik anlamına gelir.
- Manhattan Uzaklığı: Uzaklığı eksenler boyunca mutlak farkların toplamı olarak ölçer.
B. Sözdizimsel Benzerlik (Syntactic/Lexical Similarity):
Bu ölçümler, metinlerin kelime (token) veya karakter örtüşmelerine odaklanır ve anlamsal bilgiyi dikkate almaz.
- Jaccard Similarity (Jaccard Benzerliği): İki kümenin kesişimindeki öğe sayısının, iki kümenin birleşimindeki toplam öğe sayısına oranını hesaplar.
$$ \mathbf{\text{Jaccard Similarity}(A, B) = \frac{|A \cap B|}{|A \cup B|}} $$
Metinlerde, A ve B kümeleri genellikle iki dokümanın benzersiz kelimeler kümesi veya N-gram kümesi olarak tanımlanır. Özellikle kısa metinlerde ve kelime örtüşmesinin önemli olduğu (örn: kopya tespiti) görevlerde kullanılır.
- Dice Katsayısı (Sørensen–Dice Coefficient): Jaccard'a benzer, ancak kesişimin ortalama büyüklüğe oranını ölçer.
C. Dizi Uzaklığı (Sequence Distance) ve Karakter Bazlı Ölçüm:
Bu metrikler, özellikle kelime düzeyi eşleşmenin ötesinde, karakter dizilerindeki küçük farklılıkları ölçmek için önemlidir (Örn: Yazım hataları veya dizgi manipülasyonları).
- Levenshtein Mesafesi (Düzenleme Mesafesi): Bir kelimeyi diğerine dönüştürmek için gereken minimum tek karakterlik düzenleme (ekleme, silme, değiştirme) sayısını ölçer. Yazım denetimi ve OCR çıktılarını düzeltme gibi görevlerde çok önemlidir.
- Hamming Mesafesi: Eşit uzunluktaki iki dizinin karşılık gelen pozisyonlarında farklı olan karakter sayısını ölçer.
Doğru benzerlik ölçümünü seçmek, eldeki göreve (anlamsal arama için Cosine, yazım denetimi için Levenshtein) ve kullanılan metin temsiline (yoğun vektörler mi, seyrek kelime kümeleri mi) bağlıdır.
3.1 RNN, LSTM ve GRU Mimarileri
Metin, zaman serisi veya konuşma gibi dizisel veriler (sekanslar), önceki girdilerin sonraki girdileri etkilediği bir yapıya sahiptir. Klasik sinir ağları bu ardışık bağımlılığı doğal olarak modelleyemez. Tekrarlayan Sinir Ağları (RNN) bu sorunu çözmek için tasarlanmıştır ve Derin Öğrenme tabanlı NLP'nin ilk büyük adımıdır.
A. Recurrent Neural Networks (RNN) ve Bağlam:
RNN'ler, her zaman adımında ($t$), mevcut girdi ($x_t$) ile bir önceki zaman adımından gelen iç durum (hidden state) veya hafıza ($h_{t-1}$) bilgisini birleştirir. Bu döngüsel yapı, ağın bir tür "kısa süreli bellek" geliştirmesini sağlar ve sekansın geçmişini temsil eden bir vektör ($h_t$) üretir.
$$ \mathbf{h_t = f(W_{hh} h_{t-1} + W_{xh} x_t + b_h)} $$
RNN'nin Kritik Kısıtlaması (Uzun Süreli Bağımlılık): Eğitim sürecinde, gradyanlar geriye doğru yayıldıkça (Backpropagation Through Time - BPTT), çarpımlar zinciri nedeniyle gradyanlar ya sıfıra yaklaşır (Vanishing Gradient - Kaybolan Gradyan) ya da çok büyür (Exploding Gradient). Kaybolan gradyan, modelin çok uzun sekansların başındaki bilgileri ($h_0, h_1$) sekansın sonuna ($h_{100}$) taşımakta başarısız olmasına neden olur. Bu, "uzun süreli bağımlılık" problemini yaratır.
B. Long Short-Term Memory (LSTM):
Hochreiter & Schmidhuber tarafından 1997'de geliştirilen LSTM, RNN'nin gradyan kaybolması sorununu çözmek için tasarlanmıştır. Bunu, bilgi akışını düzenleyen özel bir iç yapıya, yani Kapı (Gate) mekanizmalarına sahip bir Hücre Durumu (Cell State - $C_t$) ekleyerek başarır. Hücre durumu, zaman içinde bilginin uzun mesafede bozulmadan akmasını sağlayan bir "otoyol" görevi görür.
Her bir LSTM hücresi üç ana kapıdan oluşur (çoğu sigmoid aktivasyon fonksiyonu kullanır ve 0 ile 1 arasında bir değer üretir, bu da bilginin ne kadarının geçeceğini kontrol eder):
- Unutma Kapısı ($f_t$): Hücre durumundan hangi eski bilginin atılacağına (unutulacağına) karar verir.
- Giriş Kapısı ($i_t$): Hangi yeni bilginin ($ \tilde{C}_t $) mevcut hücre durumuna ekleneceğine karar verir.
- Çıkış Kapısı ($o_t$): Hücre durumuna dayanarak nihai çıktının ve yeni iç durumun ($h_t$) ne olacağını belirler.
LSTM'ler, makine çevirisi, sekans etiketleme ve konuşma tanıma gibi birçok görevde uzun süre standart haline gelmiştir. Çift Yönlü LSTM (Bi-LSTM) ise sekansın hem ileri hem de geri yönde işlenmesini sağlayarak bağlam yakalama yeteneğini artırmıştır.
C. Gated Recurrent Unit (GRU):
Cho ve arkadaşları tarafından 2014'te tanıtılan GRU, LSTM'nin daha basit ve daha hesaplaması kolay bir çeşididir. LSTM'deki hücre durumu ve çıkış kapısı mekanizmalarını tek bir Güncelleme Kapısı altında birleştirerek daha az parametre kullanır.
- Güncelleme Kapısı ($z_t$): Ne kadar eski bilginin korunacağını ve ne kadar yeni bilginin ekleneceğini kontrol eder.
- Sıfırlama Kapısı ($r_t$): Önceki iç durumun ne kadarının yeni girdiyle birleştirileceğini kontrol eder.
GRU'lar, LSTM'den daha hızlı eğitilebilir ve genellikle benzer performans gösterir. Daha az veri ile çalışırken veya daha hızlı deney yapılması gerektiğinde GRU'lar tercih edilebilir. Hem LSTM hem de GRU, sekans modellemede hala geçerli yaklaşımlardır, ancak Transformer'lar, özellikle büyük veri setleri için, paralelleştirme avantajları sayesinde bu mimarilerin önüne geçmiştir.
3.2 Transformer Mimarisi ve Dikkat Mekanizması
Transformer mimarisi, 2017 yılında Google tarafından "Attention Is All You Need" makalesiyle tanıtıldı ve NLP'de devrim yarattı. Bu model, RNN/LSTM'lerin sıralı (ardışık) işleme zorunluluğunu tamamen ortadan kaldırarak, dizisel verileri işlemeyi kökten değiştirmiştir. Transformer'ın başarısının anahtarı, ağın tamamını oluşturan Dikkat Mekanizması (Attention)dır.
A. Kendi Kendine Dikkat (Self-Attention) Mekanizması:
Self-Attention, bir cümlenin bir kelimesini kodlarken, o kelimenin cümlenin diğer kelimeleriyle olan ilişkisinin (öneminin) ağırlıklarını otomatik olarak hesaplamasını sağlar. Bu mekanizma, bir kelimenin anlamını, diğer tüm kelimelerle olan bağlamına göre dinamik olarak belirler.
Örn: "Tren yavaş olduğu için biletler pahalıydı." cümlesinde, yavaş kelimesi kodlanırken, Self-Attention onunla doğrudan ilişkili olan Tren kelimesine ve dolaylı ilişkili pahalıydı kelimesine yüksek ağırlık verir. Bu, RNN'lerin zorlandığı uzun mesafeli bağımlılıkları tek bir adımda yakalamayı mümkün kılar.
Self-Attention, her kelimeyi üç farklı vektöre dönüştürerek çalışır (lineer dönüşümlerle):
- Sorgu (Query - Q): Ne arıyorum? (Mevcut kelime)
- Anahtar (Key - K): Diğer kelimeler ne sunuyor? (Tüm kelimeler)
- Değer (Value - V): Anahtarlar eşleşirse hangi bilgiyi kullanmalıyım? (Tüm kelimeler)
Dikkat Ağırlıkları, Q ve K'nin noktasal çarpımının (dot product) softmax'ı ile hesaplanır. Sonuç, ağırlıklı V değerlerinin toplamıdır:
$$ \mathbf{\text{Attention}(Q, K, V) = \text{softmax}\left(\frac{QK^T}{\sqrt{d_k}}\right) V} $$
B. Transformer'ın Temel Mimarisi:
Transformer, temelde bir Encoder yığını ve bir Decoder yığınından oluşan bir Sekans-Sekansa (Seq2Seq) modelidir. En kritik farkı, tekrarlayan (Recurrent) katmanlar yerine Dikkat katmanlarını kullanmasıdır.
- Encoder: Girdi sekansını işler. Her katmanda Multi-Head Self-Attention ve İleri Beslemeli Ağ (Feed-Forward) bulunur.
- Decoder: Çıktı sekansını üretir. Üç ana alt katmanı vardır: Multi-Head Self-Attention (Maskelenmiş), Encoder-Decoder Attention ve Feed-Forward Network.
- Encoder-Decoder Attention: Decoder'ın çıktıyı üretirken girdi (Encoder çıktısı) sekansının hangi kısımlarına bakması gerektiğini öğrenmesini sağlar.
C. Transformer'ın Avantajları:
- Paralelleştirme: Self-Attention, tüm sekansı aynı anda işleyebildiği için eğitim süresini önemli ölçüde kısaltır (özellikle GPU'lar üzerinde). RNN'lerin ardışık hesaplama zorunluluğu yoktur.
- Uzun Mesafeli Bağımlılık: Sabit bir geçiş fonksiyonu yerine, her kelimenin diğer tüm kelimelerle doğrudan etkileşim kurması, uzun mesafeli bağlamı yakalama yeteneğini katlanarak artırır.
- Pozisyonel Gömme (Positional Encoding): Sıralı bilgi doğal olarak kaybolduğu için, kelimelerin cümledeki konum bilgisini modele beslemek için sabit veya öğrenilebilir vektörler (sinüs/kosinüs fonksiyonlarına dayalı) kullanılır.
Transformer, BERT, GPT ve T5 gibi modern Büyük Dil Modellerinin (LLM) temelini oluşturarak, NLP alanını Sekans-Sekansa modellemede yeni bir çağa taşımıştır.
3.3 Önceden Eğitilmiş Modeller (BERT, GPT, T5)
Modern NLP'nin en önemli paradigmalarından biri Transfer Öğrenme (Transfer Learning)'dir. Bu, bir modelin çok büyük, etiketlenmemiş veri setlerinde (Web sayfaları, kitaplar) genel dilbilgisi ve anlam bilgisini öğrenmek üzere önceden eğitilmesi (Pre-training) ve ardından daha küçük, görev odaklı (duygu analizi, soru-cevap) veri setlerinde ince ayar yapılması (Fine-tuning) sürecidir. Transformer mimarisini temel alan bu modeller, üç ana mimari aileye ayrılır:
A. BERT (Bidirectional Encoder Representations from Transformers):
Google tarafından 2018'de geliştirilen BERT, sadece Transformer Encoder katmanlarını kullanır. En büyük başarısı, kelimeleri kodlarken çift yönlü bağlamı (bir kelimenin hem solundaki hem de sağındaki kelimeleri aynı anda hesaba katması) yakalamasıdır.
- Ön Eğitim Görevleri:
- Maskelenmiş Dil Modelleme (MLM): Cümledeki rastgele kelimelerin %15'ini maskeler ve modelden bu maskelenmiş kelimeleri çevredeki bağlama göre tahmin etmesini ister.
- Sonraki Cümle Tahmini (NSP): İki cümlenin birbirini mantıksal olarak takip edip etmediğini tahmin eder.
- Kullanım: BERT, Doğal Dil Anlama (NLU) görevleri (Metin Sınıflandırma, NER, Soru-Cevap) için idealdir. Metin üretme (NLG) yeteneği, tek yönlü modeller kadar güçlü değildir.
- Model Mimarisi: BERT'in çıktısı, genellikle ilk token olan [CLS] token'ının vektörü (sınıflandırma için) veya her bir token'ın bağlamsal vektörü (sekans etiketleme için) olarak kullanılır.
B. GPT (Generative Pre-trained Transformer) Ailesi:
OpenAI tarafından geliştirilen GPT (GPT-3, GPT-4, vb.), sadece Transformer Decoder katmanlarını kullanır ve tek yönlüdür (Autoregressive). Yani, bir kelimeyi kodlarken sadece kendinden önceki kelimeleri dikkate alabilir. Bu, üretkenlik için kritiktir.
- Ön Eğitim Görevi: Basitçe sonraki kelimeyi tahmin etmektir. Bu tek yönlü eğitim, modelin akıcı ve mantıklı bir sekans üretme yeteneğini geliştirir.
- Kullanım: Doğal Dil Üretimi (NLG) görevleri (metin oluşturma, öykü yazma, özetleme, kod üretimi) için en uygundur.
- Sıfır Çekimli Öğrenme (Zero/Few-Shot Learning): Yüksek parametre sayısı sayesinde (GPT-3: 175 milyar), ince ayar yapmadan bile, sadece bir metin istemi (prompt) ile yönlendirilerek (In-Context Learning) çok çeşitli görevleri yerine getirebilir.
C. T5 (Text-to-Text Transfer Transformer):
Google tarafından geliştirilen T5, hem Encoder hem de Decoder katmanlarını (tam Seq2Seq Transformer) kullanır. Bu modelin temel fikri, tüm NLP görevlerini metinden metne (text-to-text) bir görev olarak çerçevelemektir. Modelin çıktısı her zaman bir metin dizesidir.
Örn: Makine Çevirisi için girdi "translate English to German: That is good." ve çıktı "Das ist gut." şeklindedir.
Bu modellerin gücü, büyük ölçekli ön eğitimin ardından küçük bir veri setiyle bile üstün performans sergileyebilmesidir. Günümüzde, yeni bir NLP problemi için sıfırdan model eğitmek yerine, bu önceden eğitilmiş modellerden birini kullanmak standart ve en verimli yaklaşımdır.
3.4 Gelişmiş Gömme Teknikleri (Contextual, Sentence)
Word2Vec ve GloVe gibi geleneksel yoğun gömülmeler (static embeddings), bir kelimenin vektörünün bağlamdan bağımsız olmasından muzdaripti. Kelimenin farklı anlamları olsa bile her zaman aynı vektörü kullanılırdı (Örn: 'banka' finans kurumu da olsa, nehir kenarı da olsa tek bir vektör). Gelişmiş gömme teknikleri, bu sorunu çözerek kelimelerin bağlama duyarlı (Contextual) ve cümlelerin anlamsal açıdan zengin tekil (Sentence) temsillerini oluşturur.
A. Bağlama Duyarlı Gömülmeler (Contextual Embeddings):
Bu vektörler, BERT, ELMo (eski bir model), RoBERTa ve diğer Transformer modellerinin çıktı katmanlarından elde edilir. Bir kelimenin vektörünün cümledeki diğer kelimelerle olan etkileşimine göre dinamik olarak değişmesini sağlar. Bu, kelimenin sadece genel anlamını değil, o anda kullanıldığı özel ve bağlamsal anlamını da kodlar.
B. Cümle Gömülmeleri (Sentence Embeddings):
Metin benzerliği, bilgi alma (Information Retrieval) veya kümeleme gibi görevlerde, bir cümlenin veya dokümanın tüm anlamını temsil eden tek, sabit boyutlu bir yoğun vektöre ihtiyaç duyulur. Bu vektörler, anlamsal arama için vektör veri tabanlarında (Vector Databases) saklanır.
Gelişmiş gömme teknikleri, NLP modellerinin anlama düzeyini temel kelime eşleşmelerinden gerçek anlam eşleşmelerine taşıyarak modern AI uygulamalarının temelini oluşturmuştur.
3.5 NLP ve MLOps
MLOps (Machine Learning Operations), bir makine öğrenmesi modelinin geliştirme aşamasından üretim (production) ortamına güvenilir, verimli ve sürdürülebilir bir şekilde dağıtılması, izlenmesi ve yönetimini kapsayan bir dizi uygulamadır. NLP modelleri, özellikle Büyük Dil Modelleri (LLM), yüksek hesaplama gereksinimleri, büyük model boyutları ve dinamik doğası nedeniyle MLOps süreçlerini zorunlu kılar. MLOps, DevOps ilkelerinin Makine Öğrenmesi yaşam döngüsüne uygulanmasıdır.
A. NLP için Veri ve Deney Yönetimi:
Veri bilimindeki en büyük zorluklardan biri verinin kendisinin değişmesidir. Metin verisi için bu daha da kritiktir.
- Veri Versiyonlama (Data Versioning): Bir NLP modelinin performansı, hangi eğitim verisiyle eğitildiğine bağlıdır. DVC (Data Version Control) gibi araçlarla, verinin ve ön işleme adımlarının izlenmesi ve versiyonlanması sağlanır.
- Deney Takibi: Modelin eğitildiği hiperparametrelerin, kullanılan ön eğitim modelinin versiyonunun ve elde edilen metriklerin (F1-Skoru, Doğruluk) MLflow veya Weights & Biases gibi araçlarla sistematik olarak kaydedilmesi.
- Pipeline Otomasyonu (CI/CD/CT): Sürekli Entegrasyon (CI), Sürekli Dağıtım (CD) ve özellikle Sürekli Eğitim (CT - Continuous Training) pipeline'larının kurulması. Metin verisi değiştikçe, eğitim pipeline'ının otomatik olarak tetiklenmesi gerekir.
B. Model Dağıtımı ve Servis Çıkarımı (Serving):
NLP modellerini üretim ortamında çalıştırmak, genellikle gecikme (latency) ve verim (throughput) açısından zorlayıcıdır.
- Konteynerleştirme (Containerization): Modeller, bağımlılıkları ve çalıştırma ortamları ile birlikte Docker konteynerlerine paketlenir. Bu, modelin geliştirme ve üretim ortamları arasında tutarlı çalışmasını sağlar. Kubernetes ile ölçeklenebilirlik sağlanır.
- Servis Çıkarımı (Serving Frameworks): Modelin gerçek zamanlı istekleri yanıtlamak üzere bir API üzerinden sunulması. Pytorch için TorchServe, TensorFlow için TensorFlow Serving veya özel Fast API/Flask uygulamaları kullanılır.
- Optimizasyon: LLM'ler için model boyutunu küçültmek (Quantization, Pruning) ve çıkarım hızını artırmak (HuggingFace Optimum, Triton Inference Server) kritik MLOps adımlarıdır.
C. İzleme (Monitoring) ve Model Bakımı:
Modelin üretim ortamında beklendiği gibi çalışıp çalışmadığının sürekli kontrolü.
- Veri Kayması (Data Drift) Tespiti: Üretim verisi zamanla, eğitim verisinden farklılaşabilir (Örn: Covid-19 sonrası kullanılan yeni kelimeler). Bu "kavram kayması" (Concept Drift) modelin performansını düşürür ve yeniden eğitimi (Retraining) zorunlu kılar.
- Performans Metriklerinin İzlenmesi: Modelin doğruluk, duyarlılık ve F1 skorunun canlı veriler üzerinde düzenli olarak hesaplanması.
- Gecikme ve Hata Oranı: API isteklerinin gecikme süresinin ve hatalı yanıt oranının izlenmesi.
MLOps, NLP projelerinin laboratuvar ortamından gerçek dünya uygulamalarına güvenle taşınmasını ve uzun vadeli başarısını sağlayan bir mühendislik disiplinidir.
4.1 Metin Özetleme ve Makine Çevirisi
Bu iki görev de, bir girdi sekansını bir çıktı sekansına dönüştürmeyi amaçlayan klasik Sekans-Sekansa (Seq2Seq) görevleridir. Metin özetleme ve Makine Çevirisi (MT), bağlamı anlama ve orijinal anlamı koruyarak yeni bir sekans üretme yeteneği gerektirdiği için en zorlu ve teknik olarak gelişmiş NLP alanlarından ikisidir. Modern çözümlerin temelinde Encoder-Decoder Transformer mimarisi ve T5, BART gibi üretken modeller yatar.
A. Metin Özetleme (Text Summarization):
Uzun bir metnin ana içeriğini koruyan, daha kısa ve okunabilir bir versiyonunu otomatik olarak üretme görevidir.
- Çıkarımsal Özetleme (Extractive Summarization): Orijinal metindeki en önemli, en temsili cümleleri veya kelime gruplarını seçerek özeti oluşturur. Özet, tamamen orijinal metnin parçalarından oluşur. (Örn: Cümleleri önem sırasına göre puanlayan ve en yüksek puanlıları seçen TF-IDF/TextRank tabanlı yöntemler).
- Soyutlayıcı Özetleme (Abstractive Summarization): Metni anladıktan sonra, yeni ve özgün cümleler ve kelimeler kullanarak, tıpkı bir insanın yaptığı gibi, bir özet oluşturur. Bu, Seq2Seq mimarisi ve LLM'ler gerektirir. Modelin anlamı koruması ve aynı zamanda halüsinasyon (yanlış bilgi üretme) yapmaması büyük bir zorluktur.
Değerlendirme Metrikleri: Özetlemenin başarısı, genellikle ROUGE (Recall-Oriented Understudy for Gisting Evaluation) metriği ile ölçülür. ROUGE, üretilen özetin (hypothesis) referans özetle (reference) ne kadar N-gram (tekli, ikili kelimeler) örtüşmesi olduğunu hesaplar.
B. Nöral Makine Çevirisi (Neural Machine Translation - NMT):
Bir dildeki (kaynak dil) metni otomatik olarak başka bir dile (hedef dil) çevirme görevidir. NMT, geleneksel SMT'nin (İstatistiksel MT) yerini almış ve çeviri kalitesini devrim niteliğinde yükseltmiştir.
- Seq2Seq ve Dikkat (Attention): NMT, başlangıçta RNN/LSTM tabanlı Encoder-Decoder mimarisi ve Dikkat mekanizması kullanılarak inşa edildi. Dikkat, Decoder'ın her bir hedef dil kelimesini üretirken kaynak dildeki hangi kelimeye odaklanması gerektiğini öğrenmesini sağladı.
- Transformer Tabanlı NMT: Günümüzde NMT, büyük ölçüde Transformer mimarisini kullanır. Bu sayede paralelleştirme, uzun mesafeli bağımlılık ve çeviri kalitesinde büyük artış sağlanmıştır. (Örn: Google Translate'in çoğu dili Transformer'lar ile çalışır.)
- Çok Dilli (Multilingual) MT: Tek bir Transformer modeli, birden fazla dil çiftini (Örn: İngilizce-Almanca, İngilizce-Fransızca) aynı anda işleyecek şekilde eğitilebilir. Bu, özellikle nadir dil çiftleri için bilgi transferini (transfer learning) mümkün kılar.
Değerlendirme Metriği: Makine çevirisi kalitesi, genellikle BLEU (Bilingual Evaluation Understudy) skoru ile ölçülür. BLEU, üretilen çevirinin ne kadar çok N-gramının referans çeviriyle eşleştiğini hesaplayan bir kesinlik (precision) metriğidir.
4.2 Soru-Cevap Sistemleri ve Chatbotlar
Bu iki uygulama, kullanıcılarla doğal dilde etkileşim kurmayı amaçlayan NLP'nin en görünür ve popüler alanlarıdır. İnsan-makine etkileşimini kolaylaştırarak bilgiye erişimi demokratikleştirirler.
A. Soru-Cevap Sistemleri (Question Answering - QA):
Kullanıcının doğal dildeki sorularına otomatik olarak cevap üretme görevidir. QA sistemleri, büyük metin dokümanlarına, yapılandırılmış veri tabanlarına veya bilgi grafiklerine dayanarak çalışır.
- Ekstraktif QA (Extractive QA): Cevabı, kaynak metnin içinden kelimesi kelimesine bir parça (span) olarak bulup çıkarır. Bu, metin içindeki başlangıç ve bitiş indekslerini tahmin etme görevine indirgenir. (BERT'in SQuAD veri seti üzerinde ince ayarlandığı görev türü).
- Jeneratif/Soyutlayıcı QA (Abstractive QA): Cevabı, metindeki bilgileri sentezleyerek kendi cümleleriyle üretir. Cevap, kaynak metinde birebir bulunmayabilir. (T5, GPT gibi üretken modeller gerektirir.)
- Bilgiye Dayalı QA (Knowledge-Based QA): Cevabı önceden oluşturulmuş yapılandırılmış bir bilgi tabanından (Knowledge Graph) sorgulayarak bulur.
RAG (Retrieval-Augmented Generation) Sistemleri: LLM'lerin sadece eğitim verilerine bağlı kalmasını engellemek, güncel ve doğru bilgi vermesini sağlamak için kullanılır. Sistem, kullanıcı sorusunu alır, harici bir vektör veritabanından (SBERT ile gömülmüş) ilgili doküman parçalarını (Retrieval) çeker ve bu parçaları LLM'e girdi olarak vererek cevabın üretilmesini (Generation) sağlar.
B. Chatbot ve Diyalog Sistemleri (Conversational AI):
Chatbotlar, kullanıcıyla doğal dilde sohbet edebilen yapay zeka programlarıdır. Gelişmiş diyalog sistemleri üç ana aşamadan oluşur:
- Doğal Dil Anlama (NLU): Kullanıcının girdisinden iki temel şeyi çıkarır: Niyet Tespiti (Intent Recognition) (Kullanıcının amacı ne?) ve Slot Doldurma (Slot Filling) (Niyetle ilgili hangi parametreler var?).
- Diyalog Yönetimi (Dialogue Management): Sohbetin akışını yönetir, durumu (state) korur ve bir sonraki eylemin (cevaplama, veri tabanı sorgulama) ne olması gerektiğine karar verir.
- Doğal Dil Üretimi (NLG): Diyalog yönetiminden gelen bilgiye dayanarak, bilgisayarın cevabını doğal dilde oluşturma.
Model Gelişimi: Kural tabanlı (Rule-Based) sistemlerden (IF-THEN-ELSE), Makine Öğrenmesi (Decision Tree) ve son olarak da LLM tabanlı (GPT-3/4) sistemlere evrilmiştir. LLM'ler, akıcı, bağlama duyarlı ve esnek yanıtlar üreterek chatbotların kapasitesini dramatik bir şekilde artırmıştır. Müşteri hizmetleri ve kişisel asistanlıkta yaygın olarak kullanılırlar.
4.3 Sosyal Medya ve Finansal Metin Analizi
NLP'nin endüstriyel uygulamaları, alan odaklı analitik gerektirir. Sosyal medya verisi, hacmi, hızı ve kendine özgü dil yapısı (kısaltmalar, emoji, argo) ile karakterize edilir. Finansal veriler ise, katı bir jargon, yüksek doğruluk ihtiyacı ve hukuki hassasiyet gerektirir.
A. Sosyal Medya Analizleri (Social Media Analytics):
Twitter, Facebook, Reddit ve diğer platformlardan toplanan metinlerin analizi, markalar, siyaset ve halk sağlığı için vazgeçilmez bir bilgi kaynağıdır. Özellikle Akış Halindeki Veri (Streaming Data) üzerinde gerçek zamanlı analiz gereklidir.
- Gelişmiş Duygu Analizi: Klasik pozitif/negatif sınıflandırmanın ötesine geçerek, ironi, kinaye ve mizahı tespit etme ihtiyacı. Özel olarak sosyal medya verisi üzerinde ince ayar yapılmış LLM'ler kullanılır.
- Kullanıcı Profili Çıkarımı: Kullanıcıların yaş, cinsiyet, coğrafya veya ilgi alanlarını metinlerinden tahmin etme.
- Olay Tespiti ve Trend Analizi: Aniden yükselen konuları ve bunlarla ilgili duygu değişimlerini (Örn: Bir şirketin kriz anında halk tepkisinin hızını) otomatik olarak belirleme.
- Ön İşleme Zorlukları: Sosyal medya metinleri için, hashtag'lerin ayrıştırılması, emojilerin metin karşılıklarına dönüştürülmesi ve aşırı gürültünün (URL'ler, mention'lar) temizlenmesi gibi özelleştirilmiş normalizasyon adımları zorunludur.
B. Finansal ve Hukuki Metin Analizi (Domain-Specific NLP):
Bu alanlarda, genel amaçlı NLP modelleri yetersiz kalabilir. Yüksek doğruluk ve alan bilgisine dayalı özel modeller gereklidir.
- Risk ve Belirsizlik Analizi: Finansal raporlarda (SEC 10-K, yıllık raporlar) geçen belirsizlik, risk veya olumsuzluk belirten kelimeleri tespit ederek otomatik risk puanı çıkarma. Finansal karar verme süreçleri için kritik veriler sağlar.
- Bilgi Çıkarımı (IE): Hukuk dokümanlarında taraf isimlerini, tarihleri, yasa maddelerini, sözleşme bedellerini veya kritik hükümleri çıkarma (NER'in gelişmiş bir uygulamasıdır).
- Belge Karşılaştırması ve Sözleşme İncelemesi: İki hukuki sözleşme veya finansal metin arasındaki farklılıkları ve anlamsal çelişkileri otomatik olarak saptama.
- Alan Odaklı Modeller: Bu alanlarda, genel BERT yerine, finansal metinler (Financial News, Earnings Calls) üzerinde ek eğitime tabi tutulmuş FinBERT gibi modeller veya hukuki metinler için eğitilmiş Legal-LLM'ler kullanılır. Bu modeller, alanın benzersiz jargonunu ve bağlamını daha iyi anlar.
4.4 Konuşmadan Metne ve Metinden Konuşmaya
NLP'nin temel yeteneklerini ses sinyalleriyle birleştiren bu iki teknoloji, multimodal AI'ın (çoklu kiplikli yapay zeka) kritik bileşenleridir. İnsan-bilgisayar etkileşimini ses üzerinden mümkün kılarak sanal asistanlardan otomatik transkripsiyon hizmetlerine kadar geniş bir uygulama yelpazesi sunarlar.
A. Konuşmadan Metne (Speech-to-Text / ASR - Automatic Speech Recognition):
İnsan sesini otomatik olarak yazılı metne dönüştürme görevidir. Akıllı telefonlardaki sesli komutlar, çağrı merkezi transkripsiyonları ve altyazı oluşturma ASR ile yapılır.
- Geleneksel ASR'ın Üç Bileşeni:
- Akustik Modelleme (Acoustic Model): Ses sinyalini (spektrogram) alır ve hangi fonemleri (ses birimleri) temsil ettiğini tahmin eder.
- Telaffuz Sözlüğü (Pronunciation Lexicon): Fonemleri kelimelerle eşleştirir.
- Dil Modelleme (Language Model): Kelime dizisinin olasılığını tahmin ederek hangi kelime dizisinin dilbilgisel olarak en mantıklı olduğunu belirler.
- Modern End-to-End ASR: Geleneksel sistemlerin yerini, tüm bu bileşenleri tek bir nöral ağda birleştiren Uçtan Uca (End-to-End) modeller almıştır. Transformer tabanlı (örn: OpenAI'ın Whisper'ı) modeller, hem akustik hem de dil modellemeyi birleştirerek yüksek doğruluk ve diller arası esneklik sağlamıştır.
- Zorlukları: Arka plan gürültüsü, farklı konuşma hızları, aksanlar ve homofonlar ("yüz" kelimesinin sayı, organ veya fiil olması) ASR'ın temel zorluklarıdır.
B. Metinden Konuşmaya (Text-to-Speech / TTS):
Yazılı metni doğal ve akıcı bir insan sesiyle sentezleme görevidir. Sesli kitaplar, navigasyon sistemleri ve sanal asistanların cevaplarında kullanılır.
- Nöral TTS'in İki Aşaması:
- Metin-Akustik Dönüşüm: Girdi metnini, konuşmanın akustik özelliklerini (pitch, duration, mel-spectrogram) temsil eden bir ara gösterime dönüştürür. (Örn: Tacotron 2).
- Vocoder: Bu akustik gösterimi alır ve onu doğrudan ses dalgasına dönüştürür. (Örn: WaveNet, WaveRNN).
- Kalite ve Doğallık: Nöral TTS sistemleri, geleneksel (concatenative) TTS'e göre çok daha doğal, insana yakın sesler üretebilir. Bu modeller, sentetik sese duygu, vurgu ve konuşma ritmi (prosody) katabilir, böylece dinleyici deneyimini maksimize eder.
- Uygulama: Kişiye özel ses sentezi (voice cloning) ve yapay seslendirme hizmetleri, TTS'in gelişmiş uygulamalarıdır.
ASR ve TTS, LLM'lerle birleştiğinde, Alexa veya Siri gibi gelişmiş diyalogsal yapay zeka arayüzlerinin oluşturulmasını sağlar.