Kecerdasan Data Generatif

Bangun aplikasi pemberi rekomendasi berita dengan Amazon Personalize | Layanan Web Amazon

Tanggal:

Dengan banyaknya artikel, video, rekaman audio, dan media lain yang dibuat setiap hari di seluruh perusahaan media berita, semua jenis pembaca—konsumen individu, pelanggan korporat, dan banyak lagi—sering kesulitan menemukan konten berita yang paling relevan bagi mereka. Menyampaikan berita dan pengalaman yang dipersonalisasi kepada pembaca dapat membantu memecahkan masalah ini, dan menciptakan pengalaman yang lebih menarik. Namun, memberikan rekomendasi yang benar-benar dipersonalisasi menghadirkan beberapa tantangan utama:

  • Menangkap beragam minat pengguna – Berita dapat mencakup banyak topik dan bahkan dalam topik tertentu, pembaca dapat memiliki minat yang beragam.
  • Mengatasi riwayat pembaca yang terbatas – Banyak pembaca berita memiliki riwayat aktivitas yang jarang. Pemberi rekomendasi harus dengan cepat mempelajari preferensi dari data yang terbatas untuk memberikan nilai.
  • Ketepatan waktu dan tren – Siklus berita harian berarti rekomendasi harus menyeimbangkan konten yang dipersonalisasi dengan penemuan berita baru dan populer.
  • Mengubah minat – Minat pembaca dapat berkembang seiring berjalannya waktu. Sistem harus mendeteksi perubahan dan menyesuaikan rekomendasi.
  • Dapat dijelaskan – Memberikan transparansi tentang mengapa cerita tertentu direkomendasikan akan membangun kepercayaan pengguna. Sistem rekomendasi berita yang ideal memahami individu dan merespons iklim berita dan khalayak yang lebih luas. Mengatasi tantangan ini adalah kunci untuk menghubungkan pembaca secara efektif dengan konten yang mereka anggap informatif dan menarik.

Dalam posting ini, kami menjelaskan caranya Amazon Personalisasi dapat mendukung aplikasi pemberi rekomendasi berita yang skalabel. Solusi ini diterapkan pada pelanggan media Fortune 500 pada Semester 1 tahun 2023 dan dapat digunakan kembali untuk pelanggan lain yang tertarik untuk membangun pemberi rekomendasi berita.

Ikhtisar solusi

Amazon Personalize sangat cocok untuk menggerakkan mesin rekomendasi berita karena kemampuannya memberikan rekomendasi yang dipersonalisasi secara real-time dan dalam skala besar. Amazon Personalize menawarkan berbagai resep rekomendasi (algoritma), seperti resep Personalisasi Pengguna dan Trending Now, yang sangat cocok untuk melatih model pemberi rekomendasi berita. Resep Personalisasi Pengguna menganalisis preferensi setiap pengguna berdasarkan keterlibatan mereka dengan konten dari waktu ke waktu. Hal ini menghasilkan umpan berita yang disesuaikan yang menampilkan topik dan sumber yang paling relevan bagi setiap pengguna. Resep Trending Now melengkapi hal ini dengan mendeteksi tren yang sedang naik daun dan berita populer secara real-time di semua pengguna. Menggabungkan rekomendasi dari kedua resep memungkinkan mesin rekomendasi menyeimbangkan personalisasi dengan penemuan cerita yang tepat waktu dan menarik.

Diagram berikut menggambarkan arsitektur aplikasi pemberi rekomendasi berita yang didukung oleh Amazon Personalize dan mendukung layanan AWS.

Solusi ini memiliki batasan sebagai berikut:

  • Memberikan rekomendasi yang dipersonalisasi untuk artikel yang baru saja diterbitkan (artikel yang diterbitkan beberapa menit yang lalu) dapat menjadi tantangan. Kami menjelaskan cara mengurangi batasan ini nanti di postingan ini.
  • Amazon Personalize memiliki sejumlah fitur interaksi dan dataset item yang dapat digunakan untuk melatih model.
  • Pada saat penulisan, Amazon Personalize tidak memberikan penjelasan rekomendasi di tingkat pengguna.

Mari kita telusuri masing-masing komponen utama solusinya.

Prasyarat

Untuk mengimplementasikan solusi ini, Anda memerlukan yang berikut ini:

  • Data klik pengguna historis dan real-time untuk interactions kumpulan data
  • Metadata artikel berita historis dan real-time untuk items kumpulan data

