throbber
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
`
`U5006366910B1
`
`(12)
`
`United States Patent
`
`US 6,366,910 B1
`(10) Patent N0.:
`
`(45) Date of Patent: Apr. 2, 2002
`Raj araman et al.
`
`(54)
`
`(75)
`
`MlC’l‘HOI) AND SYSTEM FOR GENERATION
`OF HIERARCHICAL SEARCH RESULTS
`
`6,029,195 A *
`(1,038,560 A "
`6,195,652 Bl
`*
`
`2.!2000 Hera.
`3,?20011 Wical
`232001 Fish
`
`
`
`T09i219
`WINS
`'ifl't'i’l
`
`Inventors: Anand Rajaraman, Seattle; Nigel
`Green, Bellevue, both of WA (US)
`
`‘ cited by examiner
`
`(73)
`
`Assignm: Amazoncum, Inc, Seattle, WA (US)
`
`( *J
`
`Notice:
`
`Subject to any disclaimer, the term of this
`patent is extended or adjusted under 35
`USC. 154(b) by 0 days.
`
`(21)
`
`(22
`
`(51)
`(52)
`(58)
`
`(56)
`
`App}. No: 09i206,774
`
`Filed:
`
`Dec. 7, 1998
`
`Int. CL?
`
`Field of Search
`
`(1MP 1730
`
`70725
`
`References Cited
`
`U.S. PATENT DOCUMENTS
`
`5,062,074 A * 10f1991 Kleinherger
`5,251,131 A * 102’1993 Massand et al.
`5,442,778 A *
`Silt-J95 Pcdetscn et at.
`5,483,725 A *
`111996 Turtle etal.
`$322,418 A *
`3,0998 Bro
`5,?8?,422 A "
`?f1998 ‘l‘ukeyclal.
`5,802,493 A *
`9,0998 Sherfinttetal.
`5,835,905 A * 11,0998 Pirolli et al.
`5,849,409 A * 12!]sz Ahn
`5,39?,638 A *
`4.!1999 lesser et a].
`3,920,854 A "
`"#1999 Kirsch et at.
`1981460 A "
`IUI999 Niwa etat.
`ti,{l]l.8t52 A *
`”2000 Doi ct al.
`
`..
`..
`
`707.35
`704i!)
`..
`. TDWS
`
`707.5
`
`. 128i732
`
`NW5
`705M
`701%
`aorta
`T010022
`TIW3
`rows
`382.3132
`
`
`
`
`
`
`Primary Exmnim’r—Wayne Amsbury
`(74) Attorney, Agent, or Firm—Perkins Coic [JP
`
`(57)
`
`ABSTRACT
`
`A method and system for querying hierarchically classified
`data. The system first receives a query request and then
`identifies classifications of the data that may satisfy the
`received query request. The system then displays the iden-
`tified classifications. In response to selection of a displayed
`classification, the system displays sub-classifications when
`the selected classification has sub-classifications and dis-
`plays the data within the classification when the selected
`classification has no sub-classifications. In another aspect,
`the system generates search results for items that are hier—
`archically classified. l-‘or classifications within the hierarchy
`of classifications, the system generates a search entry con-
`taining terms describing the items within that classification.
`The system then receives a search criteria. The system
`Selects as initial search results those search entries whose
`terms most closely match the received search criteria. The
`system then adjusts the initial search results based on the
`hierarchy of classifications. This adjustment may include
`removing subclassifications ofa classification that is in the
`initial search results or adding a parent classification to
`replace multiple child classifications in the initial search
`results.
`
`59 Claims, 17 Drawing Sheets
`
`202
`
`20?
`
`GPS Index Builder
`GPS Search Engine
`
`
`
`
`
`
`Priority
`Descriptor
`
`Browse Tree
`tieseriptor
`
`GPS Hierarchical
`IJisplayer
`
`ELASTIC - EXHIBIT 1005
`
`ELASTIC - EXHIBIT 1005
`
`

`

`US. Patent
`
`Apr. 2,2002
`
`Sheet 1 of 17
`
`US 6,366,910 Bl
`
`hapsm
`
`.611: new. shaming am; make:i1. eugm find an: camp-mpmafmts From 3 mpg afmschm a... 6% mm.m
`-- 3m”: mammmg$333113 for, we Sake Sm: M- the merchant's m: 35:81“ goutmud-mass We‘w''p'm‘y idst
`'begsmw bulk! Shop tin Web. If a Mathew-n. we yam. to hat; you Em!itWe 9H6 your.:MiL-
`Ila snipe :his'
`
`

`

`U.S. Patent
`
`Apr. 2,2002
`
`Sheet 2 of 17
`
`US 6,366,910 B1
`
`$213301}.me
`
`-
`
`.
`”M
`
`
`
`{Er kewdié) shitsw 1 1 1
`
`
`
`" m mam-mmm, mgo'rimasid's'ubcmm
`mflsfineé matches forqu Wwdfii fiiiirt's‘; Cfick «Ming
`Idol»: balmy w gat-a'is‘f'sfgetéésiots Mmmhym'gkwoifi
`
`I fimr fiaamh Mi ymaum was: its;
`
`
`
` fireman?
`tha-,1:
`Efflfii’gflfl-
`
`
`
`

`

