Organizațiile investesc continuu timp și efort în dezvoltarea de soluții inteligente de recomandare pentru a oferi utilizatorilor conținut personalizat și relevant. Obiectivele pot fi multe: transforma experiența utilizatorului, generează interacțiuni semnificative și stimulează consumul de conținut. Unele dintre aceste soluții folosesc modele comune de învățare automată (ML) construite pe modele de interacțiune istorice, atribute demografice ale utilizatorilor, asemănări de produse și comportament de grup. Pe lângă aceste atribute, contextul (cum ar fi vremea, locația și așa mai departe) în momentul interacțiunii poate influența deciziile utilizatorilor în timpul navigării prin conținut.
În această postare, vă arătăm cum să utilizați tipul de dispozitiv actual al utilizatorului ca context pentru a îmbunătăți eficiența dvs Personalizați Amazon-recomandări bazate pe. În plus, arătăm cum să folosiți un astfel de context pentru a filtra dinamic recomandările. Deși această postare arată cum Amazon Personalize poate fi utilizat pentru un caz de utilizare video la cerere (VOD), merită remarcat faptul că Amazon Personalize poate fi utilizat în mai multe industrii.
Ce este Amazon Personalize?
Amazon Personalize le permite dezvoltatorilor să creeze aplicații bazate pe același tip de tehnologie ML folosită de Amazon.com pentru recomandări personalizate în timp real. Amazon Personalize este capabil să ofere o gamă largă de experiențe de personalizare, inclusiv recomandări specifice de produse, reclasificare personalizată a produselor și marketing direct personalizat. În plus, ca serviciu AI gestionat complet, Amazon Personalize accelerează transformările digitale ale clienților cu ML, facilitând integrarea recomandărilor personalizate în site-uri web, aplicații, sisteme de marketing prin e-mail existente și multe altele.
De ce este important contextul?
Utilizarea metadatelor contextuale ale unui utilizator, cum ar fi locația, ora din zi, tipul de dispozitiv și vremea oferă experiențe personalizate pentru utilizatorii existenți și ajută la îmbunătățirea fazei de pornire la rece pentru utilizatorii noi sau neidentificați. The faza de pornire la rece se referă la perioada în care motorul dumneavoastră de recomandări oferă recomandări nepersonalizate din cauza lipsei de informații istorice cu privire la acel utilizator. În situațiile în care există alte cerințe pentru filtrarea și promovarea articolelor (să zicem în știri și vreme), adăugarea contextului curent al unui utilizator (sezon sau ora din zi) ajută la îmbunătățirea acurateței prin includerea și excluderea recomandărilor.
Să luăm exemplul unei platforme VOD care recomandă utilizatorului emisiuni, documentare și filme. Pe baza analizei comportamentului, știm că utilizatorii VOD tind să consume conținut de durată mai scurtă, cum ar fi sitcom-urile pe dispozitive mobile, și conținut de formă mai lungă, cum ar fi filme, pe televizorul sau desktopul lor.
Prezentare generală a soluțiilor
Extindem exemplul de luare în considerare a tipului de dispozitiv al unui utilizator, arătăm cum să furnizați aceste informații ca context, astfel încât Amazon Personalize să poată învăța automat influența dispozitivului unui utilizator asupra tipurilor preferate de conținut.
Urmăm modelul de arhitectură prezentat în diagrama următoare pentru a ilustra modul în care contextul poate fi transmis automat către Amazon Personalize. Derivarea automată a contextului se realizează prin Amazon CloudFront anteturi care sunt incluse în solicitări, cum ar fi un API REST în Gateway API Amazon care cheamă an AWS Lambdas funcția de a prelua recomandări. Consultați exemplul complet de cod disponibil la adresa noastră GitHub depozit. Oferim a Formarea AWS Cloud șablon pentru a crea resursele necesare.
În secțiunile următoare, vom parcurge cum să configurați fiecare pas al modelului de arhitectură.
Alege o rețetă
Rețetele sunt algoritmi Amazon Personalize care sunt pregătiți pentru cazuri de utilizare specifice. Amazon Personalize oferă rețete bazate pe cazuri comune de utilizare pentru modelele de antrenament. Pentru cazul nostru de utilizare, construim un simplu recomandator personalizat Amazon Personalize folosind rețeta de personalizare a utilizatorului. Acesta prezice elementele cu care va interacționa un utilizator pe baza setului de date privind interacțiunile. În plus, această rețetă folosește și articole și seturi de date ale utilizatorilor pentru a influența recomandările, dacă sunt furnizate. Pentru a afla mai multe despre cum funcționează această rețetă, consultați Rețetă de personalizare utilizator.
Creați și importați un set de date
Pentru a profita de context necesită specificarea valorilor de context cu interacțiuni, astfel încât recomandatorii să poată utiliza contextul ca caracteristici atunci când antrenează modele. De asemenea, trebuie să furnizăm contextul curent al utilizatorului la momentul deducerii. Schema de interacțiuni (vezi codul următor) definește structura datelor de interacțiune istorice și în timp real dintre utilizatori și articole. The USER_ID
, ITEM_ID
, și TIMESTAMP
câmpurile sunt solicitate de Amazon Personalize pentru acest set de date. DEVICE_TYPE
este un câmp categorial personalizat pe care îl adăugăm pentru acest exemplu pentru a capta contextul curent al utilizatorului și a-l include în formarea modelului. Amazon Personalize folosește acest set de date de interacțiuni pentru a antrena modele și a crea campanii de recomandare.
În mod similar, schema articolelor (vezi codul următor) definește structura datelor de catalog de produse și video. The ITEM_ID
este cerut de Amazon Personalize pentru acest set de date. CREATION_TIMESTAMP
este un nume de coloană rezervat, dar nu este obligatoriu. GENRE
și ALLOWED_COUNTRIES
sunt câmpuri personalizate pe care le adăugăm pentru acest exemplu pentru a capta genul videoclipului și țările în care videoclipurile pot fi redate. Amazon Personalize folosește acest set de date pentru articole pentru a instrui modele și pentru a crea campanii de recomandare.
În contextul nostru, date istorice se referă la istoricul interacțiunilor utilizatorului final cu videoclipuri și articole de pe platforma VOD. Aceste date sunt de obicei colectate și stocate în baza de date a aplicației.
În scopuri demonstrative, folosim biblioteca Faker de la Python pentru a genera unele date de testare care batjocoresc setul de date de interacțiuni cu diferite articole, utilizatori și tipuri de dispozitive pe o perioadă de 3 luni. După ce schema și locația fișierului de interacțiuni de intrare sunt definite, următorii pași sunt crearea unui grup de seturi de date, includerea setului de date de interacțiuni în grupul de date și, în final, importarea datelor de antrenament în setul de date, așa cum este ilustrat în următoarele fragmente de cod:
Adunați date istorice și antrenați modelul
În acest pas, definim rețeta aleasă și creăm o soluție și o versiune a soluției care se referă la grupul de set de date definit anterior. Când creați o soluție personalizată, specificați o rețetă și configurați parametrii de antrenament. Când creați o versiune de soluție pentru soluție, Amazon Personalize antrenează modelul care susține versiunea soluției pe baza rețetei și a configurației de antrenament. Vezi următorul cod:
Creați un punct final al campaniei
După ce îți antrenezi modelul, îl implementezi într-un campanie. O campanie creează și gestionează un punct final de scalare automată pentru modelul dvs. antrenat pe care îl puteți utiliza pentru a obține recomandări personalizate folosind GetRecommendations
API. Într-o etapă ulterioară, folosim acest punct final al campaniei pentru a trece automat tipul de dispozitiv ca context ca parametru și pentru a primi recomandări personalizate. Vezi următorul cod:
Creați un filtru dinamic
Când primiți recomandări din campania creată, puteți filtra rezultatele pe baza unor criterii personalizate. Pentru exemplul nostru, creăm un filtru pentru a satisface cerința de a recomanda videoclipuri care pot fi redate numai din țara curentă a utilizatorului. Informațiile despre țară sunt transmise dinamic din antetul HTTP CloudFront.
Creați o funcție Lambda
Următorul pas în arhitectura noastră este să creăm o funcție Lambda pentru a procesa solicitările API care provin din distribuția CloudFront și să răspundem invocând punctul final al campaniei Amazon Personalize. În această funcție Lambda, definim logica pentru a analiza următoarele antete HTTP ale solicitării CloudFront și parametrii șirului de interogare pentru a determina tipul de dispozitiv al utilizatorului și, respectiv, ID-ul utilizatorului:
CloudFront-Is-Desktop-Viewer
CloudFront-Is-Mobile-Viewer
CloudFront-Is-SmartTV-Viewer
CloudFront-Is-Tablet-Viewer
CloudFront-Viewer-Country
Codul pentru a crea această funcție este implementat prin șablonul CloudFormation.
Creați un API REST
Pentru a face ca funcția Lambda și punctul final al campaniei Amazon Personalize să fie accesibile distribuției CloudFront, creăm un punct final API REST configurat ca proxy Lambda. API Gateway oferă instrumente pentru crearea și documentarea API-urilor care direcționează solicitările HTTP către funcțiile Lambda. Caracteristica de integrare a proxy-ului Lambda permite CloudFront să apeleze o singură funcție Lambda care extrage solicitări către punctul final al campaniei Amazon Personalize. Codul pentru a crea această funcție este implementat prin șablonul CloudFormation.
Creați o distribuție CloudFront
Când creăm o distribuție CloudFront, deoarece aceasta este o configurare demonstrativă, dezactivăm stocarea în cache folosind o politică personalizată de stocare în cache, asigurându-ne că cererea ajunge la origine de fiecare dată. În plus, folosim o politică de solicitare de origine care specifică anteturile HTTP necesare și parametrii șirului de interogare care sunt incluși într-o solicitare de origine. Codul pentru a crea această funcție este implementat prin șablonul CloudFormation.
Recomandări de testare
Când adresa URL a distribuției CloudFront este accesată de pe diferite dispozitive (desktop, tabletă, telefon și așa mai departe), putem vedea recomandări video personalizate care sunt cele mai relevante pentru dispozitivul lor. De asemenea, dacă este prezentat un utilizator rece, sunt prezentate recomandările adaptate dispozitivului utilizatorului. În următoarele exemple de ieșiri, numele videoclipurilor sunt folosite doar pentru reprezentarea genului și a duratei lor de rulare, pentru a le face identificabile.
În codul următor, unui utilizator cunoscut care iubește comedia bazată pe interacțiunile anterioare și care accesează de pe un dispozitiv telefonic i se prezintă sitcom-uri mai scurte:
Următorul utilizator cunoscut este prezentat cu filme de lung metraj atunci când accesează de pe un dispozitiv smart TV pe baza interacțiunilor anterioare:
Un utilizator rece (necunoscut) care accesează de pe un telefon este prezentat cu emisiuni mai scurte, dar populare:
Recommendations for user: 666 ITEM_ID GENRE ALLOWED_COUNTRIES 940 Satire US|FI|CN|ES|HK|AE 760 Satire US|FI|CN|ES|HK|AE 160 Sitcom US|FI|CN|ES|HK|AE 880 Comedy US|FI|CN|ES|HK|AE 360 Satire US|PK|NI|JM|IN|DK 840 Satire US|PK|NI|JM|IN|DK 420 Satire US|PK|NI|JM|IN|DK
Un utilizator rece (necunoscut) care accesează de pe un desktop este prezentat cu filme și documentare de știință ficțiune de top:
Următorul utilizator cunoscut care accesează de pe un telefon returnează recomandări filtrate în funcție de locație (SUA):
Concluzie
În această postare, am descris cum să utilizați tipul de dispozitiv al utilizatorului ca date contextuale pentru a face recomandările dvs. mai relevante. Folosirea metadatelor contextuale pentru a instrui modelele Amazon Personalize vă va ajuta să recomandați produse care sunt relevante atât pentru utilizatorii noi, cât și pentru cei existenți, nu doar din datele de profil, ci și de pe platforma unui dispozitiv de navigare. Nu numai că, context cum ar fi locația (țara, orașul, regiunea, codul poștal) și ora (ziua săptămânii, weekendul, ziua săptămânii, sezonul) oferă posibilitatea de a face recomandări care se potrivesc utilizatorului. Puteți rula exemplul de cod complet utilizând șablonul CloudFormation furnizat în documentul nostru GitHub depozit și clonarea caietelor în Amazon SageMaker Studio.
Despre Autori
Gilles-Kuessan Satchivi este un AWS Enterprise Solutions Architect cu experiență în rețele, infrastructură, securitate și operațiuni IT. Este pasionat de a ajuta clienții să construiască sisteme bine arhitecturate pe AWS. Înainte de a se alătura AWS, a lucrat în comerțul electronic timp de 17 ani. În afara serviciului, îi place să petreacă timp cu familia și să-și încurajeze echipa de fotbal a copiilor.
Aditya Pendyala este arhitect senior de soluții la AWS, cu sediul din New York. Are o vastă experiență în arhitectura de aplicații bazate pe cloud. În prezent, el lucrează cu întreprinderi mari pentru a le ajuta să creeze arhitecturi cloud extrem de scalabile, flexibile și rezistente și le îndrumă pe toate aspectele legate de cloud. El are o diplomă de master în informatică de la Universitatea Shippensburg și crede în citatul „Când încetați să învățați, încetați să creșteți”.
Prabhakar Chandrasekaran este Senior Technical Account Manager cu AWS Enterprise Support. Prabhakar îi place să ajute clienții să construiască soluții de ultimă oră AI/ML pe cloud. De asemenea, lucrează cu clienții întreprinderi, oferind îndrumări proactive și asistență operațională, ajutându-i să-și îmbunătățească valoarea soluțiilor atunci când folosesc AWS. Prabhakar deține șase certificări AWS și alte șase certificări profesionale. Cu peste 20 de ani de experiență profesională, Prabhakar a fost inginer de date și lider de program în domeniul serviciilor financiare înainte de a se alătura AWS.
- Distribuție de conținut bazat pe SEO și PR. Amplifică-te astăzi.
- PlatoData.Network Vertical Generative Ai. Împuterniciți-vă. Accesați Aici.
- PlatoAiStream. Web3 Intelligence. Cunoștințe amplificate. Accesați Aici.
- PlatoESG. Automobile/VE-uri, carbon, CleanTech, Energie, Mediu inconjurator, Solar, Managementul deșeurilor. Accesați Aici.
- BlockOffsets. Modernizarea proprietății de compensare a mediului. Accesați Aici.
- Sursa: https://aws.amazon.com/blogs/machine-learning/recommend-and-dynamically-filter-items-based-on-user-context-in-amazon-personalize/
- :are
- :este
- :nu
- :Unde
- $UP
- 1
- 10
- 100
- 11
- 12
- 160
- 17
- 20
- ani 20
- 22
- 220
- 23
- 24
- 420
- 7
- 9
- a
- Despre Noi
- Accelerează
- accesate
- accesibil
- accesarea
- Cont
- precizie
- realizat
- peste
- Acțiune
- adăugare
- plus
- În plus,
- Avantaj
- După
- AI
- AI / ML
- algoritmi
- TOATE
- permite
- de asemenea
- Cu toate ca
- Amazon
- Personalizați Amazon
- Amazon Web Services
- Amazon.com
- an
- analiză
- analiza
- și
- api
- API-uri
- aplicatii
- arhitectură
- SUNT
- Mulțime
- AS
- Asistență
- At
- atribute
- în mod automat
- disponibil
- AWS
- fundal
- sprijin
- bazat
- BE
- deoarece
- înainte
- consideră că
- in afara de asta
- atât
- Navigare
- construi
- construit
- dar
- by
- apel
- apeluri
- Campanie
- Campanii
- CAN
- capabil
- captura
- caz
- cazuri
- catalog
- certificări
- ales
- Oraș
- Cloud
- cod
- rece
- Coloană
- COM
- Comedie
- venire
- Comun
- calculator
- Informatică
- Configuraţie
- luand in considerare
- consuma
- consum
- conţinut
- context
- contextual
- continuu
- țări
- ţară
- ambarcaţiunilor
- crea
- a creat
- creează
- Crearea
- Criteriile de
- Curent
- În prezent
- personalizat
- client
- clienţii care
- personalizate
- ultima generație
- de date
- Baza de date
- seturi de date
- zi
- Deciziile
- definit
- defineste
- Grad
- livrarea
- Cerere
- Demo
- demografic
- implementa
- dislocate
- descris
- desktop
- Determina
- Dezvoltatorii
- în curs de dezvoltare
- dispozitiv
- Dispozitive
- diferit
- digital
- direcționa
- distribuire
- documentare
- documentar
- conduce
- două
- dinamic
- dinamic
- fiecare
- mai ușor
- E-commerce
- eficacitate
- efort
- E-mail marketing
- permite
- Punct final
- Motor
- inginer
- spori
- asigurare
- Afacere
- Companii
- Fiecare
- exemplu
- F? r?
- existent
- experienţă
- Experiențe
- extensiv
- Experiență vastă
- familie
- Caracteristică
- DESCRIERE
- Ficţiune
- camp
- Domenii
- Fișier
- filme
- filtru
- În cele din urmă
- financiar
- Servicii financiare
- flexibil
- urma
- următor
- Pentru
- din
- Complet
- complet
- funcţie
- funcții
- poartă
- s-au adunat
- genera
- obține
- obtinerea
- Goluri
- Merge
- grup
- Crește
- îndrumare
- Ghiduri
- Avea
- he
- anteturile
- ajutor
- ajutor
- ajută
- extrem de
- lui
- istoric
- istorie
- deține
- groază
- Cum
- Cum Pentru a
- HTML
- http
- HTTPS
- ID
- if
- import
- important
- îmbunătăţi
- in
- include
- inclus
- Inclusiv
- industrii
- influență
- informații
- Infrastructură
- intrare
- integra
- integrare
- Inteligent
- interacţiona
- interacţiune
- interacţiuni
- în
- investind
- IT
- articole
- aderarea
- jpg
- doar
- Cunoaște
- cunoscut
- lipsă
- mare
- Întreprinderi mari
- mai tarziu
- lider
- AFLAȚI
- învăţare
- Bibliotecă
- ca
- îi place
- locaţie
- logică
- Lung
- iubeste
- maşină
- masina de învățare
- face
- Efectuarea
- gestionate
- manager
- gestionează
- multe
- Marketing
- maestru
- semnificativ
- Metadata
- ML
- Mobil
- dispozitive mobile
- model
- Modele
- mai mult
- cele mai multe
- Filme
- multiplu
- Mister
- nume
- nume
- navigând
- necesar
- rețele
- Nou
- ştiri
- următor
- observând
- NYC
- of
- on
- afară
- deschide
- operațional
- Operațiuni
- Oportunitate
- or
- origine
- Altele
- al nostru
- afară
- exterior
- peste
- parametru
- parametrii
- trece
- Trecut
- pasionat
- trecut
- Model
- modele
- perioadă
- personalizare
- personaliza
- Personalizat
- fază
- telefon
- platformă
- Plato
- Informații despre date Platon
- PlatoData
- a jucat
- Politica
- Popular
- Post
- poştal
- alimentat
- prezice
- preferat
- pregătit
- prezentat
- în prealabil
- anterior
- Proactivă
- proces
- Produs
- Produse
- profesional
- Profil
- Program
- promova
- furniza
- prevăzut
- furnizează
- furnizarea
- împuternicit
- scopuri
- cita
- în timp real
- a primi
- reţetă
- recomanda
- Recomandare
- Recomandări
- recomandând
- record
- se referă
- cu privire la
- regiune
- reprezentare
- solicita
- cereri de
- necesar
- cerință
- Cerinţe
- Necesită
- rezervat
- elastic
- Resurse
- respectiv
- Răspunde
- REST
- REZULTATE
- revenind
- Traseul
- Alerga
- sagemaker
- acelaşi
- Spune
- scalabil
- Ştiinţă
- Romane științifico-fantastice
- Sezon
- secțiuni
- securitate
- vedea
- senior
- servi
- serviciu
- Servicii
- set
- configurarea
- Arăta
- indicat
- Emisiuni
- asemănări
- simplu
- singur
- situații
- SIX
- inteligent
- Smart TV
- So
- Fotbal
- soluţie
- soluţii
- unele
- Spaţiu
- specific
- petrece
- Pas
- paşi
- stocate
- Şir
- structura
- astfel de
- a sustine
- sisteme
- Tableta
- adaptate
- Lua
- echipă
- Tehnic
- Tehnologia
- șablon
- test
- acea
- lor
- Lor
- Acolo.
- Acestea
- lucruri
- acest
- Prin
- timp
- timestamp-ul
- la
- Unelte
- top
- Tren
- dresat
- Pregătire
- trenuri
- Transforma
- transformări
- adevărat
- tv
- tip
- Tipuri
- universitate
- necunoscut
- URL-ul
- us
- utilizare
- carcasa de utilizare
- utilizat
- Utilizator
- Experiența de utilizare
- utilizatorii
- utilizări
- folosind
- obișnuit
- valoare
- Valori
- versiune
- Video
- video la cerere
- Video
- a fost
- we
- Vreme
- web
- servicii web
- site-uri web
- săptămână
- weekend
- cand
- în timp ce
- OMS
- larg
- voi
- cu
- în
- Apartamente
- a lucrat
- de lucru
- fabrică
- valoare
- ani
- Tu
- Ta
- zephyrnet