Serap dan siapkan datanya

Untuk melatih model di Amazon Personalize, Anda perlu menyediakan data pelatihan. Dalam solusi ini, Anda menggunakan dua jenis himpunan data pelatihan Amazon Personalize: kumpulan data interaksi dan kumpulan data item. itu interactions kumpulan data berisi data tentang interaksi stempel waktu pengguna-item, dan items dataset berisi fitur pada artikel yang direkomendasikan.

Anda dapat mengambil dua pendekatan berbeda untuk menyerap data pelatihan:

  • Konsumsi banyak - Kamu bisa memakai Lem AWS untuk mengubah dan menyerap interaksi dan data item yang berada di Layanan Penyimpanan Sederhana Amazon (Amazon S3) dimasukkan ke dalam kumpulan data Amazon Personalize. AWS Glue melakukan operasi ekstrak, transformasi, dan muat (ETL) untuk menyelaraskan data dengan skema set data Amazon Personalize. Ketika proses ETL selesai, file keluaran ditempatkan kembali ke Amazon S3, siap untuk dimasukkan ke Amazon Personalize melalui a pekerjaan impor kumpulan data.
  • Penelanan waktu nyata - Kamu bisa memakai Aliran Data Amazon Kinesis dan AWS Lambda untuk menyerap data real-time secara bertahap. Fungsi Lambda melakukan operasi transformasi data yang sama seperti tugas penyerapan batch pada tingkat catatan individual, dan menyerap data ke dalam Amazon Personalize menggunakan Letakkan Acara dan LetakkanItem Lebah.

Dalam solusi ini, Anda juga dapat menyerap atribut data item dan interaksi tertentu ke dalamnya Amazon DynamoDB. Anda dapat menggunakan atribut ini selama inferensi real-time untuk memfilter rekomendasi berdasarkan aturan bisnis. Misalnya, metadata artikel mungkin berisi nama perusahaan dan industri dalam artikel tersebut. Untuk secara proaktif merekomendasikan artikel tentang perusahaan atau industri yang dibaca pengguna, Anda dapat mencatat seberapa sering pembaca berinteraksi dengan artikel tentang perusahaan dan industri tertentu, dan menggunakan data ini dengan Filter Amazon Personalisasi untuk lebih menyesuaikan konten yang direkomendasikan. Kami membahas lebih lanjut tentang cara menggunakan atribut data item dan interaksi di DynamoDB nanti di postingan ini.

Diagram berikut menggambarkan arsitektur penyerapan data.

Latih modelnya

Sebagian besar upaya pelatihan model harus berfokus pada model Personalisasi Pengguna, karena model tersebut dapat menggunakan ketiga kumpulan data Amazon Personalize (sedangkan model Trending Now hanya menggunakan interactions Himpunan data). Kami merekomendasikan menjalankan eksperimen yang secara sistematis memvariasikan berbagai aspek proses pelatihan. Untuk pelanggan yang menerapkan solusi ini, tim menjalankan lebih dari 30 eksperimen. Ini termasuk memodifikasi interactions dan items fitur himpunan data, menyesuaikan panjang riwayat interaksi yang diberikan ke model, menyetel hyperparameter Amazon Personalize, dan mengevaluasi apakah himpunan data pengguna eksplisit meningkatkan kinerja offline (relatif terhadap peningkatan waktu pelatihan).

Setiap variasi model dievaluasi berdasarkan metrik yang dilaporkan oleh Amazon Personalize pada data pelatihan, serta metrik offline khusus pada set data pengujian ketidaksepakatan. Metrik standar yang perlu dipertimbangkan mencakup presisi rata-rata rata-rata (MAP) @ K (di mana K adalah jumlah rekomendasi yang disajikan kepada pembaca), keuntungan kumulatif terdiskontokan yang dinormalisasi, peringkat timbal balik rata-rata, dan cakupan. Untuk informasi selengkapnya tentang metrik ini, lihat Mengevaluasi versi solusi dengan metrik. Kami menyarankan untuk memprioritaskan MAP @ K di antara metrik ini, yang menangkap jumlah rata-rata artikel yang diklik pembaca dari K artikel teratas yang direkomendasikan kepada mereka, karena metrik MAP adalah proksi yang baik untuk rasio klik-tayang (nyata) artikel. K harus dipilih berdasarkan jumlah artikel yang dapat dilihat pembaca di halaman web desktop atau seluler tanpa harus menggulir, sehingga Anda dapat mengevaluasi efektivitas rekomendasi dengan upaya pembaca yang minimal. Menerapkan metrik khusus, seperti keunikan rekomendasi (yang menggambarkan betapa uniknya keluaran rekomendasi di seluruh calon pengguna), juga dapat memberikan wawasan tentang efektivitas rekomendasi.

