Semantik Arama Nedir?
Semantik arama (semantic search), kullanıcının sorgusundaki kelimeleri birebir aramak yerine metnin anlamsal içeriğini anlayan ve buna göre sonuç döndüren bir bilgi geri getirme yaklaşımıdır. Geleneksel anahtar kelime tabanlı arama (BM25, TF-IDF) yalnızca karakter eşleşmesine bakarken semantik arama, sorgu ile belgeler arasındaki kavramsal, bağlamsal ve anlam yakınlığını ölçer. Bunun için her metin parçası yüksek boyutlu bir vektöre (embedding) dönüştürülür; benzer anlamdaki metinler bu uzayda birbirine yakın konumlanır. 'Dizüstü bilgisayar fiyatları' aramasında semantik arama 'laptop ücretleri' veya 'notebook satın alma' içeren belgeleri de getirebilir çünkü bu ifadelerin latent uzaydaki vektör temsilleri birbirine yakındır. Semantik arama günümüzde e-ticaret arama motorlarından kurumsal belge sistemlerine, müşteri destek araçlarından RAG tabanlı yapay zeka asistanlarına kadar geniş bir kullanım yelpazesine sahiptir.
Nasıl Çalışır?
- check_circle Vektörleştirme: Metin parçaları bir embedding modeliyle yüksek boyutlu vektörlere dönüştürülür. Anlam uzayında yakın konumlanmış vektörler benzer anlamları temsil eder.
- check_circle Benzerlik Araması: Sorgu vektörü ile dizin vektörleri arasındaki kosinüs benzerliği veya iç çarpım hesaplanır; en yakın vektörler (ANN) geri döndürülür.
- check_circle Yeniden Sıralama (Reranking): Cross-encoder modeller, ilk aşamada gelen adayları daha yüksek doğrulukla yeniden puanlar; hassasiyet artar, maliyet dengede tutulur.
Embedding Modelleri
- check_circle Ticari: OpenAI text-embedding-3-small/large, Cohere Embed v3 — yüksek performans, API üzerinden erişim.
- check_circle Açık Kaynak: Sentence-Transformers serisi: BGE, E5, MiniLM — yerel çalıştırma ve ince ayar için tercih edilir.
- check_circle Çok Dilli: Multilingual-E5-large, BGE-M3 — Türkçe dahil 100+ dil desteği; Türkçe uygulamalar için önerilir.
Vektör Veri Tabanları
Vektör veritabanları, milyonlarca embedding vektörünü indeksleyip milisaniyeler içinde en yakın komşuları bulmak için optimize edilmiş özel veritabanlarıdır. Standart SQL veritabanları bu tür benzerlik aramalarını verimli biçimde yönetemez. Pinecone, Weaviate, Qdrant ve pgvector (PostgreSQL uzantısı) öne çıkan seçenekler arasındadır. Temel algoritma HNSW (Hierarchical Navigable Small World) grafiğidir; tam ANN araması yerine yaklaşık arama yaparak hız-doğruluk dengesini optimize eder. Küçük projeler için ChromaDB ve FAISS gibi yerel çözümler uygundur; kurumsal ölçekte Pinecone veya Weaviate yönetilen hizmet sunar. Önemli seçim kriterleri: indeks boyutu, sorgu başına gecikme, toplu yazma hızı ve metadata filtreleme kapasitesi.
Hibrit Arama
Hibrit arama (hybrid search), anahtar kelime tabanlı BM25 ve semantik vektör aramasını birleştirerek her iki yaklaşımın güçlü yönlerinden yararlanan bir stratejidir. BM25 tam terim eşleşmesinde üstündür — ürün kodları, kişi adları, teknik terimler gibi tam kelime aramasında anlam araması yanıltıcı sonuçlar verebilir. Semantik arama ise anlam varyasyonlarını ve çeviri farklılıklarını yakalar. Hibrit sistemlerde iki metodun sonuçları RRF (Reciprocal Rank Fusion) veya ağırlıklı lineer kombinasyonla birleştirilir; ardından cross-encoder reranker ile nihai sıralama iyileştirilir. Elasticsearch 8.x, OpenSearch ve Weaviate hibrit arama desteği sunmaktadır. Pek çok üretim RAG sistemi bu üçlü pipeline'ı (BM25 + vektör + cross-encoder) altın standart olarak benimser.
RAG ile İlişkisi
Semantik arama, Retrieval-Augmented Generation (RAG) mimarisinin bel kemiğini oluşturur. RAG sistemlerinde kullanıcı sorusu embedding modeline verilir; üretilen sorgu vektörü, bilgi tabanındaki belge vektörleriyle karşılaştırılır; en alakalı parçalar LLM'e bağlam olarak gönderilir. Bu akışın kalitesi doğrudan embedding modelinin ve vektör aramasının başarısına bağlıdır. Zayıf bir retrieval aşaması, ne kadar güçlü bir LLM kullanılırsa kullanılsın yanıt kalitesini düşürür. Chunk boyutu (metin parça uzunluğu), overlap (paragraf örtüşmesi), embedding modeli seçimi ve reranking stratejisi semantik arama optimizasyonunun kritik parametreleridir. LlamaIndex ve LangChain gibi RAG çerçeveleri bu adımları yapılandırmak için hazır bileşenler sunar.
Sık Sorulan Sorular
- check_circle Semantik arama ile tam metin aramanın farkı nedir? Tam metin kelime eşleşmesi yapar; semantik arama anlam benzerliğini yakalar. Farklı kelimelerle ifade edilen aynı fikri bulmak için semantik arama gereklidir.
- check_circle Türkçe için hangi embedding modeli önerilir? Multilingual-E5-large veya BGE-M3 Türkçe için güçlü sonuçlar verir. Türkçe odaklı uygulamalar için bu çok dilli modeller İngilizce modellere kıyasla belirgin üstünlük gösterir.
- check_circle Semantik arama ne kadar hızlıdır? ANN (Approximate Nearest Neighbor) algoritmaları (HNSW, IVF) milyonlarca vektörde milisaniye düzeyinde yanıt süresi sağlar. Tam kesin arama (brute-force) ise büyük veri setlerinde yavaştır.
- check_circle Semantik arama ne zaman kullanılmamalıdır? Kesin anahtar kelime, ürün kodu veya ID araması gerektiren durumlarda tam metin arama daha güvenilirdir. Hibrit yaklaşım ise her iki senaryoyu dengeler.