Med en mengde artikler, videoer, lydopptak og andre medier som opprettes daglig på tvers av nyhetsmediebedrifter, finner lesere av alle typer – individuelle forbrukere, bedriftsabonnenter og mer – ofte det vanskelig å finne nyhetsinnhold som er mest relevant for dem. Å levere personlig tilpassede nyheter og opplevelser til leserne kan bidra til å løse dette problemet, og skape mer engasjerende opplevelser. Å levere virkelig tilpassede anbefalinger byr imidlertid på flere viktige utfordringer:
- Fange ulike brukerinteresser – Nyheter kan spenne over mange emner, og selv innenfor spesifikke emner kan leserne ha varierte interesser.
- Adresser begrenset leserhistorie – Mange nyhetslesere har sparsom aktivitetshistorie. Anbefalere må raskt lære preferanser fra begrensede data for å gi verdi.
- Aktualitet og trending – Daglige nyhetssykluser betyr at anbefalinger må balansere personlig tilpasset innhold med oppdagelsen av nye, populære historier.
- Skiftende interesser – Lesernes interesser kan utvikle seg over tid. Systemene må oppdage skift og tilpasse anbefalingene deretter.
- Forklarbarhet – Å gi åpenhet om hvorfor bestemte historier anbefales, bygger brukertillit. Det ideelle nyhetsanbefalingssystemet forstår individet og reagerer på det bredere nyhetsklimaet og publikum. Å takle disse utfordringene er nøkkelen til å effektivt koble leserne med innhold de synes er informativt og engasjerende.
I dette innlegget beskriver vi hvordan Amazon Tilpasse kan drive en skalerbar nyhetsanbefalingsapplikasjon. Denne løsningen ble implementert hos en Fortune 500 mediekunde i H1 2023 og kan gjenbrukes for andre kunder som er interessert i å bygge nyhetsanbefalere.
Løsningsoversikt
Amazon Personalize passer utmerket til å drive en nyhetsanbefalingsmotor på grunn av dens evne til å gi sanntids- og batchtilpassede anbefalinger i stor skala. Amazon Personalize tilbyr en rekke anbefalingsoppskrifter (algoritmer), som User Personalization og Trending Now-oppskriftene, som er spesielt egnet for trening av nyhetsanbefalingsmodeller. User Personalization-oppskriften analyserer hver brukers preferanser basert på deres engasjement med innhold over tid. Dette resulterer i tilpassede nyhetsfeeds som viser de emnene og kildene som er mest relevante for en individuell bruker. Trending Now-oppskriften utfyller dette ved å oppdage stigende trender og populære nyhetssaker i sanntid på tvers av alle brukere. Ved å kombinere anbefalinger fra begge oppskriftene kan anbefalingsmotoren balansere personalisering med oppdagelsen av betimelige historier med høy interesse.
Følgende diagram illustrerer arkitekturen til en nyhetsanbefalingsapplikasjon drevet av Amazon Personalize og støtter AWS-tjenester.
Denne løsningen har følgende begrensninger:
- Å gi personlige anbefalinger for nettopp publiserte artikler (artikler publisert for noen minutter siden) kan være utfordrende. Vi beskriver hvordan du kan redusere denne begrensningen senere i dette innlegget.
- Amazon Personalize har et fast antall interaksjoner og elementdatasettfunksjoner som kan brukes til å trene en modell.
- I skrivende stund gir ikke Amazon Personalize anbefalingsforklaringer på brukernivå.
La oss gå gjennom hver av hovedkomponentene i løsningen.
Forutsetninger
For å implementere denne løsningen trenger du følgende:
- Historiske og sanntids brukerklikkdata for
interactions
datasett - Historisk og sanntids nyhetsartikkelmetadata for
items
datasett
Ta inn og klargjør dataene
For å trene en modell i Amazon Personalize, må du oppgi treningsdata. I denne løsningen bruker du to typer Amazon Personalize treningsdatasett: interaksjonsdatasett og elementer datasett. De interactions
datasettet inneholder data om bruker-element-tidsstempel-interaksjoner, og items
datasettet inneholder funksjoner på de anbefalte artiklene.
Du kan bruke to forskjellige tilnærminger for å innta treningsdata:
- Partiinntak - Du kan bruke AWS Lim å transformere og innta interaksjoner og elementdata som ligger i en Amazon enkel lagringstjeneste (Amazon S3) inn i Amazon Personalize-datasett. AWS Glue utfører ekstraksjon, transformasjon og lasting (ETL) operasjoner for å justere dataene med Amazon Personalize-datasettskjemaet. Når ETL-prosessen er fullført, plasseres utdatafilen tilbake i Amazon S3, klar for inntak i Amazon Personalize via en datasettimporteringsjobb.
- Sanntidsinntak - Du kan bruke Amazon Kinesis datastrømmer og AWS Lambda å innta sanntidsdata trinnvis. En Lambda-funksjon utfører de samme datatransformasjonsoperasjonene som batch-inntaksjobben på det individuelle postnivået, og tar inn dataene i Amazon Personalize ved å bruke PutEvents og PutItems APIer.
I denne løsningen kan du også ta inn visse elementer og interaksjonsdataattributter Amazon DynamoDB. Du kan bruke disse attributtene under sanntidsslutning for å filtrere anbefalinger etter forretningsregler. Artikkelmetadata kan for eksempel inneholde firma- og bransjenavn i artikkelen. For å proaktivt anbefale artikler om selskaper eller bransjer som brukere leser om, kan du registrere hvor ofte leserne engasjerer seg i artikler om bestemte selskaper og bransjer, og bruke disse dataene med Amazon-tilpasse filtre for å skreddersy det anbefalte innholdet ytterligere. Vi diskuterer mer om hvordan du bruker elementer og interaksjonsdataattributter i DynamoDB senere i dette innlegget.
Følgende diagram illustrerer datainntaksarkitekturen.
Tren modellen
Hoveddelen av modellopplæringsinnsatsen bør fokusere på brukertilpasningsmodellen, fordi den kan bruke alle tre Amazon Personalize-datasettene (mens Trending Now-modellen bare bruker interactions
datasett). Vi anbefaler å kjøre eksperimenter som systematisk varierer ulike aspekter av treningsprosessen. For kunden som implementerte denne løsningen, kjørte teamet over 30 eksperimenter. Dette inkluderte å endre interactions
og items
datasettfunksjoner, justering av lengden på interaksjonshistorikken gitt til modellen, justering av Amazon Personalize-hyperparametere og evaluering av om en eksplisitt brukers datasett forbedret offline-ytelsen (i forhold til økningen i treningstid).
Hver modellvariasjon ble evaluert basert på beregninger rapportert av Amazon Personalize på treningsdataene, samt tilpassede offline-målinger på et holdout-testdatasett. Standardverdier å vurdere inkluderer gjennomsnittlig gjennomsnittlig presisjon (MAP) @ K (der K er antall anbefalinger presentert for en leser), normalisert diskontert kumulativ gevinst, gjennomsnittlig gjensidig rangering og dekning. For mer informasjon om disse beregningene, se Evaluering av en løsningsversjon med beregninger. Vi anbefaler å prioritere MAP @ K av disse beregningene, som fanger opp det gjennomsnittlige antallet artikler en leser klikket på blant de beste K-artiklene som er anbefalt for dem, fordi MAP-beregningen er en god proxy for (reelle) artikkelklikkfrekvenser. K bør velges basert på antall artikler en leser kan se på en stasjonær eller mobil nettside uten å måtte rulle, slik at du kan evaluere anbefalingens effektivitet med minimal leserinnsats. Implementering av egendefinerte beregninger, for eksempel anbefalingsunikhet (som beskriver hvor unikt anbefalingsutgangen var på tvers av utvalget av kandidatbrukere), kan også gi innsikt i anbefalingseffektivitet.
Med Amazon Personalize lar den eksperimentelle prosessen deg bestemme det optimale settet med datasettfunksjoner for både User Personalization og Trending Now-modellene. Trending Now-modellen finnes i samme Amazon Personalize datasettgruppe som brukertilpasningsmodellen, så den bruker det samme settet med interactions
datasettfunksjoner.
Generer sanntidsanbefalinger
Når en leser besøker et nyhetsselskaps nettside, vil det bli foretatt et API-anrop til nyhetsanbefaleren via Amazon API-gateway. Dette utløser en Lambda-funksjon som kaller Amazon Personalize-modellenes endepunkter for å få anbefalinger i sanntid. Under slutning kan du bruke filtre for å filtrere den første anbefalingen basert på artikkel- eller leserinteraksjonsattributter. Hvis for eksempel «Nyhetsemne» (som sport, livsstil eller politikk) er et artikkelattributt, kan du begrense anbefalinger til spesifikke nyhetsemner hvis det er et produktkrav. På samme måte kan du bruke filtre på leserinteraksjonshendelser, for eksempel ekskludering av artikler en leser allerede har lest.
En nøkkelutfordring med sanntidsanbefalinger er effektivt å inkludere nettopp publiserte artikler (også kalt kalde varer) i anbefalingsutgangen. Nettpubliserte artikler har ingen historiske interaksjonsdata som anbefalere vanligvis er avhengige av, og anbefalingssystemer trenger tilstrekkelig behandlingstid for å vurdere hvor relevante nettopp publiserte artikler er for en spesifikk bruker (selv om de bare bruker signaler om brukerelementforhold).
Amazon Personalize kan automatisk oppdage og anbefale nye artikler som tas inn i items
datasett hver 2. time. Men fordi denne brukssaken er fokusert på nyhetsanbefalinger, trenger du en måte å anbefale nye artikler så snart de er publisert og klare for leserforbruk.
En måte å løse dette problemet på er å utforme en mekanisme for tilfeldig å sette inn nettopp publiserte artikler i den endelige anbefalingsutgangen for hver leser. Du kan legge til en funksjon for å kontrollere hvor mange prosent av artiklene i det endelige anbefalingssettet som nettopp var publiserte artikler, og i likhet med den opprinnelige anbefalingsutgangen fra Amazon Personalize, kan du filtrere nettopp publiserte artikler etter artikkelattributter (som "Nyhetsemne" ) hvis det er et produktkrav. Du kan spore interaksjoner på nettopp publiserte artikler i DynamoDB når de begynner å sildre inn i systemet, og prioritere de mest populære nettopp publiserte artiklene under anbefaling etterbehandling, til de nettopp publiserte artiklene blir oppdaget og behandlet av Amazon Personalize-modellene.
Etter at du har det endelige settet med anbefalte artikler, sendes dette utdata til en annen lambda-funksjon for etterbehandling som sjekker utdataene for å se om det stemmer overens med forhåndsspesifiserte forretningsregler. Disse kan omfatte å sjekke om anbefalte artikler oppfyller spesifikasjonene for nettsidelayout, hvis anbefalinger for eksempel vises i en nettlesergrensesnitt. Om nødvendig kan artikler omrangeres for å sikre at forretningsreglene overholdes. Vi anbefaler omrangering ved å implementere en funksjon som lar artikler med høyere rangering bare falle ned i rangeringen ett sted om gangen til alle forretningsregler er oppfylt, noe som gir minimalt relevanstap for leserne. Den endelige listen over etterbehandlede artikler returneres til webtjenesten som startet forespørselen om anbefalinger.
Følgende diagram illustrerer arkitekturen for dette trinnet i løsningen.
Generer batch-anbefalinger
Personlig tilpassede nyhetsoversikter (gjennom sanntidsanbefalinger) krever at en leser aktivt søker etter nyheter, men i våre travle hverdager i dag er det noen ganger bare lettere å få de beste nyhetene dine sendt til deg. For å levere personlig tilpassede nyhetsartikler som en e-postsammendrag, kan du bruke en AWS trinnfunksjoner arbeidsflyt for å generere batch-anbefalinger. Arbeidsflyten for batchanbefaling samler og etterbehandler anbefalinger fra vår brukertilpasningsmodell eller Trending Now-modellendepunkter, noe som gir fleksibilitet til å velge hvilken kombinasjon av personlig tilpassede og trendende artikler teamene ønsker å sende til leserne sine. Utviklere har også muligheten til å bruke Amazon Personalize batch-slutning trekk; Men i skrivende stund støtter ikke oppretting av en Amazon Personalize batch-slutningsjobb inkludert elementer inntatt etter at en tilpasset Amazon Personalize-modell har blitt opplært, og den støtter ikke Trending Now-oppskriften.
Under en batch-inferens Step Functions-arbeidsflyt deles listen over lesere inn i batcher, behandles parallelt og sendes til et etterbehandlings- og valideringslag før den sendes til e-postgenereringstjenesten. Følgende diagram illustrerer denne arbeidsflyten.
Skaler anbefalingssystemet
For å skalere effektivt, trenger du også at nyhetsanbefaleren tar imot et økende antall brukere og økt trafikk uten å skape noen forringelse av leseropplevelsen. Amazon Personalize modell endepunkter innfødt automatisk skala for å møte økt trafikk. Ingeniører trenger bare å angi og overvåke en minimumsbestemt transaksjoner per sekund (TPS)-variabel for hvert Amazon Personalize-endepunkt.
Utover Amazon Personalize, er nyhetsanbefalingsapplikasjonen som presenteres her bygget ved hjelp av serverløse AWS-tjenester, slik at ingeniørteam kan fokusere på å levere den beste leseropplevelsen uten å bekymre deg for vedlikehold av infrastruktur.
konklusjonen
I denne oppmerksomhetsøkonomien har det blitt stadig viktigere å levere relevant og tidsriktig innhold til forbrukerne. I dette innlegget diskuterte vi hvordan du kan bruke Amazon Personalize til å bygge en skalerbar nyhetsanbefaler, og strategiene organisasjoner kan implementere for å møte de unike utfordringene med å levere nyhetsanbefalinger.
For å lære mer om Amazon Personalize og hvordan det kan hjelpe organisasjonen din med å bygge anbefalingssystemer, sjekk ut Amazon Personalize utviklerveiledning.
Glad bygning!
Om forfatterne
Bala Krishnamoorthy er senior dataforsker ved AWS Professional Services, hvor han hjelper kunder med å bygge og distribuere AI-drevne løsninger for å løse forretningsutfordringene deres. Han har jobbet med kunder på tvers av ulike sektorer, inkludert media og underholdning, finansielle tjenester, helsetjenester og teknologi. På fritiden liker han å tilbringe tid med familie/venner, holde seg aktiv, prøve nye restauranter, reise og kickstarte dagen med en rykende varm kopp kaffe.
Rishi Jala er en NoSQL-dataarkitekt med AWS Professional Services. Han fokuserer på å bygge og bygge svært skalerbare applikasjoner ved å bruke NoSQL-databaser som Amazon DynamoDB. Han er lidenskapelig opptatt av å løse kundeproblemer, og leverer skreddersydde løsninger for å drive suksess i det digitale landskapet.
- 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. Karbon, CleanTech, Energi, Miljø, Solenergi, Avfallshåndtering. Tilgang her.
- PlatoHelse. Bioteknologisk og klinisk etterretning. Tilgang her.
- kilde: https://aws.amazon.com/blogs/machine-learning/build-a-news-recommender-application-with-amazon-personalize/
- : har
- :er
- :hvor
- 100
- 2023
- 30
- 500
- 7
- 98
- a
- evne
- Om oss
- imøtekomme
- tilsvar
- tvers
- aktiv
- aktivt
- aktivitet
- tilpasse
- legge til
- adresse
- justering
- Etter
- siden
- AI-drevet
- algoritmer
- justere
- Justerer
- Alle
- tillate
- tillater
- allerede
- også
- Amazon
- Amazon Tilpasse
- Amazon Web Services
- an
- analyser
- og
- En annen
- noen
- api
- APIer
- Søknad
- søknader
- tilnærminger
- arkitektur
- ER
- Artikkel
- artikler
- AS
- aspekter
- vurdere
- At
- oppmerksomhet
- attributter
- publikum
- lyd
- auto
- gjennomsnittlig
- AWS
- AWS Lim
- AWS profesjonelle tjenester
- tilbake
- Balansere
- basert
- BE
- fordi
- bli
- vært
- før du
- være
- BEST
- både
- bredere
- nett~~POS=TRUNC leseren~~POS=HEADCOMP
- bygge
- Bygning
- bygger
- bygget
- virksomhet
- opptatt
- men
- by
- ring
- som heter
- Samtaler
- CAN
- kandidat
- fanger
- saken
- viss
- utfordre
- utfordringer
- utfordrende
- sjekk
- kontroll
- Sjekker
- klikk
- Klima
- Kaffe
- forkjølelse
- kombinasjon
- kombinere
- Selskaper
- Selskapet
- Selskapets
- fullføre
- komponenter
- Tilkobling
- Vurder
- Forbrukere
- forbruk
- inneholde
- inneholder
- innhold
- kontroll
- Bedriftens
- dekning
- skape
- opprettet
- Opprette
- kopp
- skikk
- kunde
- Kunder
- tilpasset
- sykluser
- daglig
- Daglige nyheter
- oversikter
- dato
- dataforsker
- databaser
- datasett
- dag
- leverer
- levere
- leverer
- utplassere
- beskrive
- beskriver
- utforme
- desktop
- oppdage
- oppdaget
- Bestem
- Utvikler
- utviklere
- diagram
- forskjellig
- vanskelig
- Fordøye
- digitalt
- nedsatte
- Funnet
- diskutere
- diskutert
- diverse
- Divided
- ikke
- ikke
- ned
- stasjonen
- under
- hver enkelt
- enklere
- økonomi
- effektivt
- effektivitet
- innsats
- emalje
- Endpoint
- engasjement
- engasjerende
- Motor
- Ingeniørarbeid
- Ingeniører
- sikre
- Entertainment
- evaluere
- evaluert
- evaluere
- Selv
- hendelser
- Hver
- utvikle seg
- eksempel
- Eksklusiv
- finnes
- erfaring
- Erfaringer
- eksperimentell
- eksperimenter
- forklaringer
- trekke ut
- Fall
- Trekk
- Egenskaper
- Noen få
- filet
- filtrere
- filtre
- slutt~~POS=TRUNC
- finansiell
- finansielle tjenester
- Finn
- passer
- fikset
- fleksibilitet
- Fokus
- fokuserte
- fokuserer
- etter
- Til
- For forbrukere
- Fortune
- Gratis
- ofte
- fra
- Frontend
- funksjon
- funksjoner
- videre
- Gevinst
- generere
- generasjonen
- få
- Giving
- god
- flott
- Økende
- Ha
- å ha
- he
- helsetjenester
- hjelpe
- hjelper
- her.
- svært
- hans
- historisk
- historier
- historie
- HOT
- TIMER
- Hvordan
- Hvordan
- Men
- HTML
- http
- HTTPS
- ideell
- if
- illustrerer
- iverksette
- implementert
- implementere
- importere
- viktig
- forbedret
- in
- inkludere
- inkludert
- Inkludert
- Øke
- økt
- stadig
- individuelt
- bransjer
- industri
- informasjon
- informative
- Infrastruktur
- innledende
- initiert
- innsikt
- interaksjon
- interaksjoner
- interessert
- interesser
- inn
- IT
- varer
- DET ER
- Jobb
- jpg
- bare
- nøkkel
- landskap
- seinere
- lag
- Layout
- LÆRE
- Lengde
- Nivå
- livsstil
- begrensning
- begrensninger
- Begrenset
- Liste
- Bor
- laste
- tap
- laget
- Hoved
- vedlikehold
- mange
- kart
- Kan..
- bety
- mekanisme
- Media
- Møt
- møtte
- metadata
- metrisk
- Metrics
- minimal
- minimum
- minutter
- Minske
- Mobil
- modell
- modeller
- Overvåke
- mer
- mest
- Mest populær
- mangfold
- må
- navn
- fritt
- Trenger
- nødvendig
- Ny
- nyheter
- normalt
- nå
- Antall
- of
- Tilbud
- offline
- on
- ONE
- bare
- Drift
- optimal
- Alternativ
- or
- organisasjon
- organisasjoner
- original
- Annen
- vår
- ut
- produksjon
- enn
- Parallel
- spesielt
- lidenskapelig
- for
- prosent
- ytelse
- utfører
- Tilpassing
- tilpasse
- Personlig
- Sted
- plato
- Platon Data Intelligence
- PlatonData
- politikk
- basseng
- Populær
- Post
- makt
- powered
- Precision
- preferanser
- Forbered
- presentert
- gaver
- Prioriter
- prioritering
- Problem
- problemer
- prosess
- Bearbeidet
- prosessering
- Produkt
- profesjonell
- gi
- forutsatt
- gi
- proxy
- publisert
- Skyv
- raskt
- rangerer
- Ranking
- priser
- Lese
- Reader
- lesere
- Lesning
- klar
- ekte
- sanntids
- sanntidsdata
- .
- anbefaler
- Anbefaling
- anbefalinger
- anbefales
- rekord
- forholdet
- slektning
- relevant
- avhengige
- rapportert
- anmode
- krever
- behov
- restauranter
- begrense
- Resultater
- stiger
- regler
- rennende
- samme
- skalerbar
- Skala
- Forsker
- bla
- Søk
- Sekund
- sektorer
- se
- velg
- valgt
- senior
- sendt
- servert
- server~~POS=TRUNC
- tjeneste
- Tjenester
- sett
- flere
- Skift
- bør
- signaler
- lignende
- på samme måte
- Enkelt
- So
- løsning
- Solutions
- LØSE
- løse
- noen ganger
- snart
- Kilder
- span
- spesifikk
- spesifikasjoner
- utgifter
- Sports
- Standard
- Begynn
- blir
- Trinn
- lagring
- Stories
- strategier
- innsendt
- abonnenter
- suksess
- slik
- tilstrekkelig
- egnet
- støtte
- Støtte
- overflaten
- system
- systematisk
- Systemer
- takling
- skredder
- skreddersydd
- Ta
- lag
- lag
- Teknologi
- test
- Det
- De
- deres
- Dem
- Disse
- de
- denne
- tre
- Gjennom
- tid
- rettidig
- til
- i dag
- topp
- temaer
- tps
- spor
- trafikk
- Tog
- trent
- Kurs
- Treningsnyheter
- Transaksjoner
- Transform
- Transformation
- Åpenhet
- reiser
- trender
- Trender
- virkelig
- Stol
- prøver
- tuning
- to
- typer
- forstår
- unik
- unikhet
- til
- bruke
- bruk sak
- brukt
- Bruker
- Brukere
- bruker
- ved hjelp av
- validering
- verdi
- variabel
- variert
- variasjon
- variere
- versjon
- av
- videoer
- Se
- Besøk
- gå
- ønsker
- var
- Vei..
- we
- web
- nettleser
- webtjenester
- VI VIL
- var
- Hva
- når
- mens
- om
- hvilken
- hvorfor
- vil
- med
- innenfor
- uten
- arbeidet
- arbeidsflyt
- bekymringsfull
- skriving
- Du
- Din
- zephyrnet