Question Answering (Soru Cevaplama)

Yapay zekanın doğal dil ile sorulan sorulara metin ya da bilgi tabanından otomatik yanıt üretme görevi.

Question Answering (Soru Cevaplama ya da kısaca QA), doğal dil işlemenin (NLP) temel görevlerinden biridir; doğal dil ile yöneltilen sorulara metin pasajlarından, belge koleksiyonlarından veya yapılandırılmış bilgi tabanlarından otomatik yanıt üretmeyi amaçlar. QA sistemleri işleyiş biçimine göre beş ana kategoride incelenir. Extractive QA (Çıkarımsal Soru Cevaplama), verilen bir metin pasajından sorunun yanıtını birebir çıkarır; cevap daima kaynak metindeki bir sözcük dizisidir. SQuAD (Stanford Question Answering Dataset), bu yaklaşım için standart kıyaslama veri setidir. BERT ve RoBERTa gibi önceden eğitilmiş transformer modelleri, extractive QA görevlerinde neredeyse insan düzeyine ulaşmıştır. Abstractive QA (Soyutlayıcı Soru Cevaplama) ise cevabı metinden doğrudan almak yerine yeni cümlelerle yeniden ifade eder; GPT-4 ve Claude gibi büyük dil modelleri (LLM) bu yaklaşımı kullanır. Open-domain QA, belirli bir belgeyle sınırlı kalmaksızın Wikipedia gibi geniş bilgi tabanlarında arama yaparak yanıt üretir; RAG (Retrieval-Augmented Generation) bu kategorinin güncel mimarisidir. Closed-domain QA, tıp veya hukuk gibi belirli bir alana ait sorulara odaklanır. Knowledge-based QA ise Wikidata gibi yapılandırılmış bilgi grafiklerini (knowledge graph) sorgulayarak yanıt verir. Mimari açıdan çoğu modern QA sistemi iki bileşenden oluşur: belgelerden ilgili pasajları seçen Retriever (Erişici) ve bu pasajları işleyerek yanıt üreten Reader (Okuyucu). Retriever bileşeni BM25 gibi anahtar kelime eşleşmesi ya da dense vector search (yoğun vektör araması) yöntemlerini kullanır; Reader ise fine-tuned transformer modelleri üzerine kuruludur. Bu iki bileşeni uçtan uca birleştiren RAG mimarisi, hem bilgiye erişimi hem de dil üretimini tek bir çerçevede sunar ve 2020 sonrasında açık-domain QA'nin fiili standardı haline gelmiştir. QA sistemlerinin başarısı genellikle EM (Exact Match) ve F1 skoru ile ölçülür. Gerçek hayatta bu teknoloji; sesli asistanlarda (Alexa, Siri), müşteri destek chatbotlarında, arama motorlarının öne çıkan snippet özelliğinde ve kurumsal bilgi yönetim platformlarında yaygın biçimde kullanılmaktadır.

Retriever–Reader Mimarisi

Çoğu modern QA sistemi iki temel bileşenden oluşur. Retriever (Erişici), büyük bir belge koleksiyonundan soruyla ilgili en yüksek puanlı pasajları seçer. BM25 gibi anahtar-kelime tabanlı yöntemlerin yanı sıra DPR (Dense Passage Retrieval) gibi yoğun vektör arama modelleri de kullanılır. Reader (Okuyucu) bileşeni ise retrieved pasajları alarak ya span extraction (BERT ailesi) ya da metin üretimi (T5, GPT ailesi) yöntemiyle yanıt üretir. Bu iki bileşeni uçtan uca birleştiren RAG mimarisi, 2020 sonrasında açık-domain QA için fiili standart olmuştur.

QA Kategorileri Karşılaştırması

  • check_circle Extractive QA: Yanıt, kaynak metnin bir parçasını birebir kopyalar. SQuAD 1.1/2.0 kıyaslamalarında BERT ve RoBERTa insan düzeyine yaklaşmıştır.
  • check_circle Abstractive QA: Model yanıtı kendi kelimeleriyle üretir; kaynak metinde yer almayan bilgiler de sentezlenebilir. LLM tabanlı sistemler bu kategoride öne çıkar.
  • check_circle Open-domain QA: Tek bir belge yerine Wikipedia ölçeğinde geniş bilgi tabanında arama yapılır. RAG ve dense retrieval bu yaklaşımın omurgasıdır.
  • check_circle Closed-domain QA: Tıp, hukuk, finans gibi dar alanlara özgü sorular; alan jargonunu bilen özel modeller veya fine-tuned LLM'ler kullanılır.
  • check_circle Knowledge-based QA: Wikidata veya Freebase gibi yapılandırılmış bilgi grafikleri SPARQL ile sorgulanır; yanıt doğrudan bir varlık veya ilişkidir.

