Zephyrnet Logosu

Amazon Personalize'ı AWS Glue ile Kurma

Tarih:

Veriler, pazarlama, satış veya ürün gibi farklı iş birimlerinin ihtiyaçlarını karşılamak için çeşitli şekillerde kullanılabilir. Bu yazıda, son kullanıcı katılımını iyileştirmek için kişiselleştirilmiş öneriler oluşturmak için verileri kullanmaya odaklanıyoruz. Çoğu e-ticaret uygulaması, kişiselleştirilmiş öneriler sağlamak için kullanılabilecek büyük miktarda müşteri verisi tüketir; ancak, bu veriler temizlenemeyebilir veya bu değerli içgörüleri sağlamak için doğru formatta olmayabilir.

Bu yazının amacı, nasıl kullanılacağını göstermektir. AWS Tutkal JSON verilerinizi ayıklamak, dönüştürmek ve temiz bir CSV biçimine yüklemek için. Daha sonra size aşağıdaki destekçi tarafından desteklenen bir öneri motorunun nasıl çalıştırılacağını göstereceğiz Amazon Kişiselleştir Müşterilerinize özel bir deneyim sağlamak için kullanıcı etkileşim verileriniz üzerinde. Amazon Personalize'dan elde edilen sonuç, bir API'den oluşturabileceğiniz önerilerdir.

Yaygın bir kullanım örneği, kullanıcı-öğe etkileşim verilerini toplayan ve bir müşterinin beğenebileceği benzer ürünler veya ürünler öneren bir e-ticaret platformudur. Bu gönderinin sonunda, temizlenmemiş JSON verilerinizi alıp, her kullanıcının etkileşime girdiği ürünlere göre kişiselleştirilmiş öneriler oluşturabilecek ve son kullanıcılarınız için daha iyi bir deneyim yaratabileceksiniz. Bu gönderinin amaçları için, buna bakın kullanıcı-öğe-etkileşimi veri kümesi bu çözümü oluşturmak için.

Bu çözümün kaynakları AWS hesabınızda bir ücrete tabi olabilir. Fiyatlandırma bilgileri için bkz. AWS Glue Fiyatlandırması ve Amazon Kişiselleştirme Fiyatları.

Aşağıdaki şema çözüm mimarimizi göstermektedir.

Önkoşullar

Bu gönderi için şunlara ihtiyacınız var:

Paket oluşturmayla ilgili talimatlar için bkz. 1. Adım: İlk S3 paketinizi oluşturun. Emin ol Amazon Personalize erişim politikasını ekleyin.

Bunlar çok hoşgörülü politikalardır; pratikte en az ayrıcalığı kullanmak ve yalnızca gerektiği yerde erişim sağlamak en iyisidir. Rol oluşturmayla ilgili talimatlar için bkz. 2. Adım: AWS Glue için bir IAM Rolü Oluşturun.

Verilerinizi AWS Glue ile tarama

Verilerinizin şemasını belirlemek ve AWS Glue Veri Kataloğunuzda bir meta veri tablosu oluşturmak için JSON dosyasında gezinmek için AWS Glue kullanıyoruz. Veri Kataloğu, AWS Glue'daki ETL işlerinizin kaynağı ve hedefi olarak kullanılan verilere referanslar içerir. AWS Glue, verileri çıkarmayı, temizlemeyi, zenginleştirmeyi, normalleştirmeyi ve yüklemeyi kolaylaştıran sunucusuz bir veri hazırlama hizmetidir. Verilerinizi analiz veya makine öğrenimi (ML) için hazırlamanıza yardımcı olur. Bu bölümde, JSON verilerinizi bir CSV dosyası gerektiren Amazon Personalize için nasıl hazırlayacağınıza değineceğiz.

Verileriniz, Amazon Personalize aracılığıyla çalıştırmayı istemeyebileceğiniz veya çalıştırmanız gerekmeyebilecek farklı sütunlara sahip olabilir. Bu yazıda kullanıyoruz user-item-interaction.json dosyalayın ve yalnızca sütunları dahil etmek için AWS Glue kullanarak bu verileri temizleyin user_id, item_id, ve timestampaynı zamanda CSV formatına dönüştürüyor. Veri deponuza erişmek, meta verileri çıkarmak ve Veri Kataloğu'nda tablo tanımları oluşturmak için bir tarayıcı kullanabilirsiniz. Otomatik olarak yeni verileri keşfeder ve şema tanımlarını çıkarır. Bu, verilerinizi ve modelinizi eğitirken neleri dahil etmek istediğinizi daha iyi anlamanıza yardımcı olabilir.