`U
`
`t
`
`r._PA
`
`mm2:
`
`m
`
`US 6,366,910 B1
`
`mom
`
`2538%bozo
`
`
`
`ULumflmmaQ.mEEE2o0%wwwa
`3frpm
`
`brain
`
`Bitumen
`
`Smom
`
`mom
`
`maama@030
`
`m.uE
`
`VON
`
`38am
`
`actoh
`
`wmmUm-Pcom
`
`QMnowNon
`
`
`
`2&5”:83mwas5?:523m5?:mmO
`
`5m
`
`8.69m
`
`mn—
`
`
`
`
`

`

`US. Patent
`
`2mfl
`
`nf04whS
`
`US 6,366,910 B1
`
`
`
`a”.23:9»SchM(ls/Ixx0330“imammzmbm=<:«=~bms<ova
`
`
`
`
`
`Hm
`
`6%:coo28m
`
`
`
`{Ls/K:naam238m:32swam:nmmflm
`
`
`
`
`
`(Ix/Kx0330233mPESN302u:m_muNBoZovmMm
`
`BEES55H
`
`
`
`
`5ME
`
`
`
`0wowflufih.flea/GHQ;
`
`
`
`
`
`
`
`con.5me5355fame“..COnoflmnflmofluEaZowufion—zmOHBNUn:
`
`
`
`
`
`
`
`
`

`

`US. Patent
`
`mm2,
`
`HM5mS
`
`US 6,366,910 B1
`
`hwva
`
`moan—“:0mmomWtwang..535Aufiwfiopdfl
`
`
`
`I.I.D—Om
`
`
`
`3mm8:2:08a:$8EE
`
`3ME
`
`
`
`
`
`{PK05mg?«03:538fin3
`
`
`
`
`
`
`
`cos.58D3on25.2wqfima;H.:5:onofioasm03wan:
`
`2anEEQAE
`
`
`