Temel Veri Setleri ve Kıyaslamalar

  • check_circle SQuAD 1.1 / 2.0: Stanford Üniversitesi tarafından derlenmiş Wikipedia pasajlarından 100.000+ soru-cevap çifti. SQuAD 2.0 cevaplanamaz sorular da içerir.
  • check_circle Natural Questions (NQ): Google Search'te gerçek kullanıcıların yaptığı sorgulara dayanır; hem kısa hem uzun yanıt formatını değerlendirir.
  • check_circle TriviaQA: 950.000+ soru; Wikipedia ve web dokümanlarından uzak bağlam gerektiren gerçek hayat soruları içerir.
  • check_circle MS MARCO: Microsoft'un web arama loglarından türetilmiş; passage retrieval ve reading comprehension görevleri için geniş kullanılan set.
  • check_circle HotpotQA: Çoklu belge üzerinde çıkarım (multi-hop reasoning) gerektiren sorular; doğru yanıt için birden fazla pasaj birleştirilmelidir.

Uygulama Alanları

  • check_circle Sesli Asistanlar: Alexa, Siri ve Google Asistan, kullanıcı sorgularını doğal dil olarak alıp QA pipeline'ı ile kısa yanıt döner.
  • check_circle Kurumsal Bilgi Yönetimi: Şirket içi doküman tabanlarını tarayan chatbotlar; çalışanların politika kılavuzları veya teknik belgeler hakkındaki sorularını yanıtlar.
  • check_circle Arama Motoru Snippet'leri: Google'ın 'Öne Çıkan Snippet' ve 'People Also Ask' özellikleri, extractive QA ile arama sonuçlarının üstünde özet yanıt gösterir.
  • check_circle Tıbbi QA Sistemleri: PubMed ve klinik kılavuzları tarayan sistemler klinisyenlere hızlı kanıta dayalı yanıt sağlar. BioASQ yarışması bu alanın kıyaslamasıdır.
  • check_circle Eğitim Platformları: Otomatik soru üretme ve yanıt değerlendirme için QA modelleri, kişiselleştirilmiş öğrenme deneyimlerinde kullanılır.

Değerlendirme Metrikleri

  • check_circle Exact Match (EM): Model yanıtı ile referans yanıtın birebir eşleşip eşleşmediğini ölçer; büyük/küçük harf ve noktalama ihmal edilir.
  • check_circle F1 Skoru: Token düzeyinde örtüşmeyi karşılaştırır; kısmi eşleşmelere kısmen puan verir. EM ve F1, SQuAD kıyaslamasının standart metrikleridir.
  • check_circle ROUGE / BLEU: Abstractive QA çıktılarını değerlendirmek için n-gram örtüşmesine dayalı metrikler; uzun biçimli yanıtlarda EM yetersiz kaldığında kullanılır.
  • check_circle MRR (Mean Reciprocal Rank): Retrieval bileşenini değerlendirmek için; doğru pasajın liste içindeki sırasının tersinin ortalamasını alır.

Sık Sorulan Sorular

  • check_circle QA ile chatbot arasındaki fark nedir? QA sistemleri belirli bir soruya odaklanıp kaynaklara dayalı yanıt üretir. Chatbotlar ise çok turlu diyalog yönetir; soru cevaplama bir chatbot'un alt bileşeni olabilir.
  • check_circle Extractive QA neden daha az hata yapar? Yanıt daima kaynak metinden seçildiği için model halüsinasyon üretemez. Ancak kaynak metinde yanıt yoksa sistem başarısız olur.
  • check_circle RAG hangi QA sorununu giderir? Statik fine-tuned modellerin bilgisi güncellenmez; RAG bu sorunu belge retrieval ile aşar: model her sorguda güncel bilgi tabanını tarayarak güncel yanıt üretir.
  • check_circle QA için nereden başlamalı? Hugging Face question-answering pipeline'ı ile fine-tuned BERT/RoBERTa modelleri iyi başlangıç noktalarıdır. Üretim için RAG mimarisini destekleyen LangChain veya LlamaIndex önerilir.
  • check_circle Türkçe QA için veri seti var mı? TQuAD (Turkish Question Answering Dataset) ve SQuAD'ın makine çevirisi versiyonları mevcuttur. Çok dilli mBERT ve XLM-R modelleri Türkçe QA görevlerinde doğrudan kullanılabilir.