Tarihi kaydet! Google I / O 18-20 Mayıs'ta geri dönüyor Şimdi kaydolun
Bu sayfa, Cloud Translation API ile çevrilmiştir.
Switch to English

Öneri

Kişiselleştirilmiş öneriler, mobil cihazlarda medya içeriği alma, alışveriş ürünü önerisi ve bir sonraki uygulama önerisi gibi çeşitli kullanım durumları için yaygın olarak kullanılmaktadır. Uygulamanızda kullanıcı gizliliğine saygı gösterirken kişiselleştirilmiş öneriler sunmakla ilgileniyorsanız, aşağıdaki örneği ve araç setini incelemenizi öneririz.

Başlamak

Android'de kullanıcılara alakalı öğelerin nasıl önerileceğini gösteren bir TensorFlow Lite örnek uygulaması sunuyoruz.

Android örneği

Android dışında bir platform kullanıyorsanız veya TensorFlow Lite API'lerine aşina iseniz, başlangıç ​​öneri modelimizi indirebilirsiniz.

Başlangıç ​​modelini indirin

Ayrıca kendi modelinizi eğitmek için Github'da eğitim senaryosu sağlıyoruz.

Eğitim kodu

Model mimarisini anlayın

Sıralı kullanıcı geçmişini kodlamak için bağlam kodlayıcı ve tahmin edilen öneri adayını kodlamak için etiket kodlayıcı ile çift kodlayıcı model mimarisinden yararlanıyoruz. Bağlam ve etiket kodlamaları arasındaki benzerlik, tahmin edilen adayın kullanıcının ihtiyaçlarını karşılama olasılığını temsil etmek için kullanılır.

Bu kod tabanıyla üç farklı sıralı kullanıcı geçmişi kodlama tekniği sağlanır:

  • Kelime torbası kodlayıcı (BOW): bağlam sırasını dikkate almadan kullanıcı etkinliklerinin düğünlerinin ortalamasını alma.
  • Evrişimli sinir ağı kodlayıcı (CNN): bağlam kodlaması oluşturmak için birden çok evrişimli sinir ağı katmanının uygulanması.
  • Tekrarlayan sinir ağı kodlayıcı (RNN): bağlam dizisini kodlamak için tekrarlayan sinir ağı uygulama.

Örnekler

Giriş Kimlikleri:

  • Matris (ID: 260)
  • Er Ryan'ı Kurtarmak (ID: 2028)
  • (ve dahası)

Çıkış Kimlikleri:

  • Star Wars: Bölüm VI - Jedi'ın Dönüşü (ID: 1210)
  • (ve dahası)

Performans testleri

Performans karşılaştırma numaraları, burada açıklanan araçla oluşturulur.

Model adı Model Boyutu cihaz İşlemci
öneri 0.52 Mb Piksel 3 0,09 ms *
Piksel 4 0,05 ms *

* 4 iplik kullanıldı.

Egzersiz verilerinizi kullanın

Eğitimli modele ek olarak, modelleri kendi verilerinizle eğitmek için GitHub'da açık kaynaklı bir araç seti sağlıyoruz. Araç setini nasıl kullanacağınızı öğrenmek ve eğitimli modelleri kendi mobil uygulamalarınızda dağıtmak için bu öğreticiyi takip edebilirsiniz.

Kendi veri kümelerinizi kullanarak bir öneri modeli eğitmek için burada kullanılanla aynı tekniği uygulamak için lütfen bu öğreticiyi izleyin.

Verilerinizle model özelleştirmeye yönelik ipuçları

Bu demo uygulamasına entegre edilmiş önceden eğitilmiş model, MovieLens veri kümesiyle eğitilmiştir; kelime haznesi boyutu, gömme boyutları ve giriş bağlam uzunluğu gibi kendi verilerinize göre model yapılandırmasını değiştirmek isteyebilirsiniz. İşte birkaç ipucu:

  • Giriş bağlam uzunluğu: En iyi giriş bağlam uzunluğu, veri kümelerine göre değişir. Girdi bağlam uzunluğunun, etiket olaylarının uzun vadeli çıkarlarla kısa vadeli bağlamla ne kadar ilişkili olduğuna bağlı olarak seçilmesini öneririz.

  • Kodlayıcı türü seçimi: Giriş bağlam uzunluğuna göre kodlayıcı türünü seçmenizi öneririz. Kelime torbası kodlayıcı, kısa giriş bağlam uzunluğu (örneğin <10) için iyi çalışır, CNN ve RNN kodlayıcılar, uzun giriş bağlam uzunluğu için daha fazla özetleme yeteneği sağlar.