Üretken Veri Zekası

Amazon Personalize'da öneri puanlarını tanıtmak

Tarih:

Amazon Kişiselleştir Web sitenizi, uygulamanızı, reklamlarınızı, e-postalarınızı ve daha fazlasını Amazon.com tarafından kullanılan aynı makine öğrenimi teknolojisini kullanarak, önceden herhangi bir makine öğrenimi deneyimi gerektirmeden kişiselleştirmenize olanak tanır. Amazon Personalize'ı kullanarak basit bir API arayüzü aracılığıyla kullanıcılarınız için kişiselleştirilmiş öneriler oluşturabilirsiniz. Amazon Personalize'ın artık her kişiselleştirilmiş öneriyle oluşturulan öneri puanlarını sağladığını duyurmaktan mutluluk duyuyoruz. Bu puanlar, önerilerin uygunluğundaki göreceli farkı anlamanıza yardımcı olabilir. Bu yazı, bu puanların kullanımı ve yorumlanması konusunda size yol gösterecektir.

Öneri puanlarını kullanma

Amazon Personalize'ın öneri puanları, önerilere ek iş mantığı uygulamanıza yardımcı olur. Aşağıda birkaç açıklayıcı örneğe bakalım:

  • Göreceli bir eşiğin üzerindeki öğeleri önerin; örneğin, yalnızca döndürülen öğeler arasında puanı en yüksek puanın %50'sinden fazla olan öğeleri önerin. Mutlak eşiklerin olması önerilmez; örneğin yalnızca öneri puanı > 0.001 olan öğeleri önerin
  • Bir öğe kullanıcı için çok yüksek bir puana sahip olduğunda özel bir işlem gerçekleştirin. Örneğin, bir öğenin puanı 0.2'den büyükse kullanıcıya özel bir bildirim gönderin veya bu yüksek güven düzeyine sahip öğe hakkında bilgi vermek için özel bir kullanıcı arayüzü öğesi gösterin.
  • Kişiselleştirme sonuçlarında özel yeniden sıralama gerçekleştirin; örneğin, önerilerin sponsorlu içeriğin görüntülenmesi gibi diğer iş hedefleriyle alaka düzeyini dengelemek.

Öneri puanlarına gerçek zamanlı öneriler ve toplu öneriler aracılığıyla ulaşılabilir. Gerçek zamanlı önerilere Amazon Personalize konsolundan da ulaşılabilir. Aşağıdaki tarifler kullanılarak oluşturulan çözüm sürümleri için puanlar etkinleştirilir:

  • arn:aws:personalize:::recipe/aws-hrnn
  • arn:aws:personalize:::recipe/aws-hrnn-metadata
  • arn:aws:personalize:::recipe/aws-hrnn-coldstart
  • arn:aws:personalize:::recipe/aws-personalized-ranking

Şu anda kullanılarak oluşturulan çözümler için puanlar mevcut değildir. aws-sims ve aws-popularity-count tarifleri.

Bu yazıda konsolda öneri puanları almanın kısa bir gösterimini sunuyoruz. Daha önce Amazon Personalize'ı kullanmadıysanız bkz. Başlamak devam etmeden önce.

Gerçek zamanlı öneriler için puan alma

Amazon Personalize konsolu, kontrol sonuçlarını tespit etmenin kolay bir yolunu sunar. GetRecommendations or GetPersonalizedRanking API'ler. Üretim uygulamalarında bu API'leri AWS CLI'yi veya dile özgü SDK'ları kullanarak çağırırsınız. Öneri puanlarını almak için lütfen Amazon Personalize SDK'nızı güncelleyin. Daha fazla bilgi için bakınız Gerçek Zamanlı Öneriler Alma.

Aşağıdaki adımlarda önerilerin ve puanların konsoldan nasıl alınacağı ayrıntılı olarak açıklanmıştır.

Kampanyanızı seçme

