Aramada en son haberleri takip ediyorsanız, muhtemelen şunu duymuşsunuzdur: vektör arama.
Hatta konu hakkında daha fazla bilgi edinmek için konuyu incelemeye başlamış bile olabilirsiniz, ancak karşı tarafı kafanız karışmıştır. O matematiği üniversitede bırakmadın mı?
Vektör araması oluşturmak zordur. Anlamak öyle olmak zorunda değil.
Ve vektör aramanın geleceğin olmadığını anlamak, karma arama – bu da aynı derecede önemli.
Vektörler Nelerdir?
Makine öğrenimi bağlamında vektörler hakkında konuştuğumuzda şunu kastediyoruz: Vektörler, bir şeyi temsil eden sayı gruplarıdır.
Bu şey bir görüntü, bir kelime veya neredeyse herhangi bir şey olabilir.
Sorular, elbette, bu vektörlerin neden yararlı olduğu ve nasıl oluşturuldukları.
Önce bu vektörlerin nereden geldiğine bakalım. Kısa cevap: Makine öğrenimi.
Jay Alammar belki de şimdiye kadar yazılmış en iyi blog yazısına sahip hangi vektörler.
Özet olarak, yine de, makine öğrenimi girdi öğelerini modeller (buradan itibaren yalnızca sözcükleri varsayalım) ve başka bir şeyi tahmin etmek için en iyi formülleri bulmaya çalışın.
Örneğin, “arı” kelimesini alan bir modeliniz olabilir ve “arı”nın “böcekler” ve “eşekarıları” gibi benzer bağlamlarda görüldüğünü doğru bir şekilde tahmin edecek en iyi formülleri bulmaya çalışıyor olabilir.
Bu model en iyi formüle sahip olduğunda, “arı” kelimesini, “böcekler” ve “eşekarıları” için sayılar grubuna çok benzeyen bir sayı grubuna dönüştürebilir.
Vektörler Neden Güçlüdür?
Vektörler bu nedenle gerçekten güçlüdür: Generative Pre-trained Transformer 3 (GPT-3) veya Google’dan gelenler gibi büyük dil modelleri milyarlarca kelime ve cümleyi hesaba katar, böylece bu bağlantıları kurmaya başlayabilir ve gerçekten zeki olabilirler.
İnsanların bu zekayı aramaya uygulamak için neden bu kadar heyecanlı olduklarını anlamak kolaydır.
Mesele şu ki, vektör araması, tüm kumaş anahtar kelime aramasının yerini almıyor. Anahtar kelime aramasının muazzam değeri korumayacağını düşünmek, yeni ve parlak olana çok fazla iyimserlik yerleştirir.
Vektör arama ve anahtar kelime aramalarının her birinin kendi güçlü yönleri vardır ve birlikte çalıştıklarında en iyi sonucu verirler.
Uzun Kuyruk Sorguları İçin Vektör Arama
Aramada çalışıyorsanız, muhtemelen uzun sorgu kuyruğuna yakından aşinasınızdır.
Yani arama ile.
Birkaç sorgunun (“head” sorguları olarak da adlandırılır) her biri çok aranır, ancak sorguların büyük çoğunluğu çok az aranır – belki de sadece bir kez.
Rakamlar siteden siteye farklılık gösterecektir, ancak ortalama bir sitede, toplam aramaların yaklaşık üçte biri yalnızca birkaç düzine sorgudan gelebilirken, arama hacminin yaklaşık yarısı en popüler 1.000’in dışındaki sorgulardan gelir.
Uzun kuyruk sorguları daha uzun olma eğilimindedir ve hatta doğal dil sorguları olabilir.
Algolia şirketim tarafından yapılan araştırma, sorguların %75’inin iki veya daha az kelimeden oluştuğunu gösterdi. Sorguların %90’ı dört veya daha az kelimedir. Ardından, sorguların %99’una ulaşmak için 13 kelimeye ihtiyacınız var!
Ancak, her zaman uzun değiller, sadece belirsiz olabilirler. Bir kadın moda web sitesi için “leylak rengi elbise” uzun kuyruklu bir sorgu olabilir çünkü insanlar bu rengi çok sık istemezler. Web sitesinde satılık bilezikler olsa bile, “Bileklik” de nadiren görülen bir sorgu olabilir.
Vektör araması genellikle uzun kuyruk sorguları için harika çalışır. Bilekliklerin bileziğe benzediğini anlayabilir ve eş anlamlılar kurulmadan bile bilezikleri yüzeyleyebilir. Birisi leylak rengi bir şey aradığında pembe veya mor elbiseler gösterebilir.
Vektör araması, bu uzun veya doğal dil sorguları için bile işe yarayabilir. “İçeceklerimi soğuk tutacak bir şey”, iyi ayarlanmış vektör aramasında buzdolaplarını getirirken, anahtar kelime aramasıyla metnin ürün açıklamasında bir yerde olmasını umarsınız.
Başka bir deyişle, vektör araması, arama sonuçlarının hatırlanmasını veya kaç sonuç bulunduğunu artırır.
Vektör Arama Nasıl Çalışır?
Vektör arama, yukarıda tanımladığımız sayı gruplarını alarak ve vektör arama motoruna “Bu sayı gruplarını doğrular olarak çizseydim, hangisi birbirine en yakın olurdu?” diye sormasını sağlayarak mı?
Bunu kavramsallaştırmanın kolay bir yolu, sadece iki sayıya sahip grupları düşünmektir. Grup [1,2] gruba daha yakın olacak [2,2] gruba olacağından [2,500].
(Elbette, vektörlerin içinde onlarca sayı olduğundan, görselleştirilmesi o kadar kolay olmayan düzinelerce boyutta “grafiği çiziliyorlar”.)
Benzerliği belirlemeye yönelik bu yaklaşım güçlü çünkü “doktor” ve “tıp” gibi kelimeleri temsil eden vektörler, “doktor” ve “rock” kelimelerinden çok daha fazla “grafiklendirilecek”.
Vektör Aramanın Dezavantajları
Ancak, vektör aramanın dezavantajları vardır.
Birincisi maliyet. Yukarıda tartıştığımız tüm bu makine öğrenimi? Maliyetleri var.
Bir kere, vektörleri depolamak, anahtar kelime tabanlı bir arama indeksini depolamaktan daha pahalıdır. Bu vektörler üzerinde arama yapmak da çoğu durumda anahtar kelime aramasından daha yavaştır.
Şimdi, karma bu sorunların her ikisini de azaltabilir.
Evet, daha teknik kavramlar sunuyoruz, ancak bu, temelleri anlamak için oldukça basit olan başka bir kavram.
Hashing, bazı bilgileri (bir dizi veya sayı gibi) orijinal bilgiden daha az bellek alan bir sayıya dönüştürmek için bir dizi adım gerçekleştirir.
Karma kullanarak, vektör aramalarını çok daha hızlı hale getirebilir ve vektörlerin genel olarak daha az yer kullanmasını sağlayabiliriz.
Ayrıntılar son derece tekniktir, ancak önemli olan bunun mümkün olduğunu anlamaktır.
Anahtar Kelime Aramanın Devam Eden Yararlılığı
Bu, anahtar kelime aramanın hala yararlı olmadığı anlamına gelmez! Anahtar kelime araması genellikle vektör aramasından daha hızlıdır.
Olası kelime eşleşmeleri olarak “texas” ve “tejano” ve “state” sorgusu örneğini alın. Açıkçası, karşılaştırmaya saf bir anahtar kelime arama perspektifinden bakarsak, “tejano” daha yakındır. Bununla birlikte, vektör arama yaklaşımından hangisinin daha yakın olacağını söylemek o kadar kolay değil.
Anahtar kelime tabanlı arama, kayıtları bulmak için metin tabanlı bir yaklaşım kullandığından, “teksas” kelimesinin “tejano”ya daha çok benzediğini anlar.
Kayıtlar, sorgudakiyle tamamen aynı olan (veya yazım hatalarını hesaba katmak için belirli bir fark düzeyinde) sözcükler içeriyorsa, kayıt ilgili kabul edilir ve sonuç kümelerinde geri gelir.
Başka bir deyişle, anahtar kelime araması, arama sonuçlarının kesinliğine veya daha az sayıda olsa bile geri gelen kayıtların alakalı olmasını sağlamaya odaklanır.
Ana Sorgular İçin Yararlı Olarak Anahtar Kelime Arama
Bu nedenle, anahtar kelime araması, kafa sorguları için gerçekten iyi performans gösterir: en popüler olan sorgular.
Başlık sorguları daha kısa olma eğilimindedir ve ayrıca optimize edilmeleri daha kolaydır. Bu, herhangi bir nedenle bir anahtar kelimenin bir kaydın içindeki doğru metinle eşleşmemesi durumunda, genellikle analitik yoluyla yakalandığı ve eş anlamlısı ekleyebilirsiniz.
Anahtar kelime araması en iyi kafa sorguları için ve vektör araması uzun kuyruk sorguları için en iyi sonucu verdiğinden, ikisi birlikte en iyi şekilde çalışır.
Bu, karma arama olarak bilinir.
Hibrit arama, bir arama motorunun tek bir sorgu için hem anahtar kelime hem de vektör aramasını kullandığı ve hangi arama yaklaşımının getirdiğine bakılmaksızın kayıtları doğru şekilde sıraladığı zamandır.
Arama Kaynaklarına Göre Sıralama Kayıtları
İki farklı kaynaktan gelen kayıtları sıralamak kolay değil.
İki yaklaşımın, doğaları gereği, kayıtları puanlamanın farklı yolları vardır.
Vektör araması bir puan döndürürken, bazı anahtar kelime tabanlı motorlar döndürmez. Anahtar kelime tabanlı motorlar bir puan döndürse bile, iki puanın eşdeğer olduğunun garantisi yoktur.
Puanlar eşdeğer değilse, anahtar kelime motorundan alınan 0,8 puanın vektör motorundan alınan 0,79 puandan daha alakalı olduğunu söyleyemezsiniz.
Diğer bir alternatif, tüm sonuçları vektör motorunun veya anahtar kelime motorunun puanlaması yoluyla çalıştırmak olabilir.
Bu, vektör motorundan ekstra geri çağırma avantajına sahiptir, ancak bazı dezavantajları da vardır. Vektör motorundan gelen bu ekstra geri çağrılan sonuçlar, bir anahtar kelime puanıyla alakalı olarak derecelendirilmez, aksi takdirde sonuçlar kümesinde zaten görünürlerdi.
Alternatif olarak tüm sonuçları – anahtar kelime veya başka bir şekilde – vektör puanlama yoluyla çalıştırabilirsiniz, ancak bu yavaş ve pahalıdır.
Geri Dönüş Olarak Vektör Arama
Bu nedenle, bazı arama motorları ikisini harmanlamaya çalışmaz, bunun yerine her zaman önce anahtar kelime sonuçlarını, ardından vektör sonuçlarını ikinci olarak görüntüler.
Buradaki düşünce, bir arama sıfır veya birkaç sonuç döndürürse, vektör sonuçlarına geri dönebileceğinizdir.
Vektör aramasının hatırlamayı iyileştirmeye veya daha fazla sonuç bulmaya yönelik olduğunu ve bu nedenle anahtar kelime aramasının bulamadığı alakalı sonuçları bulabileceğini unutmayın.
Bu iyi bir geçici çözüm ama gerçek karma aramanın geleceği değil.
Gerçek karma arama, farklı kaynaklar arasında karşılaştırılabilir bir puan oluşturarak aynı sonuç kümesinde birden çok farklı arama kaynağını sıralayacaktır.
Bugün bu yaklaşımla ilgili çok fazla araştırma var, ancak çok azı bunu iyi yapıyor ve motorunu herkese açık olarak sunuyor.
Peki bu sizin için ne anlama geliyor?
Şu anda yapabileceğiniz en iyi şey, muhtemelen sıkı oturmak ve sektörde neler olup bittiği konusunda güncel kalmaktır.
Vektör ve anahtar kelime tabanlı karma arama önümüzdeki yıllarda geliyor ve veri bilimi ekipleri olmayan kişiler için kullanılabilecek.
Bu arada, anahtar kelime arama hala değerlidir ve yalnızca vektör araması daha sonra getirildiğinde geliştirilecektir.