En ingående beskrivning av algoritmerna som används i Adobe Target Recommendations, inklusive logik och matematiska detaljer i modellutbildning och modelleringsprocessen.
Modellutbildning är processen för hur rekommendationer genereras av Adobe Target utbildningsalgoritmer. Modelltjänsten är så här Target ger rekommendationer till besökarna på webbplatsen (kallas även innehållsleverans).
Target innehåller följande breda typer av algoritmer i Recommendations:
Objektbaserade algoritmer: Inkludera algoritmer som följer logiken"Personer som visade/köpte det här objektet visade/köpte även dessa objekt." Dessa algoritmer grupperas under den paraplya termen objektbaserad samarbetsfiltrering samt Items with Similar Attributes algoritmer.
Användarbaserade algoritmer: Inkludera Recently Viewed och Recommended for You algoritmer.
Popularitetsbaserade algoritmer: Inkludera algoritmer som returnerar de mest visade eller mest köpta objekten på webbplatsen, eller toppvisade eller toppköpta efter kategori eller objektattribut.
Cart-baserade algoritmer: Inkludera rekommendationer som baseras på flera objekt med logiken"personer som visade/köpte dessa objekt, även visade/köpte dem".
Anpassade villkor: Inkludera rekommendationer baserade på anpassade filer som överförts till Target.
Mer allmän information om varje algoritmtyp och de enskilda algoritmerna finns i Basera rekommendationen på en rekommendationsnyckel.
Många av de algoritmer som anges ovan beror på om det finns en eller flera nycklar. Dessa nycklar används för att hämta liknande objekt vid innehållsleverans (när rekommendationer görs). Kundspecificerade nycklar kan inkludera det objekt som någon visar, det senast visade eller köpta objektet, det översta objektet, den aktuella kategorin eller favoritkategorin för den besökaren. Andra algoritmer, t.ex. kundvagnsbaserade eller användarbaserade rekommendationer, använder implicita nycklar (som inte kan konfigureras av kunden). Mer information finns i Rekommendationsnycklar, in Basera rekommendationen på en rekommendationsnyckel. Observera dock att dessa nycklar endast är relevanta vid modellanvändning (innehållsleverans). Dessa knappar påverkar inte tidslogiken för"offline" eller modellutbildning.
I följande avsnitt grupperas algoritmer på ett något annorlunda sätt än de algoritmtyper som beskrivs ovan. Följande gruppering baseras på likheterna i modellens utbildningslogik.
Algoritmer är:
Rekommendationsalgoritmer för filtrering av objekt-objekt baseras på tanken att du bör använda beteendemönstren för många användare (och därigenom samarbeta) för att ge användbara rekommendationer för ett visst objekt (t.ex. filtrera katalogen med möjliga objekt att rekommendera). Även om det finns många olika algoritmer som faller under det allmänna paraplyet i samarbetsfiltrering, använder dessa algoritmer generellt beteendedatakällor som indata. I Target Recommendationsär de här inmatningarna de unika vyerna och användarnas inköp av artiklar.
För algoritmen"personer som visade/köpte det här objektet även visade/köpte dessa objekt" är målet att beräkna en likhet som (A,B) mellan alla par av objekt. För en given post A ordnas de översta rekommendationerna sedan efter deras likhet som (A,B).
Ett exempel på en sådan likhet är den samförekomst som finns mellan objekten: ett enkelt antal användare som har köpt båda artiklarna. Även om det är intuitivt är en sådan mätmetod naiv eftersom den är partisk med att rekommendera populära objekt. Om till exempel de flesta i en livsmedelsbutik köper bröd, kommer brödet att vara mycket vanligt tillsammans med alla artiklar, men det behöver inte vara en bra rekommendation. Target I används i stället ett mer avancerat likhetsmått som kallas log Sability ratio (LLR). Den här kvantiteten är stor när sannolikheten för att två artiklar, A och B, inträffar samtidigt skiljer sig mycket från sannolikheten för att de inte inträffar samtidigt. Ett exempel på People Who Viewed This, Bought That algoritm. Likheten i LLR är stor när sannolikheten att B köptes är not oberoende av om någon visade A.
Om
bör punkt B inte rekommenderas för post A. Fullständig information om den här likhetsberäkningen av loggsannolikhetsgrad finns i PDF.
Det logiska flödet för den faktiska algoritmimplementeringen visas i följande schematiska diagram:
Här följer information om de här stegen:
Indata: Beteendedata, i form av visningar och köp av besökare som samlats in när du implementera mål or from Adobe Analytics.
Modellutbildning:
Modelltjänst: Recommendations-material levereras från Target's globalt "Edge"-nätverk. När mbox-begäranden görs till Target och det fastställs att rekommendationsinnehållet ska skickas till sidan, begäran om lämplig objektnyckel för rekommendationsalgoritmen antingen tolkas från begäran eller slås upp från användarprofilen och används sedan för att hämta de rekommendationer som beräknats i föregående steg. Ytterligare dynamiska filter tillämpas nu, före design återges.
Algoritm:
I den här typen av algoritm anses två objekt vara relaterade om deras namn och textbeskrivningar är semantiskt lika. Till skillnad från de flesta rekommendationsalgoritmer där beteendedatakällor måste användas, använder algoritmer för innehållets likhet metadata från produktkataloger för att härleda likheterna mellan objekt. Target kan därför leda till rekommendationer i så kallade"kallstartsscenarier", där inga beteendedata har samlats in (t.ex. i början av en Target aktivitet).
Även om modellservning och innehållsleverans är TargetLikhetsalgoritmer för innehåll är identiska med andra objektbaserade algoritmer. Modellutbildningsstegen är helt olika och omfattar en serie naturliga språkbehandlings- och förbearbetningssteg enligt bilden nedan. Kärnan i likhetsberäkningen är användningen av den koniska likheten hos modifierade tf-idf-vektorer som representerar varje objekt i katalogen.
Här följer information om de här stegen:
Indata: Den här algoritmen är som tidigare enbart baserad på katalogdata (hämtas från Target via Katalogfeed, Entity API eller från siduppdateringar.
Modellutbildning:
Attributextrahering: Efter användning av vanliga statiska filter, katalogregler och globala undantag extraherar den här algoritmen relevanta textfält från entitetsschemat. Target använder namn-, meddelande- och kategorifälten från entitetsattributen och försöker extrahera alla strängfält från anpassade entitetsattribut. Detta görs genom att säkerställa att merparten av värdena för fältet inte kan tolkas som ett tal, datum eller booleskt värde.
Ordstam och ordstopp: För exaktare matchning av textlikhet är det klokt att ta bort mycket vanliga "stopp"-ord som inte ändrar innebörden av ett objekt i någon större utsträckning (t.ex. "var", "is", "och" o.s.v.). På samma sätt hänvisar ordstammen till processen att minska ord med olika suffix till deras rotord, som har en identisk betydelse (till exempel "connect", "connecting" och "connection"), som alla har samma rotord: "connect"). Target använder Snowball-stammen. Target utför automatisk språkidentifiering först, och kan stoppa ordborttagning för upp till 50 språk och härleda för 18 språk.
Skapa n-gram: Efter föregående steg behandlas varje ord som en token. Att kombinera sekvenser av variabler i en enda token kallas för att skapa n-gram. TargetAlgoritmer tar upp till 2 gram.
tf-idf-beräkning: Nästa steg är att skapa tf-idf-vektorer som återspeglar tokens relativa betydelse i objektbeskrivningen. För varje token/term t i ett objekt i, i en katalog D med |D| objekt, termen frekvens TF(t, i) beräknas först (antalet gånger termen visas i objektet i) samt dokumentfrekvensen DF(t, D). Det vill säga antalet objekt där token finns. Tf-idf-måttet är sedan
Target använder Apache Sparks tf-idf funktionsimplementering, som under huven hashar varje token till ett utrymme på 218 tokens. I det här steget tillämpas också den kundspecificerade attributförbättringen och nedladdningen genom att termfrekvenserna i varje vektor justeras baserat på inställningarna i kriterier.
Beräkning av likhet i objekt: Den sista likhetsberäkningen för objekt görs med en ungefärlig cosinuslikhet. För två objekt: A och B, med vektorerna tA och tB, definieras cosinus-likhet som:
För att undvika en betydande komplexitet när det gäller att beräkna likheter mellan alla N x N-poster har tf-idf vektorn trunkeras så att den bara innehåller sina största 500 poster och sedan beräknas cosinus-likheter mellan objekten med denna trunkerade vektorrepresentation. Detta tillvägagångssätt visar sig vara mer robust för likhetsberäkningar för gles vektor, jämfört med andra approximativa närliggande (ANN) tekniker, t.ex. lokaliseringskänslig hash.
Modelltjänst: Den här processen är identisk med samarbetsfiltreringstekniker för objektobjekt som beskrivs i föregående avsnitt.
Algoritmer är:
De senaste tilläggen i Target en serie rekommendationsalgoritmer är Recommended For You och en serie Cart-baserade rekommendationer-algoritmer. Båda typerna av algoritmer använder tekniker för samarbete vid filtrering för att skapa individuella objektbaserade rekommendationer. Sedan kan flera objekt i användarens webbläsarhistorik (för Recommended For You) eller användarens aktuella kundvagn (för kundvagnsbaserade rekommendationer) används för att hämta dessa artikelbaserade rekommendationer, som sedan sammanfogas för att utgöra den slutliga listan med rekommendationer. Observera att det finns många varianter av personaliserade rekommendationsalgoritmer. Valet av en flernyckelalgoritm innebär att rekommendationer är omedelbart tillgängliga efter det att en besökare har en webbläsarhistorik och rekommendationer kan uppdateras för att svara på den senaste besökarfunktionen.
Dessa algoritmer bygger på de grundläggande filtertekniker för samarbete som beskrivs i det objektbaserade rekommendationsavsnittet, men innehåller även hyperparameterjustering för att fastställa det optimala likhetsmåttet mellan objekten. Algoritmen utför en kronologisk delning av beteendedata för varje användare, och utbildar rekommendationsmodeller på tidigare data samtidigt som man försöker förutsäga objekt som en användare tittar på eller köper senare. Likhetsmåttet som ger optimalt resultat [Genomsnittlig precision] (https://en.wikipedia.org/wiki/Evaluation_measures_(information_retrieval?lang=sv) väljs sedan.
Logiken i modellutbildning och poängsättning visas i följande diagram:
Här följer information om de här stegen:
Indata: Detta är identiskt med CF-metoder (item-item collaborative filtering). Both Recommended For You och Cart-baserade algoritmer använder beteendedata, i form av visningar och köp av användare som samlas in när du implementera mål or from Adobe Analytics.
Modellutbildning:
Utbildningssteget beräknar flera typer av likheter med vektorer: LLR-likhet (här), cosinus likhet (definierad tidigare) och en normaliserad L2-likhet, definierad som:
Modelltjänst: Till skillnad från tidigare algoritmer där rekommendationer ska hanteras måste en enda nyckel för hämtning anges, följt av tillämpning av affärsregler, Recommended for You och Cart-baserade algoritmer använder en mer komplex körningsprocess.
De här processerna illustreras i följande bild, där en besökare har visat objekt A och köpt objekt B. Individuella rekommendationer hämtas med likhetspoängen offline som visas under varje objektetikett. Efter hämtning sammanfogas rekommendationerna med viktade likhetsresultat. I ett scenario där kunden har angett att tidigare visade och köpta artiklar måste filtreras bort, tar filtreringssteget bort A och B från listan med rekommendationer.
Algoritmer är:
Target innehåller popularitetsbaserade algoritmer för både de mest visade objekten och de främsta säljartiklarna på en webbplats eller uppdelade efter ett objektattribut eller en kategori. Popularitetsbaserade algoritmer rangordnar objekt baserat på det antal sessioner i vilka det objektet visades eller köptes under en given tidsram.
Alla dessa algoritmer kombinerar aggregerade beteendedata där det totala antalet sessioner där objekt visades och köptes registreras med upplösningar både varje timme och varje dag. Enskilda algoritmer hittar sedan de mest visade eller köpta objekten för kundens konfigurerade fönster för sökning.
Enskilda algoritmenheter är följande:
Algoritmen"nyligen visade" rekommendationer möjliggör anpassning av rekommendationer under sessioner. Den här algoritmen kräver ingen "modellutbildning offline". Istället Target använder den unika Besökarprofil för att upprätthålla en löpande lista över objekt som har visats under en given session och som kan visa dessa objekt i rekommendationer. På så sätt kan du uppdatera rekommendationer i realtid och personalisera nästa sida.
Med anpassade kriterier kan kunderna överför sina egna rekommendationer till Target, vilket ger stor flexibilitet och gör det möjligt att"ta fram en egen modell". Anpassade kriterier ersätter delen"offline-utbildning" i Item-Based rekommendationer, men fungerar på ungefär samma sätt som artikelbaserade rekommendationsalgoritmer under innehållsleveransfasen online, eftersom en enda nyckel används för att hämta rekommendationer och affärsregler/filter sedan tillämpas.