På en grundläggande nivå lär sig maskininlärningsteknik (ML) av data för att göra förutsägelser. Företag använder sin data med en ML-driven personaliseringstjänst för att höja sin kundupplevelse. Detta tillvägagångssätt gör det möjligt för företag att använda data för att få praktiska insikter och hjälpa till att öka sina intäkter och varumärkeslojalitet.
Amazon Anpassa påskyndar din digitala transformation med ML, vilket gör det lättare att integrera personliga rekommendationer i befintliga webbplatser, applikationer, e-postmarknadsföringssystem och mer. Amazon Personalize gör det möjligt för utvecklare att snabbt implementera en anpassad personaliseringsmotor, utan att kräva ML-expertis. Amazon Personalize tillhandahåller den nödvändiga infrastrukturen och hanterar hela pipeline för maskininlärning (ML), inklusive bearbetning av data, identifiering av funktioner, användning av de mest lämpliga algoritmerna och utbildning, optimering och värdskap för modellerna. Du får resultat genom ett API och betalar endast för det du använder, utan några minimiavgifter eller förskottsåtaganden.
Posten Skapa personliga rekommendationer i nästan realtid med Amazon Personalize visar hur man skapar personliga rekommendationer i nästan realtid med hjälp av Amazon Personalize och AWS specialbyggda datatjänster. I det här inlägget går vi igenom en referensimplementering av ett personligt rekommendationssystem i realtid med hjälp av Amazon Personalize.
Lösningsöversikt
Den personliga rekommendationslösningen i realtid implementeras med hjälp av Amazon Anpassa, Amazon Simple Storage Service (Amazon S3), Amazon Kinesis dataströmmar, AWS Lambdaoch Amazon API Gateway.
Arkitekturen är implementerad enligt följande:
- Dataförberedelse - Börja med skapa en datauppsättningsgrupp, scheman och datauppsättningar representerar dina objekt, interaktioner och användardata.
- Träna modellen – När du har importerat dina data väljer du receptet som matchar ditt användningsfall och sedan skapa en lösning att träna en modell av skapa en lösningsversion. När din lösningsversion är klar kan du skapa en kampanj för din lösningsversion.
- Få nästan realtidsrekommendationer – När du har en kampanj kan du integrera anrop till kampanjen i din ansökan. Det är här samtal till Få rekommendationer or GetPersonalizedRanking API:er är gjorda för att begära nästan realtidsrekommendationer från Amazon Personalize.
Mer information finns i Skapa personliga rekommendationer i nästan realtid med Amazon Personalize.
Följande diagram illustrerar lösningsarkitekturen.
Genomförande
Vi demonstrerar denna implementering med ett användningsfall om att göra filmrekommendationer i realtid till en slutanvändare baserat på deras interaktioner med filmdatabasen över tid.
Lösningen implementeras med hjälp av följande steg:
- Förutsättning (Dataförberedelse)
- Ställ in din utvecklingsmiljö
- Distribuera lösningen
- Skapa en lösningsversion
- Skapa en kampanj
- Skapa en händelsespårare
- Få rekommendationer
- Få in interaktioner i realtid
- Validera rekommendationer i realtid
- Städa
Förutsättningar
Se till att du har följande förutsättningar innan du sätter igång:
- Förbered dina träningsdata – Förbered och ladda upp data till en S3-hink med hjälp av instruktioner. För detta specifika användningsfall kommer du att ladda upp interaktionsdata och artikeldata. En interaktion är en händelse som du spelar in och sedan importerar som träningsdata. Amazon Personalize genererar rekommendationer främst baserade på interaktionsdata som du importerar till en interaktionsdatauppsättning. Du kan spela in flera händelsetyper, som klick, titta eller gilla. Även om modellen skapad av Amazon Personalize kan föreslå baserat på en användares tidigare interaktioner, kan kvaliteten på dessa förslag förbättras när modellen har data om associationerna mellan användare eller objekt . Om en användare har engagerat sig i filmer som kategoriserats som Drama i objektdataset, kommer Amazon Personalize att föreslå filmer (objekt) med samma genre.
- Ställ in din utvecklingsmiljö - installera AWS Command Line Interface (AWS CLI).
- Konfigurera CLI med ditt Amazon-konto - Konfigurera AWS CLI med din AWS-kontoinformation.
- Installera och starta AWS Cloud Development Kit (AWS CDK)
Distribuera lösningen
För att distribuera lösningen, gör följande:
- klon arkivet till en ny mapp på skrivbordet.
- Distribuera stacken till din AWS-miljö.
Skapa en lösningsversion
En lösning avser kombinationen av ett Amazon Personalize-recept, anpassade parametrar och en eller flera lösningsversioner (utbildade modeller). När du distribuerar CDK-projektet i föregående steg skapas en lösning med ett recept för användaranpassning automatiskt åt dig. En lösningsversion avser en utbildad maskininlärningsmodell. Skapa en lösningsversion för genomförandet.
Skapa en kampanj
En kampanj distribuerar en lösningsversion (utbildad modell) med en tillhandahållen transaktionskapacitet för att generera rekommendationer i realtid. Skapa en kampanjen för genomförandet.
Skapa en händelsespårare
Amazon Personalize kan ge rekommendationer endast baserat på händelsedata i realtid, endast historiska händelsedata eller båda. Spela in händelser i realtid för att bygga ut din interaktionsdata och låta Amazon Personalize lära sig av din användares senaste aktivitet. Detta håller din data uppdaterad och förbättrar relevansen av Amazon Personalize-rekommendationer. Innan du kan spela in händelser måste du skapa en händelsespårare. En händelsespårare dirigerar ny händelsedata till interaktionsdatauppsättningen i din datauppsättningsgrupp. Skapa och händelsespårare för genomförandet.
Få rekommendationer
I det här användningsfallet består interaktionsdataset av film-ID:n. Följaktligen kommer rekommendationerna som presenteras för användaren att bestå av film-ID:n som närmast överensstämmer med deras personliga preferenser, bestämt utifrån deras historiska interaktioner. Du kan använda getRecommendations
API för att hämta personliga rekommendationer för en användare genom att skicka dess tillhörande userID
, antalet resultat för rekommendationer som du behöver för användaren samt kampanjen ARN. Du hittar kampanjen ARN i Amazon Personalize-konsolmenyn.
Till exempel kommer följande begäran att hämta 5 rekommendationer för användaren vars userId
är 429:
Svaret på begäran kommer att vara:
Objekten som returneras av API-anropet är de filmer som Amazon Personalize rekommenderar till användaren baserat på deras historiska interaktioner.
Poängvärdena som anges i detta sammanhang representerar flyttalstal som sträcker sig mellan noll och 1.0. Dessa värden motsvarar den aktuella kampanjen och de tillhörande recepten för detta användningsfall. De bestäms baserat på de samlade poängen som tilldelas alla objekt som finns i din omfattande datauppsättning.
Få in interaktioner i realtid
I det föregående exemplet erhölls rekommendationer för användaren med ett ID på 429 baserat på deras historiska interaktioner med filmdatabasen. För rekommendationer i realtid måste användarens interaktioner med objekten matas in i Amazon Personalize i realtid. Dessa interaktioner tas in i rekommendationssystemet genom Amazon Personalize Händelsespårare. Typen av interaktion, även kallad EventType
, ges av kolumnen med samma namn i interaktionsdatadataset (EVENT_TYPE
). I det här exemplet kan händelserna vara av typen "titta" eller "klicka", men du kan ha dina egna typer av händelser enligt behoven i din applikation.
I det här exemplet får det exponerade API:et som genererar händelserna för användarna med objekten parametern "interaktioner" som motsvarar antalet händelser (interactions
) av en användare (UserId
) med ett enda element (itemId
) just nu. De trackingId
parameter kan hittas i Amazon Personalize-konsolen och i svaret på skapandet av Event Tracker-förfrågan.
Detta exempel visar en putEvent
begäran: Generera 1 interaktion av klicktyp, med ett objekt-id på '185' för användar-id '429', med den aktuella tidsstämpeln. Observera att i produktionen bör 'sentAt' ställas in på tiden för användarens interaktion. I följande exempel ställde vi in detta till tidpunkten i epoktidsformat när vi skrev API-begäran för detta inlägg. Händelserna skickas till Amazon Kinesis Data Streams genom en API-gateway, vilket är anledningen till att du måste skicka parametrarna för strömnamn och PartitionKey.
Du kommer att få ett bekräftelsesvar som liknar följande:
Validera rekommendationer i realtid
Eftersom interaktionsdataset har uppdaterats kommer rekommendationerna att uppdateras automatiskt för att beakta de nya interaktionerna. För att validera rekommendationerna uppdaterade i realtid kan du anropa getRecommendations API igen för samma användar-id 429, och resultatet bör skilja sig från det föregående. Följande resultat visar en ny rekommendation med id 594 och rekommendationerna med id 16, 596, 153 och 261 ändrade sina poäng. Dessa föremål tog in den nya filmgenren ('Animation|Barn|Drama|Fantasy|Musical') de fem bästa rekommendationerna.
Begäran:
Svar:
Svaret visar att rekommendationen från Amazon Personalize uppdaterades i realtid.
Städa upp
För att undvika onödiga avgifter, rensa upp lösningsimplementeringen med hjälp av Rengöring av resurser.
Slutsats
I det här inlägget visade vi dig hur du implementerar ett personligt rekommendationssystem i realtid med Amazon Personalize. Interaktionerna med Amazon Personalize för att få in interaktioner i realtid och få rekommendationer utfördes genom ett kommandoradsverktyg som heter curl, men dessa API-anrop kan integreras i en affärsapplikation och få samma resultat.
För att välja ett nytt recept för ditt användningsfall, se Anpassning i realtid. För att mäta effekten av rekommendationerna från Amazon Personalize, se Mäta effekten av rekommendationer.
Om författarna
Cristian Marquez är en senior molnapplikationsarkitekt. Han har stor erfarenhet av att designa, bygga och leverera programvara på företagsnivå, hög belastning och distribuerade system och molnbaserade applikationer. Han har erfarenhet av backend- och frontend-programmeringsspråk, samt systemdesign och implementering av DevOps-praxis. Han hjälper aktivt kunder att bygga och säkra innovativa molnlösningar, lösa deras affärsproblem och uppnå deras affärsmål.
Anand Komandooru är senior molnarkitekt på AWS. Han gick med i AWS Professional Services-organisation 2021 och hjälper kunder att bygga molnbaserade applikationer på AWS-molnet. Han har över 20 års erfarenhet av att bygga mjukvara och hans favoritprincip för Amazons ledarskap är "Ledare har mycket rätt."
- 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. Kol, CleanTech, Energi, Miljö, Sol, Avfallshantering. Tillgång här.
- PlatoHealth. Biotech och kliniska prövningar Intelligence. Tillgång här.
- Källa: https://aws.amazon.com/blogs/machine-learning/implement-real-time-personalized-recommendations-using-amazon-personalize/
- : har
- :är
- :var
- $UPP
- 1
- 100
- 11
- 150
- 16
- 17
- 20
- 20 år
- 200
- 2021
- 24
- 49
- 7
- 8
- a
- Om oss
- accelererar
- Enligt
- Konto
- uppnå
- angripbara
- aktivt
- aktivitet
- Efter
- igen
- algoritmer
- rikta
- Alla
- tillåter
- tillåter
- också
- Även
- amason
- Amazon Kinesis
- Amazon Anpassa
- Amazon Web Services
- bland
- an
- och
- api
- API: er
- Ansökan
- tillämpningar
- tillvägagångssätt
- lämpligt
- arkitektur
- ÄR
- AS
- delad
- assist
- associerad
- föreningar
- At
- Försök
- automatiskt
- undvika
- AWS
- AWS professionella tjänster
- backend
- baserat
- grundläggande
- BE
- varit
- innan
- mellan
- Bootstrap
- båda
- varumärke
- fört
- SLUTRESULTAT
- Byggnad
- företag
- företag
- men
- by
- Ring
- kallas
- Samtal
- Kampanj
- KAN
- Kapacitet
- Vid
- ändrats
- avgifter
- Välja
- rena
- klick
- nära
- cloud
- Kollektiv
- Kolumn
- kombination
- åtaganden
- sammansatt
- omfattande
- bekräftelse
- Följaktligen
- Tänk
- Konsol
- sammanhang
- motsvarar
- skapa
- skapas
- skapande
- Aktuella
- kund
- kundupplevelse
- Kunder
- kundanpassad
- datum
- Förberedelse av data
- Databas
- leverera
- demonstrera
- distribuera
- vecklas ut
- härleda
- Designa
- design
- desktop
- bestämd
- utvecklare
- Utveckling
- olika
- digital
- digital Transformation
- dirigerar
- distribueras
- distribuerade system
- do
- Drama
- lättare
- elementet
- UPPHÖJA
- E-postmarknadsföring
- möjliggör
- änden
- ingrepp
- Motor
- förbättrad
- företagsnivå
- Hela
- Miljö
- epok
- händelse
- händelser
- exempel
- exekveras
- befintliga
- erfarenhet
- expertis
- utsatta
- Favoriten
- Funktioner
- avgifter
- hitta
- efter
- följer
- För
- format
- hittade
- färsk
- från
- Frontend
- nätbryggan
- generera
- genererar
- generera
- snäll
- skaffa sig
- ges
- Mål
- Grupp
- Väx
- Har
- he
- hjälpa
- hjälper
- Hög
- hans
- historisk
- värd
- Hur ser din drömresa ut
- How To
- html
- HTTPS
- ID
- identifiera
- ids
- if
- illustrerar
- Inverkan
- genomföra
- genomförande
- genomföras
- importera
- importera
- förbättrar
- in
- Inklusive
- informationen
- Infrastruktur
- innovativa
- insikter
- integrera
- integrerade
- interaktion
- interaktioner
- Gränssnitt
- in
- IT
- artikel
- DESS
- fogade
- jpg
- håller
- Kinesis dataströmmar
- Språk
- Ledarskap
- LÄRA SIG
- inlärning
- lär
- Nivå
- tycka om
- linje
- läsa in
- Lot
- Lojalitet
- Maskinen
- maskininlärning
- gjord
- göra
- Framställning
- förvaltar
- Marknadsföring
- matchande
- mäta
- Meny
- meddelande
- minsta
- ML
- modell
- modeller
- mer
- mest
- film
- Filmer
- multipel
- måste
- namn
- nativ
- Nära
- nödvändigt för
- Behöver
- behov
- Nya
- Nej
- nu
- antal
- nummer
- erhållna
- of
- on
- ONE
- endast
- optimera
- or
- organisation
- ut
- Resultat
- över
- egen
- parameter
- parametrar
- särskilt
- Tidigare
- Betala
- personlig
- personalisering
- personifiera
- personlig
- rörledning
- plato
- Platon Data Intelligence
- PlatonData
- Punkt
- besitter
- Inlägg
- praxis
- Förutsägelser
- preferenser
- beredning
- Förbered
- förutsättningar
- presentera
- presenteras
- föregående
- primärt
- Principen
- problem
- bearbetning
- Produktion
- professionell
- Programmering
- programmeringsspråk
- projektet
- förutsatt
- kvalitet
- snabbt
- område
- redo
- realtid
- motta
- erhåller
- senaste
- Receptet
- Rekommendation
- rekommendationer
- rekommenderar
- post
- hänvisa
- referens
- hänvisar
- relevans
- Repository
- representerar
- representerar
- begära
- respons
- resultera
- Resultat
- intäkter
- höger
- Samma
- göra
- säkra
- sända
- skicka
- senior
- skickas
- service
- Tjänster
- in
- skall
- show
- visade
- Visar
- liknande
- Enkelt
- enda
- Mjukvara
- lösning
- Lösningar
- Lösa
- stapel
- starta
- igång
- Steg
- Steg
- förvaring
- strömmar
- Framgångsrikt
- sådana
- föreslå
- säker
- system
- System
- Teknologi
- den där
- Smakämnen
- deras
- sedan
- Dessa
- de
- detta
- Genom
- tid
- tidsstämpel
- till
- verktyg
- topp
- topp 5
- Tåg
- tränad
- Utbildning
- transaktion
- Transformation
- Typ
- typer
- onödig
- uppdaterad
- uppladdning
- användning
- användningsfall
- Användare
- användare
- med hjälp av
- BEKRÄFTA
- Värden
- Omfattande
- version
- versioner
- gå
- var
- Kolla på
- we
- webb
- webbservice
- webbsidor
- VÄL
- były
- Vad
- när
- som
- vars
- varför
- kommer
- med
- utan
- skrev
- år
- Om er
- Din
- zephyrnet
- noll-