`

`U
`
`tnet
`
`2mfl
`
`h
`
`U
`
`US 6,366,910 B1
`
`amutOmwuuBfiPa.3520
`
`
`
`CMm.~23me
`
`SI
`
`(0ENmo
`
`fEu?0330
`
`O
`
`
`
`7”.0393m.$5503Amm
`
`flum
`
`952
`
`33%?
`
`V.uR
`
`
`

`

`US. Patent
`
`Apr. 2, 2002
`
`Sheet 7 0f 17
`
`US 6,366,910 B1
`
`Browse Tree
`
`Pare
`TableNa
`
`n1
`meStem
`
`_-——————
`2
`Electronics
`.I'clectronicsa'elcctro
`lelaolronicsfbmw
`Iimgl'electron
`fimg’hesd_eleotr
`EUICT
`
`nicshtml
`semelec.propertie
`ics_il:on. gif
`onicsgil‘
`RONICS
`3
`
`DisplayNeme
`
`Name
`
`
`
`URLAlias
`
`
`
`Confi gFiie
`
`Image
`
`Tillelmage
`
`
`
`
`
`_ _—_—
`Computer
`Computer
`foomputersfcompu
`fmmpuicm’bmw
`fimg’compul
`fimg/headwcomp
`COMPU
`Hardware
`Hardware
`tershlrnl
`se_ccmpulers.pro
`er_ioorL gif
`utengif‘
`TERS
`
`
`
`
`
`Boating
`and
`waters n u-
`Cycling
`
`5
`
`limiting and
`i?E
`
`Cycling
`
`
`
`
`
`’1 k cruiseff
`Iimgfhcsdjravel
`_pack _hoaimg 31
`1‘
`Ifingfhead_mvel
`_peck_cycl|ng gl
`1'
`
`fimgfhesdj‘avel
`_pack_hiking.gif
`
`
`
`
`
`
`
`237
`
`
`
`
`
`
`
`
`
`
`“-- mvearmvclmm
`fimg’hcaijrsveI.
`TRAVE
`a'traveb'browsej
`Iimgl'trsvelj
`_. l'
`LS
`avel.
`. mics
`conuf
`
`
`
`
`Packaged
`Packaged
`flrwclflrowsgfla
`Jimgfllcadjravcl
`mavel’browse_tr
`Iimga'trsvel 1i
`
`
`
`
`Travel
`Travel
`wl.html
`-
`we]. . enies
`can 91'
`.m-if
`,.
`
`Beach and
`Beach and
`ftravwresultsjav
`fimgfhced_tmvcl
`Jimgitravelj
`
`
`resorts
`resorts
`el.hlmi
`con-Lu?
`sck beach-T
`rt:avel’results_tra
`JimgltreveLi
`a‘trweh’resullLtraV
`Cruises
`Cruises
`
`vel. .. o -ertie5
`eon. -'f
`el.hlml
`
`
`{traveL'resulterav
`{travelr'resultera
`fimgr’tmvcl _i
`
`
`c|.hlrnl
`vehproperlies
`Don. gif
`
`flravelfresults_trav
`hmvelu’results_tra
`JhngI'u'aVeLi
`cl.hlml
`velpropenies
`con. gif
`
`
`
`
`
`
`
`
`
` Hiking.
`
`Hiking.
`climbing and
`trekking
`
`firsveb'resultsjav Maveb‘resnltst
`el.h1rn[
`vehpmperties
`
`climbing
`and
`mkkin
`——_——
`Toysand
`'l‘oys and
`fioys’ioyshlml
`MysfbrowaeJoy
`Ihngl'toysje
`Jimgfhesdjuysg
`TOYS
`Games
`Games
`5. -r » . erLies
`on. if
`smcs. : if
`
`Clothing
`and
`Accessories
`Men's
`
`I Apparel
`
`272
`
`34
`
`Clothing and
`Accessories
`
`fapparellapparelhl
`ml
`
`Men's Apparel
`
`Men's Shirts
`
`fapparelfbrowsc}
`
`pparel_men.hl.m]
`
`fapparelfbruwsej
`ppsrci_men_shirts.
`111ml
`
`fappare]fbmwse_
`sppareLpropc-rtic
`3
`lapparclr’brflwse_
`- flies
`lapparelfbrowse_
`apparel_men_si1i
`I13. -r- nerties
`
`apparcl_mn.pro
`
`_ioongif‘
`
`nggif
`
`APPAR
`EL
`
`Fmg/apparel
`
`__ioon.gif
`
`fm1gfsppare]
`_ioorLg'if
`
`Jimgfhead_clotl|i
`
`ng_men.gjf
`
`Iimghead_clothi
`ng_men_shi.fls.gi
`f
`
`
`
`
`ng_meu_shi.rl_to
`s. : 'f
`
`limg/headflclothi
`ng_men_shir1_le
`_ioon.gif
`pparelpropcrtics
`parel.html
`fl
`es. 'f‘
`
`
`27“.!
`
`Tees
`
`Men's T—shirls
`
`fapparelfresullsgp
`
`rapparclfresullx_s
`
`fimgfapparel
`
`pml.html
`
`pparclproperties
`
`_ioon.gif
`
`Fig. 5A
`
`

`

`US. Patent
`
`Apr. 2, 2002
`
`Sheet 8 0f 17
`
`US 6,366,910 B1
`
`2036
`
`272
`
`Polo and
`henley shirts
`
`Men's Polo
`and herdey
`shirts
`shirts
`
`{apparela’result
`J'apparelfresults
`Igappamlhtm _appml.propei'
`ties
`s_apparel. htm _appa.rel.proper
`ties
`
`iimgfappm‘e
`i_icon.gif
`
`l__icon.gif
`
`fimgfhead_clo
`thing_men_5h
`ifl. u_10.if
`filing_men_sh
`in shirtif
`limgfhead_c10
`fimgr‘appare
`fapparelfbrow
`thing_men_pa
`l_imn.gif
`_
`_
`se_appa.rel_m
`' nt_shorts.gif
`
`
`
`ens gif
`
`'
`lapparelfresults
`.
`_'
`_apparel.proper
`
`tics
`fappmellrcsults
`_apparel.proper
`‘
`fapparelfrcsults
`fiapparelproper
`
`'
`
`'
`
`.
`
`'
`_'
`
`Jungiappare
`1_icon.gif
`
`
`
`Women'5
`Apparel
`
`Women's
`Apparel
`
`fapparela’brow
`se_apparel_w
`omenhtml
`
`iappareli'brows
`evappamen
`men. n o . flies
`
`
`
`2957
`
`279
`
`Taps
`
`2058
`
`279
`
`Tees
`
`Women's
`Tops
`
`Women's T-
`shins
`
`2059
`
`279
`
`Polo and
`henley shirts
`
`Polo and
`
`.
`
`.
`
`u
`
`_
`
`{apparellresults
`_appa.rel.proper
`lies
`lapparellreaulis
`"apparelpmper
`ties
`Iappamla’msults
`{apparel/result
`s_apparel.htm _apparel_pmpa
`ties
`
`'
`l_iconigif
`
`fimga‘appare
`]_icon.gif
`
`'
`_'
`
`.
`
`'
`
`Iimgfhead_cln
`thing_men_pa
`nt khalds.,if
`fimgfhlldjiu
`thing_men_pa
`nt ’wns-_'f
`IimgfhmcLclo
`Lhing_men_pa
`
`{imgfhcad_clo
`flifiiqumen
`_shj11$. gif
`
`Iimgfheaiclo
`thing_women
`shirt to s.-if
`Iimgr'head_clo
`diing_womcn
`shit! icesif
`fimgfheachlo
`Ihmg_\m}men
`mshifl_polo.gi
`
`2060
`
`Dress shirts Womens
`and blouses
`
`__
`
`.
`
`IappamL’tesults
`"apparelproper
`
`fimglapparc
`l_icon.gif
`
`fimg/hmd_cio
`thing_mmen
`
`287
`
`36
`
`Men's
`
`Men's
`Shoes
`
`{apparelfbrow
`se_appa.rel_sh
`oeshtml
`
`iappamlfbrows
`e_appa.re_i_shoc
`5mm .. es
`
`limyapparc
`l_icon. gif
`
`__
`
`_
`
`cw
`_
`
`_
`
`.
`
`'
`
`_
`
`l_icon.gif
`
`thing_shocsgi
`
`limgfheadjlo
`'
`_shoe_m
`
`

`

`US. Patent
`
`Apr. 2, 2002
`
`Sheet 9 of 17
`
`US 6,366,910 B1
`
`
`
`2085
`
`287
`
`Shoes
`
`Men's
`Shoes
`
`2086
`
`28?
`
`Boots
`
`2087
`
`287
`
`Athletic
`
`2088
`
`237
`
`Sandals
`
`2089
`
`287
`
`Hiking and
`outdoor
`
`288
`
`36
`
`Women's
`
`Men‘s
`Boots
`
`Men's
`Athletic
`
`Men's
`Sandals
`
`Men's
`Hiking and
`outdoor
`Womm's
`Shoes
`
`ties
`
`Jimga‘apparc
`l_icon.gif
`
`fimgz‘apparc
`l_icon.gif
`
`fimgfappare
`1_icon.gif
`
`limgm‘fldflo
`thingwshogm
`shoes.if
`limgfllcadjlo
`thing_shoc_rn
`on boo-13.1"
`Iimgfheadjlo
`thing‘shogrn
`on athletic.if
`
`ffinglappare
`1_icon.gif
`
`{immeadjlo
`thing_Shoe_m
`on sandals.if
`fimgmeadflclo
`thing_shoc_m
`en '.' c._if
`limgfapparc Ximgflteadjlo
`1_ioon‘gif
`thing_shoe_w
`
`fimglappare
`1_icon.gif
`
`lappaxelfrcsults
`lapparcllrcsult
`sqappamlhtm _appare1.proper
`1
`lies
`lapparcllrcsull
`lapparclfrcsults
`s_apparel.htm _appa.re1.proper
`l
`ties
`{apparellresult
`{apparclr’rcsuits
`s_appawl.htm _appamliproper
`1
`time
`
`lapparellresults
`fapparelfresult
`s_apparel.htm _apparel.proper
`l
`lies
`iappm’ellresult
`lapparellresults
`s_appaml.htm _apparcl.propcr
`l
`ties
`{appamllbrow
`lapparcb'brows
`se_apparel_sh
`e_apparel_shc—e
`oc_women.ht
`_womcn.proper
`ml
`ties
`
`Iapparel/restflts
`Iappareljrewlt
`s_apparel.htm _appa.rel.proper
`I
`
`Fig. 5C
`
`

`

`U.S. Patent
`
`Apr. 2, 2002
`
`Sheet 10 01‘17
`
`US 6,366,910 B1
`
`Priority Descriptor
`
`
`
`descfipfionlcaiegoryjsubcategoryi
`
`
`11cmmelbrandfnamelstore
`descriptionlcategorylbrandtnamel
`storclplatfonnlcpu"typcl
`
`
`
`
`
`
`_W“m
`
`
`I—_—'
`
`uri: (1:513 . ovider
`
`I__lull-ilern 1: brand name store
`I__I.Illl-
`item pebrand name store
`
`epumanufacturer|Cpu_speed
`
`Fig. 6
`
`

`

`U.S. Patent
`
`Apr. 2, 2002
`
`Sheet 11 0f 17
`
`US 6,366,910 B1
`
`Special Terms
`
`
`
`
`
`[IE-__—
`
`
`_———
`-——_
`————
`
`
`__—
`——-—_—
`"__—
`————
`_—
`—_—_
`-—__
`-———
`_-E—__
`—I:om—--
`_—
`-—__
`-_——
`-—-_
`__—_
`“__—
`-——-
`-_—-
`-——_
`_—_—_
`_——_
`-——_
`__—
`-——_
`-——_
`-_——
`__1_-—
`-—m—
`-——_-
`_——_
`_——_
`-_——
`__——
`__—_
`-—__
`-—__
`_—__
`-———
`-—__
`__—__
`_——_
`
`
`-_—_
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`
`

`

`US. Patent
`
`Apr. 2, 2002
`
`Sheet 12 of 17
`
`US 6,366,910 BI
`
`
`
`Pom
`
`ESP—L
`
`om=£m
`
`
`
`mtEm9:02:93..<$32
`
`
`
`2amcamtoaiaoa40330
`
`
`
`“:9:963..Sm5%2am
`
`83>B
`
`H
`
`o
`
`N
`
`M
`
`Coflm
`
`a3m
`
`“WEE.SSH
`soumofim30
` INDH
`
`ohm
`
`mum
`
`wmom
`
`omom
`
`m
`
`e.
`
`C\
`h
`
`New
`
`5?:
`
`$63
`
`hB I2“aN35%
`
`BE..<
`
`
`
`
`

`

`US. Patent
`
`Apr. 2, 2002
`
`Sheet 13 0f 17
`
`US 6,366,910 B1
`
`GPS Index
`
`Builder
`
`Add entries to
`classifications
`
`901
`
`902
`
`Add entries for good
`terms
`
`903
`
`Add entries for bad
`terms
`
`904
`
`Select next dept table
`
`
`
`all dept
`tables already
`
`
`selected?
`
`
`
`Add dept table to
`term table
`
`Fig. 9
`
`90?
`
`Create term index table
`
`

`

`US. Patent
`
`Apr. 2, 2002
`
`Sheet 14 0f 17
`
`US 6,366,910 B1
`
`Add Dept table
`to Term Table
`
`(dept table)
`
`
`
`Select next item in dept
`table
`
`1001
`
`1003
`
`Collect priority 2 terms
`
`
`
`1005
`
`Collect priority 3 terms
`
`1006
`
`Update priority 3 entry
`
`Fig. 10
`
`1004
`
`Update priority 2 entry
`
`
`
`
`
`
`
`

`

`US. Patent
`
`Apr. 2, 2002
`
`Sheet 15 0f17
`
`US 6,366,910 B1
`
`
`
`GPS Search
`Engine
`
`
`
`
`
`(query, result)
`
`1101
`
`Submit query (result)
`
`
`
`
`
`
`
`
`
`
`
`
`
`1102
`
`Prioritize scores
`
`
`
`1103
`
`Select next dept
`starting from first
`
`all dept
`already
`selected?
`
`1105
`
`Traverse
`(root, false)
`
`Fig. 11
`
`

`

`
`
`
`
` Ancestor in
`
`result?
`
`1202
`Remove from result
`
`US. Patent
`
`Apr. 2, 2002
`
`Sheet 16 01'17
`
`US 6,366,910 B1
`
`Traverse
`
`(classification,
`ancestor in result)
`
`
`
`
` Classification in
`
`
`result?
`
`Set ancestor in result
`
`
`
`
`
`classification
`already
`
`selected?
`
`
`
`
`
` sufiicient
`Traverse (selected
`clasmfication
`children in
`
`result?
`ancestor :11 result)
`
`
`
`
`
` 1209
`
`add password
`classification to result
`
`
`
`
`remove child
`classifications from
`
`result
`
` Fig. 12
`
`

`

`US. Patent
`
`Apr. 2, 2002
`
`Sheet 1? 01‘17
`
`US 6,366,910 B1
`
`GPS
`
`Hierarchical
`
`
`Displayer
`
`Input Query
`
`1 301
`
`1302
`
`
`
`
`
`
`
`Invoke GPS search
`
`engine
`
`1303
`
`Select next dept with
`highest score
`
`
`
`all dept
`already
`selected?
`
`
`
`
` Select next entry for
`highest score
`
`selected dept with
`
`
`all entries
`already
`
`selected?
`
`
`Display entry name
`
`1308
`
`Fig. 13
`
`

`

`US 6,366,910 B]
`
`1
`METHOD AND SYSTEM FOR GENERATION
`OF HIERARCHICAI. SEARCH RESULTS
`
`TECHNICAL FIEI .D
`
`The present invention relates to generating search results
`and, more particularly,
`to generating search results for
`hierarchically organized data.
`
`BACKGROUND OF THE INVENTION
`
`Many search tools are available to provide searching
`capability for a collection of data. For example, search tools
`are available to search for documents that may contain
`information related to a particular search criteria. Such
`search tools typically create an index of the words within
`each document. When the search criteria is received, the
`search tools scan the index to deten'nine which documents
`contain the words of the search criteria. The search tools
`may also rank these documents based on various factors
`including the frequency of the words of the search criteria
`within the document or the presence of a word ofthe search
`criteria within the title of the document.
`
`In the emerging field of electronic commerce, many
`thousands of products are available to be purchased elec-
`tronically. For example, an online retailer may ofier for sale
`electronic devices, major appliances, clothing, and so on.
`The difficulty a potential purchaser faces is identifying a
`particular product that satisfies the purchaser's needs. Some
`online retailers provide a search tool that receives a search
`criteria from a potential purchaser and searches a database
`containing information for each of the available products to
`identify those products that most closely match the search
`criteria. For example, a potential purchaser who is interested
`in purchasing a television may enter the search criteria of
`“1v.” The search tool may identify every TV, but may also
`identify items such as video game players and VCRs that
`happen to use the term “tv” in their description fields in the
`database. Thus, many products that are of no interest to the
`potential purchaser are identified. Many potential
`purchasers, when faced with such a list that includes many
`products that are of no interest will simply shop elsewhere
`rather than wade through the list. Other online retailers may
`hierarchically organize the products so that
`a potential
`purchaser can browse through the hierarchy to identify the
`classification that contains products that are most likely of
`interest. For example, the potential purchaser may select an
`electronics device classification, a home electronics sub-
`classification, and a television sub-sub-classification. The
`hierarchical classification 01. products has several problems.
`First, many users of computer system do not fully under-
`stand the concept of' hierarchical classifications. Thus, it is
`difficult for such users to use such a classification—based
`system. Second, products may not fall conveniently into any
`one classification. For example, a combination VCR and
`television could be classified as a VCR or a television. It is
`unlikely that an onIine retailer would have a separate clas-
`sification for such a combination. Therefore, a potential
`purchaser may not even be able to locate the products of
`interest using a hierarchical classification system.
`It would be desirable to have a product search technique
`that would combined the advantages of the search systems
`and the classification-based systems and that minimizes their
`disadvantages.
`SUMMARY OF THE INVENTION
`
`Embodiments of the present invention provide a method
`and system for querying hierarchically classified data. The
`
`ID
`
`15
`
`25
`
`3f]
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`2
`system of the present invention first receives a query request.
`The system then identifies classifications of the data that
`may satisfy the received query request. The system then
`displays the identified classifications. In response to selec—
`tion of a displayed classification, the system displays sub—
`classifications when the selected classification has sub-
`classifications and displays the data within the classification
`when the selected classification has no sub-classifications.
`
`In another aspect, the present invention provides a system
`that generates search results for items that are hierarchically
`classified. For classifications within the hierarchy of
`classifications, the system generates a search entry contain-
`ing terms describing the items within that classification. The
`system then receives a search criteria. The system selects as
`initial search results those classifications whose search entry
`has terms that most closely match the received search
`criteria. The system then adjusts the initial search results
`based on the hierarchy of classifications. This adjustment
`may include removing sub-classifications of a classification
`that
`is in the initial search results or adding a parent
`classification to replace multiple child classifications in the
`initial search results.
`
`BRIEF DESCRIPTION OF THE. DRAWINGS
`
`FIGS. 1A and 1B illustrate an example user interface for
`one embodiment of the present invention.
`FIG. 2 is a block diagram illustrating components of one
`embodiment of the GPS system.
`FIGS. 3A and 3]? illustrate example contents of a travel
`table and of an apparel table.
`FIG. 4 illustrates a hierarchical organization of the items
`in the apparel table of the product database.
`FIGS. 5A, SB, and 5(? illustrate an example organization
`of the browse tree descriptor file.
`FIG. 6 illustrates the contents of a sample priority descrip-
`tor file. The priority descriptor file contains an entry for each
`department represented in the product database.
`FIG. 7 illustrates example contents of the special terms
`file.
`FIG. 8 illustrates the contents of the GPS index.
`
`FIG. 9 is a flow diagram illustrating an example embodi-
`ment of the GPS index builder.
`
`FIG. 10 is a flow diagram of an example routine to add a
`department table to the term table.
`FIG. 11 is a [low diagram of an example implementation
`of the GPS search engine.
`FIG. 12 is a flow diagram of an example implementation
`of the traverse routine.
`
`FIG. 13 into flow diagram of an example implementation
`of a GPS hierarchical displayer routine.
`DETAILED DESCRIPTION OF THE
`INVENTION
`
`Embodiments of the present invention provide a method
`and system for general purpose searching ("GPS"). The GPS
`system allows a user to search for items that best match a
`search criteria. To facilitate the searching, the GPS system
`groups the items into a classification hierarchy. For example,
`if the items are articles of clothing, then classifications may
`be “shirts," “pants," and “shoes,” and subclassificat ion of
`“shirts" may be “T—shirts,” “casual shirts,” and “dress
`shirts." The GPS system inputs a search criteria from a user,
`searches for the classifications of items that best match the
`search criteria, and displays those classifications in an order
`
`

`

`US 6,366,910 B1
`
`3
`based on how well they match the search criteria. In one
`embodiment, the GPS system displays only the best match-
`ing classifications of items, rather than displaying informa-
`tion about any individual items. The user can then select a
`displayed classification to view the sub—classifications
`within that classification or, if that classification has no
`sub-classification, the items within that classification.
`When the GPS system inputs a search criteria, it scores
`each classification in the classification hierarchy to indicate
`the degree to which the classification contains items that
`match the search criteria. For example,
`the GPS system
`would generate a score for each ofthe “shirts," “pants," and
`"shoes” classifications and for each of the “T-shirts," “casual
`shirts," and "dress shirts" sub—classifications. The GPS sys—
`tem then selects those classifications or sub-classifications
`with the highest scores and displays them in order based on
`their score. Because users often find it dillicult to interface
`with hierarchically presented information, the GPS system
`in one embodiment displays the names of the selected
`classifications with no indication ofwhere the classifications
`are within the hierarchy. For example, if the classifications
`of “dress shirts" and “shoes" have the highest scores, then
`the GPS system may simply list the classification names as
`follows:
`dress shirts
`shoes
`
`If the user then selects “shoes," the GPS system displays the
`sub-classifications of "shoes." If the user, however, selects
`"dress shirts,” then the GPS system may display a descrip-
`tion of each dress shirt.
`Since the GPS system scores each classification within the
`hierarchy, various parent and child classifications and more
`generally various ancestor and descendent classifications
`may have high scores. For example, both the “shirts"
`classification and the "dress shirts" sub-classification may
`have high scores. In one embodiment, the Gl’S system does
`not display any descendent classifications of a displayed
`classification. For example, if the GI’S system selects to
`display the classification "shirLs," then it does not display its
`sub-classification of "dress shirts,” regardless of the score of
`the sub-classification. The user can always select the dis-
`played ancestor classification to view the descendent clas-
`sifications.
`in some situations, a parent classification may
`have a relatively low score, but many of its child classifi-
`cations may have a high score. In such a situation, the GPS
`system may display the parent classification rather than
`displaying each child classification. For example, if the
`"shirts" classification has a relatively low score, but
`the
`"'l"-shirts" and "dress shirts" sub-classifications have high
`scores,
`the GPS system may decide to display only the
`“shirts” classification. The GPS system may set the score of
`the “shirts" classification to that of its highest sub-
`classification so that
`the displayed classification will be
`ordered based on the score of its sub—classifications.
`FIGS. 1A and 1B illustrate an example user interface for
`one embodiment of the present
`invention.
`In this
`embodiment,
`the GPS system provides capabilities for
`searching for items that may be purchased. The techniques
`of the present invention are particularly well suited for use
`in a Web—based shopping environment. The display 100 of
`FIG. 1A illustrates a Web page for searching for items that
`may be purchased via an online store. This Web page
`illustrates that
`the available item are grouped into five
`departments: clothing and accessories 10], electronic. 102,
`computer hardware 103, toys and games 104, and travel 105.
`The item in each of these departments are classified into
`categories, sub-categories, and possibly a sub-sub-category
`
`IO
`
`15
`
`25
`
`3f]
`
`35
`
`40
`
`45
`
`50
`
`55
`
`60
`
`65
`
`4
`the clothing and
`referred to as item type. For example,
`accessories department has four item categories: men’s
`apparel, women‘s apparel, shoes, and accessories. The user
`enters the search criteria or query into search query box 106.
`In this example, the user has entered the word "shirts" as the
`search criteria. Display 110 of FIG. IB illustrates the display
`of the search results. Rather than displaying the particular
`items that best match the search criteria, the (3138 system
`displays the classifications of items that best match the
`search criteria. The GPS system orders the classifications
`based on the likelihood that they contain items ofinterest. In
`this example, the GPS system determines that the clothing
`and accessories department contains items that best match
`the search criteria. As a result, the GPS system displays an
`indication of the clothing and accessories department first.
`The GPS system also displays the various categories and
`sub-categories of the clothing and accessories department
`that best match the search criteria. The UPS system displays
`these categories and sub-categories in order based on the
`likelihood that the categories contain items that satisfies the
`search criteria. In this example, the GPS system has listed 10
`classifications of the clothing and accessories department.
`The GPS system highlights the first eight classifications
`because the word "shirts” was found in the sub-category
`name. For example, the category “Polo and henley shirts”
`contain the word “shirts” in its name. However, the last two
`classifications do not contain the wort "shirts" in their
`sub-category names. Rather,
`the word "shirts” may have
`been contained in a description field for an item within those
`classifications. For example, the sub-category "Men ‘s Ties"
`may have had an item that contained the word "shirts” in its
`description field. The placing of the word "shirts" in paren—
`thesis indicates that the word was not found in the name of
`the sutwategory.
`In general,
`the UPS system highlights
`(e.g., holds) the names of those classifications in which
`every item should satisfy the search criteria. For example,
`the first eight displayed classifications of the clothing and
`accessories department are highlighted. The GPS system
`determined that the department “travel” is the second most
`relevant department for the search criteria. The GPS system
`displays the information for the travel department after the
`information for the clothing and accessories department
`because the score for the classifications within the travel
`
`department were lower than the score for the classifications
`in the clothing and accessories department.
`Once the GPS system displays the search results, as
`shown in FIG. 113, a user may select one of the classifica-
`tions to view detailed information about the classification.
`For example, if the user is interested in purchasing a T-shirt
`for a man, then the user may select the category “Men’s
`T-shirts.” Upon selecting this classification, the GPS system
`displays information describing the items within that clas—
`sification.
`If
`the selected classification has sub-
`classifications,
`then the GPS system instead displays the
`sub-classifications.
`FIG. 2 is a block diagram illustrating components of one
`embodiment of the Gl’S system. The GPS search system
`comprises a product (or item) database 201, a GPS index
`builder 202, a priority descriptor file 203, the special terms
`file 204, a browse tree descriptor file 205, a GPS index file
`206, a GPS search engine 207, and a GPS hierarchical
`displayer 208. These components can be implemented as
`part of a general purpose computer system. The (3133 system
`may be implemented as a server in a clienti‘scrver environ—
`ment such as the World Wide Web or may be implemented
`on a computer, such as a mainframe.
`The (BPS index builder creates the GPS index, which
`contains an entry for each classification, based on the names
`
`

`

`US 6,366,910 B1
`
`5
`of the classifications and the content of the fields in the
`product database. The product database contains an entry for
`each item. The entries of the GPS index contain a collection
`of the words that appear in the entries of the product
`database for the items within that classification or the words
`in the names of the classification. After the UPS index is
`created, the GPS search engine receives a query and returns
`those entries whose collection of words most closely match
`the query. In one embodiment, the GPS index may contain
`multiple entries for some classifications that indicate differ-
`ent priorities assigned (or weights) based on the fields of the
`product database in which the terms appear. For example,
`each classification may contain one entry that contains the
`words from the name of the classification and from the name
`of its parent classification. The leaf (i.e.,
`lowestvlevel)
`classifications, however, may also contain additional entries
`in the UPS index. One additional entry may contain all the
`words from all the description fields of all the items within
`the classification. Such entries are said to have a lower
`
`priority than entries that contain only the words in the name
`of the classifications because words in the name of a
`classification are assumed to be more descriptive of the
`entire classification than a word in a description field of
`some item within that classification. Each entry also oonv
`tains an indication of its priority.
`The UPS search engine may use a conventional database
`search engine to locate the entries of the GPS index that
`contain words that best match the search criteria. The
`conventional search engines return as the results of the
`search the entries that best match along with a score that
`indicates how well each matches. The GPS search engine
`then adjusts the scores of the entries in the result to factor in
`their priorities. For example, the GPS system may not adjust
`the score of an entry that has a high priority, but may reduce
`the score of an entry that has low priority. Once the scores
`are adjusted, the GPS search engine may remove all but the
`entry with the highest score for each classification from the
`result. The GPS search engine then removes all entries for
`sub-classifications when an entry for an ancestor classifica-
`tion in the result. That is, the GPS search engine ensures that
`if an entry for the root of a classification sub-tree is in the
`result, then the result contains no entry for any descendent
`classifications. The GPS search engine sets the score of the
`root classification of a sub-tree to the highest score of the
`entries for that sub—tree. The result may also contain an entry
`for each child classification but not an entry [or the parent
`classification. In such a situation, the GPS search engine
`may remove each of the entries for the child classifications
`and adds a new entry for the parent classification. The GPS
`search engine may set the score of the new entry to the
`highest score of the child classifications.
`The GPS hierarchical displayer receives the results of the
`GPS search engine and first determines which highest level
`classification (c.g., department) has the highest score. The
`GPS hierarchical displayer selects those classifications with
`that highest level classification with the highest score and
`displays the name of the highest-level classification along
`with the names of the selected classification. The GPS
`hierarchical displayer can select a predefined number of
`such classifications or select a variable number depending
`on the differences in the scores of the classifications. The
`Gl’S hierarchical displayer then repeats this process for the
`highest level classification with the next highest score and so
`on.
`
`the product database contains a
`In one embodiment,
`department table For each department in the online store. The
`department may be considered to be the highest classifica-
`
`10
`
`15
`
`25
`
`3f]
`
`35
`
`40
`
`45
`
`50
`
`55
`
`an
`
`65
`
`6
`tion. Each department table contains one entry for each item
`that is available to be purchased through the department.
`FIGS. 3A and 3B illustrate example contents of a travel table
`and of an apparel table. The tables include field that specify
`the classification of each item within the classification
`hierarchy. For example,
`the travel
`table 301 contains a
`category and a sub—category field. The first entry in the travel
`table indicates that
`the item is in category 31 and sub-
`category 237'. The entries also contain various other fields to
`describe the item. For example, the travel table contains a
`name field,
`a destination field, a provider field, and a
`description field. Each table also contains an ID field, which
`contains a value that uniquely identifies each entry within
`that table. The apparel table of FIG. 3B contains the items
`for the clothing and accessories department.
`The GPS index builder inputs the product database, the
`priority descriptor file, the special terms file, and the browse
`tree descriptor file and generates the GPS index file. The
`browse tree descriptor
`file contains a definition of the
`hierarchical organization of the items in the product data-
`base. Although the product tables inherently contain the
`classification hierarchy (cg, classification 237 is a sub—
`category of classification 31), it is not in a form that is easy
`to use. Moreover, the product database in this embodiment
`contains no information that describes the names of the
`various classifications. FIG. 4 illustrates a hierarchical orga-
`nization of the items in the apparel
`table of the product
`databas

This document is available on Docket Alarm but you must sign up to view it.


Or .

Accessing this document will incur an additional charge of $.

After purchase, you can access this document again without charge.

Accept $ Charge
throbber

Still Working On It

This document is taking longer than usual to download. This can happen if we need to contact the court directly to obtain the document and their servers are running slowly.

Give it another minute or two to complete, and then try the refresh button.

throbber

A few More Minutes ... Still Working

It can take up to 5 minutes for us to download a document if the court servers are running slowly.

Thank you for your continued patience.

This document could not be displayed.

We could not find this document within its docket. Please go back to the docket page and check the link. If that does not work, go back to the docket and refresh it to pull the newest information.

Your account does not support viewing this document.

You need a Paid Account to view this document. Click here to change your account type.

Your account does not support viewing this document.

Set your membership status to view this document.

With a Docket Alarm membership, you'll get a whole lot more, including:

  • Up-to-date information for this case.
  • Email alerts whenever there is an update.
  • Full text search for other cases.
  • Get email alerts whenever a new case matches your search.

Become a Member

One Moment Please

The filing “” is large (MB) and is being downloaded.

Please refresh this page in a few minutes to see if the filing has been downloaded. The filing will also be emailed to you when the download completes.

Your document is on its way!

If you do not receive the document in five minutes, contact support at support@docketalarm.com.

Sealed Document

We are unable to display this document, it may be under a court ordered seal.

If you have proper credentials to access the file, you may proceed directly to the court's system using your government issued username and password.


Access Government Site

We are redirecting you
to a mobile optimized page.





Document Unreadable or Corrupt

Refresh this Document
Go to the Docket

We are unable to display this document.

Refresh this Document
Go to the Docket