Dengan Amazon Personalize, proses eksperimental memungkinkan Anda menentukan kumpulan fitur dataset yang optimal untuk model Personalisasi Pengguna dan Trending Now. Model Trending Now ada dalam Amazon Personalize yang sama grup dataset sebagai model Personalisasi Pengguna, sehingga menggunakan kumpulan yang sama interactions fitur kumpulan data.

Hasilkan rekomendasi waktu nyata

Saat pembaca mengunjungi halaman web perusahaan berita, panggilan API akan dilakukan ke pemberi rekomendasi berita melalui Gerbang API Amazon. Hal ini memicu fungsi Lambda yang memanggil titik akhir model Amazon Personalize untuk mendapatkan rekomendasi secara real-time. Selama inferensi, Anda dapat menggunakan filter untuk memfilter keluaran rekomendasi awal berdasarkan atribut interaksi artikel atau pembaca. Misalnya, jika “Topik Berita” (seperti olahraga, gaya hidup, atau politik) merupakan atribut artikel, Anda dapat membatasi rekomendasi pada topik berita tertentu jika itu merupakan persyaratan produk. Demikian pula, Anda dapat menggunakan filter pada peristiwa interaksi pembaca, seperti mengecualikan artikel yang sudah dibaca pembaca.

Salah satu tantangan utama dengan rekomendasi real-time adalah memasukkan artikel yang baru saja diterbitkan (juga disebut cold item) ke dalam keluaran rekomendasi. Artikel yang baru diterbitkan tidak memiliki data interaksi historis yang biasanya diandalkan oleh pemberi rekomendasi, dan sistem rekomendasi memerlukan waktu pemrosesan yang cukup untuk menilai seberapa relevan artikel yang baru diterbitkan bagi pengguna tertentu (meskipun hanya menggunakan sinyal hubungan item pengguna).

Amazon Personalize secara otomatis dapat mendeteksi dan merekomendasikan artikel baru yang dimasukkan ke dalam items kumpulan data setiap 2 jam. Namun, karena kasus penggunaan ini berfokus pada rekomendasi berita, Anda memerlukan cara untuk merekomendasikan artikel baru segera setelah diterbitkan dan siap untuk dikonsumsi pembaca.

Salah satu cara untuk mengatasi masalah ini adalah dengan merancang mekanisme untuk memasukkan artikel yang baru saja diterbitkan secara acak ke dalam keluaran rekomendasi akhir untuk setiap pembaca. Anda dapat menambahkan fitur untuk mengontrol berapa persen artikel dalam kumpulan rekomendasi akhir yang merupakan artikel yang baru saja diterbitkan, dan serupa dengan keluaran rekomendasi asli dari Amazon Personalize, Anda dapat memfilter artikel yang baru saja diterbitkan berdasarkan atribut artikel (seperti “Topik Berita” ) jika itu merupakan persyaratan produk. Anda dapat melacak interaksi pada artikel yang baru saja diterbitkan di DynamoDB saat artikel tersebut mulai masuk ke sistem, dan memprioritaskan artikel paling populer yang baru saja diterbitkan selama pascapemrosesan rekomendasi, hingga artikel yang baru saja diterbitkan terdeteksi dan diproses oleh model Amazon Personalize.

Setelah Anda mendapatkan kumpulan artikel terakhir yang direkomendasikan, keluaran ini dikirimkan ke fungsi Lambda pascapemrosesan lain yang memeriksa keluaran untuk melihat apakah keluaran tersebut selaras dengan aturan bisnis yang telah ditentukan sebelumnya. Hal ini dapat mencakup pemeriksaan apakah artikel yang direkomendasikan memenuhi spesifikasi tata letak halaman web, misalnya apakah rekomendasi disajikan di frontend browser web. Jika diperlukan, artikel dapat diurutkan ulang untuk memastikan aturan bisnis dipenuhi. Kami merekomendasikan pemeringkatan ulang dengan menerapkan fungsi yang memungkinkan artikel berperingkat lebih tinggi hanya turun peringkatnya satu tempat pada satu waktu sampai semua aturan bisnis terpenuhi, sehingga meminimalkan hilangnya relevansi bagi pembaca. Daftar akhir artikel pasca-pemrosesan dikembalikan ke layanan web yang memulai permintaan rekomendasi.

