Yapay ZekaEmbeddingArama1 dk okuma

Embedding: Anlamı Sayılara Dönüştürmek

Bir bilgisayar kedinin ne olduğunu bilmez. Anlamı kavrayamaz ama bir işte çok iyidir: sayılarla çalışmak. İşin püf noktası şu: Her kelimeyi veya cümleyi, benzer anlamlara benzer sayılar verecek şekilde bir sayı listesine çeviririz. Bu listeye embedding denir. Anlam sayıya dönüşünce "bu iki şey ne kadar benzer?" sorusu basit bir mesafe sorusuna dönüşür.

Küçük başlayalım. Aşağıda her kelime yalnızca iki sayıdan oluşuyor; bu yüzden onu bir haritada nokta olarak çizebiliyoruz. Hayvanlarla ilgili kelimeler bir bölgede, yiyecekler başka bir bölgede, taşıtlar da üçüncü bir bölgede duruyor. Bir kelimenin sayılarını ve en yakın komşularını görmek için üzerine gelin veya dokunun.

Etkileşimli
hayvanlaryiyeceklertaşıtlariki anlamlı
Bu kelime
kedi
şu iki sayıdan oluşur
[0.14, 0.79]
En yakın kelimeler
  • aslan0.99
  • yavru kedi0.97
  • köpek0.93

Bir kelimenin üzerine gelin veya dokunun. Sağdaki sayılar her komşunun ne kadar benzer olduğunu gösterir; 1.00, merkezden aynı yöne bakmak demektir.

"hot dog"a bakın. İçinde "dog" (köpek) kelimesi geçiyor ama yiyeceklerin yanında duruyor; çünkü önemli olan yazılışı değil, anlamı. "Jaguar" ise hayvanlarla arabaların arasına düşüyor; çünkü hem bir hayvan hem de bir otomobil markası olabilir. Gerçek embeddingler de aynı şekilde çalışır, tek büyük farkla: Yüzlerce, hatta binlerce sayıdan oluşurlar ve bu sayılar elle seçilmez; bir model tarafından çok büyük miktarda metinden öğrenilir.

İki embeddingin birbirine ne kadar yakın olduğunu nasıl ölçeriz? Matematikte böyle bir sayı listesine vektör denir ve onu merkezden çıkan bir ok olarak çizebiliriz. İki vektörü karşılaştırmanın yaygın bir yolu, oklarının yönlerine bakmaktır. Aynı yöne bakıyorlarsa anlamlar benzerdir. Buna cosine similarity denir. -1 ile 1 arasında bir sayı verir. İki kelime seçin ve aralarındaki açıyı izleyin.

Etkileşimli
hayvanlaryiyeceklertaşıtlariki anlamlı
kedi
yavru kedi
15°
Açı
0.97
Benzerlik
-101
Neredeyse aynı yön. Çok benzer.
Mor oku değiştirmek için bir kelimeye dokunun.

Örnek vektörler, elle seçildi. Yalnızca iki sayı olunca çok farklı konular zıt yönlere bakar hale gelir. Gerçek embeddinglerde yayılacak çok daha fazla yön vardır; bu yüzden ilgisiz şeyler genellikle -1'den çok 0'a yakın düşer.

Aynı yöne bakan okların puanı 1'e yakındır. Dik açı yapan okların puanı 0'dır. Zıt yönlere bakan okların puanı ise -1'dir. Yalnız bir konuda dikkatli olun: Zıt yön, zıt anlam demek değildir. "Sıcak" ve "soğuk" gibi kelimeler genellikle birbirine yakın düşer; çünkü çok benzer cümlelerde geçerler. Bir embedding, kelimelerin nasıl kullanıldığını yakalar; aynı şeyi ifade edip etmediklerini değil.

İki sayı pek bir şeyi anlatmaya yetmez. Eklenen her sayı, şeylerin birbirinden ayrışabileceği yeni bir yön demektir. Aşağıda her kelimenin okuyabildiğimiz üç sayısı var: ne kadar hayvanla, ne kadar yiyecekle ve ne kadar taşıtla ilgili olduğu. Kaydırıcıları hareket ettirerek kendi vektörünüzü oluşturun ve hangi kelimenin en yakın olduğunu görün.

Etkileşimli
Vektörünüz
[0.7, 0.6, 0.0]
En yakın kelimeler
  • balık0.99
  • kedi0.76
  • at0.69

Örnek vektörler, elle seçildi. Burada her sayının açık bir anlamı var; böylece okuyabiliyoruz. Gerçek embeddinglerde sayılar bir model tarafından öğrenilir ve tek bir sayı genellikle “hayvan” gibi tek bir insan kavramına karşılık gelmez.

Balık hem bir hayvan hem de bir yiyecektir; bu yüzden sayıları ikisini birleştirir. Daha fazla sayıyla bir embedding, bu anlam tonlarının birçoğunu aynı anda taşıyabilir. Gerçek bir modelde her sayının ne anlama geldiğine kimse karar vermez. Model bunları öğrenir ve tek tek sayıların çoğunun "hayvan" gibi basit bir adı yoktur.

Embeddingler asıl burada işe yarar. Cümlelerin de embeddingleri olabilir. Anlama göre arama yapmak için soruyu bir embeddinge çevirir ve embeddingi en benzer olan cümleleri seçeriz. Bunu yalnızca ortak kelimelere bakan basit bir anahtar kelime araması ile karşılaştırın.

Etkileşimli

Anahtar kelime araması

  • Hiçbir cümle soruyla ortak bir kelime içermiyor.

Anlama göre arama

  • Yavru köpeğim parkta uzun yürüyüşlere bayılıyor.1.00
  • Kediler günün çoğunu uyuyarak geçirir.0.99
  • Havalimanı treni her saat başı kalkar.0.16

Örnek vektörler, elle seçildi: evcil hayvanlar, yiyecek, seyahat ve hava durumu için dört sayı. Buradaki anahtar kelime araması yalnızca ortak kelimeleri sayar ve “bir” ile “için” gibi küçük kelimeleri atlar.

Anahtar kelime araması, aynı fikri farklı kelimelerle anlatan cümleleri kaçırır; ortak bir kelimesi olan ama anlamı farklı cümleleri de bulabilir. Anlama göre arama ise hiçbir kelime eşleşmese bile doğru cümleleri bulabilir. Bu yüzden birçok arama aracı, öneri sistemi ve yapay zeka asistanı ilgili içeriği bulmak için embeddingleri kullanır.

Bütün fikir bu. Bir embedding anlamı sayılara dönüştürür ve benzer anlamlar benzer yönlere bakar. Yalnızca buradaki "benzer" kelimesinin ne demek olduğunu unutmayın. Embeddingler, şeylerin kullanılış biçimi bakımından ne kadar benzediğini ölçer; bir şeyin doğru olup olmadığını değil. Bir cümle ile tam tersini söyleyen cümle yine de birbirine çok yakın olabilir.


Bu içerik size yardımcı olduysa bana bir kahve ısmarlayabilirsiniz.
İlgili yazıLLM’ler Sonraki Kelimeyi Nasıl Seçer?

yazılım, tasarım ve yapay zeka üzerine etkileşimli yazı ve kurslardan haberdar olmak için bültene katılabilirsiniz. Ayda en fazla birkaç e-posta alırsınız.


Destekçiler arasına katılın