Arama şirketlerinin arama ve yapay zekanın nasıl çalıştığını açıkladığını duymak kafa karıştırıcı olabilir. Bing, büyük dil modelleri (LLM'ler) kullanan ChatGPT'yi ekledi, ancak bundan önce bile derin öğrenme yetenekleri vardı. Google kısa süre önce yeni görsel arama yeteneklerini ve kendi LLM hizmetini duyurdu. Algolia'da ayrıca herhangi bir uygulama için akıllı aramayı ölçeklendirmek amacıyla sinir karmalarını kullanan kendi yapay zeka destekli teknolojimizi de tanıtmak üzereyiz. Bu terimlerin tümü kafa karıştırıcı olabilir.
Aramayla ilgili teknolojileri parçalara ayırarak bu sorunu çözelim.
Anahtar kelime arama motorları onlarca yıldır var. Apache Lucene projesi, anahtar kelime arama işlevselliği sunan, en iyi bilinen açık kaynaklı arama motorlarından biridir. Bu tür arama motoru, sorguları dizindeki öğelerle eşleştirmek için istatistiksel teknikler kullanır. Kitapta bilginin bulunduğu tüm yerleri işaret ederek kitabın arkasındaki indeks gibi çalışırlar. Yazım hatası toleransı, kelime segmentasyonu ve kök ayırma gibi sorgu işleme teknolojileri de arama motorlarının yazım ve sorgu anlayışını sindirmesine ve anlamlandırmasına yardımcı olmak için kullanılır.
Anahtar kelime araması genellikle çok hızlıdır ve sorgu-anahtar kelime eşleşmelerinde iyi çalışır. Ancak genellikle uzun kuyruklu sorgular, kavram aramaları, soru tarzı aramalar, eşanlamlılar ve sorgunun dizindeki içerikle tam olarak eşleşmediği diğer ifadelerle uğraşırlar. Bu nedenle birçok şirket yardımcı olmak için yapay zeka eşanlamlısı oluşturma gibi ek özellikler ekledi.
Anlamsal arama, bir arama sorgusundaki kelimelerin ve ifadelerin anlamlarını anlamayı ve sorguyla anlamsal olarak ilgili sonuçları döndürmeyi içerir. Semantik arama motorları, kelimelerin ve ifadelerin anlamlarını anlamak ve ilgili kavramları, eş anlamlıları ve arama sorgusuyla alakalı olabilecek diğer ilgili bilgileri bulmak için doğal dil işleme (NLP) tekniklerini kullanır.
Yapay zeka araması, semantik aramanın yanı sıra arama sonuçlarını sunmaya yönelik diğer makine öğrenimi tekniklerini de içeren genel ve daha geniş bir terimdir. Yapay zeka araması genellikle sorgu işleme, erişim ve sıralama dahil olmak üzere çeşitli adımları içerir.
Sorgu işleme : Bu adım, kullanıcının sorgusunun amacını, kapsamını ve kısıtlamalarını anlamak için analiz edilmesini içerir. Sorgu işleme, sorguyu kendisini oluşturan parçalara ayırma, anahtar sözcüklerin ve tümceciklerin anlamsal olarak anlaşılması, sorgunun standart bir biçime göre normalleştirilmesi ve daha fazlası gibi görevleri içerebilir.
Alma : Sorgu işlendikten sonra sistem, sorgu kriterleriyle eşleşen bir dizi belge veya veri öğesini alır. Yapay zeka araması, ilgili sonuçları sunmak amacıyla terimler arasındaki benzerliği belirlemek ve ilişkiyi ölçmek için genellikle makine öğrenimi algoritmalarını kullanır.
Sıralama : Belgeler veya veri öğeleri alındıktan sonra sistem, bunları kullanıcının sorgusuyla olan ilgilerine ve önemlerine göre sıralar. Sonuçları sürekli olarak optimize etmek için takviyeli öğrenme gibi sıralamaya göre öğrenme modelleri kullanılır.
OpenAI'nin ChatGPT'si, Google'ın Bard'ı, Midjourney'i ve diğer benzer AI teknolojisi, üretken AI olarak adlandırılan şeydir. Bu genel amaçlı çözümler, girdiye dayalı olarak sonuçları tahmin etmeye çalışır ve aslında yeni bir yanıt üretir. Yeni bir şey üretmek için önceden var olan metin ve görsel içeriği kullanırlar.
Öte yandan arama motorları, arama sonuçlarını iyileştirmek için yapay zekayı kullanabilir. Tıpkı üretken yapay zeka gibi, arama yapay zekası da doğal dil girişlerini anlamak için kullanılabilir. Üretken yapay zekanın aksine, arama motorları yeni, özgün içerik yaratmıyor. Her iki teknoloji birlikte veya bağımsız olarak kullanılabilir. Yaratıcı çıktılara yardımcı olmak için üretken yapay zeka teknolojileri kullanılabilir ve sipariş sonuçlarını filtrelemek ve sıralamak için arama kullanılır. Yeni moda fikirleri arayan biri, bir sohbet botuna en son trendlerin neler olduğunu sorabilir, sonuçları alabilir ve ardından sonuçları bulmak için aramayı kullanabilir. Veya ürünleri bulmak için aramayı kullanabilir ve ardından sohbetten her sonucun artılarını ve eksilerini açıklamasını isteyebilirsiniz.
Hem üretken sohbet yapay zekası hem de arama yapay zekası, genellikle doğal dilin anlaşılması yoluyla daha iyi bir kullanıcı deneyimi sağlar.
Büyük dil modelleri (LLM'ler) bir süredir ortalıkta dolaşıyor, ancak GPT onları ön plana çıkardı. LLM'ler, doğal dil metnini işlemek ve oluşturmak için eğitilmiş yapay zeka modelleridir. Bu modeller genellikle derin öğrenme teknikleri kullanılarak oluşturulur ve eğitim için büyük miktarda veri ve hesaplama kaynağı gerektirir. Algolia'da biz de LLM'leri kullanıyoruz, ancak makine anlayışına yardımcı olmak için. Sorguları sonuçlarla karşılaştırmak için kullanabileceğimiz vektörler oluşturmak için Yüksek Lisans'ı kullanıyoruz.
Vektörizasyon, kelimelerin anlamlarının matematiksel olarak kodlanmasını ve işlenmesini sağlayan vektörlere (sayılara) dönüştürülmesi işlemidir. Vektörleri bir şeyi temsil eden sayı grupları olarak düşünebilirsiniz. Uygulamada vektörler eşanlamlıları otomatikleştirmek, belgeleri kümelemek, sorgulardaki belirli anlamları ve amaçları tespit etmek ve sonuçları sıralamak için kullanılır. Gömmeler çok yönlüdür ve belgelerin tamamı, resimler, video, ses ve daha fazlası gibi diğer nesneler de gömülebilir.
Vektör arama, bir dizindeki nesneler arasındaki anlamsal ilişkileri algılayan makine öğrenimi modellerini kullanarak benzer özelliklere sahip ilgili nesneleri bulmak için sözcük yerleştirmeleri (veya resim, video, belge vb.) kullanmanın bir yoludur.
Vektör benzerliğini hesaplamak için birçok farklı yaklaşık en yakın komşu (YSA) algoritması vardır. HNSW (Hiyerarşik Gezinilebilir Küçük Dünya), IVF (Tersine Çevrilmiş Dosya) veya PQ (Ürün Niceleme, bir vektörün boyut sayısını azaltmaya yönelik bir teknik) gibi teknikler, vektörler arasındaki benzerliği bulmaya yönelik en popüler YSA yöntemlerinden bazılarıdır. Her teknik, PQ ile hafıza azaltma veya HNSW ve IVF ile hızlı ama doğru arama süreleri gibi belirli bir performans özelliğini geliştirmeye odaklanır. Belirli bir kullanım durumu için en iyi performansı elde etmek amacıyla 'bileşik' bir indeks oluşturmak amacıyla birkaç bileşenin karıştırılması yaygın bir uygulamadır.
Vektörlerle çalışmanın zorluklarından biri de boyutlarıdır. Bunlar genellikle özel veritabanları ve GPU yönetimi gerektiren çok büyük dizelerdir. Sinir karma, vektörleri sıkıştırmak için sinir ağlarını kullanan yeni bir işlemdir, böylece standart vektör hesaplamalarından 500 kata kadar daha hızlı işlenebilmekte ve ticari donanım üzerinde çalıştırılabilmektedir.
Hibrit arama, vektör aramanın anahtar kelime aramasıyla birleşimidir. Vektör arama, bulanık veya geniş aramalar için harikadır, ancak anahtar kelime araması, kesin sorgular için hala en önemli olanıdır. Örneğin bir anahtar kelime motorunda “Adidas” sorgusu yaptığınızda varsayılan olarak yalnızca Adidas markasını görürsünüz. Bir vektör motorundaki varsayılan davranış, benzer sonuçları döndürmektir (Nike, Puma, Adidas, vb.), çünkü hepsi aynı kavramsal alandadır. Anahtar kelime araması, belirli amaçlara yönelik kısa sorgular için hâlâ daha iyi sonuçlar sağlıyor.
Hibrit arama, tam eşleşmeler ve basit ifadeler için hız ve doğruluk sağlayarak her iki kelimenin de en iyisini sunarken, vektörler uzun kuyruk sorgularını iyileştirir ve yeni arama çözümlerinin kapısını açar. Algolia'da hibrit yapay zeka çözümümüz Algolia NeuralSearch çok yakında kullanıma sunulacak. Daha fazlasını öğrenin .
Burada da yayınlandı.