Organisasjoner investerer kontinuerlig tid og krefter i å utvikle intelligente anbefalingsløsninger for å levere tilpasset og relevant innhold til brukerne. Målene kan være mange: transformere brukeropplevelsen, generere meningsfull interaksjon og drive innholdsforbruk. Noen av disse løsningene bruker vanlige maskinlæringsmodeller (ML) bygget på historiske interaksjonsmønstre, brukerdemografiske attributter, produktlikheter og gruppeatferd. I tillegg til disse attributtene kan kontekst (som vær, plassering og så videre) på tidspunktet for interaksjon påvirke brukernes beslutninger mens de navigerer i innhold.
I dette innlegget viser vi hvordan du bruker brukerens gjeldende enhetstype som kontekst for å forbedre effektiviteten til din Amazon Tilpasse-baserte anbefalinger. I tillegg viser vi hvordan du bruker en slik kontekst for å dynamisk filtrere anbefalinger. Selv om dette innlegget viser hvordan Amazon Personalize kan brukes til en video on demand (VOD), er det verdt å merke seg at Amazon Personalize kan brukes på tvers av flere bransjer.
Hva er Amazon Personalize?
Amazon Personalize gjør det mulig for utviklere å bygge applikasjoner drevet av samme type ML-teknologi som brukes av Amazon.com for sanntidstilpassede anbefalinger. Amazon Personalize er i stand til å levere et bredt spekter av personaliseringsopplevelser, inkludert spesifikke produktanbefalinger, personlig omrangering av produkter og tilpasset direkte markedsføring. I tillegg, som en fullt administrert AI-tjeneste, akselererer Amazon Personalize kundenes digitale transformasjoner med ML, noe som gjør det enklere å integrere personlige anbefalinger i eksisterende nettsteder, applikasjoner, e-postmarkedsføringssystemer og mer.
Hvorfor er kontekst viktig?
Bruk av en brukers kontekstuelle metadata som plassering, tid på dagen, enhetstype og vær gir personlige opplevelser for eksisterende brukere og bidrar til å forbedre kaldstartfasen for nye eller uidentifiserte brukere. De kaldstartfase refererer til perioden da anbefalingsmotoren din gir ikke-personlige anbefalinger på grunn av mangel på historisk informasjon om den brukeren. I situasjoner der det er andre krav for å filtrere og promotere elementer (f.eks. i nyheter og vær), vil det å legge til en brukers gjeldende kontekst (sesong eller tid på dagen) bidra til å forbedre nøyaktigheten ved å inkludere og ekskludere anbefalinger.
La oss ta eksemplet med en VOD-plattform som anbefaler programmer, dokumentarer og filmer til brukeren. Basert på atferdsanalyse vet vi at VOD-brukere har en tendens til å konsumere kortere innhold som sitcoms på mobile enheter og lengre format som filmer på TV-en eller skrivebordet.
Løsningsoversikt
For å utvide eksemplet med å vurdere en brukers enhetstype, viser vi hvordan du kan gi denne informasjonen som kontekst slik at Amazon Personalize automatisk kan lære hvilken innflytelse en brukers enhet har på deres foretrukne innholdstyper.
Vi følger arkitekturmønsteret vist i følgende diagram for å illustrere hvordan kontekst automatisk kan overføres til Amazon Personalize. Automatisk utledning av kontekst oppnås gjennom Amazon CloudFront overskrifter som er inkludert i forespørsler som en REST API i Amazon API-gateway som kaller en AWS Lambda funksjon for å hente anbefalinger. Se det fullstendige kodeeksemplet som er tilgjengelig på vår GitHub repository. Vi tilbyr en AWS skyformasjon mal for å lage de nødvendige ressursene.
I de følgende avsnittene går vi gjennom hvordan du setter opp hvert trinn i eksempelarkitekturmønsteret.
Velg en oppskrift
Oppskrifter er Amazon Personalize-algoritmer som er forberedt for spesifikke brukstilfeller. Amazon Personalize gir oppskrifter basert på vanlige brukstilfeller for treningsmodeller. For vår brukssituasjon bygger vi en enkel tilpasset Amazon Personalize-anbefaling ved å bruke oppskriften for brukertilpasning. Den forutsier elementene som en bruker vil samhandle med basert på interaksjonsdatasettet. I tillegg bruker denne oppskriften også elementer og brukerdatasett for å påvirke anbefalinger, hvis de er gitt. For å lære mer om hvordan denne oppskriften fungerer, se Oppskrift for brukertilpasning.
Opprett og importer et datasett
Å utnytte kontekst krever spesifisering av kontekstverdier med interaksjoner, slik at anbefalere kan bruke kontekst som funksjoner når de trener modeller. Vi må også oppgi brukerens nåværende kontekst på slutningstidspunktet. Interaksjonsskjemaet (se følgende kode) definerer strukturen til historiske og sanntids interaksjonsdata fra brukere til varer. De USER_ID
, ITEM_ID
og TIMESTAMP
felt kreves av Amazon Personalize for dette datasettet. DEVICE_TYPE
er et tilpasset kategorisk felt som vi legger til for dette eksemplet for å fange brukerens nåværende kontekst og inkludere den i modellopplæring. Amazon Personalize bruker dette interaksjonsdatasettet til å trene modeller og lage anbefalingskampanjer.
På samme måte definerer vareskjemaet (se følgende kode) strukturen til produkt- og videokatalogdata. De ITEM_ID
kreves av Amazon Personalize for dette datasettet. CREATION_TIMESTAMP
er et reservert kolonnenavn, men det er ikke nødvendig. GENRE
og ALLOWED_COUNTRIES
er egendefinerte felt som vi legger til for dette eksemplet for å fange opp videoens sjanger og land der videoene er tillatt å spilles av. Amazon Personalize bruker dette varedatasettet til å trene modeller og lage anbefalingskampanjer.
I vår sammenheng, historisk data refererer til sluttbrukerinteraksjonshistorikk med videoer og elementer på VOD-plattformen. Disse dataene samles vanligvis og lagres i applikasjonens database.
For demoformål bruker vi Pythons Faker-bibliotek til å generere noen testdata som spotter interaksjonsdatasettet med forskjellige elementer, brukere og enhetstyper over en 3-måneders periode. Etter at skjemaet og inndatainteraksjonsfilplasseringen er definert, er de neste trinnene å opprette en datasettgruppe, inkludere interaksjonsdatasettet i datasettet og til slutt importere treningsdataene til datasettet, som illustrert i følgende kodebiter:
Samle historiske data og trene modellen
I dette trinnet definerer vi den valgte oppskriften og lager en løsning og løsningsversjon som refererer til den tidligere definerte datasettgruppen. Når du oppretter en tilpasset løsning, spesifiserer du en oppskrift og konfigurerer treningsparametere. Når du oppretter en løsningsversjon for løsningen, trener Amazon Personalize modellen som støtter løsningsversjonen basert på oppskriften og treningskonfigurasjonen. Se følgende kode:
Opprett et kampanjeendepunkt
Etter at du har trent modellen din, distribuerer du den til en kampanje. En kampanje oppretter og administrerer et endepunkt for automatisk skalering for den trente modellen din som du kan bruke til å få personlig tilpassede anbefalinger ved å bruke GetRecommendations
API. I et senere trinn bruker vi dette kampanjeendepunktet for automatisk å sende enhetstypen som en kontekst som en parameter og motta personlig tilpassede anbefalinger. Se følgende kode:
Lag et dynamisk filter
Når du får anbefalinger fra den opprettede kampanjen, kan du filtrere resultater basert på egendefinerte kriterier. For eksempelet vårt lager vi et filter for å tilfredsstille kravet om å anbefale videoer som kun er tillatt å spille fra brukerens gjeldende land. Landinformasjonen sendes dynamisk fra CloudFront HTTP-hodet.
Opprett en Lambda-funksjon
Det neste trinnet i arkitekturen vår er å lage en Lambda-funksjon for å behandle API-forespørsler som kommer fra CloudFront-distribusjonen og svare ved å påkalle Amazon Personalize-kampanjens endepunkt. I denne Lambda-funksjonen definerer vi logikk for å analysere følgende CloudFront-forespørsels HTTP-hoder og spørringsstrengparametere for å bestemme henholdsvis brukerens enhetstype og bruker-ID:
CloudFront-Is-Desktop-Viewer
CloudFront-Is-Mobile-Viewer
CloudFront-Is-SmartTV-Viewer
CloudFront-Is-Tablet-Viewer
CloudFront-Viewer-Country
Koden for å lage denne funksjonen distribueres gjennom CloudFormation-malen.
Opprett et REST API
For å gjøre Lambda-funksjonen og Amazon Personalize-kampanjens endepunkt tilgjengelig for CloudFront-distribusjonen, oppretter vi et REST API-endepunkt satt opp som en Lambda-proxy. API Gateway gir verktøy for å lage og dokumentere APIer som ruter HTTP-forespørsler til Lambda-funksjoner. Lambda proxy-integrasjonsfunksjonen lar CloudFront kalle en enkelt Lambda-funksjon som abstraherer forespørsler til Amazon Personalize-kampanjens endepunkt. Koden for å lage denne funksjonen distribueres gjennom CloudFormation-malen.
Opprett en CloudFront-distribusjon
Når vi oppretter en CloudFront-distribusjon, fordi dette er et demooppsett, deaktiverer vi hurtigbufring ved å bruke en tilpasset hurtigbufferpolicy, og sikrer at forespørselen går til opprinnelsen hver gang. I tillegg bruker vi en opprinnelsesforespørselspolicy som spesifiserer de nødvendige HTTP-hodene og spørringsstrengparameterne som er inkludert i en opprinnelsesforespørsel. Koden for å lage denne funksjonen distribueres gjennom CloudFormation-malen.
Testanbefalinger
Når nettadressen til CloudFront-distribusjonen er tilgjengelig fra forskjellige enheter (stasjonær datamaskin, nettbrett, telefon og så videre), kan vi se personlig tilpassede videoanbefalinger som er mest relevante for enheten deres. Også, hvis en kald bruker presenteres, presenteres anbefalingene skreddersydd for brukerens enhet. I de følgende eksempelutgangene brukes navn på videoer kun for å representere sjangeren og kjøretiden for å gjøre det relaterbart.
I den følgende koden blir en kjent bruker som elsker komedie basert på tidligere interaksjoner og har tilgang fra en telefonenhet presentert med kortere sitcoms:
Følgende kjente bruker blir presentert med spillefilmer ved tilgang fra en smart TV-enhet basert på tidligere interaksjoner:
En kald (ukjent) bruker som får tilgang fra en telefon, blir presentert med kortere, men populære programmer:
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
En kald (ukjent) bruker som får tilgang fra et skrivebord, blir presentert med topp science fiction-filmer og dokumentarer:
Følgende kjente bruker som har tilgang fra en telefon, returnerer filtrerte anbefalinger basert på plassering (USA):
konklusjonen
I dette innlegget beskrev vi hvordan du bruker brukerenhetstype som kontekstuelle data for å gjøre anbefalingene dine mer relevante. Å bruke kontekstuelle metadata for å trene Amazon Personalize-modeller vil hjelpe deg med å anbefale produkter som er relevante for både nye og eksisterende brukere, ikke bare fra profildataene, men også fra en nettlesingsplattform. Ikke bare det, kontekst som sted (land, by, region, postnummer) og tid (ukedag, helg, ukedag, sesong) åpner for muligheten til å komme med anbefalinger relatert til brukeren. Du kan kjøre hele kodeeksemplet ved å bruke CloudFormation-malen som er gitt i vår GitHub repository og klone notatbøkene inn i Amazon SageMaker Studio.
Om forfatterne
Gilles-Kuessan Satchivi er en AWS Enterprise Solutions Architect med bakgrunn innen nettverk, infrastruktur, sikkerhet og IT-drift. Han er lidenskapelig opptatt av å hjelpe kunder med å bygge Well-Architected-systemer på AWS. Før han begynte i AWS, jobbet han i e-handel i 17 år. Utenom jobben liker han å tilbringe tid med familien og heie på barnefotballlaget.
Aditya Pendyala er en senior løsningsarkitekt ved AWS basert i NYC. Han har lang erfaring med å bygge skybaserte applikasjoner. Han jobber for tiden med store bedrifter for å hjelpe dem med å lage svært skalerbare, fleksible og motstandsdyktige skyarkitekturer, og veileder dem i alt som er sky. Han har en Master of Science-grad i informatikk fra Shippensburg University og tror på sitatet "Når du slutter å lære, slutter du å vokse."
Prabhakar Chandrasekaran er Senior Technical Account Manager med AWS Enterprise Support. Prabhakar liker å hjelpe kunder med å bygge banebrytende AI/ML-løsninger på skyen. Han jobber også med bedriftskunder som gir proaktiv veiledning og operasjonell assistanse, og hjelper dem med å forbedre verdien av løsningene deres når de bruker AWS. Prabhakar har seks AWS og seks andre profesjonelle sertifiseringer. Med over 20 års yrkeserfaring, var Prabhakar en dataingeniør og en programleder innen finansielle tjenester før han begynte i AWS.
- SEO-drevet innhold og PR-distribusjon. Bli forsterket i dag.
- PlatoData.Network Vertical Generative Ai. Styrk deg selv. Tilgang her.
- PlatoAiStream. Web3 Intelligence. Kunnskap forsterket. Tilgang her.
- PlatoESG. Bil / elbiler, Karbon, CleanTech, Energi, Miljø, Solenergi, Avfallshåndtering. Tilgang her.
- BlockOffsets. Modernisering av eierskap for miljøkompensasjon. Tilgang her.
- kilde: https://aws.amazon.com/blogs/machine-learning/recommend-and-dynamically-filter-items-based-on-user-context-in-amazon-personalize/
- : har
- :er
- :ikke
- :hvor
- $OPP
- 1
- 10
- 100
- 11
- 12
- 160
- 17
- 20
- 20 år
- 22
- 220
- 23
- 24
- 420
- 7
- 9
- a
- Om oss
- akselererer
- aksesseres
- tilgjengelig
- Tilgang
- Logg inn
- nøyaktighet
- oppnådd
- tvers
- Handling
- legge
- tillegg
- I tillegg
- Fordel
- Etter
- AI
- AI / ML
- algoritmer
- Alle
- tillater
- også
- Selv
- Amazon
- Amazon Tilpasse
- Amazon Web Services
- Amazon.com
- an
- analyse
- analysere
- og
- api
- APIer
- søknader
- arkitektur
- ER
- Array
- AS
- Assistanse
- At
- attributter
- automatisk
- tilgjengelig
- AWS
- bakgrunn
- backing
- basert
- BE
- fordi
- før du
- mener
- foruten
- både
- Surfer
- bygge
- bygget
- men
- by
- ring
- Samtaler
- Kampanje
- Kampanjer
- CAN
- stand
- fangst
- saken
- saker
- katalog
- sertifiseringer
- valgt ut
- City
- Cloud
- kode
- forkjølelse
- Kolonne
- COM
- Komedie
- kommer
- Felles
- datamaskin
- informatikk
- Konfigurasjon
- vurderer
- forbruke
- forbruk
- innhold
- kontekst
- kontekstuelle
- kontinuerlig
- land
- land
- lage
- skape
- opprettet
- skaper
- Opprette
- kriterier
- Gjeldende
- I dag
- skikk
- kunde
- Kunder
- tilpasset
- skjærekant
- dato
- Database
- datasett
- dag
- avgjørelser
- definert
- definerer
- Grad
- levere
- Etterspørsel
- demo
- demografiske
- utplassere
- utplassert
- beskrevet
- desktop
- Bestem
- utviklere
- utvikle
- enhet
- Enheter
- forskjellig
- digitalt
- direkte
- distribusjon
- dokumentarer
- dokumentar
- stasjonen
- to
- dynamisk
- dynamisk
- hver enkelt
- enklere
- e-handel
- effektivitet
- innsats
- emalje
- E-post markedsføring
- muliggjør
- Endpoint
- Motor
- ingeniør
- forbedre
- sikrer
- Enterprise
- bedrifter
- Hver
- eksempel
- Eksklusiv
- eksisterende
- erfaring
- Erfaringer
- omfattende
- Omfattende erfaring
- familie
- Trekk
- Egenskaper
- Fiction
- felt
- Felt
- filet
- filmer
- filtrere
- Endelig
- finansiell
- finansielle tjenester
- fleksibel
- følge
- etter
- Til
- fra
- fullt
- fullt
- funksjon
- funksjoner
- gateway
- samlet
- generere
- få
- få
- Mål
- Går
- Gruppe
- Grow
- veiledning
- Guider
- Ha
- he
- overskrifter
- hjelpe
- hjelpe
- hjelper
- svært
- hans
- historisk
- historie
- holder
- horror
- Hvordan
- Hvordan
- HTML
- http
- HTTPS
- ID
- if
- importere
- viktig
- forbedre
- in
- inkludere
- inkludert
- Inkludert
- bransjer
- påvirke
- informasjon
- Infrastruktur
- inngang
- integrere
- integrering
- Intelligent
- samhandle
- interaksjon
- interaksjoner
- inn
- investere
- IT
- varer
- sammenføyning
- jpg
- bare
- Vet
- kjent
- maling
- stor
- Store bedrifter
- seinere
- leder
- LÆRE
- læring
- Bibliotek
- i likhet med
- liker
- plassering
- logikk
- Lang
- elsker
- maskin
- maskinlæring
- gjøre
- Making
- fikk til
- leder
- forvalter
- mange
- Marketing
- Master
- meningsfylt
- metadata
- ML
- Mobil
- håndholdte enheter
- modell
- modeller
- mer
- mest
- Filmer
- flere
- Mystery
- navn
- navn
- navigere
- nødvendig
- nettverk
- Ny
- nyheter
- neste
- merke seg
- NYC
- of
- on
- bare
- åpner
- operasjonell
- Drift
- Opportunity
- or
- opprinnelse
- Annen
- vår
- ut
- utenfor
- enn
- parameter
- parametere
- passere
- bestått
- lidenskapelig
- Past
- Mønster
- mønstre
- perioden
- Tilpassing
- tilpasse
- Personlig
- fase
- telefon
- plattform
- plato
- Platon Data Intelligence
- PlatonData
- spilt
- politikk
- Populær
- Post
- postal
- powered
- spår
- trekkes
- forberedt
- presentert
- tidligere
- Før
- Proaktiv
- prosess
- Produkt
- Produkter
- profesjonell
- Profil
- program
- fremme
- gi
- forutsatt
- gir
- gi
- proxy
- formål
- sitere
- sanntids
- motta
- .
- anbefaler
- Anbefaling
- anbefalinger
- anbefale
- rekord
- refererer
- om
- region
- relevant
- representasjon
- anmode
- forespørsler
- påkrevd
- behov
- Krav
- Krever
- reservert
- spenstig
- Ressurser
- henholdsvis
- Svare
- REST
- Resultater
- retur
- Rute
- Kjør
- sagemaker
- samme
- sier
- skalerbar
- Vitenskap
- Science Fiction
- Årstid
- seksjoner
- sikkerhet
- se
- senior
- betjene
- tjeneste
- Tjenester
- sett
- oppsett
- Vis
- vist
- Viser
- likheter
- Enkelt
- enkelt
- situasjoner
- SIX
- Smart
- Smart TV
- So
- Fotball
- løsning
- Solutions
- noen
- Rom
- spesifikk
- bruke
- Trinn
- Steps
- lagret
- String
- struktur
- slik
- støtte
- Systemer
- Tablett
- skreddersydd
- Ta
- lag
- Teknisk
- Teknologi
- mal
- test
- Det
- De
- deres
- Dem
- Der.
- Disse
- ting
- denne
- Gjennom
- tid
- tidsstempel
- til
- verktøy
- topp
- Tog
- trent
- Kurs
- Togene
- Transform
- transformasjoner
- sant
- tv
- typen
- typer
- universitet
- ukjent
- URL
- us
- bruke
- bruk sak
- brukt
- Bruker
- Brukererfaring
- Brukere
- bruker
- ved hjelp av
- vanligvis
- verdi
- Verdier
- versjon
- video
- video på forespørsel
- videoer
- var
- we
- Vær
- web
- webtjenester
- nettsteder
- uke
- helg
- når
- mens
- HVEM
- bred
- vil
- med
- innenfor
- Arbeid
- arbeidet
- arbeid
- virker
- verdt
- år
- Du
- Din
- zephyrnet