Personlig Top-N sekvensiell anbefaling via innebygging av konvolusjonssekvens

Personalized Top N Sequential Recommendation Via Convolutional Sequence Embedding



Sammendrag

Top-n-sekvensanbefalingsmodellen sier at hvert produkt som brukeren har samhandlet med tidligere blir sett på som en sekvens, og formålet er å forutsi rangeringen av de beste N-produktene som brukeren kan ha interaktiv atferd i fremtiden. Rekkefølgen av denne interaksjonen avslører at sekvensmønstre spiller en viktig rolle, og avslører at det siste elementet i sekvensen har større innvirkning på neste element. I denne artikkelen foreslås den foreslåtte innviklingsanbefalingsmodellen for innblandingssekvens (caser). Hovedideen er å danne den 'projiserte' bildesekvensen når det gjelder tid og rom, og bruke konvolusjonsfilteret for å lære seg sekvensmønsteret som den lokale delen av bildet. Egenskaper. Denne metoden gir en ensartet, kjørbar nettverksstruktur for å fange generelle preferanser og sekvensielle mønstre.

introduksjon

Gitt rekkefølgen til alle brukere, er målet å anbefale en liste over varer til hver bruker ved grundig å vurdere generelle preferanser og bestillingsmønstre for å maksimere deres fremtidige behov. I motsetning til tradisjonelle topp-N-anbefalinger behandler topp-N-ordreanbefalingsmodellen brukeratferd som en sekvens med et produkt, snarere enn som en samling av produkter. Caser bruker horisontale og vertikale konvolusjonsfiltre for å fange opp sekvensielle mønstre for punktnivå, enhetsnivå og hoppe over atferd. Caser modellerer brukerens generelle preferanser og sekvensielle mønstre, og oppsummerer flere eksisterende toppmoderne metoder i et enhetlig rammeverk.



modell

Modellen bruker convolutional neural network (CNN) for å lære seg sekvensfunksjoner, og bruker skjult faktormodell (LFM) for å lære brukerfunksjoner. Målet med Caser-nettverksdesign er flere: å fange brukerens generelle preferanser og ordremønstre på det enhetlige nivået og punktnivået, og å fange hoppoppførselen, alt i et ikke-observert rom. Som vist i figur 3, består Caser av tre komponenter: et innebygd oppslagslag, et konvolusjonslag og et fullt koblet lag. Foringsrøret består av tre deler, innstøpningslag, konvolusjonslag, fullt tilkoblet lag. For hver bruker u, Vi trekker ut hvert L påfølgende element fra brukersekvensen Su som input, og tar de neste T-elementene som mål, som vist på venstre side av figur 3. Dette oppnås ved å skyve et vindu med størrelse L + T på brukersekvensen. Hvert vindu genererer en treningsinstans for u, som er representert med en trippel (u, første L-periode, siste T-periode).
bilde



innebygd lagCaser

Sekvensfunksjoner i latent rom fanges opp ved å legge inn tidligere gjenstander i nevrale nettverk. Kartlegg en sekvens med lengde L til innebygging. Stable dem sammen. I tillegg til innebygging av varer genereres brukerens funksjoner ved hjelp av LFM og merkes som lilla i figuren. ### cNN Når vi låner fra CNNs ideer i tekstklassifisering [12], anser vår metode L × d-matrisen E som 'bildet' av de første L-begrepene i det latente rommet, og bruker sekvensmønsteret som det lokale trekk ved 'bilde' . Denne metoden tillater bruk av konvolusjonsfiltre for å søke etter sekvensielle mønstre.



bilde

Figur 4 viser to 'horisontale filtre' som fanger opp det sekvensielle mønsteret av to leddnivåer. Disse filtrene, uttrykt som en h × d-matrise, har en høyde h = 2 og en full bredde lik d. De mottar informasjon om sekvensmønster ved å skyve på radene til E-matrisen. Tilsvarende er en 'vertikal lter' en Lx1-matrise som vil gli forbi E-kolonnen. I motsetning til bildegjenkjenning er ikke 'bilde' E gitt fordi den innebygde Qi av alle elementene må læres samtidig med alle filtre.

Horisontalt konvolusjonsnettverk

På dette nivået er det N horisontale filtre på det øvre nettverket i andre del av figur 3. For eksempel, hvis L = 4, kan det være 8 filtre, og hver h = {1, 2, 3, 4} tilsvarer to filtre. Fk-filteret vil gli fra topp til bunn og samhandle med elementets laterale dimensjon. Følgende er oppløsningsformelen. Faktisk gjør flere linjer i E konvolusjon med filteret og legger deretter til en ikke-lineær aktiveringsfunksjon i konvolusjonslaget. .
Følgende er resultatet av handlingen fra rad i til rad i-h + 1 i matrisen og filteret.



