Semantik arama nasıl çalışır? Kurumsal aramada anlam temelli eşleşme

Anahtar kelime aramasının sınırları, gömme (embedding) mantığı, benzerlik eşiği, hibrit arama, yetki filtresi ve kurumsal aramada beklenen sonuçlar.

Kurumsal aramanın klasik sorunu şu: çalışan «izin» diye arıyor, doküman «yıllık ücretli tatil talebi» başlığını taşıyor ve sonuç çıkmıyor.

Semantik arama, bu boşluğu kapatmak için geliştirilen yaklaşım. Kelimeleri değil, anlamları eşleştiriyor.

Anahtar kelime aramasının sınırı

Geleneksel arama, metinde geçen kelimeleri karşılaştırıyor. Hızlı ve öngörülebilir ama üç noktada tıkanıyor:

Eş anlamlılar. «Mesai», «fazla çalışma» ve «overtime» aynı şeyi anlatıyor; arama motoru bunu bilmiyor.

Şirkete özgü dil. Her kurumun kendi kısaltmaları var; çalışan resmî terimi değil günlük terimi arıyor. Sorunun bir kısmını kurumsal sözlük çözüyor ama tamamını değil.

Soru biçimli aramalar. «Doğum izni kaç gün» yazan biri, tam bu kelime dizisini içeren bir doküman aramıyor; cevabı arıyor.

Gömme (embedding) mantığı

Semantik arama, metni sayısal bir vektöre çeviriyor. Anlamca yakın metinler, bu çok boyutlu uzayda birbirine yakın noktalara düşüyor.

Süreç iki aşamalı:

  1. Dizinleme. Her içerik parçalara bölünüyor, her parça bir vektöre çevriliyor ve saklanıyor.
  2. Sorgu. Arama metni aynı yöntemle vektöre çevriliyor, en yakın parçalar bulunuyor.

Yakınlık ölçüsü genellikle kosinüs benzerliği oluyor: 0 ile 1 arasında bir sayı. Pratikte belirli bir eşiğin altındaki sonuçlar elenmeli, yoksa arama her sorguya bir şey döndürüyor — alakasız bile olsa.

Bu eşik ayarı, semantik aramanın en çok küçümsenen kısmı: düşük eşik gürültü üretiyor, yüksek eşik «sonuç bulunamadı» oranını artırıyor.

Hibrit arama: ikisini birden

Pratikte en iyi sonucu, iki yöntemin birlikte kullanılması veriyor.

Anahtar kelime araması, tam eşleşmelerde ve özel isimlerde daha iyi: bir doküman kodu, bir kişi adı ya da bir proje adı aranıyorsa semantik arama gereksiz yere yorumluyor.

Semantik arama ise soru biçimli ve kavramsal aramalarda kazanıyor.

Hibrit kurguda iki sonuç kümesi birleştirilip yeniden sıralanıyor. Kullanıcı bunu fark etmiyor; yalnızca «aradığımı buluyorum» diyor.

Yetki filtresi: en kritik detay

Semantik arama kurgularken en çok gözden kaçan konu izin denetimi. Vektör veritabanı, kimin neyi görebileceğini kendiliğinden bilmiyor.

Yanlış kurgu şu: arama, tüm içerikte yapılıyor ve sonuçlar sonradan filtreleniyor. Bu, iki risk üretiyor — performans kaybı ve sızıntı ihtimali (bir özet metinde görünen bilgi, kaynağa erişimi olmayan kişiye ulaşabiliyor).

Doğru kurgu: yetki denetimi veritabanı seviyesinde, aramanın kendisiyle aynı sorguda çalışıyor. Çok kiracılı yapılarda bu zorunlu; mimariyi çok kiracılı mimari ve veri izolasyonu yazısında ele aldık.

Örnek: aynı sorunun iki aramadaki karşılığı

Bir çalışan «babalık izni kaç gün» diye arıyor.

Anahtar kelime aramasında sonuç: hiçbir şey. Çünkü İK politikasında bu ifade geçmiyor; doküman «mazeret izinleri» başlığı altında ve metinde «eşinin doğum yapması hâlinde» ifadesi kullanılıyor.

Semantik aramada aynı sorgu, o paragrafa ulaşıyor. Çünkü vektör uzayında «babalık izni» ile «eşinin doğum yapması hâlinde verilen izin» birbirine yakın düşüyor.

Kazanç yalnızca kullanıcı deneyimi değil: bulunamayan her bilgi, İK'ya sorulan bir soruya dönüşüyor. Semantik arama, self servis oranını doğrudan etkiliyor; ilişkiyi self servis İK yazısında ele aldık.

İzin türlerinin ayrıntısını mazeret izinleri ve ücretsiz izin yazısında bulabilirsiniz.

Neyin dizine gireceği

Her içeriği dizine eklemek doğru değil. Pratik bir ayrım:

  • Girmeli: politikalar, prosedürler, duyurular, wiki sayfaları, sık sorulan sorular, eğitim içerikleri.
  • Girmemeli: kişisel veriler, bordro belgeleri, performans notları, işe alım değerlendirmeleri.

İkinci grup teknik olarak dizine eklenebilir ama eklendiğinde arama, erişim denetiminin zayıf halkası hâline geliyor. Çerçeveyi KVKK uyumlu intranet yazısında ele aldık.

Ayrıca belge biçimi de sınır getiriyor: taranmış PDF'lerden ve görsellerden güvenilir metin çıkarmak her zaman mümkün olmuyor ve yanlış çıkarım, sessiz biçimde hatalı sonuç üretiyor.

Aramayı ölçmek

Semantik arama kurulduktan sonra izlenmesi gerekenler: sonuçsuz arama oranı, ilk sonuca tıklama oranı, aramadan sonra İK'ya gelen soru sayısı ve en çok aranan ama sonuç dönmeyen ifadeler.

Son madde en değerlisi: sonuç dönmeyen aramalar, eksik içeriğin listesi. İçerik takvimini iç iletişim içerik takvimi yazısındaki yaklaşımla bu listeye göre kurabilirsiniz.

Arama davranışının bütününü kurumsal arama ve bilgi erişimi yazısında ele aldık.

Sık sorulan sorular

Yapay zekâ asistanından farkı ne? Semantik arama içeriği buluyor; asistan bulduğu içeriğe dayanarak cevap yazıyor. İkincisi birincisinin üzerine kuruluyor; yapıyı intranet yapay zekâ asistanı yazısında anlattık.

Türkçede iyi çalışıyor mu? Çok dilli gömme modelleri Türkçeyi destekliyor. Ancak şirkete özgü kısaltmalar hiçbir modelde yok; sözlük ve tutarlı terim kullanımı hâlâ gerekli.

İçerik değişince dizin güncelleniyor mu? Güncellenmeli. Dizinin içerik değişikliğinde otomatik yenilenmediği kurgularda arama, eski metne göre sonuç döndürüyor — en sinsi hatalardan biri.

Maliyeti yüksek mi? Dizinleme tek seferlik, arama ise sorgu başına küçük bir maliyet. Asıl maliyet kalemi, içerik hacmi büyüdükçe dizinin saklanması ve yenilenmesi oluyor.