The user-item-interaction JSON verileri bir kayıt dizisidir. Tarayıcı, verileri tek bir nesne olarak ele alır: yalnızca bir dizi. Bir yaratıyoruz özel sınıflandırıcı JSON dizisindeki her kaydı temel alan bir şema oluşturmak için. Verileriniz bir kayıt dizisi değilse bu adımı atlayabilirsiniz.

  1. AWS Tutkal konsolunda, altında Tarayıcıları, seçmek Sınıflandırıcılar.
  2. Klinik Sınıflandırıcı ekle.
  3. İçin Sınıflandırıcı adıgiriş json_classifier.
  4. İçin Sınıflandırıcı türüseçin JSON.
  5. İçin JSON yolu, girmek $[*].
  6. Klinik oluşturmak.

Oluştur'u seçin.

  1. Üzerinde Tarayıcılar sayfası, seçmek Tarayıcı ekle.
  2. İçin Tarayıcı adı, girmek json_crawler.
  3. İçin Özel sınıflandırıcılaroluşturduğunuz sınıflandırıcıyı ekleyin.

Özel sınıflandırıcılar için, oluşturduğunuz sınıflandırıcıyı ekleyin.

  1. Klinik Sonraki.
  2. İçin Tarayıcı kaynak türü, seçmek Veri depoları.
  3. Diğer her şeyi varsayılan olarak bırakın ve seçin Sonraki.
  4. İçin Bir veri deposu seçin, JSON veri dosyanızın Amazon S3 yolunu girin.
  5. Klinik Sonraki.

İleri'yi seçin.

  1. Bölümü atla Başka bir veri deposu ekle.
  2. içinde Bir IAM rolü seçin bölümünde, seçin Mevcut bir IAM rolü seçin.
  3. İçin IAM rolü, daha önce oluşturduğunuz rolü seçin (AWSGlueServiceRole-xxx).
  4. Klinik Sonraki.

İleri'yi seçin.

  1. Frekansı şu şekilde bırakın Talep Üzerine Çalıştır.
  2. Üzerinde Çıktı sayfasını seçin Veritabanı ekle.
  3. İçin Veri tabanı ismi, girmek json_data.
  4. Klinik Bitiş.
  5. Klinik Şimdi çalıştır. 

Tarayıcınızı şuraya giderek de çalıştırabilirsiniz: Tarayıcıları sayfa, tarayıcınızı seçme ve Tarayıcıyı çalıştırın.

Dosyalarınızı CSV'den JSON'a dönüştürmek için AWS Glue kullanma

Tarayıcınız çalışmayı bitirdikten sonra şuraya gidin: tablolar AWS Glue konsolundaki sayfa. Tarayıcınızın oluşturduğu tabloya gidin. Burada verilerinizin şemasını görebilirsiniz. Amazon Personalize verilerinizle kullanmak istediğiniz alanları not edin. Bu gönderi için, user_id, item_idve Amazon Personalize için zaman damgası sütunları.

Bu gönderi için, Amazon Personalize için user_id, item_id ve timestamp sütunlarını saklamak istiyoruz.

Bu noktada, veritabanınızı kurdunuz. Amazon Personalize için CSV dosyaları gerekir, bu nedenle verileri JSON formatından yalnızca Amazon Personalize'da ihtiyaç duyduğunuz verileri içeren üç temizlenmiş CSV dosyasına dönüştürmeniz gerekir. Aşağıdaki tablo, Amazon Personalize'a ekleyebileceğiniz üç CSV dosyasının örneklerini gösterir. Şunu not etmek önemlidir etkileşimleri veri gereklidir, oysa kullanıcı ve madde veri meta verileri isteğe bağlıdır.

Veri Kümesi Türü Zorunlu Alanlar Ayrılmış Anahtar Kelimeler
Kullanıcılar

USER_ID (Dize)

1 meta veri alanı

ürün

ITEM_ID (Dize)

1 meta veri alanı

CREATION_TIMESTAMP(uzun)
Etkileşimler

USER_ID (Dize)

ITEM_ID (Dize)

TIMESTAMP (uzun)

 

EVENT_TYPE (Dize)

IMPRESSION (Dize)

EVENT_VALUE (float, null)

Modeli eğitmek için en az 1,000 benzersiz birleşik geçmiş ve olay etkileşimine sahip olduğunuzdan emin olmanız da önemlidir. Kotalar hakkında daha fazla bilgi için bkz. Amazon Kişiselleştirmedeki Kotalar.

Verileri CSV olarak kaydetmek için veriler üzerinde bir AWS Glue işi çalıştırmanız gerekir. İş, AWS Glue'da ETL çalışmasını gerçekleştiren iş mantığıdır. İş, biçimi JSON'dan CSV'ye değiştirir. Veri biçimlendirme hakkında daha fazla bilgi için bkz. Giriş Verilerinizi Biçimlendirme.

  1. Üzerinde AWS Tutkal Panosu, seçmek AWS Tutkal Stüdyosu.