bilde
Så det endelige Fk-filterets konvolusjonsresultat er bildeHvis h = 2, er formen på den genererte ck 4-2 + 1 = 3 --3 * 1. Deretter bruker vi en maksimal samleoperasjon på ck og trekker ut fra alle verdiene generert av dette spesielle filteret Maksimumsverdien. Det maksimale fangstfilteret trekker ut de mest fremtredende funksjonene. Derfor, for n tegnene i dette laget, Utgangsverdien er n
bilde

Det horisontale filteret samhandler med hver påfølgende h term ved å legge inn e. Ved å lære innbygging og filtre kan den objektive funksjonen til prediksjonsfeilen til det kodende målelementet minimeres (se avsnitt 3.4 for mer informasjon). Med glidestenger i forskjellige høyder kan signaler mottas uavhengig av posisjon. Derfor kan horisontale filtre trenes opp til å fange mønstre på unionsnivå med flere foreningsstørrelser.

#### Vertical Convolution Network

Dette laget er vist nederst på figur 3, vi bruker tilde som et symbol på dette laget, forutsatt at det er n filtre, bilde
Hvert filter Fk samhandler med kolonnen og skyver d ganger fra venstre til høyre på matrisen E, og gir et vertikalt c ~ k-konvolusjonsresultat 1 * d
bilde
Samspillet mellom det indre produktet gjør det enkelt å verifisere at dette resultatet er lik den vektede summen av E- og F˜k L-linjevekter:
Derfor kan vi ved hjelp av vertikale kull lære å samle innstøpingen av de forrige L-elementene, i likhet med Fossils [6] vektede sum, for å samle den latente representasjonen av de forrige L-elementene.
bilde
bilde
Ovennevnte er utgangen fra det vertikale filteret.

Fullt sammenkoblet lag

Vi kobler utgangene til de to konvolusjonslagene og mater det tett tilkoblede nevrale nettverkslaget inn på høyt nivå og sammendragsfunksjoner.

bilde
bildeEr en vektmatrise som projiserer forbindelseslaget på det d-dimensjonale skjulte laget. z∈Rd er det vi kaller innebygging av konvolusjonssekvens, som inneholder alle sekvensfunksjonene i forrige periode.
For å fange opp brukerens generelle preferanser, legger vi inn en bruker som legger inn pu, og kobler de to d-dimensjonale vektorene z og pu sammen, og projiserer dem deretter på en | I | I utgangslaget til noden (verdien av I er summen av verdiene til positive prøver pluss negative prøver)
bilde
bilde

Nettverksopplæring

Det maksimale sannsynlighetsestimatet er:
bildeRepresenterer sannsynligheten for neste element som er observert i forrige atferdssekvens. Bruk deretter metoden for maksimal sannsynlighetsestimering for å akkumulere sannsynligheten og konstruere en sannsynlighetsfunksjon. bilde
bilde
Ved å utføre en negativ logaritmeoperasjon på den, får vi måltapsfunksjonen, som er det binære kryss-entropietapet, i er en positiv prøve, j er en negativ prøve
Vi maksimerer sannsynligheten, det vil si minimere tapfunksjonen. De optimale parametrene oppnås ved å minimere tapfunksjonen.
Vi fant 3 negative prøver for hvert mål. Hyperparametrene justeres gjennom valideringssettet. Bruk Adam for optimaliseringsalgoritmer. Batchstørrelsen er 100. For å forhindre overmontering, brukes L2-normen på alle modellparametere, og 50% frafall brukes på det fullt tilkoblede laget.

anbefale

Etter å ha fått det opplærte nevrale nettverket, gir vi anbefalinger for hver bruker. Vi lager brukerens skjulte lag tilstand PU og dets siste L-uttrykkselementer som nettverksinngangen. Vi anbefaler de høyeste N-verdiene i utgangslaget. Merk at målelementene T-parameteren brukes i trening, og N er den anbefalte parameteren etter trening.

tilkobling til eksisterende modeller

eksperiment

  • Datasett: Bestillingsanbefalingen gir bare mening når datasettet inneholder sekvensielle mønstre. For å identifisere slike datasett bruker vi sekvensassosiasjon regelutvinning til flere offentlige datasett og beregner sekvensstyrken.
  • Telleren bruker minimum støtteterskel (dvs. (5) og konfidensgraden er 50%), og Markov-ordren L er fra 1 til 5. Nevneren er det totale antall brukere. Vi bruker SI til å estimere styrken til sekvenssignalet i datasettet.
  • Vi tar 70% av operasjonene i hver brukersekvens som treningssett, og bruker de neste 10% av operasjonene som bekreftelsessett for å søke etter de optimale innstillingene for hyperparameter for alle modeller. De resterende 20% av operasjonene i hver brukersekvens brukes som et testsett for å evaluere ytelsen til modellen
  • Målekriterier:


  • rel (N) = 1 Hvis det Nte elementet i R Rˆ gjennomsnittlig gjennomsnittlig presisjon (MAP) er gjennomsnittet av alle bruker-AP-er.