You are currently viewing the "Outline" mode of a pure HTML presentation developed using S5. This presentation can be downloaded in it's entirty as a single zip file.

To view the presentation as a slide show, you can click the ± in the upper right hand corner of the page. To control the slideshow, mouse over the lower section of the screen to make the HUD controls visible, or hit space to advance the slides.

This help text will be hidden when printing this presentation.

Domain Driven Boosting & User Driven Biasing

Chris Hostetter

Apache Lucene/Solr SFBay Meetup

2012-06-26


http://people.apache.org/~hossman/

http://lucene.apache.org/solr/

Boosting & Biasing

Classical IR algorithms aren't the end all be all

Examples For Today

Domain Driven
Boosting

In the Dark Ages

  • Search & Score
  • Filter (With Retry)
  • (Default) Sort

Battle axe medieval created by Stefanvon Halenbach, available under Public Domain.

Trivial Example

q = the user input

vs.

q = +(the user input) suck:false^0.2

Real World Example (Ancient)

q = +(the user input)^100 (*:* -cat:(7, 9, 23))^5 rating:[4 TO *]^3 rating:[7 TO *]^10 popularity:[* TO 1000]^5

Real World Example (Today)

qq = the user input q = {!boost b=$b v=$qq} b = div($good,price) good = mul(rating,popularity,cat_weight))

User Driven
Biasing

Prerequisites

Simple Example: Sam

q = {!boost b=$b v=$qq} b = mul(query($pref),pow($diff,$diffs)) pref = cat:laptop diff = div(1,price) diffs = 0.72

Simple Example: Sally

q = {!boost b=$b v=$qq} b = mul(query($pref),pow($diff,$diffs)) pref = mfg:Apple diff = recip(ms(NOW,proddate),3.16e-11,1,1) diffs = 0.72

Cool Idea: Sweet Spots

Thanks to Code Cogs for the equation SVG file (source)

Graph generated using this gnuplot file.

Sweet Spot Example

Recently clicked on $1000-1200 price facet

q = {!boost b=$b v=$qq} b = div(1,sqrt(sum(1,$mult))) mult = mul($s,sub(sum(abs(sub($bias,$min)), abs(sub($bias,$max))), sub($max,$min))) bias = price min = 1000 max = 1200 s = 0.08

In Conclusion