AWS Tutkal Stüdyosu AWS Glue ETL işlerini oluşturmak, çalıştırmak ve izlemek için kullanımı kolay bir grafik arabirimdir.

  1. Klinik İşleri oluşturun ve yönetin.
  2. seç Grafiğe kaynak ve hedef eklendi.
  3. İçin Kaynak, seçmek S3.
  4. İçin Hedef, seçmek S3.
  5. Klinik oluşturmak.

Oluştur'u seçin.

  1. Veri kaynağı S3 paketini seçin.
  2. Üzerinde Veri kaynağı özellikleri - S3 sekmesine, daha önce oluşturduğumuz veritabanını ve tabloyu ekleyin.

Veri kaynağı özellikleri - S3 sekmesinde, daha önce oluşturduğumuz veritabanını ve tabloyu ekleyin.

  1. Üzerinde Dönüştürmek sekmesi, bırakılacak kutuları seçin user_login ve location.

Bu yazıda, kişiselleştirme algoritmamızı çalıştırmak için herhangi bir ek meta veri kullanmıyoruz.

Bu yazıda, kişiselleştirme algoritmamızı çalıştırmak için herhangi bir ek meta veri kullanmıyoruz.

  1. Veri hedefi S3 grubunu seçin.
  2. Üzerinde Veri hedefi özellikleri - S3 sekme için oluşturulan, seçmek CSV.
  3. İçin S3 Hedef yer, hedefiniz için S3 yolunu girin. 

Bu gönderi için, JSON dosyası için kullandığımız aynı paketi kullanıyoruz.

Bu gönderi için, JSON dosyası için kullandığımız aynı paketi kullanıyoruz.

  1. Üzerinde İş detayları sayfası, için İsim, işiniz için bir ad girin (bu gönderi için, json_to_csv).
  2. İçin IAM Rolü, daha önce oluşturduğunuz rolü seçin.

Ayrıca eklemelisiniz AmazonS3FullAccess daha önce politika.

  1. Kalan alanları varsayılan ayarlarında bırakın.

Kalan alanları varsayılan ayarlarında bırakın.

  1. Klinik İndirim.
  2. Klinik koşmak.

İşin çalışması birkaç dakika sürebilir.

Amazon S3 klasörünüzde, bir sonraki bölümde kullandığınız CSV dosyasını şimdi görmelisiniz.

Amazon Personalize'ı kurma

Bu noktada, verilerinizi Amazon Personalize'ın kullanabileceği bir dosya türünde biçimlendirmiş olursunuz. Amazon Personalize, gerçek zamanlı kişiselleştirilmiş ürün ve içerik önerilerini ve hedefli pazarlama promosyonlarını güçlendirerek son kullanıcı katılımını iyileştirmenize olanak tanıyan, makine öğrenimini ve Amazon.com'da 20 yıldan fazla öneri deneyimini kullanan, tam olarak yönetilen bir hizmettir. Bu bölümde, kişiselleştirilmiş deneyimler oluşturmak için verilerinizi kullanmak üzere bir Amazon Kişiselleştirme çözümünün nasıl oluşturulacağını ele alacağız.

  1. Amazon Personalize konsolunda, altında Yeni veri kümesi grupları, seçmek BAŞLAYIN.
  2. Veri kümesi grubunuzun adını girin.

Bir veri kümesi grubu, veri kümelerini, çözümleri ve olay besleme API'sini içerir.

  1. Bir veri kümesi adı girin ve verilerinize göre şema ayrıntılarını girin.

Bu veri kümesi için aşağıdaki şemayı kullanıyoruz. Şemayı veri kümenizdeki değerlere göre değiştirebilirsiniz.

{ "type": "record", "name": "Interactions", "namespace": "com.amazonaws.personalize.schema", "fields": [ { "name": "USER_ID", "type": "string" }, { "name": "ITEM_ID", "type": "string" }, { "name": "TIMESTAMP", "type": "long" } ], "version": "1.0"
}

  1. Klinik Sonraki.
  2. Amazon S3'ten veri içe aktarmak için veri kümesi içe aktarma işi adınızı girin.

IAM hizmeti rolünüzün Amazon S3 ve Amazon Personalize'a erişiminin olduğundan ve paketinizin doğru kova politikası.

  1. Verilerinizin yolunu girin (önceki bölümden Amazon S3 grubu).
  2. Üzerinde Kullanıcı Paneli veri kümesi gruplarınız için sayfa, altında Veri kümelerini yükleyin, içe aktarın user-item-interactions veriler (kullanıcı verileri ve öğe verileri isteğe bağlıdır ancak çözümü geliştirebilir).

Veri kümesi gruplarınızın Gösterge Tablosu sayfasında, Veri kümelerini yükle altında,

Bir örnek ekliyoruz item.csv içindeki dosyayı GitHub repo. Aşağıdaki ekran görüntüsü, öğe verilerinin bir örneğini göstermektedir.

Aşağıdaki ekran görüntüsü, öğe verilerinin bir örneğini göstermektedir.

  1. Altında Çözümler oluşturun, Için Çözüm eğitimi, seçmek Başlama.

Çözüm, seçtiğiniz algoritma veya tarifle sağladığınız verilerin eğitimli bir modelidir.

  1. İçin Çözüm adı, girmek aws-user-personalization.
  2. Klinik Sonraki.
  3. İncele ve seç Bitiş.
  4. Kontrol panelinde, altında Kampanyaları başlatın, Için Kampanya oluşturma, seçmek Başlama.

Kampanya, uygulamanızın çözüm sürümünüzden öneriler almasına olanak tanır.

  1. İçin kampanya ismi, isim girin.
  2. Yarattığınız çözümü seçin.
  3. Klinik Kampanya oluştur.

Artık veri gölünüzdeki verileri başarıyla kullandınız ve çeşitli öneriler almak için kullanılabilecek bir öneri modeli oluşturdunuz. Bu veri kümesiyle, kullanıcının veri kümesindeki diğer ürünlerle etkileşimlerine göre ev eşyaları için kişiselleştirilmiş öneriler alabilirsiniz.

Önerilerinizi almak için Amazon Personalize'ı kullanma

Çözümünüzü test etmek için oluşturduğunuz kampanyaya gidin. İçinde Kampanya sonuçlarını test edin bölümünde, altında Kullanıcı Kimliği, hakkında öneriler almak için bir kimlik girin. Göreceli bir puanla birlikte bir kimlik listesi görünür. Öğe kimlikleri, önerilen belirli ürünlerle ilişkilidir.

Aşağıdaki ekran görüntüsü, kullanıcı kimliği için bir aramayı gösterir 1. Öğe kimliği önerildi 59, ahşap bir resim çerçevesine karşılık gelir. Öğenin yanında listelenen puan, size her öğenin kullanıcınız için öngörülen alaka düzeyini verir.

Aşağıdaki ekran görüntüsü, kullanıcı kimliği 1 için bir aramayı göstermektedir.

Amazon Personalize puanları hakkında daha fazla bilgi edinmek için bkz. Amazon Personalize'da öneri puanlarını tanıtmak.

Öneriler oluşturmak için şu numarayı arayabilirsiniz: GetRecommendations or GetPersonalizedRanking API kullanarak AWS Komut Satırı Arayüzü (AWS CLI) veya dile özgü bir SDK. Amazon Personalize ile, kullanıcı daha gerçek zamanlı kullanım örnekleri için öğelere tıkladıkça önerileriniz değişebilir. Daha fazla bilgi için bakınız Gerçek Zamanlı Öneriler Alma.

Sonuç

AWS geniş bir yelpazede AI / ML ve analytics daha iyi iş kararları almak ve rehberlik etmek için kullanabileceğiniz hizmetler. Bu gönderide, ek veri sütunları içeren bir JSON veri kümesi kullandınız ve bu verileri AWS Glue kullanarak temizlediniz ve dönüştürdünüz. Ayrıca, müşterilerinize öneriler sunmak için Amazon Personalize'ı kullanarak özel bir model oluşturdunuz.

Amazon Personalize hakkında daha fazla bilgi edinmek için bkz. geliştirici kılavuzu. Bu çözümü deneyin ve yorumlarda herhangi bir sorunuz varsa bize bildirin.


Yazarlar Hakkında

Zoish PithwafaZoish Pithawala San Francisco merkezli Amazon Web Services'te Başlangıç ​​Çözümleri Mimarıdır. AWS'de güvenli ve ölçeklenebilir çözümler oluşturmalarına yardımcı olmak için öncelikle başlangıç ​​müşterileriyle birlikte çalışıyor.

 

 

 

Sam TranSam Tran Seattle merkezli Amazon Web Services'te Başlangıç ​​Çözümleri Mimarıdır. Müşterilerinin AWS'de iyi tasarlanmış çözümler oluşturmasına yardımcı olmaya odaklanıyor.

Kaynak: https://aws.amazon.com/blogs/machine-learning/setting-up-amazon-personalize-with-aws-glue/

spot_img

En Son İstihbarat

spot_img