Anlamsal aramayı anlama
Şimdi anlamsal aramanın temellerini ele alalım:
- Standart sözcük temelli aramadan farkı.
- Vektör ekleme nedir?
- Vektör veritabanları ne yapar?
Anlamsal arama nedir?
Standart sözcük temelli arama veya anahtar sözcük araması, eşleşen karakterlerle belgeleri sorgular. Örneğin, "ışık" sorgusu "parlak ışık" metniyle eşleşir çünkü karakter light belgede görünür.
Sözcük temelli arama, bulanık eşleştirme ile artırılabilir; örneğin, "lights" sorgusu yine de "parlak ışık" metniyle eşleşebilir veya bir karakter eksik olduğundan yanlış yazılmış lihgts metinle eşleşebilir (bir s, eksik olabilir veya g ve h yer değiştirmiş olabilir). Benzer eşleştirme ve kök oluşturma gibi diğer teknikler yararlı olsa da, bu tekniğin eş anlamlılarla veya anlamsal olarak benzer bir dille eşleşmesi gerekir: farklı tümce, argo, teknik sözlük vb. Sözcük temelli arama ile en uygun arama sonuçlarını sağlamak için yazarların meta verilerde veya metnin kendisinde anahtar sözcükler eklemesi gerekir (bu, uygunsuz bir kullanıcı deneyimi olabilir).
Anlamsal arama girin. Anlamsal arama karakter benzerliğini kullanmaz. Bunun yerine, sözcük ve tümceciklerdeki kavramların sayısal gösterimlerini kullanır. Bu sayısal gösterimlere ekleme vektörleri veya yalnızca eklemeler denir.
İki gömme sayısal olarak benzerse, anlamsal olarak da benzerdirler. Bu benzerlik, kesin anahtar sözcük seçimine veya tümcesine daha az duyarlı olduğundan anahtar sözcük çakışmasını test etmekten daha geneldir.
Anlamsal arama yapmak için önce sorgunun ekleme vektörlerini oluşturun. Ardından bu vektörle bir vektör veritabanını karşılaştırın. Sorgu eklemeye en yakın eklemeler, sorguya en benzer belgelerdir.
İlişkisel veritabanı kullanım örneklerinin çoğu n boyutlu vektörleri depolamayı ve aralarındaki sayısal uzaklığı hesaplamayı içermez. Verimli anlamsal arama , vektör veritabanı işlevselliği gerektirir.
Eklemeler
Ekleme, semantiğin sayısal bir gösterimidir. Eklemeler n boyutlu vektörler olarak temsil edilir: n sayı dizileri. Her boyut, ekleme modeli tarafından belirlenen bazı anlamsal kaliteyi temsil eder.
İki ekleme vektörleri benzer yönlere işaret ederse, "parlak" ve "güneşli" gibi benzer kavramları temsil eder. Birbirlerinden uzaklaşırlarsa, "üzgün" ve "mutlu" gibi karşıt kavramları temsil ederler. Ekleme modeli yapısı ve eğitim verileri, benzer ve farklı olarak kabul edilenleri belirler.
Eklemeler metne ve görüntüler veya ses gibi her türlü veriye uygulanabilir. Kritik bölüm, verileri bazı model veya işleve göre n boyutlu ekleme vektörlerine dönüştürmektir. Gömlemelerin sayısal benzerliği, ilgili verilerin anlamsal benzerliğini temsil eder.
İki n boyutlu vektörün v1 ve v2 sayısal benzerliği, v1·v2 ile verilir. Nokta ürünü hesaplamak için, her boyutun değerlerini çift yönlü olarak çarpın ve sonucu topla:
dot_product(v1, v2) = SUM(
v1[0] * v2[0],
v1[1] * v2[1],
...,
v1[n-1] * v2[n-1],
v1[n] * v2[n]
)
Eklemeler birim vektörleri (birinci uzunlukta vektörler) olduğundan, nokta ürünü vektörlerin kosinüs benzerliğine, -1 (tam ters yönler) ile 1 (tam olarak aynı yönde) arasında bir değere eşittir. Kosinüs benzerliği sıfır olan vektörler ortogonaldir: sembolik olarak ilgisizdir.
Asıl bileşen analizini (PCA) kullanarak n boyutlu alanları 3 boyutlu alana yansıtarak görselleştirebilirsiniz. PCA, vektör boyutlarını azaltmaya yönelik standart bir tekniktir. Sonuç, n boyutlu alanın basitleştirilmiş ancak görselleştirilebilir bir projeksiyonudur. Belge eklemelerinizi bu şekilde işlemeniz, daha fazla farklı belgenin daha uzakta olduğu halde daha benzer belgelerin kümelerde gruplandırıldığını gösterir.
Bu tanımları göz önünde bulundurarak, belge ekleme koleksiyonunda bir sorgunun semantik aramasını yapmak basit bir matematiksel işlemdir:
- Dil modeli kullanarak sorgu eklemeyi oluşturun.
- Her belgenin önceden hesaplanmış ekleme işlemine göre ekleme sorgusunun noktalı çarpımını alın.
- Noktalı ürünleri, sayıları -1'den 1'e sıralayın.
- En ilgili (diğer olarak benzer) belgeler en yüksek puanlara sahiptir ve en az ilgili (diğer açıdan farklı) belgeler en düşük puanlara sahiptir.
Matematiksel açıdan basit olsa da, bu ilişkisel veritabanında basit veya performanslı bir sorgu değildir. Bu tür vektör benzerlik sorgusunu depolamak ve işlemek için bir vektör veritabanı kullanın.
Vektör veritabanları
Vektör veritabanı, eklemeler gibi çok boyutlu vektörlerin depolamasını ve hesaplamasını iyileştirir. Özellikle vektör veritabanları, vektör benzerlik sorgusu yürütmek için hızlı ve doğru noktalı ürün hesaplamaları sağlar.
Vektör benzerliği aramalarının birkaç kullanım örneği vardır:
- sorgu görüntüsünün eklemesine benzer görüntüleri bulma
- sorgu metnine benzer belgeleri bulma
- öneri sistemi için benzer özelliklere ve derecelendirmelere sahip ürünleri bulma
Anlamsal arama, depolanan her eklemeye eklenen sorgunun benzerliği için vektör veritabanını sorgular. Uygulamalar daha sonra eklemelere karşılık gelen verileri getirebilir.
Aralarından seçim yapabileceğiniz birçok yerel vektör veritabanı ve veritabanı uzantısı vardır. Aşağıdaki Azure hizmetleri vektör veritabanı gereksinimlerinizi karşılamanıza yardımcı olabilir: