Semantik Arama: Anlama Dayalı Modern Bilgi Erişimi
Anahtar kelime eşleştirme bitti. Modern arama "anlam"ı arar. Bu sayede "kedi" arayan kişi "yavru kedi" hakkında doğru içeriği bulur.

"Kelime değil, anlam ara"
Klasik arama: kelime eşleştir.
- "Ankara hava durumu" → "Ankara" + "hava" + "durumu" geçen sayfalar.
- Ama "Başkent havası nasıl?" gibi soru karşısında başarısız.
Modern arama: anlam eşleştir.
- Hem "Ankara" hem "Başkent", hem "hava" hem "iklim" → aynı anlam.
Bu semantik arama.
Temel mekanizma
Adım 1: Embedding
Her belgeyi (ve sorguyu) vektöre çevir:
- Sentence-BERT, OpenAI embedding API, BERT, vs.
- 384-1536 boyutlu vektör.
Adım 2: Vector database
Vektörleri hızlı arama için sakla.
Adım 3: Similarity
Sorgu vektörüne en yakın belgeleri bul.
Adım 4: Rank
En iyi N sonuç döndür.
Benzerlik ölçüleri
Cosine similarity
Yön karşılaştırması, büyüklükten bağımsız. En popüler.
Dot product
Normalize edilmemiş vektörler için.
Euclidean distance
Geometrik uzaklık.
Manhattan distance
L1 uzaklığı.
Modern embedding'ler genelde L2-normalized → cosine = dot product.
Yaklaşık komşu (ANN)
Milyonlarca vektörü gerçek zamanlı aramak için:
- Exact arama: O(N) — yavaş.
- Approximate Nearest Neighbor: O(log N) — hızlı, küçük hata.
Algoritmalar
- HNSW: Hierarchical Navigable Small World — hızlı, yüksek doğruluk.
- IVF: Inverted File — bin'lere ayır.
- PQ: Product Quantization — sıkıştırma.
- LSH: Locality Sensitive Hashing.
FAISS, ScaNN, Annoy, Hnswlib açık kaynak kütüphaneler.
Vector databases
- Pinecone: yönetilen.
- Weaviate: açık kaynak.
- Qdrant: Rust.
- Milvus: ölçeklenebilir.
- Chroma: kolay başlangıç.
- pgvector: Postgres uzantısı.
Hybrid search
Klasik (BM25) + semantik kombinasyonu:
- BM25 kesin terimler için iyi (isim, kod).
- Semantik anlam için iyi.
- İkisini birleştir → en iyi sonuç.
Modern arama motorları (Google, Elasticsearch) hybrid kullanır.
Modern uygulamalar
Google Search
2019'dan beri BERT tabanlı semantik anlama. 2024'te Gemini.
RAG
LLM'e ilgili belgeleri semantik arama ile getir.
Recommender systems
Spotify, Netflix benzer içerik önerme.
Code search
GitHub Copilot kod parçası bulma.
Image search
CLIP modeli: metin → görüntü arama.
Question answering
"Soru" vektörü → "cevap" vektörüne en yakın.
BM25 ile karşılaştırma
| BM25 | Semantik | |
|---|---|---|
| Kelime | Tam eşleşme | Anlam |
| Hız | Çok hızlı | Orta (ANN ile) |
| Doğruluk | Eşanlamlı kaçırır | Anlamı yakalar |
| Bilgi | Yok | Pre-training |
| Yeni terim | Sorun yok | Yeniden eğitim |
Çoklu modalite
Modern arama:
- Text-to-text: klasik.
- Text-to-image: CLIP.
- Image-to-image: vision encoder.
- Audio-to-text: Whisper + embedding.
Türkçe semantik arama
Sorun: çoğu pre-trained model İngilizce ağırlıklı.
Çözüm:
- BERTurk embedding.
- Multilingual BERT veya MPNet.
- Cohere multilingual.
- OpenAI text-embedding-3 (Türkçe destekli).
Pratik öneriler
Embedding seçimi
- OpenAI text-embedding-3-small: ucuz, iyi.
- OpenAI text-embedding-3-large: en iyi.
- Cohere embed-multilingual-v3: Türkçe iyi.
- Açık: gte, bge ailesi.
Boyut indirgeme
Matryoshka embeddings: aynı vektörün kesilmiş versiyonu daha hızlı arama.
Cache
Sık sorulan sorguların sonucunu cache'le.
Türk endüstri için
- Trendyol: ürün arama (semantik + hybrid).
- Sahibinden: ilan arama.
- Hepsiburada: öneri.
- Bankalar: bilgi tabanı.
- TÜBİTAK ULAKBİM: akademik arama.
Sınırlamalar
- Domain-specific: tıp, hukuk için özel embedding.
- Çok dilli: dil seçimi önemli.
- Cold start: yeni belge için embedding hesaplama.
- Maliyet: vektör boyutu × belge sayısı.
Felsefe
Semantik arama temel mesajı: "Bilgi formdan değil anlamdan ibarettir".
Klasik arama: kelime. Modern arama: kavram.
Kapanış
Semantik arama, modern bilgi erişimin yeni standardı. RAG'in temeli, modern Google'ın motoru.
Bir mühendisin olgunluk işareti: ne zaman BM25, ne zaman semantik, ne zaman hybrid kullanacağını bilmek.
Anahtar kelime arama çağı bitti.
Etiketler
Kendinizi Test Edin
Cevaplarınız profilinizde istatistik olarak saklanır.
1. Semantik arama farkı?
2. En popüler benzerlik ölçüsü?
3. Hybrid search?
4. ANN ne ifade eder?
5. Türkçe için iyi embedding?
İlgili Yazılar
Patates Paradoksu: 100 Kilo Patates Biraz Kuruyunca Neden 50 Kiloya Düşer?
100 kilo patatesiniz var ve %99’u sudan oluşuyor. Biraz beklettiniz, su oranı %98’e düştü. Şimdi patatesler kaç kilo? Sezginiz "neredeyse 100" diyor. Doğru cevap ise tam 50 kilo — ve bu, oranların ne kadar aldatıcı olduğunu gösteriyor.
MatematikLanchester’ın Savaş Yasaları: Bir Ordunun Gücü Neden Asker Sayısının Karesiyle Artar?
İki ordu çarpışırken sonucu ne belirler? Sezgi "daha kalabalık olan kazanır" der. Ama bir mühendis, modern savaşta sayısal üstünlüğün etkisinin doğrusal değil, asker sayısının karesiyle orantılı olduğunu gösterdi. Bu, neden "böl ve yönet" işe yaradığını açıklar.
Matematik"Yüzde 30 Yağmur İhtimali" Tam Olarak Ne Demek? Çoğu Kişi Yanlış Anlıyor
Hava durumu "bugün yüzde 30 yağmur ihtimali" dediğinde ne anlıyorsunuz? Gökyüzünün yüzde 30’u mu kapanacak? Günün yüzde 30’unda mı yağacak? Aslında ikisi de değil — ve gerçek anlamı, olasılığın ne kadar incelikli olduğunu gösteriyor.