Amazon Personalize'da kullanıcılarınıza önerilerde bulunmak için bir kampanya kullanılır. Çözüm sürümü yukarıda listelendiği gibi puanları destekleyen bir reçete kullanan bir kampanyaya ihtiyacınız olacak. Yeni bir kampanya oluşturabilir veya mevcut bir kampanyayı yeniden kullanabilirsiniz.

Yeni bir kampanya oluşturmak için aşağıdaki adımları tamamlayın:

  1. Üzerinde Kampanyalar sekmesini seçin Kampanya Oluşturma.
  2. İçin kampanya ismi, isim girin.
  3. İçin Çözüm, çözümü ve ardından puanların etkin olduğu bir tarif kullanan çözüm sürümünü seçin
  4. Klinik Kampanya oluştur.

Aşağıdaki ekran görüntüsü, aşağıdakilerle oluşturulan bir Çözüm kullanan bir Kampanyanın ayrıntılarını göstermektedir: aws-hrnn yemek tarifi. Bu Kampanya öneri puanları oluşturmak için kullanılacaktır.

Öneriler alma

Kampanyanızı oluşturduktan veya güncelledikten sonra, bir kullanıcı için önerilen öğeleri, bir öğe için benzer öğeleri veya kullanıcı için girdi öğelerinin yeniden sıralanmış bir listesini alabilirsiniz. İçinde Kampanyalar ayrıntı sayfasına girin userId, itemIdYa da inputList test etmek istiyorsun.

Aşağıdaki ekran görüntüsü, önerilen öğeleri ve bunların puanlarını içeren GetRecommendations çağrısının sonuçlarını içeren Kampanya ayrıntı sayfasını göstermektedir.

Belirli bir kullanıcı için, HRNN tarife dayalı çözümler, öğe veri kümenizdeki tüm öğeleri birbirine göre puanlar; böylece her bir öğenin puanı 0 ile 1 arasında olacak ve bir kullanıcı için tüm öğelerin puanlarının toplamı şuna eşit olacaktır: 1. Örneğin, bir kullanıcı için film önerileri oluşturuyorsanız ve öğe veri kümesinde üç film varsa bunların puanları 6, 3 ve 1 olabilir. Öğe veri kümenizde 10,000 film varsa ortalama puan 1/10,000 olacaktır ve en yüksek puanı alan filmlerin bile mutlak puanları küçük olabilir. Bu nedenle puanların göreceli olarak yorumlanması gerekmektedir.

Matematiksel açıdan, her kullanıcı öğesi çifti (u,i) için HRNN puanları aşağıdaki şekilde hesaplanır; burada "exp" üstel fonksiyondur, wu ve wi/j sırasıyla öğrenilen kullanıcı ve öğe yerleştirmeleridir ve Σ öğe veri kümesindeki tüm öğelerin toplamını temsil eder:

Kullanıcı ve öğe yerleştirmeleri arasındaki iç çarpıma veya nokta çarpıma dikkat edin wu ve wi/j, belirli bir kullanıcı ile öğe arasındaki uyum düzeyini ifade eder.

Aşağıdaki ekran görüntüsü, Kampanya ayrıntı sayfasını başarılı bir şekilde göstermektedir. GetPersonalizedRanking sağ altta çağrı döndürme puanları.

kullanılarak oluşturulan Çözümler için aws-personalized-ranking çıktıdaki öğelerin tarifi GetPersonalizedRanking API ayrıca 0'dan 1'e kadar bir ölçekte birbirine göre puanlanır. GetRecommendations API, puanların toplamı, öğe veri kümesindeki tüm olası öğeler yerine, giriş Öğe Kimlikleri üzerinden 1'e eşittir. Giriş listesi genellikle ITEMS veri kümesindeki toplam öğe sayısından çok daha küçük olduğundan, mutlak değerler aynı kullanıcı - öğe çifti için söz konusu puandan daha büyük görünebilir. GetRecommendations API'dir. Farklı öğeler için puanlar inputList için GetPersonalizedRanking dolayısıyla işlemler birbirine göre yorumlanmalıdır.

Matematiksel olarak puanlama fonksiyonu GetPersonalizedRanking ile aynı GetRecommendationsancak yeniden sıralama için yalnızca girdi öğelerini dikkate alır. Bu, puanı bölecek daha az öğe olduğundan, 1'e yakın puanların olasılığının daha yüksek olduğu anlamına gelir:

İçin GetPersonalizedRanking API, içindeki öğeler inputList Eğitim sırasında ITEMS veya INTERACTIONS veri kümesinde bulunmayanlar puansız olarak döndürülür ve listenin sonuna sıralanır.

Toplu öneriler için puan alma

Puanlar, puanların etkin olduğu bir tariften türetilen bir çözüm sürümü kullanılarak oluşturulan toplu çıkarım işlerinin sonuçlarına dahil edilir. Toplu önerilere ilişkin puanları almak için aşağıdaki adımları tamamlayın. Daha fazla bilgi için bakınız Toplu Öneriler Alma.

  1. Amazon Personalize konsolunda, Toplu çıkarım işleri sekmesinde, puanların etkin olduğu bir tarif içeren bir çözüm sürümünü kullanarak yeni bir toplu çıkarım işi oluşturun.
  2. İş tamamlandığında çıktıya gidin Amazon S3Çıktı dosyasının son eki var .out. Bu gönderi için beklenen çıktı dosyası adı: batch-20-lines.json.out çünkü giriş dosyası batch-20-lines.json.Aşağıdaki ekran görüntüsü gösterilmektedir batch-20-lines.json.out S3'e yazılır ve S3 konsolunda görünür.
  3. Dosyayı Amazon S3'ten indirin.
  4. Dosyayı bir metin düzenleyicide açın.

Puanlar çıktıda görünür. Öneri puanları olmayan eski çıktı şeması aşağıdaki gibiydi:

{ "input": {...} "output": { "recommendedItems": ["item1", "item2"], }, "error": "…"
}

Puanlarla birlikte bu yeni çıktı şeması aşağıdaki gibidir:

{ "input": {...} "output": { "recommendedItems": ["item1", "item2"], "scores": [score1, score2] }, "error": "..."
}

*.out dosyalarının örnek çıktısı aşağıdadır. Çıktı okunabilirlik için biçimlendirilmiştir.

{ "input":{ "userId":"3962", "itemList":["474","465","1014","222"] }, "output":{ "recommendedItems":["222","474","1014","465"], "scores":[0.4897564, 0.265899, 0.165578, 0.078766] }, "error":null
}

Özet

Öneri puanlarının kullanıma sunulmasıyla artık önerilerin kalitesine ilişkin daha ayrıntılı bilgilere sahip olacaksınız ve üretim sistemlerinizle entegre olacak daha akıllı iş mantığı yazabileceksiniz. Amazon Personalize ile kullanıcı deneyiminizi bugün kişiselleştirmeye başlayın! Buraya Tıkla geliştirici kılavuzumuz için.


Yazar Hakkında

Brandon Huang, AWS'de Yazılım Geliştirme Mühendisidir ve Amazon Personalize geliştirme ekibinin bir üyesi olarak çalışmaktadır. Öneriler için daha hızlı, daha doğru modelleri eğitme konusunda uzmanlaşmıştır ve daha önce Amazon Forecast üzerinde çalışmıştır. Brandon programlama yapmadığı zamanlarda badminton oynamaktan, piyano çalmaktan ve Bay Area'nın birinci sınıf restoranlarını keşfetmekten hoşlanıyor.

Kaynak: https://aws.amazon.com/blogs/machine-learning/introducing-recommendation-scores-in-amazon-personalize/

spot_img

En Son İstihbarat

spot_img