Diagram berikut mengilustrasikan arsitektur untuk langkah solusi ini.

Hasilkan rekomendasi batch

Dasbor berita yang dipersonalisasi (melalui rekomendasi real-time) mengharuskan pembaca untuk secara aktif mencari berita, namun dalam kehidupan kita yang sibuk saat ini, terkadang lebih mudah untuk mengirimkan berita utama kepada Anda. Untuk mengirimkan artikel berita yang dipersonalisasi sebagai intisari email, Anda dapat menggunakan Fungsi Langkah AWS alur kerja untuk menghasilkan rekomendasi batch. Alur kerja rekomendasi batch mengumpulkan dan memproses rekomendasi dari model Personalisasi Pengguna atau titik akhir model Trending Now kami, memberikan fleksibilitas untuk memilih kombinasi artikel yang dipersonalisasi dan yang sedang tren yang ingin disampaikan kepada pembacanya. Pengembang juga memiliki opsi untuk menggunakan Amazon Personalize inferensi kelompok fitur; namun, pada saat penulisan, membuat tugas inferensi batch Amazon Personalize tidak mendukung penyertaan item setelah model kustom Amazon Personalize dilatih, dan tidak mendukung resep Trending Now.

Selama alur kerja Step Functions inferensi batch, daftar pembaca dibagi menjadi beberapa batch, diproses secara paralel, dan dikirimkan ke lapisan pascapemrosesan dan validasi sebelum dikirim ke layanan pembuatan email. Diagram berikut menggambarkan alur kerja ini.

Skalakan sistem pemberi rekomendasi

Untuk melakukan penskalaan secara efektif, Anda juga memerlukan pemberi rekomendasi berita untuk mengakomodasi peningkatan jumlah pengguna dan peningkatan lalu lintas tanpa menimbulkan penurunan pengalaman pembaca. Titik akhir model Amazon Personalize secara asli skala otomatis untuk memenuhi peningkatan lalu lintas. Insinyur hanya perlu mengatur dan memantau variabel transaksi per detik (TPS) minimum yang disediakan untuk setiap titik akhir Amazon Personalize.

Selain Amazon Personalize, aplikasi pemberi rekomendasi berita yang disajikan di sini dibuat menggunakan layanan AWS tanpa server, memungkinkan tim teknik fokus dalam memberikan pengalaman pembaca terbaik tanpa mengkhawatirkan pemeliharaan infrastruktur.

Kesimpulan

Dalam perekonomian yang penuh perhatian ini, penyampaian konten yang relevan dan tepat waktu bagi konsumen menjadi semakin penting. Dalam postingan ini, kami membahas bagaimana Anda dapat menggunakan Amazon Personalize untuk membangun pemberi rekomendasi berita yang dapat diskalakan, dan strategi yang dapat diterapkan organisasi untuk mengatasi tantangan unik dalam memberikan rekomendasi berita.

Untuk mempelajari lebih lanjut tentang Amazon Personalize dan bagaimana Amazon Personalize dapat membantu organisasi Anda membangun sistem rekomendasi, lihat Panduan Pengembang Personalisasi Amazon.

Selamat membangun!


Tentang Penulis

Bala Krishnamoorthy adalah Ilmuwan Data Senior di AWS Professional Services, yang membantu pelanggan membangun dan menerapkan solusi bertenaga AI untuk memecahkan tantangan bisnis mereka. Dia telah bekerja dengan pelanggan di berbagai sektor, termasuk media & hiburan, layanan keuangan, perawatan kesehatan, dan teknologi. Di waktu luangnya, ia menikmati menghabiskan waktu bersama keluarga/teman, tetap aktif, mencoba restoran baru, jalan-jalan, dan memulai harinya dengan secangkir kopi panas.

Resi Jala adalah Arsitek Data NoSQL dengan Layanan Profesional AWS. Dia berfokus pada perancangan dan pembangunan aplikasi yang sangat skalabel menggunakan database NoSQL seperti Amazon DynamoDB. Bersemangat dalam memecahkan masalah pelanggan, dia memberikan solusi yang disesuaikan untuk mendorong kesuksesan dalam lanskap digital.

tempat_img

Intelijen Terbaru

tempat_img