930 likes | 1.09k Views
Search Engines and Web Advertising. Antonio Panciatici ISTI-CNR. The Advertising market. Internet 2006: first half 2006 vs. first half 2005 (+18.9%). The Advertising market. Tecniche di Advertising. Flash Richiedono Flash Player Immagini GIFs animate, JPEGs Sponsored links
E N D
Search Engines and Web Advertising Antonio Panciatici ISTI-CNR
The Advertising market Internet 2006: first half 2006 vs. first half 2005 (+18.9%)
Tecniche di Advertising • Flash • Richiedono Flash Player • Immagini • GIFs animate, JPEGs • Sponsored links • Text Based Ads (Search-Based Advertising or Content-Targeted Advertising)
Our Focus • Search-Based Advertising: ogni volta che l’utente immette una query, il motore di ricerca mostra gli Ads più rilevanti nella pagina dei risultati • Le keywords contenute nella query vengono confrontate con quelle selezionate dall’advertiser • Content-Targeted Advertising: ogni volta che l’utente visita una pagina di contenuto (trigger page), il motore di ricerca mostra gli Ads più rilevanti nella pagina stessa • Il contenuto della pagina visitata viene confrontato con keywords selezionate dall’advertiser
Search-Based Advertising Keyword Advertisement Advertisements più rilevanti
Key Points • Punto di vista dell’advertiser • Quali keyword comprare (problema del matching) ? • Quanto pagare (problema del pricing) ? • Punto di vista del motore di ricerca • Come suggerire buone keyword (problema del matching) ? • Come far pagare le keyword (problema del pricing) ? • Come mostrare gli advertisers più rilevanti (problema del ranking) ?
Key Points • Se l’advertisement è rilevante il motore di ricerca guadagna, sia da un punto di vista economico sia dal punto di vista della credibilità • Se l’advertisement è rilevante aumenta la probabilità che anche l’advertiser guadagni
Il problema del matching • Il problema del matching varia in base al tipo di advertising che si adotta • Search-based Advertising • Content-targeted Advertising
Search-Based Advertising Advertisement = (Keywords, titolo, descrizione, URL) Query = (Search keywords, contesto) • Il processo di matching è keyword-driven
Search-Based Advertising Keyword Advertisement Titolo Descrizione URL Advertisements più rilevanti
Content-Targeted Advertising Advertisement = (Keywords, titolo, descrizione, URL) Query = (Triggering page, contesto) • Il processo di matching riguarda il contenuto di una pagina (molte keywords)
Search-Based Advertising • Problema principale: poche informazioni (sostanzialmente solo le kewords) • Ranking dipende anche da quanto hanno offerto gli advertisers
Content-Targeted Advertising • Problema principale: gap semantico • Linguaggi differenti (esempio bottiglia, bottle, contesti diversi) • Sinonimi • Matching approssimato ?
Algoritmi per il matching (Content-Targeted Advertising) • Impedance Coupling in Content-tergeted Advertising (Berthier Ribero-Neto, Paulo B. Golpher, Marco Cristo, Edleno Silva de Moura)
Impedance Coupling in Content-targeted Advertising • Due diversi insiemi di algoritmi • matching diretto tra il contenuto della pagina (trigger page) il testo dell’advertisement e le keywords associate • matching tra il contenuto della pagina arricchita con nuove keywords. Approccio giustificato dal fatto che spesso I vocabolari della pagina e dell’advertisement sono diversi (Vocabulary impedance)
Impedance Coupling in Content-targeted Advertising • Advertisement composto da un titolo, una descrizione e un URL • p trigger page • A insieme di advertisements ai • si vuole effettuare il ranking degli advertisements airispetto a p
Impedance Coupling in Content-targeted Advertising • Vector Space Model • Vettori dei pesi della query e del documento • q = (w1q,…,wiq,…,wnq) • dj = (w1j,…,wij,…,wnj) • wiq = peso associato al termine tinella query q • wij = peso associato al termine tinel documento dj • I pesi sono calcolati utilizzando tf-idf (prodotto term frequency, inverse document frequency) • (tf = importanza del termine nel documento, idf = rarity del termine nel documento)
Il ranking della query q rispetto al documento djè il seguente (cosine similarity formula) Impedance Coupling in Content-targeted Advertising
Impedance Coupling in Content-targeted Advertising • Primo algoritmo (AD) • Matching contenuto dell’ advertisement (titolo + descrizione) e il contenuto della trigger page AD(p, ai) = sim(p, ai)
Impedance Coupling in Content-targeted Advertising • Secondo algoritmo (KW) • Matching keyword (può essere composta da più termini) associate all’advertisement e il contenuto della pagina p KW(p, ai) = sim(p, ki)
Impedance Coupling in Content-targeted Advertising • Terzo algoritmo (AD_KW) • Molte volte le keyword scelte dall’advertiser sono presenti anche nell’advertisement. Si può usare questa informazione per migliorare AD. • Matching dell’advertisement e le sue keyword con il contenuto della pagina p AD_KW(p, ai) = sim(p, ai ki)
Impedance Coupling in Content-targeted Advertising • Quarto algoritmo (ANDKW) • Molte volte le keyword scelte dall’advertiser non sono presenti nella pagina p anche se l’advertisement può avere un rank alto. Si può pensare che la presenza delle keyword nella pagina p fornisca un indicatore della rilevanza dell’advertisement (le keyword danno una sintesi dell’advertisement) • Matching dell’advertisement forzando la presenza delle keyword nella pagina p sim(p, ai) se ki p ANDKW(p, ai) = 0 altrimenti
Impedance Coupling in Content-targeted Advertising • Quinto algoritmo (AD_ANDKW) • Matching dell’advertisement e delle sue keyword forzando la loro presenza nella pagina p sim(p, ai ki ) se ki p AD_ANDKW(p, ai) = 0 altrimenti Algoritmo migliore tra tutti quelli visti fino ad ora
Impedance Coupling in Content-targeted Advertising • Problemi • La trigger page appartiene ad un contesto più ampio di quello relativo all’advertisement • La correlazione tra l’advertisement e la trigger page può essere legato a topic che non compaiono esplicitamente nel contenuto della pagina
Impedance Coupling in Content-targeted Advertising • Il primo problema è dovuto al fatto che il contenuto delle pagine può riguardare qualsiasi argomento. L’advertisement è molto coinciso e mirato per sua natura • Il secondo problema è dovuto al fatto che molte volte gli advertiser scelgono keyword generiche che non coincidono con i termini specifici contenuti nella pagina (vino, chianti)
Impedance Coupling in Content-targeted Advertising • Algoritmi Impedance Coupling per ridurre i problemi esposti sopra • Idea di base: aggiungere nuove parole (termini) più generali alla trigger page • Per farlo analizza i vocabolari di documenti simili alla ricerca di termini generali che possano caratterizzare meglio il contenuto della pagina p
Impedance Coupling in Content-targeted Advertising Bayesian Network Model per determinare la probabilità che un termine ti sia un buon candidato a rappresentare il contenuto della pagina p
Impedance Coupling in Content-targeted Advertising P(Ti | R) probalità che il termine tisia un buon candidato a rappresentare il contenuto della pagina p R nodo nella Bayesian Network rappresentante la nuova pagina r (pagina p con nuovi termini) 0 ≤ ≤ 1 ( = 0 R = p) constante di normalizzazione wijpeso associato al termine tinel documento dj (dj documento simile a p) d0 = p
Impedance Coupling in Content-targeted Advertising • Si effettua il ranking dei termini ti in base alla loro bontà • ttop quello per cui vale maxtP(Ti | R) (quello con il rank più alto) • Aggiunge alla pagina p (trasformandola nella pagina r) tutti i termini per cui • P(Ti | R) / P(Ttop | R) ≥ (in questo caso = 0.05)
Impedance Coupling in Content-targeted Advertising • Sesto algoritmo (AAK_T) • Matching dell’advertisement e keywords solo rispetto al set e dei nuovi termini AAK_T(p, ai) = AD_ANDKW (e, ai)
Impedance Coupling in Content-targeted Advertising • Settimo algoritmo (AAK_EXP) • Matching dell’advertisement e keywords rispetto alla pagina estesa r (termini in p + termini in e) AAK_EXP(p, ai) = AD_ANDKW (p e, ai)
Impedance Coupling in Content-targeted Advertising • Ottavo algoritmo (H) • Matching della landing page dell’advertisement rispetto alla pagina p. Giustificato dal fatto che landing page (hyperlink della landing page hi) dell’advertiser descrive il target reale dell’advertisement H(p, ai) = sim (p, hi)
Impedance Coupling in Content-targeted Advertising • Nono algoritmo (AAK_H) • Combinazione di AD_ANDKW con H • Matching dell’advertisement, delle keyword, della landing page rispetto alla pagina p forzando la presenza delle keyword nella pagina p sim(p, ai hi ki) se ki p AAK_H(p, ai) = 0 altrimenti
Impedance Coupling in Content-targeted Advertising • Decimo algoritmo (AAK_EXP_H) • Combinazione di AD_EXP con H • Matching dell’advertisement, delle keyword, della landing page rispetto alla pagina p forzando la presenza delle keyword nella pagina p e sim(p e, ai hi ki) se ki p e AAK_H(p, ai) = 0 altrimenti
Impedance Coupling in Content-targeted Advertising • AAK_EXP_H ottiene i risultati migliori (tra tutti gli algoritmi), abbastanza naturale dato che utilizza tutte le possibili fonti di informazioni
Performance • Nel content-targeted advertising gli advertisements sono associati alle pagine quando le pagine vengono pubblicate • Tutte le informazioni (landing pages, triggering page, etc..) sono ottenute tramite page crawling, link crawling, sono ottenibili off-line • Gli advertisement che arrivano a run-time possono essere assegnati alle pagine già pubblicate in modo off-line • Se ne deduce che il problema della performance non è critico
Algoritmi per Search-Based Advertising • An Adaptive Algorithm for Selecting Profitable Keywords for Search-Based Advertising Services (Paat Rusmevichientong, David P. Williamson)
An Adaptive Algorithm for Selecting Profitable Keywords for Search-Based Advertising Services • Il problema: dato un budget giornaliero e una probabilità di click-through non conosciuta, fornire un algoritmo in grado di selezionare le keyword da acquistare in modo da massimizzare il guadagno medio • Punto di vista dell’advertiser
Supponendo di avere N keywords rappresentate dai numeri {1, 2, 3,…, N} Per ogni A {1, 2, 3,…, N} , sia ZA la variabile aleatoria (v.a) che indica il profitto che si ottiene se si seleziona l’insieme di keyword da A Sia = (A1, A2,…) una politica, cioè una sequenza di v.a. Atindica l’insieme di keyword che l’advertiser seleziona nel periodo t.At può dipendere dalle osservazioni al tempo t-1 Per tutti i T ≥ 1 quello che si vuole trovare è una politica = (A1, A2,…) tale che sia massimo: An Adaptive Algorithm for Selecting Profitable Keywords for Search-Based Advertising Services
An Adaptive Algorithm for Selecting Profitable Keywords for Search-Based Advertising Services • Alcune osservazioni • Il costo totale dipende dal numero di click • Massimizzare il guadagno, dato un certo budget, richiede la conoscenza della probabilità di click-through dell’advertisement associato ad una data keyword. • La probabilità di click-through non è conosciuta (si può determinare osservando il comportamento delle keyword per un dato periodo, però può avere un costo notevole) • La maggior parte degli algoritmi assume la conoscenza di una stima della probabilità di click-through
An Adaptive Algorithm for Selecting Profitable Keywords for Search-Based Advertising Services • L’approccio seguito dagli autori è quello di trovare un trade-off tra le keyword selezionate basandosi sulle performance passate, e le keyword selezionate tra quelle mai usate
An Adaptive Algorithm for Selecting Profitable Keywords for Search-Based Advertising Services • L’algoritmo parte dal caso in cui si conosce la probabilità di click-through e poi fornisce anche una tecnica che elimina questa restrizione • Noi vedremo solo il caso in cui si conosce la probabilità di click-through, il modello che definiremo in realtà vale per entrambi i casi
An Adaptive Algorithm for Selecting Profitable Keywords for Search-Based Advertising Services • Modello: • Spazio di probabilità (, F, P) • N keyword{1, 2, 3,…, N} • Per ogni t ≥ 1 sia St una v.a rappresentante il numero totale di search query arrivate nel periodot • S1 , S2, … sono indipendenti ed identicamente distribuite con media 1 < < ∞ • Supponiamo di conoscere St
An Adaptive Algorithm for Selecting Profitable Keywords for Search-Based Advertising Services • Modello (continua): • In ogni periodo, le query arrivano in modo sequenziale ed ogni query può essere una delle N keyword{1, 2, 3,…, N} • Per ogni t ≥ 1 er ≥ 1 sia Qtruna v.a rappresentante la keyword associata alla query r arrivata nel periodot • Qtrsono indipendenti ed identicamente distribuite e P{ Qtr = i } = icon i {1, 2, 3,…, N} ei =1 • Supponiamo di conoscere i
An Adaptive Algorithm for Selecting Profitable Keywords for Search-Based Advertising Services • Modello (continua): • Il budget in ogni periodo è 1€ (non si perde di generalità) • pi probabilità di click-through per keyword i {1, 2, 3,…, N}, con0 pi 1 • ci (CPC) cost per click • Supponiamo di conoscere ci rimane costante • iguadagno per click con la keyword i • Supponiamo di conoscere i rimane costante
An Adaptive Algorithm for Selecting Profitable Keywords for Search-Based Advertising Services • Modello (continua): • Atindica l’insieme di keyword che l’advertiser seleziona nel periodo t • BrAt budget rimanente al periodo t quando la query r viene immessa e l’advertiser ha scelto di selezionare le keywords in At • Xtrivariabile aleatoria di Bernulli con parametro pi (probabilità di click-through) P{Xtri = 1} = pi • Per ogni i con t ≥ 1 er ≥ 1 vale cheXtri sono indipendenti ugualmente distribuite • Xtriindipendenti dall’arrivo delle query
Dato il modello visto si ha che An Adaptive Algorithm for Selecting Profitable Keywords for Search-Based Advertising Services • 1(.) funzione indicatrice • i At (l’advertiser effettua un offerta sulla keyword i all’inizio del periodo t) • Qtr = i (la query r-esima corrisponde alla keyword i) • BrAt ≥ ci (c’è abbstanza budget per pagare il costo della keyword i se l’utente va sull’advertisement) • Xtri = 1 (l’utente effettivamente va sull’advertisement)
Supponendo di conoscere pi il problema diventa (static binding problem) An Adaptive Algorithm for Selecting Profitable Keywords for Search-Based Advertising Services • Non è più dipendente dal tempo ! • S numero di query • BrA budget rimasto quando la query r-esima viene immessa e l’advertiser ha scelto di selezionare le keywords in A • Xrivariabile di Bernulli (indica se l’utente va sull’advertisement relativo alla keyword i durante l’arrivo della query r-esima)