Organisationer investerar ständigt tid och ansträngning på att utveckla intelligenta rekommendationslösningar för att leverera anpassat och relevant innehåll till sina användare. Målen kan vara många: förvandla användarupplevelsen, generera meningsfull interaktion och driva innehållskonsumtion. Vissa av dessa lösningar använder vanliga maskininlärningsmodeller (ML) som bygger på historiska interaktionsmönster, användardemografiska attribut, produktlikheter och gruppbeteende. Förutom dessa attribut kan sammanhang (som väder, plats och så vidare) vid tidpunkten för interaktion påverka användarnas beslut när de navigerar i innehåll.
I det här inlägget visar vi hur du använder användarens aktuella enhetstyp som sammanhang för att förbättra effektiviteten hos din Amazon Anpassa-baserade rekommendationer. Dessutom visar vi hur man använder ett sådant sammanhang för att dynamiskt filtrera rekommendationer. Även om det här inlägget visar hur Amazon Personalize kan användas för ett video on demand (VOD) användningsfall, är det värt att notera att Amazon Personalize kan användas i flera branscher.
Vad är Amazon Personalize?
Amazon Personalize gör det möjligt för utvecklare att bygga applikationer som drivs av samma typ av ML-teknik som används av Amazon.com för personliga rekommendationer i realtid. Amazon Personalize kan leverera ett brett utbud av personaliseringsupplevelser, inklusive specifika produktrekommendationer, personlig produktomplacering och anpassad direktmarknadsföring. Dessutom, som en fullt hanterad AI-tjänst, accelererar Amazon Personalize kunders digitala transformationer med ML, vilket gör det lättare att integrera personliga rekommendationer i befintliga webbplatser, applikationer, e-postmarknadsföringssystem och mer.
Varför är sammanhanget viktigt?
Att använda en användares kontextuella metadata som plats, tid på dagen, enhetstyp och väder ger personliga upplevelser för befintliga användare och hjälper till att förbättra kallstartsfasen för nya eller oidentifierade användare. De kallstartsfas hänvisar till den period då din rekommendationsmotor ger icke-personliga rekommendationer på grund av bristen på historisk information om den användaren. I situationer där det finns andra krav på att filtrera och marknadsföra artiklar (t.ex. i nyheter och väder), hjälper det att lägga till en användares aktuella sammanhang (säsong eller tid på dygnet) till att förbättra noggrannheten genom att inkludera och exkludera rekommendationer.
Låt oss ta exemplet med en VOD-plattform som rekommenderar program, dokumentärer och filmer till användaren. Baserat på beteendeanalys vet vi att VOD-användare tenderar att konsumera kortare innehåll som sitcoms på mobila enheter och längre format som filmer på sin TV eller dator.
Lösningsöversikt
För att utöka exemplet med att överväga en användares enhetstyp, visar vi hur man tillhandahåller denna information som sammanhang så att Amazon Personalize automatiskt kan lära sig inflytandet av en användares enhet på deras föredragna typer av innehåll.
Vi följer arkitekturmönstret som visas i följande diagram för att illustrera hur sammanhang automatiskt kan överföras till Amazon Personalize. Automatiskt härledande sammanhang uppnås genom Amazon CloudFront rubriker som ingår i förfrågningar som ett REST API i Amazon API Gateway som kallar en AWS Lambda funktion för att hämta rekommendationer. Se hela kodexemplet som finns på vår GitHub repository. Vi tillhandahåller en AWS molnformation mall för att skapa nödvändiga resurser.
I följande avsnitt går vi igenom hur man ställer in varje steg i exempelarkitekturmönstret.
Välj ett recept
Recept är Amazon Personalize-algoritmer som är förberedda för specifika användningsfall. Amazon Personalize tillhandahåller recept baserade på vanliga användningsfall för träningsmodeller. För vårt användningsfall bygger vi en enkel anpassad rekommendator för Amazon Personalize med hjälp av receptet för användaranpassning. Den förutsäger objekten som en användare kommer att interagera med baserat på interaktionsdataset. Dessutom använder det här receptet också objekt och användardatauppsättningar för att påverka rekommendationer, om de tillhandahålls. För att lära dig mer om hur detta recept fungerar, se Recept för användaranpassning.
Skapa och importera en datauppsättning
Att dra nytta av sammanhang kräver att man specificerar kontextvärden med interaktioner så att rekommendatorer kan använda sammanhang som funktioner när man tränar modeller. Vi måste också tillhandahålla användarens aktuella sammanhang vid slutledningstidpunkten. Interaktionsschemat (se följande kod) definierar strukturen för historiska data och interaktionsdata för användare-till-objekt i realtid. De USER_ID
, ITEM_ID
och TIMESTAMP
fält krävs av Amazon Personalize för denna datauppsättning. DEVICE_TYPE
är ett anpassat kategorifält som vi lägger till för det här exemplet för att fånga användarens aktuella sammanhang och inkludera det i modellträning. Amazon Personalize använder denna interaktionsdatauppsättning för att träna modeller och skapa rekommendationskampanjer.
På liknande sätt definierar artikelschemat (se följande kod) strukturen för produkt- och videokatalogdata. De ITEM_ID
krävs av Amazon Personalize för denna datauppsättning. CREATION_TIMESTAMP
är ett reserverat kolumnnamn men det krävs inte. GENRE
och ALLOWED_COUNTRIES
är anpassade fält som vi lägger till för det här exemplet för att fånga videons genre och länder där videorna får spelas. Amazon Personalize använder denna artikeldatauppsättning för att träna modeller och skapa rekommendationskampanjer.
I vårt sammanhang, historisk data hänvisar till slutanvändarens interaktionshistorik med videor och objekt på VOD-plattformen. Dessa data samlas vanligtvis in och lagras i applikationens databas.
För demoändamål använder vi Pythons Faker-bibliotek för att generera testdata som hånar interaktionsdataset med olika objekt, användare och enhetstyper under en 3-månadersperiod. Efter att schemat och platsen för indatainteraktionsfilen har definierats är nästa steg att skapa en datauppsättningsgrupp, inkludera interaktionsdatauppsättningen i datauppsättningsgruppen och slutligen importera träningsdata till datauppsättningen, som illustreras i följande kodavsnitt:
Samla historisk data och träna modellen
I det här steget definierar vi det valda receptet och skapar en lösning och lösningsversion som refererar till den tidigare definierade datasetgruppen. När du skapar en anpassad lösning anger du ett recept och konfigurerar träningsparametrar. När du skapar en lösningsversion för lösningen tränar Amazon Personalize modellen som stödjer lösningsversionen baserat på receptet och träningskonfigurationen. Se följande kod:
Skapa en kampanjslutpunkt
När du har tränat din modell distribuerar du den till en kampanjen. En kampanj skapar och hanterar en slutpunkt för automatisk skalning för din utbildade modell som du kan använda för att få personliga rekommendationer med hjälp av GetRecommendations
API. I ett senare steg använder vi denna kampanjslutpunkt för att automatiskt skicka enhetstypen som ett sammanhang som en parameter och få personliga rekommendationer. Se följande kod:
Skapa ett dynamiskt filter
När du får rekommendationer från den skapade kampanjen kan du filtrera resultat baserat på anpassade kriterier. För vårt exempel skapar vi ett filter för att uppfylla kravet att rekommendera videor som endast är tillåtna att spelas från användarens nuvarande land. Landsinformationen skickas dynamiskt från CloudFront HTTP-huvudet.
Skapa en Lambda-funktion
Nästa steg i vår arkitektur är att skapa en Lambda-funktion för att behandla API-förfrågningar som kommer från CloudFront-distributionen och svara genom att anropa Amazon Personalize-kampanjens slutpunkt. I denna Lambda-funktion definierar vi logik för att analysera följande CloudFront-begärans HTTP-rubriker och frågesträngsparametrar för att bestämma användarens enhetstyp respektive användar-ID:
CloudFront-Is-Desktop-Viewer
CloudFront-Is-Mobile-Viewer
CloudFront-Is-SmartTV-Viewer
CloudFront-Is-Tablet-Viewer
CloudFront-Viewer-Country
Koden för att skapa denna funktion distribueras genom CloudFormation-mallen.
Skapa ett REST API
För att göra Lambda-funktionen och Amazon Personalize-kampanjslutpunkten tillgänglig för CloudFront-distributionen skapar vi en REST API-slutpunkt som är inställd som en Lambda-proxy. API Gateway tillhandahåller verktyg för att skapa och dokumentera API:er som dirigerar HTTP-förfrågningar till Lambda-funktioner. Lambda-proxyintegreringsfunktionen gör att CloudFront kan anropa en enda Lambda-funktion som abstraherar förfrågningar till Amazon Personalize-kampanjslutpunkten. Koden för att skapa denna funktion distribueras genom CloudFormation-mallen.
Skapa en CloudFront-distribution
När vi skapar en CloudFront-distribution, eftersom detta är en demo-inställning, inaktiverar vi cachning med hjälp av en anpassad cachingpolicy, vilket säkerställer att begäran går till ursprunget varje gång. Dessutom använder vi en policy för ursprungsbegäran som anger de nödvändiga HTTP-rubriker och frågesträngsparametrar som ingår i en ursprungsbegäran. Koden för att skapa denna funktion distribueras genom CloudFormation-mallen.
Testrekommendationer
När CloudFront-distributionens URL nås från olika enheter (dator, surfplatta, telefon och så vidare) kan vi se personliga videorekommendationer som är mest relevanta för deras enhet. Dessutom, om en kall användare presenteras, presenteras rekommendationerna som är skräddarsydda för användarens enhet. I följande exempelutdata används namn på videor endast för representation av deras genre och körtid för att göra det relaterbart.
I följande kod presenteras kortare sitcoms för en känd användare som älskar komedi baserat på tidigare interaktioner och som använder en telefonenhet:
Följande kända användare presenteras för långfilmer när de kommer åt från en smart TV-enhet baserat på tidigare interaktioner:
En kall (okänd) användare som kommer åt från en telefon presenteras med kortare men populära program:
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 kall (okänd) användare som kommer åt från ett skrivbord presenteras med topp science fiction-filmer och dokumentärer:
Följande kända användare som kommer åt från en telefon returnerar filtrerade rekommendationer baserat på plats (USA):
Slutsats
I det här inlägget beskrev vi hur du använder användarenhetstyp som kontextuell data för att göra dina rekommendationer mer relevanta. Att använda kontextuell metadata för att träna Amazon Personalize-modeller hjälper dig att rekommendera produkter som är relevanta för både nya och befintliga användare, inte bara från profildata utan också från en surfplattform. Inte bara det, sammanhang som plats (land, stad, region, postnummer) och tid (veckodag, helg, veckodag, säsong) öppnar upp möjligheten att göra rekommendationer relaterade till användaren. Du kan köra hela kodexemplet genom att använda CloudFormation-mallen som finns i vår GitHub repository och klona in anteckningsböckerna Amazon SageMaker Studio.
Om författarna
Gilles-Kuessan Satchivi är en AWS Enterprise Solutions Architect med bakgrund inom nätverk, infrastruktur, säkerhet och IT-drift. Han brinner för att hjälpa kunder att bygga välbyggda system på AWS. Innan han började på AWS arbetade han inom e-handel i 17 år. Utanför jobbet gillar han att umgås med sin familj och heja på sitt barnfotbollslag.
Aditya Pendyala är Senior Solutions Architect på AWS baserad i NYC. Han har lång erfarenhet av att bygga molnbaserade applikationer. Han arbetar för närvarande med stora företag för att hjälpa dem att skapa mycket skalbara, flexibla och motståndskraftiga molnarkitekturer, och guidar dem i allt som rör moln. Han har en magisterexamen i datavetenskap från Shippensburg University och tror på citatet "När du upphör att lära, slutar du att växa."
Prabhakar Chandrasekaran är Senior Technical Account Manager med AWS Enterprise Support. Prabhakar tycker om att hjälpa kunder att bygga banbrytande AI/ML-lösningar på molnet. Han arbetar också med företagskunder som tillhandahåller proaktiv vägledning och operativ assistans, och hjälper dem att förbättra värdet av sina lösningar när de använder AWS. Prabhakar har sex AWS och sex andra professionella certifieringar. Med över 20 års yrkeserfarenhet var Prabhakar en dataingenjör och programledare inom finansiella tjänster innan han började med AWS.
- SEO-drivet innehåll och PR-distribution. Bli förstärkt idag.
- PlatoData.Network Vertical Generative Ai. Styrka dig själv. Tillgång här.
- PlatoAiStream. Web3 Intelligence. Kunskap förstärkt. Tillgång här.
- Platoesg. Fordon / elbilar, Kol, CleanTech, Energi, Miljö, Sol, Avfallshantering. Tillgång här.
- BlockOffsets. Modernisera miljökompensation ägande. Tillgång här.
- Källa: https://aws.amazon.com/blogs/machine-learning/recommend-and-dynamically-filter-items-based-on-user-context-in-amazon-personalize/
- : har
- :är
- :inte
- :var
- $UPP
- 1
- 10
- 100
- 11
- 12
- 160
- 17
- 20
- 20 år
- 22
- 220
- 23
- 24
- 420
- 7
- 9
- a
- Om oss
- accelererar
- Accessed
- tillgänglig
- åtkomst
- Konto
- noggrannhet
- uppnås
- tvärs
- Handling
- tillsats
- Dessutom
- Dessutom
- Fördel
- Efter
- AI
- AI / ML
- algoritmer
- Alla
- tillåter
- också
- Även
- amason
- Amazon Anpassa
- Amazon Web Services
- Amazon.com
- an
- analys
- analysera
- och
- api
- API: er
- tillämpningar
- arkitektur
- ÄR
- array
- AS
- Bistånd
- At
- attribut
- automatiskt
- tillgänglig
- AWS
- bakgrund
- stöd
- baserat
- BE
- därför att
- innan
- tror
- förutom
- båda
- Bläddrar
- SLUTRESULTAT
- byggt
- men
- by
- Ring
- Samtal
- Kampanj
- Kampanjer
- KAN
- kapabel
- fånga
- Vid
- fall
- katalog
- certifieringar
- valda
- Stad
- cloud
- koda
- förkylning
- Kolumn
- COM
- Komedi
- kommande
- Gemensam
- dator
- Datavetenskap
- konfiguration
- med tanke på
- konsumera
- konsumtion
- innehåll
- sammanhang
- kontextuella
- kontinuerligt
- länder
- land
- farkoster
- skapa
- skapas
- skapar
- Skapa
- kriterier
- Aktuella
- För närvarande
- beställnings
- kund
- Kunder
- kundanpassad
- allra senaste
- datum
- Databas
- datauppsättningar
- dag
- beslut
- definierade
- definierar
- Examen
- leverera
- Efterfrågan
- demo
- demografiska
- distribuera
- utplacerade
- beskriven
- desktop
- Bestämma
- utvecklare
- utveckla
- anordning
- enheter
- olika
- digital
- rikta
- fördelning
- dokumentärer
- dokumentär
- driv
- grund
- dynamisk
- dynamiskt
- varje
- lättare
- e-handel
- effektivitet
- ansträngning
- E-postmarknadsföring
- möjliggör
- Slutpunkt
- Motor
- ingenjör
- förbättra
- säkerställa
- Företag
- företag
- Varje
- exempel
- exklusive
- befintliga
- erfarenhet
- Erfarenheter
- omfattande
- Omfattande erfarenhet
- familj
- Leverans
- Funktioner
- Fiktion
- fält
- Fält
- Fil
- filmer
- filtrera
- Slutligen
- finansiella
- finansiella tjänster
- flexibel
- följer
- efter
- För
- från
- full
- fullständigt
- fungera
- funktioner
- nätbryggan
- samlade ihop
- generera
- skaffa sig
- få
- Mål
- Går
- Grupp
- Väx
- vägleda
- Guider
- Har
- he
- headers
- hjälpa
- hjälpa
- hjälper
- höggradigt
- hans
- historisk
- historia
- innehar
- fasa
- Hur ser din drömresa ut
- How To
- html
- http
- HTTPS
- ID
- if
- importera
- med Esport
- förbättra
- in
- innefattar
- ingår
- Inklusive
- industrier
- påverka
- informationen
- Infrastruktur
- ingång
- integrera
- integrering
- Intelligent
- interagera
- interaktion
- interaktioner
- in
- investera
- IT
- artikel
- sammanfogning
- jpg
- bara
- Vet
- känd
- Brist
- Large
- Stora företag
- senare
- ledare
- LÄRA SIG
- inlärning
- Bibliotek
- tycka om
- gillar
- läge
- Logiken
- Lång
- älskar
- Maskinen
- maskininlärning
- göra
- Framställning
- förvaltade
- chef
- förvaltar
- många
- Marknadsföring
- Master
- meningsfull
- metadata
- ML
- Mobil
- Mobil enheter
- modell
- modeller
- mer
- mest
- Filmer
- multipel
- Mystery
- namn
- namn
- navigerande
- nödvändigt för
- nätverk
- Nya
- nyheter
- Nästa
- notera
- NYC
- of
- on
- endast
- öppnas
- operativa
- Verksamhet
- Möjlighet
- or
- ursprung
- Övriga
- vår
- ut
- utanför
- över
- parameter
- parametrar
- passera
- Godkänd
- brinner
- Tidigare
- Mönster
- mönster
- perioden
- personalisering
- personifiera
- personlig
- fas
- telefon
- plattform
- plato
- Platon Data Intelligence
- PlatonData
- spelat
- policy
- Populära
- Inlägg
- post
- drivs
- Förutspår
- föredragen
- beredd
- presenteras
- tidigare
- Innan
- Proaktiv
- process
- Produkt
- Produkter
- professionell
- Profil
- Program
- främja
- ge
- förutsatt
- ger
- tillhandahålla
- ombud
- syfte
- citera
- realtid
- motta
- Receptet
- rekommenderar
- Rekommendation
- rekommendationer
- rekommendera
- post
- hänvisar
- om
- region
- relevanta
- representation
- begära
- förfrågningar
- Obligatorisk
- krav
- Krav
- Kräver
- reserverad
- elastisk
- Resurser
- respektive
- Svara
- REST
- Resultat
- tillbaka
- Rutt
- Körning
- sagemaker
- Samma
- säga
- skalbar
- Vetenskap
- Science Fiction
- Säsong
- sektioner
- säkerhet
- se
- senior
- tjänar
- service
- Tjänster
- in
- inställning
- show
- visas
- Visar
- Likheterna
- Enkelt
- enda
- situationer
- SEX
- smarta
- Smart TV
- So
- Fotboll
- lösning
- Lösningar
- några
- Utrymme
- specifik
- spendera
- Steg
- Steg
- lagras
- Sträng
- struktur
- sådana
- stödja
- System
- Tablett
- skräddarsydd
- Ta
- grupp
- Teknisk
- Teknologi
- mall
- testa
- den där
- Smakämnen
- deras
- Dem
- Där.
- Dessa
- saker
- detta
- Genom
- tid
- tidsstämpel
- till
- verktyg
- topp
- Tåg
- tränad
- Utbildning
- tåg
- Förvandla
- transformationer
- sann
- tv
- Typ
- typer
- universitet
- okänd
- URL
- us
- användning
- användningsfall
- Begagnade
- Användare
- Användarupplevelse
- användare
- användningar
- med hjälp av
- vanligen
- värde
- Värden
- version
- Video
- video on demand
- Video
- var
- we
- Väder
- webb
- webbservice
- webbsidor
- vecka
- helgen
- när
- medan
- VEM
- bred
- kommer
- med
- inom
- Arbete
- arbetade
- arbetssätt
- fungerar
- värt
- år
- Om er
- Din
- zephyrnet