WO2007095075A2 - Methods and systems to communicate information - Google Patents

Methods and systems to communicate information Download PDF

Info

Publication number
WO2007095075A2
WO2007095075A2 PCT/US2007/003445 US2007003445W WO2007095075A2 WO 2007095075 A2 WO2007095075 A2 WO 2007095075A2 US 2007003445 W US2007003445 W US 2007003445W WO 2007095075 A2 WO2007095075 A2 WO 2007095075A2
Authority
WO
WIPO (PCT)
Prior art keywords
distribution
domains
domain
information
data
Prior art date
Application number
PCT/US2007/003445
Other languages
French (fr)
Other versions
WO2007095075A3 (en
Inventor
Seema Shah
Adam Nash
Raghav Gupta
Aditya Arora
Benjamin David Foster
Srikanth Subramaniam
Suhail Ansari
Xavier Stonestreet
Vijay Raman
Jean-Michel Leon
Original Assignee
Ebay Inc.
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Priority claimed from US11/478,666 external-priority patent/US9443333B2/en
Priority claimed from US11/497,976 external-priority patent/US7640234B2/en
Application filed by Ebay Inc. filed Critical Ebay Inc.
Publication of WO2007095075A2 publication Critical patent/WO2007095075A2/en
Publication of WO2007095075A3 publication Critical patent/WO2007095075A3/en

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/242Query formulation
    • G06F16/2425Iterative querying; Query formulation based on the results of a preceding query

Definitions

  • An embodiment relates generally io the technical field of data communications and, in one example cmbudiruent, to methods and systems to communicate information.
  • a user searching an information resource may encounter challenges.
  • a search mechanism e.g., a search engine
  • search the information resource may present search results that are of no interest to the user.
  • the search mechanism may respond to a query from the user with numerous data items that cover a wide spectrum.
  • the user may experiment by adding and removing constraints from the c ⁇ iery; however, such experimentation may be time consuming and frustrate the user.
  • the search mechanism fails to organize search results on a speci fic interface in a way that is meaningful to the user.
  • Figure 1 is a diagram depicti ng a peak distribution, according to one example embodiment
  • Figure 2 is a diagram depicting a hills distribution, according to one example embodiment
  • Figure 3 is a diagram depicting a flat distribution, according to one example embodiment
  • Figure 4 is a network diagram depicting a system, according to one example embodiment, having a client-server architecture
  • Figure 5 is a block diagram illustrating modules and engines, according to an embodiment
  • Figure 6 is a block diagram i llustrating an information storage and retrieval platform, according to an embodiment
  • Figure 7 is a diagram il lustrating a domain structure, according to one embodiment
  • Figure 8 is a table illustrating sell-side data and buy-side data, according to one embodiment
  • Figure 9 is a diagram illustrating rules, according to an embodiment.
  • Figure 10 is a diagram illustrating a canonical matching concept, according to an embodiment;
  • Figure 1 1 is a diagram illustrating a set of requests, according to one embodiment, that may cause the storage of navigation information
  • Figure 12 is a block diagram illustrating databases, according to an embodiment
  • Figure 13 is a block diagram illustrating V- Ia ⁇ Si tlt-ation information, according to an embodiment
  • Figure 14 is a block diagram i llustrating a c'aca item according to an embodiment.
  • Figure 15 is a block diagram illustrating a searc h index engine, according to an embodiment.
  • Figu re 16 is a block dia g ram illustrating . JJ Lt i' _ ⁇ i , Larc h information,
  • Figure 17 is a block diagram illustrating a su ⁇ pl' " ⁇ o ⁇ L area
  • Figure 18 is a block diagram illustrating d. ⁇ uiii! t'.a'a indexes, according to an embodiment
  • Figure 19 is a block diagram illustrating r c vLr >-. ⁇ -.-.! ⁇ oi k area, according to an embodiment
  • Figure 20 is a block diagram illnstranng suppi . '•[ ⁇ - ( ⁇ ⁇ T.ims. demand histogram., and total coverage histograms.
  • Figure 21 is a flow chart illustrating a ⁇ iuhod •" - •. >. ⁇ i ⁇ u ⁇ icate information, according to an embodiment
  • Figure 22 is a flowchart illusUaung a rr.ctKu 1 ⁇ ' . uiJirig ⁇ n an embodiment to generate supply histograms
  • Figure 23 is a flowchart illustrating a meti > ⁇ ⁇ ⁇ . -urJ ⁇ ig to an embodiment, to generate demand histograms;
  • Figure 24 is a flowchart illustrating a rut. ? hod . ⁇ ⁇ ur. hng u> an embodiment, to generate interface information
  • Figure 25 is a flowchart illustrating a method to -.enuate distribution data
  • Figures 26-29 are diagrams il lusti atmg user n;i-. - Lu c-., ac cording to an embodiment.
  • Figure 30 is a block diagram of a machine, acLouiing to an example embodiment, including instructions to perform ⁇ n v one or more ol the methodologies described herein Uhi 3 U ⁇ i ) Di-SC RH 1 IIC ) N
  • ⁇ ,> ' ten ma ⁇ communicate information by generating an interface based on v.pi v nun' nation a ⁇ d demand mfotmation.
  • Ll t. fLftt "-i ⁇ receive a first querv that is entered by a user, identify matching data 0 'tei >s Ti I iv iuitam a set of data item counts for each domain
  • the system may find matching data items that may be use c rir j i[ ivrimsed according :o product domain(s) (e g , shoes), aisle domain(s) i ⁇ - j.
  • department domain(s) e.g., apparel
  • department domain(s) e.g., apparel
  • department domain(s) e.g., apparel
  • an aisle domain may 5 tru KHL product domain(s) and a product domain may include data items
  • the system may read navigation intoiipj; un that is historical for queries that contains constraints that correspond to ihs. ⁇ -r a predetermined period of time. Specifically, the system 'lu , [ i' t, n ⁇ v- igatio ⁇ information in the form of view data item counts according to ⁇ doni ⁇ !
  • the ⁇ iew data item count corresponding to the domain C may be ⁇ r ⁇ r_( i_,,t ⁇ d bv one 1 he view data item counts may be incremented over a prc i_ ⁇ ,f ir (.(j period ot time (eg.
  • navigation information collected tot the previous week may be rrade .r arable as navigation Information to generate demand information in the present v ⁇ .ek. Domains with high data item counts may be determined to be of interest to fueuser.
  • the system ma> maintain the supply information ⁇ the form of a product histoytam (e e peceeni of data items distributed ⁇ vcr t ii Ii ,>L product domains), an aisle histogram (eg. percent of data items distributed IHJ r, ⁇ ltiple aisle domains), and a department histogram (e g , percent of data it- iii.ii- " ted over multiple department domain;. l t he system mav maintain the dcr, .-nil i formation in a similar! ⁇ struetured %et of histograms Th ⁇ . swem 'nay generate total coverage histogum-.
  • a product histoytam e peceeni of data items distributed ⁇ vcr t ii Ii ,>L product domains
  • an aisle histogram eg. percent of data items distributed IHJ r, ⁇ ltiple aisle domain
  • r_ i may compare the total co ⁇ ctagv_ h'st ⁇ grams to predetermined distribution in i ing a peak distribution 2 i hiUs distribution 4, and a flat distribuiu u ⁇ ⁇ ⁇ . ⁇ 'dentify the type of user inter ⁇ a ⁇ to geiicratc
  • Figure 1 s i diagram depicting the peak di->ti >t .' . according to one example t ⁇ rmdirneru I he peak distribution 2 show s a r.. >, th respect to a single domain B 1 he p ⁇ ak distribution 2 may be a pascte ⁇ mntd ⁇ ribution that is compaied wth UK.
  • the total co ⁇ t.ragc hi ⁇ tojram includes total coverage intoiiTatioti ⁇ .ul i ing the peak distribution 2 1 or evample, if the system detects a pcdi- nut ⁇ tion 2 in a total coverage histogram including total coverage mfomi ition " ⁇ «>' oduct domains, then the system rna ⁇ generate a product user interface that inekuL ⁇ a single product domain based on the position of the peak in the total unua.v. histogram.
  • I he hills distribution 4 shous hills ⁇ i tli respect to multiple domains [ h.e hill-, dist ⁇ bution 4 may be a predete ⁇ t ⁇ ru ⁇ A ⁇ t oution that is compared with to'a! Luvctage histogiatns to d(.tcir,nr'c > S ⁇ 't ⁇ r the total coverage histogram includes total coverage information exhibiting the hills distribution 4.
  • the system may generate a cross-product user interface that includes multiple product domains based on the respective position of the hills in the total coverage histogram.
  • Figure 3 is a diagram depicting the flat distribution 6, according to one example embodiment.
  • the flat distribution 6 is flat with respect to multiple domains.
  • the flat distribution 6 may be a predetermined distribution that is compared with total coverage histograms to determine whether the total coverage histogram includes total coverage information exhibiting the flat distribution 6. For example, if the system detects a flat distribution 6 in a total coverage histogram including total coverage information for product domains, then the system may attempt to detect peak, hills, and flat distributions for total coverage histograms associated with aisle domains. If, on the other hand, the system detects the flat distribution 6 with regard to aisle domains then the system may attempt to detect the peak, distribution for total coverage histograms associated with the department domains.
  • a system niav further communicate information by generating an interface.
  • the interface may include a user interface (e.g., cross-product user interface, cross-aisle user interface, cross-department user interface) that includes user interface elements representing domains that may be positioned on the user interface based on the supply and demand information.
  • the system geneiates a user i nterface that includes user interface elements that may be positioned on the user interface in descending order proceeding from a highest total coverage information to the lowest total coverage information.
  • the system may position user interface elements representing departments (e.g., from highest to lowest total coverage) until a predetermined total coverage threshold (eighty percent) is reached or until a predetermined number of user interface elements threshold (e.g., ten ), representing departments, may have been positioned on the use interface.
  • a predetermined total coverage threshold and/or the predetermined number of user interface elements threshold may be configurable.
  • Other examples may include other types of elements (e.g., audio interface elements, machine interface elements, media interface elements) that may be positioned, as. described above, on other types of interfaces (e.g., audio interface, machine interface, media interface).
  • Figu re 4 is a network diagram depicting a system 10, according to one example embodiment, having a client-server architecture.
  • a commerce platform or commerce server in the example form of an information storage and retrieval platform 12. pan ides server-side functionality, via a network 14 (e.g., the Internet) to one or more c ⁇ enrs
  • Figure 4 illustrates, for example, a web client 16 (e.g., a browser, such a> the fmemef Explorer browser developed by lVIicrosoft Corporation of Redmond, Washi ngton State), and a programmatic client 18 executing .on respective client machines 20 and 22.
  • a web client 16 e.g., a browser, such a> the fmemef Explorer browser developed by lVIicrosoft Corporation of Redmond, Washi ngton State
  • programmatic client 18 executing .on respective client machines 20 and 22.
  • an application program interface (A P I) server 24 and a web server 26 are coupled to, and provide programmatic ami web interfaces respectively to, one or more application servers 28.
  • the application server-, 28 host one or more modules 30 (e.g., modules, applications, engi nes, etc !
  • the application servers 28 are, in turn, shown to be coupled to one or mot e database servers 34 that facilitate access to one or more databases 3b 1 he modulus 30 provide a number of information storage and retrieval functions and services ⁇ v users that access the information storage and retrieval platform 12.
  • the web client 16 may access the various modules 30 via the web interface supported by the v. cb set vet 26.
  • the programmatic client 18 accesses the various services and uinetions provided by the modules 30 via the programmatic interface provided b y the API server 24.
  • the programmatic client 18 may, for example, be a seller application (e.g., the TurboLister application developed by eBay Inc., of San Jose. Cali fornia) to enable sellers to author and manage data items or listings on the information storage and retrieval platform 12 in an off-line manner, and to perform batch-mode communications between the programmatic client 18 and the information storage and retrieval platform 12.
  • Figure 5 is a block diagram illustrating the modules 30, according to an embodiment.
  • the modules 10 inc lude a communication module 40, a coverage module 42, a domain sort module 44. a processing module 46, a classification service engine 48, a scrubber module 50, a query engine 52, a search index engine 54, a demand data engine 56, and a listing module 74.
  • the communication module 40 may receive a query from the client machine
  • the communication module 40 may interact with the query engine 52, the search index engine 54, the demand data engine 56, and the coverage module 42 to process the query.
  • the co ⁇ imumcuum module 40 may receive aspect-value pairs that may be extracted from the quer y responsive to processing the query.
  • the communication module 4U may construct a transformed query based on the query received from the cl ient machine 20, 22 and may communicate the interface (e.g., user interface) to the u ⁇ cr .i t the L l ient machines 22, 20.
  • the coverage module 42 rcuy ycntrate a total coverage histogram based on corresponding supply histograms and demand histograms.
  • the coverage module 42 may generate a total coverage histogram associated with product type domains based on ⁇ supply histogram and demand histogram both associated with product type domains [ " he coverage module 42 may generate total coverage histograms for product type domains, aisle type domains and department type domains.
  • die coverage module 42 may generate interface information by comparing di.slribu ⁇ rts of the total coverage information with the predetermined peak, hills, and flat distributions 2,4 and 6.
  • the domain sort module 44 may generate distribution data that may determine the position (e.g., urdei) of interlace elements (e.g., user interface elements, audio interface elements, media interface elements, machine interface elements) that represent domains for presentation on an interface (e.g.. user interface, audio interface, media interface, machine interface) that includes multiple domains (e.g., cross-domain u >er interface). For example, the domains of greatest interest to the user may be represented at the most prominent positions on a cross- domain user interface w ith user interface elements.
  • interlace elements e.g., user interface elements, audio interface elements, media interface elements, machine interface elements
  • multiple domains e.g., cross-domain u >er interface
  • the processing module 46 may receive classification information and metadata information that ma> h- > authored with a classification and metadata tool.
  • the processing module 46 may publish the classification information and metadata information t ⁇ backend ⁇ erv c: .-, that may host the query engine 52, the search index engine 54, and the classification service engine 48.
  • the classification :-cn. >cu engine 48 may apply domain rules and aspect rules to data items.
  • the classification service engine 48 may apply the domain and aspect ⁇ u ics to data items or listings as they are added to the information storage and ret ⁇ -.-vai platform 12, or responsive to the publication of new rules (e.g., domain ruics. aspect rules).
  • the scrubber moMutc M 1 may process data items responsive to the information storage and t eu i -.v.u platform 12 receiving the data items from the client machines 20, 22.
  • the scrubber module 50 may use the services of the classification service eruruie 48, as previously described, to apply domain rules and aspect rules to the dafa item.
  • the scrubber module 50 may further store the data item, with the associated do.nain-value pairs and aspect-value pairs in a database 36 as item search inio ⁇ nati ⁇ n. Further, the scrubber module 50 pushes or publishes item search inf ⁇ rman j ⁇ over a bus in real time to the search index engine 54.
  • the query engine 52 includes an aspect extractor module 58, classification information 49, metadata service module 60, and metadata information 62.
  • the aspect extractor module 5S may receive a query from the communication module 40 and apply aspect rules to extract aspect- value pairs from the query.
  • the aspect extractor module 58 may further communicate the aspect-value pairs to the communication module 40.
  • the metadata service module 60 ma y e ⁇ mmunicate metadata information to the communication module 40 bayed on the query that is received from the communication module 40.
  • the metadata t ⁇ r ' u ⁇ nati ⁇ n may include metadata that the communication module 40 may use to format and generate the interface (e.g., user interface).
  • the search index engine 54 may i ⁇ .c' ude .>e ⁇ r ⁇ h indexes 64, data item search information 66 (e.g., including data items and associated domain-value pairs and aspect-value pairs), and a supply work area 6s. 1 he search index engine 54 may receive the transformed query from the commui iieation module 40 and utilize the search indexes 64 to identify data items based on the transformed query. The search index engine 54 may further communis::!.-.- :he found data items to the communication module 40. The search indcv engine 54 is also shown to include a supply work area 68 that may be used t> > generate histograms based on the data item search information 66 associated with the found data items.
  • the demand data engine 5 (> ine dei ⁇ and data indexes 70 and a demand work area 72.
  • the demand data engine v> ma;, receive a pretransformed query from the communication module 40 and u>. the pretransformed query to search the demand data indexes 70 to identi fy .t,- ⁇ > ⁇ ; da'.a that may be associated with previously received queries with constraint.-; chat correspond to the constraints of the pretransformed query. For example, the t-a-.
  • the demand data engine 56 may further generate demand histograms based on the navigation data.
  • the listing module 74 may receive information from a client machine 20 or 22 and store the information as a data item in the database 36.
  • Figure 6 is a block diagram further -ilustraung the information storage and retrieval platform 12, according to an cmht ⁇ li ⁇ ient.
  • the information storage and retrieval platform 12 may be embodied as a network-based marketplace (e.g., eBay, the Worlds Online Mar ketplace developed by eBay Inc., of San Jose, Cali fornia) that supports the transaction of data items or listings (e.g., goods or services) between sellers and bu>er ⁇ .
  • the information storage and retrieval platform 12 may receive information from sellers that describe the data items that may subsequently be retrieved by potential buyers or bidders.
  • a category .»r data manager may utilize a classification and metadata tool to author rules that may include classification rules (e.g., domain rules and aspect rules) and metadata rules that may be received by a processing module 46 on the information storage and retrieval platform 12.
  • classification rules e.g., domain rules and aspect rules
  • metadata rules may be received by a processing module 46 on the information storage and retrieval platform 12.
  • the processing module 46 may store the rules in the database 36 in the form of classificju ⁇ n information and metadata information.
  • the processing module 46 may publish the rules over a bus to a query engine 53, a metadata service module 60, and a classification service engine 48.
  • the processing module 46 may publish the rules in realtime to facilitate the addition of new rules or the modification of existing rules while the information storage and tetricv.il platform 12 may be operating.
  • the processing module ; l6, query engine 52, metadata service module 60 and classification service engine -l.x may communicate with each other over a bus that utilizes publish/subscribe middleware and database access software.
  • the middleware may he embodied as TIBCO RENDEZVOUSTM, a middleware or Enterprise Application Integration (EAI) product developed by Tibco Software, Inc. Palo Alto, California.
  • an author or publisher enters information including item information into a client machine 20.
  • the client machine 20 may communicate the item infos m ⁇ tion to the information storage and retrieval platform 12 where the item infornintion niay be stored as a data item 65 in the database 36.
  • a scrubber module 50 may read the data item 65 and utilize the services of the classification service engine 48 (operation 94).
  • the classification service engine 48 may utilize a rule that includes a condition clause and a predicate clause.
  • the classification service engine 48 may apply the condition clause to the data item 65 (e.g.. Title, description, category, item-specific, etc.) and if the condition evaluates rR I 1 F- , then the corresponding predicate clause may be associated with the data item 65.
  • the scrubber module 50 may store the data item 65, domain value-pairs, and aspect- value pairs as data item search information 66 in the database 36.
  • the scrubber module 50 pushes or publishes the data item search information 66 over a bus in real time to a search index engine 54 that may store the data item search information 66 and update scare Ii indexes 64 based on the data item search information 66.
  • the search index engine 54 may add a data item identification number to appropriate search indexes M thai may be associated. with keyword(s) or aspect-value pairs in the data item 65.
  • the scrubber module 50 and search index engine 54 may communicate with each other over a bus that uti l izes publish/subscribe middleware and database access software-.
  • the middleware may be embodied as ' [ ' IBCC) REN DEZVOUSTM, as described above.
  • a user may enter a query that includes di fferent types of constraints including a keyword constraint, an item-specific constraint, and a category constraint.
  • the query may be received by a communication module 40 at the information storage and retrieval platform 12.
  • the communication module 40 may communicate the qucT;. :n the query engine 52, at a back end server I 03 that :XI ⁇ ⁇ i nc lude the aspect tui jc ior module 58 and the metadata service moduie 60.
  • the aspeuc extractor module 58 may apply the aspect rules to the query to aspect-values from the query that may be associated with a product type.
  • the query "A Klein shues size 8 black” may correspond to the aspect- value pairs color black.
  • FN product type shoe.s.
  • the aspect extractor module 58 may assign the same canonical values that were assigned by the c las. M fi cation service engine 48, as described below. Indeed, the aspect extractor module 58 may utilize a sub-set of the same aspect rules that were utilized by the c I a s M ⁇ cation service engine 48.
  • the aspect extractor module 58 mas- communicate the extracted aspect-value pairs to the communication module 40
  • the metadata service module 60 may communicate metadata information d2 to the communication module 40.
  • the communication module 40 ma> utilize the extracted aspect- value pairs to construct a transformed query.
  • the transformed query may include keywords from the query and aspect-value pairs extracted from the query.
  • the communication module 40 may cache the metadata for subsequent construction of the interface (e.g. user interface).
  • the communication module 40 communicates the transfoi met.' quec ⁇ to the search index engine 54 at the back, end server 103.
  • the search trulev engine 54 may utilize the transformed query to retrieve data items 65 which may - ⁇ a kscu unruly be utilized by the search index engine 54 to generate supply histograms.
  • the search index engine 54 retrieves the data items 65 by util izing the search i ndexes' 64.
  • the search index engine 54 may utilize the keywords constraints (e.g., keywords) in the transformed query to retrieve item identi ficaU " >n cuimbet s from search indexes 64 that correspond to the keywords.
  • the ,-;c ⁇ r ⁇ ⁇ mdex engine 54 may utilize the aspect-value pairs in the tians formed quer y to retrieve item identification numbers from search indexes 64 that u ⁇ espond to the aspect-value pairs.
  • Trie scj; «.-h index engine 54 may utilize the retrieved data items 65 to generate suppl y histograms associated with products, aisles and departments.
  • the supply hisci u.: -.ui! may include multiple entries of supply information, for example in the tomi ⁇ f ⁇ percent supply coverage that may be associated with each domain.
  • the search index engine 54 may communicate the retrieved data item-- o ⁇ an J the supply histograms to the communication module 40.
  • the demand -data engine 50 utilize.- , the pretransformed query to generate a demand side product histogram, a demand >ide aisle histogram, and a demand side department histogram by utilizing navigat ion in formation that is historical (e.g., a database of network events that describe lecoiJed user activity).
  • the demand data engine 56 may communicate the demand histograms to a coverage module 42 on a front end server 101.
  • the coverage module 42 ma> generate total coverage histograms based on corresponding supply histogram.-* nrul demand histograms.
  • the percent supply ci >v er ⁇ ge associated with each domain in a supply histogram may be respeolt vd v ⁇ Ji Ie-, I re » the percent demand coverage associated with each domain in a demand histogram and the respective results may be divided by two (e.g., an average) to yield a total coverage histogram.
  • Other embodiments may use different operations to combine the supply information and demand information.
  • the coverage module 42 may utilize the total coverage histograms to generate interface information that may determine the type of user interface to present to the user. For example, if the total coverage histogram associated with products match the predetermined peak distribution 2 then the coverage module 42 may generate product user interface information (e.g., one product) where the product is selected based on the position of the peak. On the other hand, if the total coverage histogram associated with products indicates multiple hills, then the coverage module 42 may generate cross-product user interface information (e.g., multiple products) where the multiple products may be identified based on the position of the hills. Finally, if the total coverage histogram associated with products is flat, then the coverage module 42 may bubble up to the total coverage histogram associated with aisles to determine the interface information to generate.
  • product user interface information e.g., one product
  • cross-product user interface information e.g., multiple products
  • the coverage module 42 may utilize the total coverage histogram associated with departments to determine the interface information to generate (e.g., single department or multiple departments). FmaU> . If a cross-domain display (e.g., multiple products, aisles, or departments) has been selected, then a domain sort module 44 may generate domain distribution data that may determine the order of the domains for presentation on the display where the domains of greatest interest to the user may be presented in the most prominent positions.
  • a cross-domain display e.g., multiple products, aisles, or departments
  • the domain sort module 44 may use a total cov eiage department histogram to display departments in descending order (e.g., sorted from highest to lowest percent total coverage) until a first predetermined threshold (maximum cumulative coverage - eighty percent) is reached or unti l a second predetermined threshold (maximum number of domains - ten) is reached.
  • a first predetermined threshold maximum cumulative coverage - eighty percent
  • a second predetermined threshold maximum number of domains - ten
  • FIG. 7 is a diagram illustrating a domain structure 120, according to one embodiment. 1 he domain structure 120 is shown to include buy-side data 122 and sell-side data 124. F he sel l-side data 124 is shown to include categories 126 that have been selected b> an author of the data item 65 to categorize the data item 65 on the information bi ⁇ raye and retrieval platform 12. For example, the author may have selected one or more categories 126 that may include collectibles, jewelry and • watches, etc.
  • the buy-side d-iui 122 is shown to include product domains 132 (e.g., Belts, Watches. Handbags, etc. ), aisle domains 130 (e.g., Women 's Accessories, Women 's Clothiny. Women ' -v Bottoms, etc.) and a department domain 128 (e.g., Apparel and Accessories')
  • product domains 132 e.g., Belts, Watches. Handbags, etc.
  • aisle domains 130 e.g., Women 's Accessories, Women 's Clothiny. Women ' -v Bottoms, etc.
  • department domain 128 e.g., Apparel and Accessories'
  • FIG. 8 is a uhk- : 4 > further illustrating sell-side data 150 and buy-side data 152, according ⁇ > -.M ⁇ J embodiment.
  • the sell-side data 150 may be entered by an author or publisher of a listing or data item 65 and stored in the data item 65 and, as described above, l he sell -side data 150 may include a category 1 54, a title 156 and one ⁇ r more i ttm-speei tic.s 158, 160.
  • the sell-side data 150 illustrates an author or publisher to have entered the category 154 "Women's
  • the buy-side data 152 may be associated with the sell side data 1 ⁇ >(i v.n the rules, as previously described. Specifically, the condition clause in the rules may be used to test sell-side data 150. If the rule evaluates TR.UH then bu> -side data 152 in the same column may be associated with the data item 65. For example, lhe buy-side data 152 is shown to include a product domain-value pair 201 (e.g...
  • Figure 9 is a diagram illustrating rules 190, according to an embodiment.
  • the rules 190 include domain rules ⁇ ⁇ -)2 and aspect rules 196.
  • the domain rules 192 and aspect rules 196 include a condition clause 198 (e.g., trigger, Boolean expression, etc.) and a predicate clause 200.
  • the condition clause 198 may include a Boolean expression chat may evaluate TRUE or FALSE.
  • the Boolean expression may be used to evaluate multiple fields in the data item 65.
  • a Boolean may be uscxl t ⁇ ev coe the category 154, the title, 156, and an item-specific 158 in a data item o5.
  • the Boolean expression may include multiple operators (AMD, OR. EXC LUSIVE OR, etc.). If the condition clause 198 evaluates TRUE, then, the predicate clause 200 may be associated with the data item 65.
  • the predicate clauses 2(H) associated with the domain rules 192 may include a domain-value pair 20 1 (e.g . product type - Women's Shoes).
  • the domain-value pair 201 may include a d ⁇ main type 203 and a domain 205.
  • the domain type 203 may describe the type of domain such as "Product Type”, “Aisle Type”, “Department Type”, etc.
  • the domain 205 may describe the domain and may be limited to the corresponding domain type 203 such as "Women's Shoes.”
  • a first domain rule 194 may be used to associate a product domain 132 for Women's Shoes to an aisle domain 130 for Women ' s Clothing and a second domain rule 194 may be used to associate the aisle domain 130 for Women's Clothing to a department domain 1 28 for Apparel and Accessories.
  • the predicate clauses 2 ⁇ 'i associated with the aspect rules 196 may include an aspect-value pair 204 (e u.. color — ruby).
  • the aspect-value pair 204 may include an aspect 206 such u.-.
  • the aspect- value pair 204 (e.g.. color ⁇ rubs') may be further used as a condition clause 198.
  • the association of one aspect-value pair 204 to a data item 65 may be used to associate: another aspect-value pair 204 to the data item 65.
  • the aspect ru!e.-> ! '-)f may be used to associate: another aspect-value pair 204 to the data item 65.
  • I MV include a condition clause 198 that includes a keyword 202.
  • a >pe ⁇ rule 196 is shown to include the keyword 202 "ruby.”
  • the kcyword(sj 2(>2 in ⁇ ⁇ ;-. ⁇ condition clause 198 may be used by the aspect extractor module 58 t ⁇ kcv ⁇ ord(s) 202 in a query that is received from the client machine 20 to aspect-value pa: r-"> 204.
  • Figure IO is a diagram i l l ⁇ ⁇ ra ⁇ ng a canonical matching concept 2 10, according to an embodiment.
  • ar ⁇ >nical matching concept 210 may be used to identify a data item 65 v- i:[- a query 2 12.
  • the query 212 may be received ! ' r ⁇ m :i -.
  • the query 212 may be processe-i ⁇ ⁇ ⁇ : ⁇ an aspect rule 196 that may include a condition clause 1 98 that include,, multiple keywords 202 (If "Anne Klein” OR “Ann Klein” OR “A Klein “ OR “AKNY” OR “AK”, etc.) to associate the canonical aspect-value pair 204 "B rand ⁇ - " ⁇ niie Klein” to the query 212. Continuing with ex ⁇ mpL-.
  • a ci.ua item 65 may be received from a seller at the client machine 20, 22 and may un-luJe any of the illustrated strings that represent "Ann Klein.”
  • the titie m the data item 65 may contain '"Anne Klein.”
  • Figure 11 is a diagram illustrating a set of requests 220, according to one embodiment.
  • the set of requests 220 may cause the demand data engine 56 to store navigation information in the demand data indexes 70.
  • the set of requests 220 may originate at the client machines 20, 22 and may he received by the demand data engine 56 at the information storage and l etrieva! platform 12 that may register the occurrence of the set of requests 221).
  • I ' he set of requests 220 may include a query that may include one or more constraints f e.g.. keywords, categories, item-specifics, etc.), a request to view a domain (e.g..).
  • the demand dj ia engine 56 may receive navigation information in the form of a query (e.g . "i P ⁇ d " ).
  • the demand data engine 56 may receive a request to view a cr ⁇ -> domain page (e.g., including multiple product types).
  • ⁇ t operation 226 the demand data engine 56 may receive a request to view a cr ⁇ -> domain page (e.g., including multiple product types).
  • the demand data engine 56 may receive a request to view the product domain 1 32 " ' rVutahlc Audio.”
  • the demand data engine 56 may receive a request to view a data item 65.
  • the demand data engine 56 may register the request to view the data item 05 in ;he demand data indexes 70 (e.g., increment a view data item count) corresponding to the query "iPod” and corresponding to the product domain 1 ?2 " ' Portable Audio".
  • Figure 12 is a block, diagram i llustrating databases 250, according to an embodiment.
  • the databases 250 may include the data item 65, the classification information 49 and the data item search in formation 256.
  • the data item 65 may include information from the author of a lining or data item 65 as entered from the client machine 22, 20.
  • the data item search information 66 includes the data item 65, and domain-value pairs 20 1 and aspect- value pairs 204 that have been associated with the data item 65.
  • the classi fication information 49 includes rules that may be applied to queries and data items (>5.
  • Figure 13 is a block diagram illustrating the classification information 49, according to an embodiment.
  • the elassiilc.ition information 49 may include multiple domain dictionaries 252. each associated with a product type domain.
  • Each domain dictionary 252 may include domain rules 192 and aspect rules 196.
  • the domain rules 192 as previously t lcst rihed, may be .used to associate a specific product type domain and/or aisle domai n and/or department domain to the data items 65.
  • the aspect rules 196 nun he ⁇ : >n.i to associate aspect-value pairs 204 to the data items 65 that may be av> ⁇ cia ⁇ ed -A uh the product type domain corresponding to the domain dictionary ?
  • 5J Figure 14 is a block diagram iHii -tr.iting the data item 65, according to an embodiment.
  • the data item 65 ma >, m ⁇ .
  • the title 258 may inc lude keywords entered by the user to describe the data item 65.
  • the preset ⁇ data item 65 shows a title "AK Size 8 Black Pumps.”
  • the descriptum Jf-u ⁇ iay be used to describe the data item 65 that may be for sale or auction. " 1 he ca; perennial ⁇ - ⁇ ); v 262 may be a category selected by the seller or author or publisher or " the Jat-.r ' U ⁇ i 65.
  • the item-specific 264 may include item-specific information that may be .t:o- >uated with the data item 65.
  • Figure 15 is a block diagram U I UN ⁇ .I ting the search index engine 54, according to an embodiment.
  • the .ve ⁇ tch index engine 54 is shown to include the search index 64, the data item search ir ⁇ f ⁇ > ⁇ u_ttion 66, and supply work area 68.
  • the search index 64 is further shown to include multiple aspect-value pairs 204 and multiple keywords 202.
  • Figure 16 is a block diagram illustrating the data item search information
  • he data item search information 66 is shown to include multiple data item information 270 entries. Each data item information 270 entry may be associated wi th a data item 65, one or more domain-value pairs 201 and one or more aspect- value pairs 204.
  • I U Figure 17 is a block diagram illustrating the supply work area 68, according
  • the search index engine 54 may utilize the supply work area 68 to build supply histograms.
  • the supply work area 68 is shown to include a product work area 274 that may be used to build the supply histograms for all product domains 132 in the information storage and retrieval platform 12, an aisle work area
  • Each of the work areas 274, 276, 278 may i nclude data item counts 280 and a total data item count 282, as 0 illustrated with respect to the product work area 274.
  • the data item count 280 may represent the number of data items 65 found that may be associated with the corresponding domain 205.
  • the data item count 280 may be used by the search index engine 54 to count the number of found data items 65 that may be associated with the respective product type, aisle type or department type domains 205.
  • the 5 search index engine 54 may sum or accumulate data item counts 280 in the supply work area 68 (e.g., product work area 274, aisle work area 276, department work area 278) to generate the total data item counts 282 for the respective work areas 274, 276, 278.
  • data item counts 280 in the supply work area 68 (e.g., product work area 274, aisle work area 276, department work area 278) to generate the total data item counts 282 for the respective work areas 274, 276, 278.
  • FIG 18 is a block diagram illustrating the demand data indexes 70, 0 according to an embodiment.
  • the demand data indexes 70 may be used to store navigation information and may include multiple demand indexes 284.
  • Each demand index 284 is shown to include a second query in the form of query keyw u ⁇ l(s) 286.
  • the query keywords 286 be matched against the keywords contained in a query as received from the cl ient machine 20, 22.
  • Each query key' ⁇ -o ⁇ d(s) 286 entry may be associated ⁇ . u!> :
  • Multiple domain demand data 287 entries Bach domain demand data 287 entry may be associated with a domain type ⁇ e. ⁇ . product domain 132. aisle domain 1 ?u.
  • Each entry v 1 - ithm the domain demand data 287 include.-, ⁇ domain identifier 289, and a view data item c ⁇ unt 290.
  • the appropriate view data item count 290 may be incremented bv the demand data engine 56 responsi ve 1 u> the detection of a set of requests 220 rhut may include a query that matches the quer ⁇ - keywords 286, a request to view the domain 205 (e.g., product domain 166. aisle domain 168 or department domain 1 78 i. and a request to view a data item 65.
  • the '-specific view data item count 290 thai may be incremented corresponds to the diuriain 205 associated with the request to view rhe domain that preceded the request to view the data item 65. Further, the v iew data i tem count 290 may be collected u s - er a standard period of time (e.g., se en d ⁇ y.v one month, etc.).
  • Fi wu re 19 is a block diagram illustrating the demand work area 72, ULCcrding to an embodiment.
  • the demand data engine 56 may utilize the demand '-M H L area 72 to build demand histograms.
  • the demand work area 72 is shown to include a product work area 300 that may be u:.ed to build demand histograms for all product domains 132 in the information and retrieval platform 12, an aisle work area 302 that may be used to build aisle demand histograms for all aisle domains 1 10 in the information storage and retrieval platform 12, and a department work area 304 that may be used to build dep ⁇ rr ⁇ ient demand histograms for all department domains 128 in the information sn > rage and retrieval platform 12.
  • Each of the work areas 300, 302, 304 may include a total view data item count 308, as i l l ustrated with respect to the product work area 300.
  • the view data item counts 290 in the domain demand data 287 e.g., product domains or aisle domains or dcf ur ⁇ ment domains
  • the view data engine 56 may be used bv the demand data engine 56 to generate the total view data item counts 308 that rnav be associated with the respective product type, aisle type or department type domains 205.
  • the demand data engine 56 may sum or accumulate all of the view data item counts 290 within a domain demand area 287 (e.g., product domains or aisle domains or department domains) t ⁇ generate the total view data item counts 308 for the respective work areas 3 C)O, .U)2, 304. Further, the total view data item count 308 may he used to generate demand information in the form of a percent demand coverage that may be stored in a demand histogram according to domain 205 (e.g., view data item count 290 / total vjew data item count 308).
  • a domain demand area 287 e.g., product domains or aisle domains or department domains
  • the total view data item count 308 may he used to generate demand information in the form of a percent demand coverage that may be stored in a demand histogram according to domain 205 (e.g., view data item count 290 / total vjew data item count 308).
  • Figure 20 is a block diagram illustrating supply histograms 320, demand histograms 322 and total coverage histograms 324.
  • the supply histograms 320 may include a first distribution in the form of a product histogram 326, an aisle histogram 328 or a department histogram 330.
  • the- product histogram 326 may include the supply information 33 1 (e.g., percent suppl y coverage) distributed across the product domains 132 in the information storage and retrieval platform 12.
  • the aisle histogram 328 may include supply information 33 1 (e.g., percent supply coverage) distributed across the aisle domains I .U) in the information storage and retrieval platform 12.
  • the department histogram 330 may include the supply information 331 (e.g., percent supply coverage) distributed across the department domains 128 in the information storage and retrieval platform 12.
  • the demand histograms 322 may include a second distribution in the form of a product histogram 332, an aisle histogram 334, or a department histogram 336.
  • the product histogram 332 may include demand information 333 (e.g., percent demand coverage) distributed across the product domains 132 in the information storage and retrieval platform 12.
  • the aisle histogram 334 may include the demand information 333 (e.g., percent demand coverage) distributed across the aisle domains 1 30 in the information storage and retrieval platform 1 2.
  • I he department histogram 336 may include the demand information 333 (e.g., percent demand coverage) distributed across the domains 128 in the information storage and retrieval platform 12.
  • the demand information 333 associated with a domain maybe calculated only if supply information 33 I (e.g.. rioiwero value) exists for the corresponding domain.
  • the total coverage histograms 324 may include a third distribution in the form of a product histogram 338, an aisle histogram 340 or a department histogram 342.
  • the product histogram 338 includes may include total coverage intb ⁇ nation 335 (e.g., percent total coverage) distributed across the product domains ! 32 in the information stof a ⁇ e and retrieval platform 12.
  • the aisle Jiistogram 34t ' t ma * include the total coverage information 335 (e.g., percent total coverage) distributed across the aisle domain* 130 in the information storage and retrieval platform 12
  • the department husuigsam 336 may include the total coverage information ⁇ 3 r> (e.g .
  • I igure 2 I is a flow chart illustrating a method 400 to communicate information, ace ⁇ c Jing to an embodiment. Illustrated on the left K the client machine 20: i llustrated in the middle are operations performed by the front-end servers 1 0 1 ; and illustrated on the right are operations performed by the hackend servers 103.
  • the method 400 commences at operation 402 w ith the vseb client 16 at the client machine 20 communicating a query that may be entered by a u.sct.
  • the query may conta in one or more constraints that may include keyw ord constraints, category constraints, and item-specific constraints. For example, the user may enter the query u ith the following keywords 202, "AK shoes ruby.”
  • the communication module 40 may e the query from the client machine 20 and at operation 406 rhe communication module 40 may request aspect extraction and metadata information 62 based on the query.
  • the communication module 40 may request data items 65 and supply histograms 320 based on the transformed query by communicating the transformed query to the search index engine 54.
  • the search index engine 54 may generate supply histograms 320 (e.g., distributions) based on the found data items 65 using the domains 205 that may be used to identify the data items 65, as described further below.
  • the domains 205 may include the product, aisle and department domains 132, 130, 1 2K that may be navigated by buyers to find the data items 65-
  • the search index engine 5.4 may communicate the distributions and the found data items 6:> ID the communication module 40 at the front-end server 101.
  • the communication module 40 may request demand histograms 322 based on the query received from the client machine. For example, the communication module 40 may communicate the query "AK shoes ruby.”
  • the demand data engine 56 may generate demand histograms 322 (e.g., distributions) of requests to view data items 65 across domains based on navigation information associated with the query. For example, the demand data engine 56 may identify a demand index. 284 associated with constraints (e.g., query keywords 286 "AK shoes ruby") that correspond to the constraints (e.g., keywords) in the qucrv "'AK shoes ruby", as described further below.
  • constraints e.g., query keywords 286 "AK shoes ruby”
  • the demand data engine 56 may add the view item counts 290 associated with a type of domain (e.g., product domains or aisle domains or deparment domains) and store the sum as the total view item count 308 in the demand - ⁇ ork ai ⁇ .a (e.g., product work area 300, aisle work area 302, department work ⁇ iea ⁇ 04).
  • the demand data engine 56 may generate demand information 3J.> (e g.. percent demand coverage) for the product histogram 332, the aisle histogram 334 and the department histogram 336.
  • the demand data engine 56 may generate demand information 333 for a product domain in the product histogram 532 by dividing the view data item count 290 associated with the product domain by the total view data count 308 associated with the product work area 400. Continumg u ith the example, the demand data engine 56 may store the demand in formation 333 in the product histogram 332 according to the product domain. Finally, the demand data engine 56 may communicate the demand histograms 322 to the coverage module 42 on the front-end servers 101. In one embodiment the demand information 333 associated with a domain may be calculated only if supply information 33 ! (e.g., non-zero value) exists for the corresponding domain.
  • supply information 33 ! e.g., non-zero value
  • the coverage module 42 may generate total coverage histograms 324 based ⁇ n the corresponding supply histograms 320 and the corresponding demand histograms M2 In one embodiment, the coverage module 42 may generate an average for cjch domain 205 in the total coverage histogram 324. as previously described. Oihet embodiments may generate the total coverage histogram 324 in a different manner. In another embodiment, the coverage module 42 may scale each of the demand information 333 entries (e.g., percent demand coverage) in the demand histograms 322 before generating averages for each domain 205. For example, the pei ccni demand coverage entries in the demand histogram 322 may be scaled b;.
  • the percent demand coverage entries in the supply histogram 320 may also be scaled.
  • the following equation may be used to generate the (oral coverage histogram:
  • Total Coverage Information (X ) - Demand Information(X) ⁇ [DEMAND WEIGHT] + Supply Information .Y) * t 1 - D t- MAMD WEIGHT))
  • the "Total Co*, somehow.: information” may include the total coverage information 335 fot the domain ?. ⁇ ') 5 "X " ; the "X” may include a specific domain that may be a product domai n 1 32.
  • the "Demand Information” may include the demand information 333 for the domain "X”; the "DEMAN D W L: I( ⁇ 1 ' " may include a weight between 0 and 1 ; and the "Supply Information” muv include the supply information 33 1 for the domain "X”.
  • the coverage module 42 generates interface information.
  • the coverage module may generate infer face information by comparing the total coverage histograms 324 (e.g.. product histogram 338, aisle histogram 340. department histogram 342) with predetei mined distributions 2, 4, 6 to determine the type of interface information to uenerate. as described further below.
  • the domain sort module 44 may generate distribution data if the coverage module 42 generated interface information for multiple product domains or multiple aisle domains or multiple department domains (e.g.-, operations 432, method 498).
  • the domain sort module 44 may generate the distribution data that may be utilized for selecting and positioning interface elements (e.g., user interface elements, audio interface elements, media interface elements, machine interface elements) that may represent domains 205 (e.g., product domains) on the interface (e.g., user interface, audio interface, media interface, machine interface) based on the total coverage histograms 324. For example, domain sort module 44 may select and position user interface elements for a cross-domain user interface
  • the communication module 40 may use the interface information and may use the distribution data to generate the interface. For example. the communication module 40 may use product user interface information to generate a product user interface or cross product user interface information to generate a cross product user interface or aisle user interface information to generate an aisle user interface or cross aisle user interface information to generate a cross aisle user interface or department user interface information to generate a department user interface or cross-department user interface information to generate a cross-department user i nterface. In addition, the communication module 40 may use the distribution data to generate a cross-product or cross-aisle or cross- department user i nterfaces. Finally, the communication module 40 may communicate the generated user interface to the client machine 20. At operation 438, at the client machine 20, the web client 16 receives and displays the user interface.
  • the above described example embodiment includes the generation and communication of a user interface
  • other embodiments may generate and communicate information to be presented to a user, for example via a graphical user interface generated at the client side, or in some other manner (e g . an audio interface, machine interface, media interface).
  • the communicated information may comprise, for example, extensible Markup Language (XML) data that is processed and communicated to a user via an interface.
  • XML extensible Markup Language
  • embodiments may be deployed in a standalone, computer system environment, or in a peer-to-peer network environment.
  • Figure 22 is a flowchart illustrating a method 440, according to an embodiment, to generate supply histograms 320.
  • the search index engine 54 may read the next data item information 270 from the data item search information 66 based on the data item identification number 266 in the list. At operation 454 the search index engine 54 reads the next domain-value pair 201 in the data item information 270.
  • the search index engine 54 increments the data item count 280 that may be associated with the current domain 205 and at operation 458 the search index engine 54 may increment a total data item count 282 associated with the domain type.
  • the domain type may include a product, aisle, or department.
  • the search index engine 54 may determine whether there are more domain-value pairs 201 in the data item information 270. I t " there are more domain-value pairs 201 , a branch is made to operation 454. Otherwise a branch is made to decision operation 462. At decision operation 462, the search index engine 54 may determine if there arc more data item identification numbers 266 in the list. If there are more data item identi fication numbers 266, a branch is made to operation 452. Otherwise a branch is made to operation 464.
  • the search index engine 54 may generate and store supply information 33 I in the f ⁇ t m ⁇ f percent supply coverage entries in the supply histograms 320.
  • the search index engine 54 may divide the data item count 2SO for each of the domains 205 in the respective work areas 274, 276, 278 by the appropriate total data item count 282 (e.g., product, aisle, department) to () generate a percent supply coverage that may be stored according to domain 205 in the supply histograms 320 (.e.g., product histogram 326, the aisle histogram 328 and department histogram 330).
  • the communication module 40 may generate and store supply information 331 in the form of percent supply coverage entries in the supply histograms 320.
  • the search index engine 54 communicates the supply h istograms 326, 328, 130 to the communication module 40 and the process ends.
  • FIG 23 is a flowchart i llustrating a method 470, according to an embodiment, to generate demand histograms 322.
  • the method 470 commences at operation 472 with the demand data engine 56 receiving the query as entered at the (• client machine 20.
  • the demand data engine 56 may receive the query "AK shoes ruby.”
  • the demand data engine 56 may compare the constrai nts (e.g., keywords) in the query with the constraints (e.g., query keywords 2cS6) in the demand data indexes ⁇ ?Q to identify a matching demand index 284.
  • the constrai nts e.g., keywords
  • constraints e.g., query keywords 2cS6
  • the demand index 284 may include query keywords 286 (e.g., "AK 5 shoes ruby”) that correspond to the keywords “AK shoes ruby.”
  • multiple demand indexes 284 may be used to match each query keyword 286 in the query (e.g., "AK” and “shoes” and “ruby”).
  • the demand data engine 56 adds the view data item count ? C .K ) associated with a domain to the appropriate total view data item count 308 in O the demand data work area 72.
  • the demand data engine 56 may add the view data item count 290 associated with a pivaiuv t domain to the total view data item count 308 in the product work area 300
  • the demand d,;t ⁇ cr-i-Lne 56 determines if there are more domains 205 to process in the domain .lei ⁇ .irid . icta 287 (e.g., corresponding to 5 products, aisles or departments). If there arc nuir-- ⁇ ' .T.ains 205, a branch is made to operation 480. Otherwise a branch is made UJ Jvri :.; r, operation 481.
  • ⁇ t operation 480 the demand data erigiiu- ⁇ ⁇ : ads the next view data item count 290 (e.g., corresponding to the next dom.ii:- ) * • rathe domain demand data 287.
  • ⁇ i decision operation 481 the demand d ⁇ i.i -.r 56-determines if there is 0 another domain demand data 287 (e.g., prud'.u-: .iiT-ams, aisle domain, or department domains), ff there is more dor ⁇ -iir- ⁇ .: ⁇ ⁇ H •;, i data 287 a branch is made operation 482. Otherwise a branch is made to fp-jrai"'!' 483.
  • the demand data engine VJ cads the next domain demand data 287 (e.g., corresponding to products, n ⁇ ir- >.> ⁇ ; -.!,. : > -irtments). 5
  • the demand ⁇ ⁇ . ⁇ '. I c;. : .:ine 56 determines if there are more domains 205 to process in the domain i .-.:! ⁇ af ⁇ i ,h ⁇ a287 (e.g., corresponding to products, aisles or departments). If there arc ⁇ n (•: dmrams 205, a branch is made to 5 operation 486. Otherwise a branch is made co dec: -ion operation 487.
  • the demand data engine 5 ⁇ reads the next view data item count 200 (e.g., corresponding to the next '.b uru: i:. J ⁇ : ' :• ⁇ M the domain demand data 287.
  • the demand da us c-- L ; ⁇ :-. ⁇ 56 determines if there is more domain demand data 287 (e.g., product dw r f; ⁇ ,;v aisle domain, or department 0 domains). If there is more domain demand d_ ⁇ .; 2 -> "* .: branch is made operation 488 Otherwise a branch is made to operatmri ⁇ ? ⁇ ' /.
  • the demand data engine .56 reads the next domain demand data 287 (e.g., corresponding to products, aisles or departments).
  • FIG. 24 is a flowchart illustrating a method 498, according TO an embodiment, to generate interface information.
  • the interface information generated is user interface information; however, it will be appreciated by those ski lled in the art that interface information may also include machine interface infor mation (e.g., SGML) to communicate with a machi ne (e.g., client, server, peer to peer), audio interface information (e.g., sound), or a media interface information (e.g., media).
  • machine interface infor mation e.g., SGML
  • machi ne e.g., client, server, peer to peer
  • audio interface information e.g., sound
  • media interface information e.g., media
  • the method 498 commences at decision operation 500 with the communication module 40 determining if the product histogram 338 exhibits the peak distribution 2. For example, the communication module 40 may compare the product histogram 338 (e.g., percent total coverage) to a predetermined peak distribution 2. Tf the product histogram 338 matches the peak distribution 2, then a branch is made to operation 502. Otherwise, a branch is made to decision operation 504.
  • the communication module 40 may compare the product histogram 338 (e.g., percent total coverage) to a predetermined peak distribution 2. Tf the product histogram 338 matches the peak distribution 2, then a branch is made to operation 502. Otherwise, a branch is made to decision operation 504.
  • the communication module 40 generates product user interface information based on the position of the peak in the product histogram 33S For example, if product domains 132 A, B, and C were respectively associated with percent total coverage of 10%, 80%, and 10% then product user interface information for product domain B may be generated.
  • the communication module 40 determines if the product histogram 338 exhibits the hills distribution 4. For example, the communication module 40 may compare the product histogram 338 (e.g., percent total coverage) to the hills distribution 4. If the product histogram 338 matches the hills distribution 4 then, a branch is made to operation 506. Otherwise, a branch is made to decision operation 508.
  • the product histogram 338 e.g., percent total coverage
  • the communication module 40 generates cruss-product user interface info ⁇ nation based on the position of the hills in the product histogram 338. For example, if the product domains 132 A, B, C, D, E, F were respectively associated with percent total coverage ⁇ f 3%. 30'.'W. 3%, 30%, 4%, 30% then cross- product user interface information for product domains B, D, and F may be generated.
  • the communication module 40 may determine if the aisle histogram 340 exhibits the peak distribution For example, the communication module 40 may compare the aisle huv.ogram 340 (e.g., percent total coves age ' ) i ⁇ the predetermined peak distribution 2 I f the aisle histogram 340 ⁇ iaU'hfs the peak distribution 2, then a branch is made to operation 510. Otherwise, a branch i.-; made to decision operation 5 12. ⁇ t operation 5 10, the communication module 40 generates aisle user interface in formation based on the position of the peak in the aisle histogram 340.
  • the communication module 40 may compare the aisle huv.ogram 340 (e.g., percent total coves age ' ) i ⁇ the predetermined peak distribution 2 I f the aisle histogram 340 ⁇ iaU'hfs the peak distribution 2, then a branch is made to operation 510. Otherwise, a branch i.-; made to decision operation 5 12. ⁇ t operation 5 10, the communication module 40 generates aisle
  • the communication module 40 determines if the aisle histogram 340 exhibits the hills aisle distribution 4. For example, the communication module 40 may compare the aisle h istogram 340 (e.g., percent total coverage) to the hil ls distribution 4. If the aisle hi stogram 340 matches the hills distribution 4 then, a branch is made to operation 5 I 4 Otherwise, a branch is made to deuMim operation 516.
  • the aisle h istogram 340 e.g., percent total coverage
  • the communication module 40 generates cross-aisle user interface information. For example, if the product domains 132 A, B, C, D, E, F were respec tively associated with the percent total v. averages of 3%, 30%, 3%, 30%, 4%, then cross aisle user interface information tor aisle domains B, D, and F may be generated.
  • the co ⁇ irnurucatio" module 40 determines if the department histogram 342 exhibits the peak distribution 2. For example, the communication module 40 may compare the department histogram 342 (e.g., percent total coverage) to the peak distribution 2. If the department histogram 342 matches the peak distribution 2 then a branch is made to operation 518. Otherwise, a branch ⁇ .-> made to operation 520. At operation 518, the communication module 40 generates department user interface information based on the position of the peak as determined from the department histogram 342. For example, if the department domains 128 A. B, and C were respectively associated with percent total coverage of 10%, 80%, and 10%, then department user interface information for department domain B may be generated.
  • the department histogram 342 e.g., percent total coverage
  • the communication module 40 generates cross-aible domain information user interface information and the process ends. For example, if the department domains 12S A, B, C, D, E, F were respectively associated with percent total coverage of 3%. 30%, 3%, 30%, 4%, 30%, then cross department user interface information for department domains B, D, and F may be generated.
  • FIG. 25 is a flowchart illustrating a method 530 to generate distribution data, according to an embodiment.
  • the distribution data is used to select and position user interface elements on a user interface; however, it will be appreciated by those skilled in the art that distribution data may be generated to select and position machine interface elements for a machine interface (e.g., SGML), audio interface elements fore an audio interface, media interface elements for a media interface, or some other type of interface.
  • the method 530 commences at decision ⁇ peiaii ⁇ 532 with the domain sort module 44 determining t t ' a cross- domain user interface (e.g., cross product user interface or cross aisle user interface or cross department u_.ur interface) has been identified by the communication module 40 to be generated. If a cross-domain user interface has been identified, a branch is made to operation 534. Otherwise, the process ends.
  • a cross-domain user interface e.g., cross product user interface or cross aisle user interface or cross department u_.ur interface
  • the domain sort module 44 sorts the total coverage information 335 entries in the total coverage histogram 324 (e.g., product histogram 338 or aisle histogram 340, or department histogram 342) into descending order (e.g., high to tow). Hach total coverage information 335 entry is associated with a domain 205. The domain sort module 44 maintains the association between the total coverage information 335 entry and the domain 205 while sorting. In one embodiment, the total coverage information 335 entries may be represented as percent total coverage, as previously described.
  • the domain sort module 44 registers the domain 205 associated w ith the- current total coverage information 335 for display on the user interface, t or example, the product domain 1 32 "Shoes " maybe associated with the current total coverage information 335.
  • the domain sort module 44 gets a user interface element based on the current domain and increments a user inter face element counter 537.
  • the domain sort module 44 adds the total coverage information 335 associated with the current domain to a register that records cumulative coverage.
  • Ac decision operation 542 the domain sort module 44 determines if the cumulative ⁇ ove a ⁇ e is greater than or equal to a predetermined threshold.
  • the domain sort module 44 determines if the user interface element counter 537 is equal to a predetermined threshold (e.g., maximum user interface ek menrs or. a cross-domain user inter face) In one embodiment the maximum user i f. terrace elements may be ten. If the user interface element counter 537 is equui to die predetermined threshold, then a branch is made to operation 550. Otherwise, a br ⁇ reh is made to decision operation 546.
  • a predetermined threshold e.g., maximum user interface ek menrs or. a cross-domain user inter face
  • the domain sort module 44 determines if there is another total cowraye information 335 entry in the total coverage histogram 324 (e.g., product hi-togra ⁇ i 338 or aisle histogram 340 or department histogram 342). If there is more total cover age information 335, then a branch is made to operation 548. Otherwise, a branch is made to operation 550. At operation 548, the domain sort module 44 reads the next total coverage information 335 entry from the total coverage histogram 1 ?4 (e.g., product histogram 338 or aisle histogram 340 or department histogram 342 ).
  • the domain sort module 44 reads the next total coverage information 335 entry from the total coverage histogram 1 ?4 (e.g., product histogram 338 or aisle histogram 340 or department histogram 342 ).
  • FIG. 26 is a diagram illustrating a cross department user interface 560, according to an embodiment
  • Che cross department user interface 560 may be generated based on a hills distribution 4 and is shown to include user interface elements 562, 564, 566. and 56S. 1
  • ten user interface elements 562 represent ten department domains 128 (e.g. , Hume & Garden, Toys, Apparel, etc.) that may appear on the user interface 560 from top to bottom according to descending and respectively associated tu.al coveiage information 335.
  • the ten department domains 128 equal the predetermined threshold of maximum user interface elements that may be defined tor a cross-domain user interface. Other embodiments may inc lude other predetermined thresholds.
  • the user interface 560 illustrates that the predetermined threshold tor maximum user interface elements (e.g., ten) was reached before the predetermined threshold for cumulative coverage information
  • the user interface elements 504 represent department domains 128 that were respectively associated u. uh total coverage information 335 entries that were lower than the total coverage in formation 335 entries respectively associated with the user interface elements 562 D ie above remarks may also apply to the cross aisle user interface and the cross product user interface.
  • FIG. 27 is a diagram illustrating a cross department user interface 570, according to an embodiment.
  • the user interface 570 is shown to include user interface elements 572 , 5 " -'4. 5 "7 ⁇ , 57cS, 580 and 582.
  • the three user interface elements 572 respective! ⁇ , representing the Home & Garden, Toys, Apparel department domains 1 2H. I he three user interface elements 572 appear on the user interface 570 from top t ⁇ bottom according to a descending sort of respectively associated total coverage information 335.
  • the cross-department user interface 570 illustrates that the predetermined threshold for maximum cumulative coverage was reached before the predetermined threshold for maximum user interface elements. For example, the department domains 1 28 "Home & Garden", "Toys" and
  • “Apparel” may be respecti vely associated the total coverage information 335 of 30%, 30%, 28%.
  • the above remarks may also apply to the cross aisle user interface and the cross product user interface.
  • the user interface elements 572 and 574 representing the aisle domains 130 on the cross aisle user interface 570 and the user interface elements 562 and S64 representing the product domains 132 on the cross aisle user interface 5 7 O.
  • the eleven user mrerface elements 574 represent the "Video Games", “Tickets”. "Health & Benurv”, “Sporting Goods”, “Music & Musical Instruments”, “Coins”, “Mov ie* *' . "CnlU:ctibles”, “Jewelry & Watches”, “Books”, and “Crafts” department domains 12 K I he user interface elements 564 may be associated to total coverage inf ⁇ rrr.aii ⁇ t! ?? ? of 3%, 1%, etc..
  • the user interface element 580 represents a query dialog box that includes a query "green” that may have been entered by a user theicbv requesting the information storage and retrieval platform 12 to search for data uerri.s (>5 that contain the keyword "green.”
  • the user interface element 582 represents ⁇ category selector 582 which is set to search "All Categories" for data i tem.:-. (*5.
  • the user interface element 576 represents a domain name (e.g., "Home & CiurJcn", “Toys", etc.) and the user interface element 578 represents the number ;larn items 65 found by the information storage and retrieval platform 12 based on che query "green” in "AU categories.”
  • the above t c-.Tuu k s may also apply to the cross aisle user interface and the cross product user uue ⁇ uce.
  • the user interface elements 572 and 574 representing the aisle domains I ? ⁇ u ⁇ :hc cross aisle user interface 560 and the user interface elements 572 and r '4 ⁇ pi renting the product domains 132 on the cross product user interface.
  • Figure 28 is a diagram illustrating a department user interface 590, according to an embodiment
  • the department user interface 590 may be generated based on the peak distribution 2 and includes a user interface clement 592 representing the "Home & ( iarden” department domain 128.
  • the user interface 590 further includes user inter face elements 594 representing aisle domains 130 that may be organized under ⁇ w "Home & Garden” department domain 128.
  • the above remarks may also apply to the aisle user interface, the user interface element 592 representing the aisle domain UO and the user interface elements 594 representing the product domains 132.
  • Figure 29 is a d iagram il lustrating a product user interface 595, according to an embodiment.
  • the product user interface 595 is shown to include user interface elements 596, 597, 598, 599, 6(H and 603.
  • the user interface element 596 represents a domain path chat includes the " Apparel & Accessories” department domain 17R, the "Women's dwelling " aisle domain 168, the "Shoes" product domain 166 and the number of data items 65 tbu ⁇ d based on the query "Women's Shoes.”
  • the user interface elements 598 represent '.he value-, 2OS “Black”, “Red”, and “Ruby” that may be associated with the aspect ,V)6 “i. ⁇ lor.”
  • the user interface elements 599 represent counts of data items 65 :hat may he associated with the corresponding color.
  • the user interface element 6' M U a picture or graphic for a data item 65 that was found with the query.
  • T he user iiuerfuee element 603 includes information that may be stored in the data item 65 tli it u js found with the query. The above remarks may also apply to the aisle user i ' ⁇ iertajc and the product user interface.
  • Figure 30 shows a diagrammatic representation of machine in the example form of a computer system 60 ⁇ ⁇ within u hich a set of instructions, for causing the machine to perform any tine ur mon- ⁇ >! rhc methodologies discussed herein, may be executed.
  • the machine operates as a standalone device or may be connected (e.g., networked) to o ⁇ her machines.
  • the machine may operate in r -he capacity of a server or a client machine in server-client network envm >nn ⁇ nr or as a peer machine in a peer-to-peer (or distributed) network environment, ( " he machine may be a server computer, a client computer, a personal computer ( PC ), a tablet PC, a set-top box (STB), a Personal Digital Assistant (PDA), a cel lular telephone, a web appliance, a network router, switch or bridge, or any machine capable of executing a set of instructions (sequential or otherwise) that speci fy actions, t ⁇ be taken by that machine.
  • PC personal computer
  • PDA Personal Digital Assistant
  • the terra "machine” shall also be taken to include any collection of machines that i ⁇ div idually or jointly execute a set (or multiple sets) of instructions toperform any one or more of the methodologies discussed herein.
  • the example computer system 600 includes a processor 602 (e.g., a central processing unit (CPU) a graphics processing unit (GPU) or both), a main memory 604 and a static memory 60o. which communicate with each other via a bus 608.
  • the computer system 600 may further include a video display unit 310 (e.g., a liquid crystal display (LCD " ) or a cathode ray tube (CRT)).
  • the computer system 600 also includes an alphanumeric input device 612 (e.g., a keyboard), a cursor control device 6 14 (e.g., a mouse), a disk drive unit 616, a signal generation device 618 (e.g., a speaker) and a network' interface device 620.
  • the disk drive unit C l f> includes a machine-readable medium 622 on which is stored one or more sets of instructions (e.g., software 624) embodying any one or more of the methodologies or functions described herein.
  • the software 624 may also reside, completely or at least partially, within the main memory 604 and/or within the processor 602 dm uig execution thereof by the computer system 600, the main memory 604 and the processor 602 also constituting machine-readable media
  • the software 624 may further be transmitted or received over a network 626 via the network interface ice 620.
  • machine-readable medium 622 is shown in an example embodiment to be a single medium, the term “machine-readable medium” should be taken to include a single medium or multiple media (e.g., a centralized or distributed database, and/or associated caches and servers) that store the one or more sets of instructions.
  • the term “machine-readable medium” shall also be taken to include any medium that is capable of storing, encoding or carrying a set of instructions for execution by the machine and that cause the machine to perform any one or more of the methodologies of the present disclosure.
  • the term “machine-readable medium” shall accordingly be taken to i nclude, but not be limited to, solid-state memories, optical and magnetic media, and carrier wave signals.

Abstract

There are provided methods and systems to communicate information. The system receives a first query that contains at least one constraint and retrieves a first plurality of data items from a database based on the first query. Next, the system generates a first distribution, a second distribution. Next the system generates a third distribution based on the first distribution and the second distribution. According to a first aspect the system generates interface information, to be communicated to a user, based on the third distribution. According to a second aspect, the system generates distribution data to be included within an interface, the interface to include at least one interface element that is positioned on the interface based on the third distribution, the at least one interface element to respectively represent at least one domain.

Description

METHODS AND SYSTEMS TO COMMUNICATE INFORMATION
RELATED APPLICATIONS
This application claims the prior i ty benefits υf U.S. Application No. 11/478,666 and U.S. Appl ication No. 1 1 /497,976. U.S. Application No. 1 1/478,666 was filed June 30, 2006, which claims the priority benefits oF U.S. Provisional Application No. 60/743,256, filed February 9. ZOi )F, and U.S. Provisional Application No. 60/781 ,521 , filed March. 10. 2006, and U.S. Provisional
Application No. 60/745,347, filed April, 2 1 , 2006. all of which are incorporated herein by reference. U.S. Application No. i 1 ''497,976 was filed August 2, 2006, which claims the priority benefits υf U.S. 1'rυwsiυn.±l Application No. 60/743,256, filed February 9, 2006 and U.S. Prov isional Application No. 60/781 ,521 , filed March, 10, 2006, and U.S. Provisional Application No. 60/745,347, filed April, 21 , 2006, all of which are incorporated herei n b\ reference.
TECHNICAL FIELD
An embodiment relates generally io the technical field of data communications and, in one example cmbudiruent, to methods and systems to communicate information.
BACKGROUND
A user searching an information resource (e.g., database) may encounter challenges. One such challenge may be that a search mechanism (e.g., a search engine) that is utilized to search the information resource may present search results that are of no interest to the user. For example, the search mechanism may respond to a query from the user with numerous data items that cover a wide spectrum. The user may experiment by adding and removing constraints from the cμiery; however, such experimentation may be time consuming and frustrate the user. Another challenge may be that the search mechanism fails to organize search results on a speci fic interface in a way that is meaningful to the user.
BR[EF DESCRIPTION OF THE; DRAWINGS An embodiment; is illustrated by way of example and not limitation in the figures of the accompanying drawings, in which like references indicate similar elements and in which:
Figure 1 is a diagram depicti ng a peak distribution, according to one example embodiment; Figure 2 is a diagram depicting a hills distribution, according to one example embodiment;
Figure 3 is a diagram depicting a flat distribution, according to one example embodiment;
Figure 4 is a network diagram depicting a system, according to one example embodiment, having a client-server architecture;
Figure 5 is a block diagram illustrating modules and engines, according to an embodiment;
Figure 6 is a block diagram i llustrating an information storage and retrieval platform, according to an embodiment; Figure 7 is a diagram il lustrating a domain structure, according to one embodiment;
Figure 8 is a table illustrating sell-side data and buy-side data, according to one embodiment;
Figure 9 is a diagram illustrating rules, according to an embodiment; Figure 10 is a diagram illustrating a canonical matching concept, according to an embodiment;
Figure 1 1 is a diagram illustrating a set of requests, according to one embodiment, that may cause the storage of navigation information;
Figure 12 is a block diagram illustrating databases, according to an embodiment; Figure 13 is a block diagram illustrating V- Ia^Si tlt-ation information, according to an embodiment;
Figure 14 is a block diagram i llustrating a c'aca item according to an embodiment. Figure 15 is a block diagram illustrating a searc h index engine, according to an embodiment.
Figu re 16 is a block diagram illustrating . JJ Lt i' _ϊι i , Larc h information,
Figure 17 is a block diagram illustrating a suμpl' "■ o^L area, according to an embodiment Figure 18 is a block diagram illustrating d.πuiii! t'.a'a indexes, according to an embodiment,
Figure 19 is a block diagram illustrating r c vLr >-.< -.-.! ^ oi k area, according to an embodiment;
Figure 20 is a block diagram illnstranng suppi . '•[< - (< ■ T.ims. demand histogram., and total coverage histograms.
Figure 21 is a flow chart illustrating a πiuhod •" - •. >.ι iπuπicate information, according to an embodiment;
Figure 22 is a flowchart illusUaung a rr.ctKu 1 α '. uiJirig ^n an embodiment to generate supply histograms, Figure 23 is a flowchart illustrating a meti > < \ α. -urJτig to an embodiment, to generate demand histograms;
Figure 24 is a flowchart illustrating a rut. ? hod .κ ι ur. hng u> an embodiment, to generate interface information;
Figure 25 is a flowchart illustrating a method to -.enuate distribution data; Figures 26-29 are diagrams il lusti atmg user n;i-. - Lu c-., ac cording to an embodiment.
Figure 30 is a block diagram of a machine, acLouiing to an example embodiment, including instructions to perform αn v one or more ol the methodologies described herein Uhi 3 U± i) Di-SC RH1IIC)N
Methods and systems tυ communicate information are described In the fυllυ'vng
Figure imgf000006_0001
for puψoscs of explanation, numerous specific details arc set tori1- HI L-rdt-t en provide a thorough understanding of the present disclosure It will S bc^.u'uH ho.vevei, to one skilled in the art that the subject matter of the present il>M_iusurv. tnax be piacticed u ithout these specific details
\ ,> ' ten ma\ communicate information by generating an interface based on v.pi v nun' nation aαd demand mfotmation. With regard to the supply information, Ll t. fLftt "-iα\ receive a first querv that is entered by a user, identify matching data 0 'tei >s Ti I iv iuitam a set of data item counts for each domain For example, in i-esfi _ to ι,u fust quei>, the system may find matching data items that may be use c rir j i[ ivrimsed according :o product domain(s) (e g , shoes), aisle domain(s) i <- j. f r v __r ) and department domain(s) (e.g., apparel), where a department don n , u^ unhide aisle domam(s) and or product domains, an aisle domain may 5 tru KHL product domain(s) and a product domain may include data items
(. i H ! r ! t n > o Th [he example, if a data item is found in a Product C domain (e g , M c ^N) I1U' . (. mani?ed under a hierarch\ of domains (e g , Department A - apparel, \: Ic B - 'outwear, Product C - shoes) then the data item counts associated with the P- i' -[,' \ '\isle B and Product C domains may be incremented by one 0 Por i H-, v ah high data item counts nιa> be determined to be of interest to the user
H irh cgjid to the demand information, the system may read navigation intoiipj; un that is historical for queries that contains constraints that correspond to ihs. π-r
Figure imgf000006_0002
a predetermined period of time. Specifically, the system 'lu , [ i' t, nαv- igatioπ information in the form of view data item counts according to ^ doni ι! s the \ itvv data item counts being incremented responsive to a user viewing a cut i
Figure imgf000006_0003
1 or example, if a user previously entered a second query that contains Lu, 'UM'HS th it coπe^pond to the fiist query, selected the domain C and viewed a data ium then the \iew data item count corresponding to the domain C may be ιrκ r_( i_,,tι d bv one 1 he view data item counts may be incremented over a prc i_^ ,f ir (.(j period ot time (eg. seven days) and then made available as rid \ >_ i , >r> incormαtion to generate demand information For example, navigation information collected tot the previous week may be rrade .r arable as navigation Information to generate demand information in the present v ^.ek. Domains with high data item counts may be determined to be of interest to fueuser.
The system ma> maintain the supply information π the form of a product histoytam (e e peceeni of data items distributed υvcr t ii Ii ,>L product domains), an aisle histogram (eg. percent of data items distributed IHJ r, < ltiple aisle domains), and a department histogram (e g , percent of data it- iii.ii- " ted over multiple department domain;. l t he system mav maintain the dcr, .-nil i formation in a similar!} struetured %et of histograms Th^. swem 'nay generate total coverage histogum-. >r k luding total coverage information hjM-d tb^, supply mfoπnation that is iriv.Lidi.vl i Ϊ supply histograms and ihtr demand information that is included in the dtnu J - ograms. Specifically, the system mav generate a total coverage histogram KIL. IuJ >f,_ otal coverage information fur product domains, total coverage mfwiiMi'u1 \ raisle domains, and total coverage mr. >rtπaiιυn for department domains Ih- > r_ i may compare the total co\ctagv_ h'stπgrams to predetermined distribution in i ing a peak distribution 2 i hiUs distribution 4, and a flat distribuiu u < <.< 'dentify the type of user inter ϊa^ to geiicratc
Figure 1 .s i diagram depicting the peak di->ti >t .' . according to one example tπrmdirneru I he peak distribution 2 show s a r.. >, th respect to a single domain B 1 he p^ak distribution 2 may be a piedcteπmntd ^ ribution that is compaied wth UK. total coverage histograms to deter-in ru lt »i Λer the total co\t.ragc hi^tojram includes total coverage intoiiTatioti \.ul i ing the peak distribution 2 1 or evample, if the system detects a pcdi- nut αtion 2 in a total coverage histogram including total coverage mfomi ition "«>' oduct domains, then the system rna\ generate a product user interface that inekuL ^ a single product domain based on the position of the peak in the total unua.v. histogram.
Fi«ure 2 ha diagram depicting the hills distribuimn -» according to one example embodiment I he hills distribution 4 shous hills ^ i tli respect to multiple domains [ h.e hill-, distπbution 4 may be a predeteπtυruα A< t oution that is compared with to'a! Luvctage histogiatns to d(.tcir,nr'c > S^'t^r the total coverage histogram includes total coverage information exhibiting the hills distribution 4. For example, if the system detects a hills distribution 4 in a total coverage histogram including total coverage information for product domains, then the system may generate a cross-product user interface that includes multiple product domains based on the respective position of the hills in the total coverage histogram.
Figure 3 is a diagram depicting the flat distribution 6, according to one example embodiment. The flat distribution 6 is flat with respect to multiple domains. The flat distribution 6 may be a predetermined distribution that is compared with total coverage histograms to determine whether the total coverage histogram includes total coverage information exhibiting the flat distribution 6. For example, if the system detects a flat distribution 6 in a total coverage histogram including total coverage information for product domains, then the system may attempt to detect peak, hills, and flat distributions for total coverage histograms associated with aisle domains. If, on the other hand, the system detects the flat distribution 6 with regard to aisle domains then the system may attempt to detect the peak, distribution for total coverage histograms associated with the department domains.
A system niav further communicate information by generating an interface. For example, the interface may include a user interface (e.g., cross-product user interface, cross-aisle user interface, cross-department user interface) that includes user interface elements representing domains that may be positioned on the user interface based on the supply and demand information. In one embodiment, the system geneiates a user i nterface that includes user interface elements that may be positioned on the user interface in descending order proceeding from a highest total coverage information to the lowest total coverage information. For example, the system may position user interface elements representing departments (e.g., from highest to lowest total coverage) until a predetermined total coverage threshold (eighty percent) is reached or until a predetermined number of user interface elements threshold (e.g., ten ), representing departments, may have been positioned on the use interface. In one embodiment, the predetermined total coverage threshold and/or the predetermined number of user interface elements threshold may be configurable. Other examples may include other types of elements (e.g., audio interface elements, machine interface elements, media interface elements) that may be positioned, as. described above, on other types of interfaces (e.g., audio interface, machine interface, media interface). Figu re 4 is a network diagram depicting a system 10, according to one example embodiment, having a client-server architecture. A commerce platform or commerce server, in the example form of an information storage and retrieval platform 12. pan ides server-side functionality, via a network 14 (e.g., the Internet) to one or more cϋenrs Figure 4 illustrates, for example, a web client 16 (e.g., a browser, such a> the fmemef Explorer browser developed by lVIicrosoft Corporation of Redmond, Washi ngton State), and a programmatic client 18 executing .on respective client machines 20 and 22.
Turning α> the inlunnation storage and retrieval platform 12, an application program interface (A P I) server 24 and a web server 26 are coupled to, and provide programmatic ami web interfaces respectively to, one or more application servers 28. The application server-, 28 host one or more modules 30 (e.g., modules, applications, engi nes, etc ! The application servers 28 are, in turn, shown to be coupled to one or mot e database servers 34 that facilitate access to one or more databases 3b 1 he modulus 30 provide a number of information storage and retrieval functions and services ιv users that access the information storage and retrieval platform 12.
While the s> stem i '.) shown in Figure 4 employs a client-server architecture, the present disclusui e ι < u I" course not limited to such an architecture, and could equally well find application in a distributed, or peer-to-peer, architecture system. The various modules TO nuι \ also be implemented as standalone software programs, which do not necessarily have networking capabilities.
The web client 16 may access the various modules 30 via the web interface supported by the v. cb set vet 26. Similarly, the programmatic client 18 accesses the various services and uinetions provided by the modules 30 via the programmatic interface provided b y the API server 24. The programmatic client 18 may, for example, be a seller application (e.g., the TurboLister application developed by eBay Inc., of San Jose. Cali fornia) to enable sellers to author and manage data items or listings on the information storage and retrieval platform 12 in an off-line manner, and to perform batch-mode communications between the programmatic client 18 and the information storage and retrieval platform 12. Figure 5 is a block diagram illustrating the modules 30, according to an embodiment. The modules 10 inc lude a communication module 40, a coverage module 42, a domain sort module 44. a processing module 46, a classification service engine 48, a scrubber module 50, a query engine 52, a search index engine 54, a demand data engine 56, and a listing module 74. The communication module 40 may receive a query from the client machine
22, 20 which may include one or more constraints (e.g., keywords, categories, information specific to a type of data, item, otherwise referred to as an item-specific, etc.). The communication module 40 may interact with the query engine 52, the search index engine 54, the demand data engine 56, and the coverage module 42 to process the query. The coπimumcuum module 40 may receive aspect-value pairs that may be extracted from the quer y responsive to processing the query. Further, the communication module 4U may construct a transformed query based on the query received from the cl ient machine 20, 22 and may communicate the interface (e.g., user interface) to the u^cr .i t the L l ient machines 22, 20. The coverage module 42 rcuy ycntrate a total coverage histogram based on corresponding supply histograms and demand histograms. For example, the coverage module 42 may generate a total coverage histogram associated with product type domains based on α supply histogram and demand histogram both associated with product type domains ["he coverage module 42 may generate total coverage histograms for product type domains, aisle type domains and department type domains. In addition, die coverage module 42 may generate interface information by comparing di.slribuϋυrts of the total coverage information with the predetermined peak, hills, and flat distributions 2,4 and 6.
The domain sort module 44 may generate distribution data that may determine the position (e.g., urdei) of interlace elements (e.g., user interface elements, audio interface elements, media interface elements, machine interface elements) that represent domains for presentation on an interface (e.g.. user interface, audio interface, media interface, machine interface) that includes multiple domains (e.g., cross-domain u >er interface). For example, the domains of greatest interest to the user may be represented at the most prominent positions on a cross- domain user interface w ith user interface elements.
The processing module 46 may receive classification information and metadata information that ma> h-> authored with a classification and metadata tool. The processing module 46 may publish the classification information and metadata information tυ backend ^erv c: .-, that may host the query engine 52, the search index engine 54, and the classification service engine 48.
The classification :-cn. >cu engine 48 may apply domain rules and aspect rules to data items. The classi fication service engine 48 may apply domain rules to identify one or more dumam A αiue pairs (e.g., Product Type = Women's Shoes) that may be associated w ith the data ::em. The classification service engine 48 may further apply the aspect ru k> M identify aspect- value pairs (Brand = Anne Klein) that may be associated wdh UVJ data item. The classification service engine 48 may apply the domain and aspect < u ics to data items or listings as they are added to the information storage and retπ-.-vai platform 12, or responsive to the publication of new rules (e.g., domain ruics. aspect rules). The scrubber moMutc M 1 may process data items responsive to the information storage and t eu i -.v.u platform 12 receiving the data items from the client machines 20, 22. [Or cv .i 'i -ple, the scrubber module 50 may use the services of the classification service eruruie 48, as previously described, to apply domain rules and aspect rules to the dafa item. The scrubber module 50 may further store the data item, with the associated do.nain-value pairs and aspect-value pairs in a database 36 as item search inioπ natiόn. Further, the scrubber module 50 pushes or publishes item search infυrman jπ over a bus in real time to the search index engine 54.
The query engine 52 includes an aspect extractor module 58, classification information 49, metadata service module 60, and metadata information 62. The aspect extractor module 5S may receive a query from the communication module 40 and apply aspect rules to extract aspect- value pairs from the query. The aspect extractor module 58 may further communicate the aspect-value pairs to the communication module 40.
The metadata service module 60 ma y eυmmunicate metadata information to the communication module 40 bayed on the query that is received from the communication module 40. The metadata tπr'uπnatiυn may include metadata that the communication module 40 may use to format and generate the interface (e.g., user interface).
The search index engine 54 may i π.c' ude .>eαrαh indexes 64, data item search information 66 (e.g., including data items and associated domain-value pairs and aspect-value pairs), and a supply work area 6s. 1 he search index engine 54 may receive the transformed query from the commui iieation module 40 and utilize the search indexes 64 to identify data items based on the transformed query. The search index engine 54 may further communis::!.-.- :he found data items to the communication module 40. The search indcv engine 54 is also shown to include a supply work area 68 that may be used t> > generate histograms based on the data item search information 66 associated with the found data items.
The demand data engine 5(> ine
Figure imgf000012_0001
deiπand data indexes 70 and a demand work area 72. The demand data engine v> ma;, receive a pretransformed query from the communication module 40 and u>. the pretransformed query to search the demand data indexes 70 to identi fy
Figure imgf000012_0002
.t,-ιϋι>ι; da'.a that may be associated with previously received queries with constraint.-; chat correspond to the constraints of the pretransformed query. For example, the t-a-. igauon data may include a selection of a user interface that may be associated with a domain (e.g., product type = shoes) that preceded a selection of a data i tern the: eb v .-.uygesting a preferred domain to view the data item. The demand data engine 56 may further generate demand histograms based on the navigation data.
The listing module 74 may receive information from a client machine 20 or 22 and store the information as a data item in the database 36. Figure 6 is a block diagram further -ilustraung the information storage and retrieval platform 12, according to an cmht ^li αient. For example, the information storage and retrieval platform 12 may be embodied as a network-based marketplace (e.g., eBay, the Worlds Online Mar ketplace developed by eBay Inc., of San Jose, Cali fornia) that supports the transaction of data items or listings (e.g., goods or services) between sellers and bu>er^. In one embodiment, the information storage and retrieval platform 12 may receive information from sellers that describe the data items that may subsequently be retrieved by potential buyers or bidders.
Rules Generation
At operation 80, a category .»r data manager may utilize a classification and metadata tool to author rules that may include classification rules (e.g., domain rules and aspect rules) and metadata rules that may be received by a processing module 46 on the information storage and retrieval platform 12.
At operation 82, the processing module 46 may store the rules in the database 36 in the form of classificjuυn information and metadata information. At operation 84, the processing module 46 may publish the rules over a bus to a query engine 53, a metadata service module 60, and a classification service engine 48. For example, the processing module 46 may publish the rules in realtime to facilitate the addition of new rules or the modification of existing rules while the information storage and tetricv.il platform 12 may be operating. In one embodiment, the processing module ;l6, query engine 52, metadata service module 60 and classification service engine -l.x may communicate with each other over a bus that utilizes publish/subscribe middleware and database access software. In one embodiment the middleware may he embodied as TIBCO RENDEZVOUS™, a middleware or Enterprise Application Integration (EAI) product developed by Tibco Software, Inc. Palo Alto, California.
Data Item Generation
At operation 90, an author or publisher (e.g., a seller, user, etc.) enters information including item information into a client machine 20. The client machine 20 may communicate the item infos mαtion to the information storage and retrieval platform 12 where the item infornintion niay be stored as a data item 65 in the database 36. The item information entered by the user may include keywords in a title/description, one or more categories in which to list the data item 65, and one or more item-specifics (e.g., color=blue).
Λt operation 92, a scrubber module 50 may read the data item 65 and utilize the services of the classification service engine 48 (operation 94). The classification service engine 48 may apply domain specific rules to the data item 65 to identify one or more domains (e.g., product type, aisle, department, etc.) and aspect-value paiis (e.g., Brand=Nike). For example, the classification service engine 48 may utilize a rule that includes a condition clause and a predicate clause. The classification service engine 48 may apply the condition clause to the data item 65 ( e.g.. Title, description, category, item-specific, etc.) and if the condition evaluates rR I 1F- , then the corresponding predicate clause may be associated with the data item 65. For example, a seller may enter a data item 65 that includes Category-" Women's Shoes", Title= "AK Size 8 Black Pumps" and the classification service engine 48 may apply the rules to the data item 65 to identify one or more applicable domains that may be respectively stored as one or more domain- value pairs wi th the data item 65 (e.g., if category = "Women's Shoes" then product type-Shoes, aisle=shoes, department=apparel). Further, the classification sen. ice engine 4S may apply rules to identify one or more aspect-value pairs that may be associated with the data item 65 (e.g., If Title = black then color=black, etc.) as data item search information 66. The classification service engine 48 may, in an example embodiment, assign only canonical values to the value of an aspect-value pair. For example, the seller may enter any of the following strings "A Klein", '"Anne Klein" and "AK"; however, in each case, the classification service engine 48 may associate an aspect- value pair with the same canonical value, Brand = "Anne Klein."
At operation 96, the scrubber module 50 may store the data item 65, domain value-pairs, and aspect- value pairs as data item search information 66 in the database 36. At operation 98 the scrubber module 50 pushes or publishes the data item search information 66 over a bus in real time to a search index engine 54 that may store the data item search information 66 and update scare Ii indexes 64 based on the data item search information 66. For example, the search index engine 54 may add a data item identification number to appropriate search indexes M thai may be associated. with keyword(s) or aspect-value pairs in the data item 65. The scrubber module 50 and search index engine 54 may communicate with each other over a bus that uti l izes publish/subscribe middleware and database access software-. In one embodiment the middleware may be embodied as '['IBCC) REN DEZVOUS™, as described above.
Q u er v 'Time Operations
At operation 100, a user may enter a query that includes di fferent types of constraints including a keyword constraint, an item-specific constraint, and a category constraint. The query may be received by a communication module 40 at the information storage and retrieval platform 12. At operation 102, the communication module 40 may communicate the qucT;. :n the query engine 52, at a back end server I 03 that :XIΛ \ i nc lude the aspect tui jc ior module 58 and the metadata service moduie 60. The aspeuc extractor module 58 may apply the aspect rules to the query to
Figure imgf000015_0001
aspect-values from the query that may be associated with a product type. For example, the query "A Klein shues size 8 black" may correspond to the aspect- value pairs color black.
Figure imgf000015_0002
FN product type=shoe.s. Further , the aspect extractor module 58 may assign the same canonical values that were assigned by the c las. M fi cation service engine 48, as described below. Indeed, the aspect extractor module 58 may utilize a sub-set of the same aspect rules that were utilized by the c I a s M π cation service engine 48.
At operation 104, the aspect extractor module 58 mas- communicate the extracted aspect-value pairs to the communication module 40 Further, the metadata service module 60 may communicate metadata information d2 to the communication module 40. The communication module 40 ma> utilize the extracted aspect- value pairs to construct a transformed query. For exa mple, the transformed query may include keywords from the query and aspect-value pairs extracted from the query. In addition, the communication module 40 may cache the metadata for subsequent construction of the interface (e.g. user interface).
At operation 1 06, the communication module 40 communicates the transfoi met.' quec\ to the search index engine 54 at the back, end server 103. The search trulev engine 54 may utilize the transformed query to retrieve data items 65 which may -^a kscu unruly be utilized by the search index engine 54 to generate supply histograms. The search index engine 54 retrieves the data items 65 by util izing the search i ndexes' 64. For example, the search index engine 54 may utilize the keywords constraints (e.g., keywords) in the transformed query to retrieve item identi ficaU" >n cuimbet s from search indexes 64 that correspond to the keywords. Further, the ,-;cαr^ π mdex engine 54 may utilize the aspect-value pairs in the tians formed quer y to retrieve item identification numbers from search indexes 64 that uυπespond to the aspect-value pairs.
Trie scj; «.-h index engine 54 may utilize the retrieved data items 65 to generate suppl y histograms associated with products, aisles and departments. The supply hisci u.: -.ui! may include multiple entries of supply information, for example in the tomi υ f α percent supply coverage that may be associated with each domain.
At i iperarum I 08, the search index engine 54 may communicate the retrieved data item-- o^ an J the supply histograms to the communication module 40. A ; operaf. >:i 1 ! 0, the communication module 40 communicates the original
(e.g., prcu jn.- ibr med) query to the demand data engine 56. The demand -data engine 50 utilize.-, the pretransformed query to generate a demand side product histogram, a demand >ide aisle histogram, and a demand side department histogram by utilizing navigat ion in formation that is historical (e.g., a database of network events that describe lecoiJed user activity).
At operation 1 12, the demand data engine 56 may communicate the demand histograms to a coverage module 42 on a front end server 101. The coverage module 42 ma> generate total coverage histograms based on corresponding supply histogram.-* nrul demand histograms. For example, in one embodiment, the percent supply ci >v erαge associated with each domain in a supply histogram may be respeolt vd v α Ji Ie-, I re » the percent demand coverage associated with each domain in a demand histogram and the respective results may be divided by two (e.g., an average) to yield a total coverage histogram. Other embodiments may use different operations to combine the supply information and demand information.
Next, the coverage module 42 may utilize the total coverage histograms to generate interface information that may determine the type of user interface to present to the user. For example, if the total coverage histogram associated with products match the predetermined peak distribution 2 then the coverage module 42 may generate product user interface information (e.g., one product) where the product is selected based on the position of the peak. On the other hand, if the total coverage histogram associated with products indicates multiple hills, then the coverage module 42 may generate cross-product user interface information (e.g., multiple products) where the multiple products may be identified based on the position of the hills. Finally, if the total coverage histogram associated with products is flat, then the coverage module 42 may bubble up to the total coverage histogram associated with aisles to determine the interface information to generate. If the total coverage histogram associated with aisles is flat, then the coverage module 42 may utilize the total coverage histogram associated with departments to determine the interface information to generate (e.g., single department or multiple departments). FmaU> . if a cross-domain display (e.g., multiple products, aisles, or departments) has been selected, then a domain sort module 44 may generate domain distribution data that may determine the order of the domains for presentation on the display where the domains of greatest interest to the user may be presented in the most prominent positions. For example, in one embodiment the domain sort module 44 may use a total cov eiage department histogram to display departments in descending order (e.g., sorted from highest to lowest percent total coverage) until a first predetermined threshold (maximum cumulative coverage - eighty percent) is reached or unti l a second predetermined threshold (maximum number of domains - ten) is reached.
Λt operation I 14, the communication module 40 may communicate the interface (e.g., user interface) and the found data items 65 to the client machine 20 where they are displayed to the user (e.g. buyer or bidder). Figure 7 is a diagram illustrating a domain structure 120, according to one embodiment. 1 he domain structure 120 is shown to include buy-side data 122 and sell-side data 124. F he sel l-side data 124 is shown to include categories 126 that have been selected b> an author of the data item 65 to categorize the data item 65 on the information biυraye and retrieval platform 12. For example, the author may have selected one or more categories 126 that may include collectibles, jewelry and watches, etc. The buy-side d-iui 122 is shown to include product domains 132 (e.g., Belts, Watches. Handbags, etc. ), aisle domains 130 (e.g., Women 's Accessories, Women 's Clothiny. Women ' -v Bottoms, etc.) and a department domain 128 (e.g., Apparel and Accessories') The previously described rules may be used to associate sell side data 124 to the product, aisle and department domains 132. 130, 128. Further, the domains 1 32 130, 128 may appear on interfaces (e.g.., u^er interfaces) and communicated to the cl ient machines 20, 22 to enable a user to identify or browse the dam items f'ό Figure 8 is a uhk- : 4 > further illustrating sell-side data 150 and buy-side data 152, according π > -.M\ J embodiment. The sell-side data 150 may be entered by an author or publisher of a listing or data item 65 and stored in the data item 65 and, as described above, l he sell -side data 150 may include a category 1 54, a title 156 and one υr more i ttm-speei tic.s 158, 160. For example, the sell-side data 150 illustrates an author or publisher to have entered the category 154 "Women's
Shoes", the title 156 "ΛK Size 8 Black Pumps", the item-specific 15S "Brand=Via Spiga" and the item-speci Hc i 60 Size=8. The buy-side data 152 may be associated with the sell side data 1 ~>(i v.n the rules, as previously described. Specifically, the condition clause in the rules may be used to test sell-side data 150. If the rule evaluates TR.UH then bu> -side data 152 in the same column may be associated with the data item 65. For example, lhe buy-side data 152 is shown to include a product domain-value pair 201 (e.g.. product type = Women's Shoes), an aisle domain- value pair 201 (e.g , aisle type - Women's Clothing), a department domain-value pair (e.g., department type - Apparel & Accessories) that were associated with the data item 65 based on the category 154 "Women's Shoes." Note that multiple aspect brands 164 may be associated with the data item 65 based on the title 156 and the item-specific 158.
Figure 9 is a diagram illustrating rules 190, according to an embodiment. The rules 190 include domain rules \ <-)2 and aspect rules 196. The domain rules 192 and aspect rules 196 include a condition clause 198 (e.g., trigger, Boolean expression, etc.) and a predicate clause 200. The condition clause 198 may include a Boolean expression chat may evaluate TRUE or FALSE. In one embodiment the Boolean expression may be used to evaluate multiple fields in the data item 65. For example, a Boolean may be uscxl tυ ev aluate the category 154, the title, 156, and an item-specific 158 in a data item o5. Further, the Boolean expression may include multiple operators (AMD, OR. EXC LUSIVE OR, etc.). If the condition clause 198 evaluates TRUE, then, the predicate clause 200 may be associated with the data item 65.
The predicate clauses 2(H) associated with the domain rules 192 may include a domain-value pair 20 1 (e.g . product type - Women's Shoes). The domain-value pair 201 may include a dυmain type 203 and a domain 205. The domain type 203 may describe the type of domain such as "Product Type", "Aisle Type", "Department Type", etc. The domain 205 may describe the domain and may be limited to the corresponding domain type 203 such as "Women's Shoes." The domain-value pair 201 "product tjpc = Women's Shoes" may further be used as a condition clause 198 to trigger the association of another domain-value pair 201 . For example, the dυmain r ule 1 04 is shown to evaluate TRUE if the data item 65 includes the previously associated domain-value pair 201 "Product Type = Women's Shoes." I f '[ R [ ι l;, then the domain-value pair 201 "aisle type = Women's Clothing" may also be associated with the data item 65. Accordingly, the association of one domai n-value pair 201 to a data item 65 may trigger the association of another domain-value pair 201. For example, a first domain rule 194 may be used to associate a product domain 132 for Women's Shoes to an aisle domain 130 for Women's Clothing and a second domain rule 194 may be used to associate the aisle domain 130 for Women's Clothing to a department domain 1 28 for Apparel and Accessories. The predicate clauses 2ϋ'i associated with the aspect rules 196 may include an aspect-value pair 204 (e u.. color — ruby). For example, the aspect rule 197 is shown associate the aspect-value pair 204 "color = ruby" to the data item 65 based on the condition clause 1 9S. "if Tick- - Ruby." The aspect-value pair 204 may include an aspect 206 such u.-. "color" and a value 208 such as "ruby." The aspect- value pair 204 (e.g.. color ~ rubs') may be further used as a condition clause 198. For example, an aspect ruic i s>0 may include the aspect-value pair 204 (e.g., color = ruby) to trigger the di..sυciatiun of αuo! her aspect-value pair 204 ("color = red") to the data item 65. Accordingly, the association of one aspect-value pair 204 to a data item 65 may be used to associate: another aspect-value pair 204 to the data item 65. In addition, the aspect ru!e.-> ! '-)f. ;I MV include a condition clause 198 that includes a keyword 202. For example, an a >peα rule 196 is shown to include the keyword 202 "ruby." The kcyword(sj 2(>2 in ■ ■;-. condition clause 198 may be used by the aspect extractor module 58 tυ
Figure imgf000020_0001
kcvΑ ord(s) 202 in a query that is received from the client machine 20 to aspect-value pa: r-"> 204.
Figure IO is a diagram i l lυ ^raπng a canonical matching concept 2 10, according to an embodiment. T lie <. arκ>nical matching concept 210 may be used to identify a data item 65 v- i:[- a query 2 12. The canonical matching concept 210 may use a value 208 that is canomca. ■■.= -^present other values 208. For example, the query 212 may be received !'rυm :i -. Ii eat machine 20, 22 including the string, "AK." The query 212 may be processe-i Λ \:\\ an aspect rule 196 that may include a condition clause 1 98 that include,, multiple keywords 202 (If "Anne Klein" OR "Ann Klein" OR "A Klein" OR "AKNY" OR "AK", etc.) to associate the canonical aspect-value pair 204 "B rand ÷- " Λniie Klein" to the query 212. Continuing with exαmpL-. a ci.ua item 65 may be received from a seller at the client machine 20, 22 and may un-luJe any of the illustrated strings that represent "Ann Klein." For example, the titie m the data item 65 may contain '"Anne Klein." Continuing with the example, the data item 65 may be processed with an aspect rule 196 that includes a condition clause 1 c>8 that includes multiple keywords 202 (If title = "Anne Klein" OFl "Ann KU m" OR "A Klein" OR "AKNY" OR "AK", etc.) to associate the canonical aspect-value pair 204 "brand - "Anne Klein" to the data item 65.
Figure 11 is a diagram illustrating a set of requests 220, according to one embodiment. The set of requests 220 may cause the demand data engine 56 to store navigation information in the demand data indexes 70. The set of requests 220 may originate at the client machines 20, 22 and may he received by the demand data engine 56 at the information storage and l etrieva! platform 12 that may register the occurrence of the set of requests 221). I 'he set of requests 220 may include a query that may include one or more constraints f e.g.. keywords, categories, item-specifics, etc.), a request to view a domain (e.g.. product domain 165, aisle domain 168 or department domain 178) that may be receiv cd
Figure imgf000021_0001
the demand data engine 56 prior .to receiving a request to view a data item, and th-j request to view the data item 65. For example, at operation 222, the demand dj ia engine 56 may receive navigation information in the form of a query ( e.g . "i Pυd"). Λt operation 224, the demand data engine 56 may receive a request to view a crυ<-> domain page (e.g., including multiple product types). Λt operation 226. the demand data engine 56 may receive a request to view the product domain 1 32 "'rVutahlc Audio." At operation 228, the demand data engine 56 may receive a request to view a data item 65. Responsive to receiving the request to view the data item 65 , the demand data engine 56 may register the request to view the data item 05 in ;he demand data indexes 70 (e.g., increment a view data item count) corresponding to the query "iPod" and corresponding to the product domain 1 ?2 "'Portable Audio".
Figure 12 is a block, diagram i llustrating databases 250, according to an embodiment. The databases 250 may include the data item 65, the classification information 49 and the data item search in formation 256. The data item 65 may include information from the author of a lining or data item 65 as entered from the client machine 22, 20. The data item search information 66 includes the data item 65, and domain-value pairs 20 1 and aspect- value pairs 204 that have been associated with the data item 65. The classi fication information 49 includes rules that may be applied to queries and data items (>5. Figure 13 is a block diagram illustrating the classification information 49, according to an embodiment. The elassiilc.ition information 49 may include multiple domain dictionaries 252. each associated with a product type domain. Each domain dictionary 252 may include domain rules 192 and aspect rules 196. The domain rules 192, as previously t lcst rihed, may be .used to associate a specific product type domain and/or aisle domai n and/or department domain to the data items 65. The aspect rules 196 nun he ι: >n.i to associate aspect-value pairs 204 to the data items 65 that may be av>υciaϊed -A uh the product type domain corresponding to the domain dictionary ? 5J Figure 14 is a block diagram iHii -tr.iting the data item 65, according to an embodiment. The data item 65 ma >, mι. !>uύ, a title 258, a description 260, one or more categories 262, one or more ltcrii- ^pc ifics 264, and a data item identification number 266. The title 258 may inc lude keywords entered by the user to describe the data item 65. For example, the presetπ data item 65, as illustrated, shows a title "AK Size 8 Black Pumps." The descriptum Jf-u πiay be used to describe the data item 65 that may be for sale or auction. "1 he ca; „-<); v 262 may be a category selected by the seller or author or publisher or" the Jat-.r ' Uπi 65. The item-specific 264 may include item-specific information that may be .t:o- >uated with the data item 65. In the present example, the data item Co ma^ ! ••„ :• pair of shoes, and therefore an item- specific 264 for color is appiopπurc I ... .hta item identification number 266 uniquely identifies the data item 65 t:ι ci u.- i;ι formation storage and retrieval platform 12.
Figure 15 is a block diagram U I UNΠ .I ting the search index engine 54, according to an embodiment. The .veαtch index engine 54 is shown to include the search index 64, the data item search irιf\ >αu_ttion 66, and supply work area 68. The search index 64 is further shown to include multiple aspect-value pairs 204 and multiple keywords 202. Hach aspect -val ue pair 204 and keyword 202 is further illustrated as associated with one ur mure data item identification numbers 266. For example, if a data item 65 was associated with the aspect-value pair 204 "Brand=Anne Klein", then the dc'M i reui ids. atification number 266 corresponding to the data item 65 may be associated with the aspect-value pair "Brand=Anne Klein."
'0 Also, for example, if a data item 65 was associated with the aspect-value pair 204 "Color-Ruby", then the aspect rule 196 "If title = Ruby then Color = Ruby" then the data item identification number 266 corresponding to the data item 65 may be associated with the keyword 202 "Ruby" in the search index 64.
5 Figure 16 is a block diagram illustrating the data item search information
66. ! he data item search information 66 is shown to include multiple data item information 270 entries. Each data item information 270 entry may be associated wi th a data item 65, one or more domain-value pairs 201 and one or more aspect- value pairs 204.
I U Figure 17 is a block diagram illustrating the supply work area 68, according
[u an embodiment. The search index engine 54 may utilize the supply work area 68 to build supply histograms. The supply work area 68 is shown to include a product work area 274 that may be used to build the supply histograms for all product domains 132 in the information storage and retrieval platform 12, an aisle work area
1 5 276 that may be used tυ build aisle supply histograms for all aisle domains 130 in the information storage and retrieval platform 12, and a department work area 278 that may be used to build department supply histograms for all department domains 1 28 in the information storage and retrieval platform 12. Each of the work areas 274, 276, 278 may i nclude data item counts 280 and a total data item count 282, as 0 illustrated with respect to the product work area 274. The data item count 280 may represent the number of data items 65 found that may be associated with the corresponding domain 205. The data item count 280 may be used by the search index engine 54 to count the number of found data items 65 that may be associated with the respective product type, aisle type or department type domains 205. The 5 search index engine 54 may sum or accumulate data item counts 280 in the supply work area 68 (e.g., product work area 274, aisle work area 276, department work area 278) to generate the total data item counts 282 for the respective work areas 274, 276, 278.
Figure 18 is a block diagram illustrating the demand data indexes 70, 0 according to an embodiment. The demand data indexes 70 may be used to store navigation information and may include multiple demand indexes 284. Each demand index 284 is shown to include a second query in the form of query keyw uαl(s) 286. The query keywords 286
Figure imgf000024_0001
be matched against the keywords contained in a query as received from the cl ient machine 20, 22. Each query key'Λ-oιd(s) 286 entry may be associated ^. u!> : Multiple domain demand data 287 entries Bach domain demand data 287 entry may be associated with a domain type { e.μ . product domain 132. aisle domain 1 ?u. and department domain 12S) that support entries for ail domains 205 as≤ociatc.1 with the domain type. Each entry v1- ithm the domain demand data 287 include.-, α domain identifier 289, and a view data item cυunt 290. The appropriate view data item count 290 may be incremented bv the demand data engine 56 responsi ve1 u> the detection of a set of requests 220 rhut may include a query that matches the querλ- keywords 286, a request to view the domain 205 (e.g., product domain 166. aisle domain 168 or department domain 1 78 i. and a request to view a data item 65. The '-specific view data item count 290 thai may be incremented corresponds to the diuriain 205 associated with the request to view rhe domain that preceded the request to view the data item 65. Further, the v iew data i tem count 290 may be collected us- er a standard period of time (e.g., se en dαy.v one month, etc.).
Fi wu re 19 is a block diagram illustrating the demand work area 72, ULCcrding to an embodiment. The demand data engine 56 may utilize the demand '-M H L area 72 to build demand histograms. The demand work area 72 is shown to include a product work area 300 that may be u:.ed to build demand histograms for all product domains 132 in the information
Figure imgf000024_0002
and retrieval platform 12, an aisle work area 302 that may be used to build aisle demand histograms for all aisle domains 1 10 in the information storage and retrieval platform 12, and a department work area 304 that may be used to build depαrrπient demand histograms for all department domains 128 in the information sn > rage and retrieval platform 12. Each of the work areas 300, 302, 304 may include a total view data item count 308, as i l l ustrated with respect to the product work area 300. The view data item counts 290 in the domain demand data 287 (e.g., product domains or aisle domains or dcf urϊment domains) may be used bv the demand data engine 56 to generate the total view data item counts 308 that rnav be associated with the respective product type, aisle type or department type domains 205. For example, the demand data engine 56 may sum or accumulate all of the view data item counts 290 within a domain demand area 287 (e.g., product domains or aisle domains or department domains) tυ generate the total view data item counts 308 for the respective work areas 3 C)O, .U)2, 304. Further, the total view data item count 308 may he used to generate demand information in the form of a percent demand coverage that may be stored in a demand histogram according to domain 205 (e.g., view data item count 290 / total vjew data item count 308).
Histograms
Figure 20 is a block diagram illustrating supply histograms 320, demand histograms 322 and total coverage histograms 324.
Supply His-tαgrarns The supply histograms 320 may include a first distribution in the form of a product histogram 326, an aisle histogram 328 or a department histogram 330. For example, the- product histogram 326 may include the supply information 33 1 (e.g., percent suppl y coverage) distributed across the product domains 132 in the information storage and retrieval platform 12. The aisle histogram 328 may include supply information 33 1 (e.g., percent supply coverage) distributed across the aisle domains I .U) in the information storage and retrieval platform 12. The department histogram 330 may include the supply information 331 (e.g., percent supply coverage) distributed across the department domains 128 in the information storage and retrieval platform 12.
Demand Histu»rams
The demand histograms 322 may include a second distribution in the form of a product histogram 332, an aisle histogram 334, or a department histogram 336. The product histogram 332 may include demand information 333 (e.g., percent demand coverage) distributed across the product domains 132 in the information storage and retrieval platform 12. The aisle histogram 334 may include the demand information 333 (e.g., percent demand coverage) distributed across the aisle domains 1 30 in the information storage and retrieval platform 1 2. I he department histogram 336 may include the demand information 333 (e.g., percent demand coverage) distributed across the domains 128 in the information storage and retrieval platform 12. In one embodiment the demand information 333 associated with a domain maybe calculated only if supply information 33 I (e.g.. rioiwero value) exists for the corresponding domain.
.Total C o vera uc i 1 istograms The total coverage histograms 324 may include a third distribution in the form of a product histogram 338, an aisle histogram 340 or a department histogram 342. The product histogram 338 includes may include total coverage intbπnation 335 (e.g., percent total coverage) distributed across the product domains ! 32 in the information stof aμe and retrieval platform 12. The aisle Jiistogram 34t't ma * include the total coverage information 335 (e.g., percent total coverage) distributed across the aisle domain* 130 in the information storage and retrieval platform 12 The department husuigsam 336 may include the total coverage information ^3 r> (e.g . percent total coverage) distributed across the department domains 1 2<S in the information storage and retrieval platform 12. I igure 2 I is a flow chart illustrating a method 400 to communicate information, aceυc Jing to an embodiment. Illustrated on the left K the client machine 20: i llustrated in the middle are operations performed by the front-end servers 1 0 1 ; and illustrated on the right are operations performed by the hackend servers 103. The method 400 commences at operation 402 w ith the vseb client 16 at the client machine 20 communicating a query that may be entered by a u.sct. The query may conta in one or more constraints that may include keyw ord constraints, category constraints, and item-specific constraints. For example, the user may enter the query u ith the following keywords 202, "AK shoes ruby."
Λt operation 404, at the front-end servers 101 , the communication module 40 may
Figure imgf000026_0001
e the query from the client machine 20 and at operation 406 rhe communication module 40 may request aspect extraction and metadata information 62 based on the query.
At operation 408, the aspect extractor module 58 receives the query and extracts aspect-value pairs from the query based on aspect rules 196. For example, the aspect extractor module 58 may extract the aspect-value pairs 204 "Brand = Anne Klein" and "Color = ruby." Note that aspect extractor module 58 has generated canonical aspect-value pairs 204 based on the query "AK shoes ruby." In addition, the metadata service module 60 may identify metadata information 62 based on the query "AK shoes ruby." Finally, the aspect extractor module 58 may communicate the aspect-value pairs 204 "Brand = Anne Klein" and "Color = ruby" to the communication module 40 on the front-end server 101 and the metadata service module 60 may communicate the appropriate metadata information 62 to the communication module 40 on the front-end server 101.
At operation 410, at the front-end server 101, the communication module 40 may generate a transformed query based on the query and extract aspect-value pairs 204. For example, the communication module 40 may generate the transformed query ["AK" AND "shoes" AND "ruby"] OR ["Brand - Anne Klein" AN D "Color = ruby"].
At operation 420. the communication module 40 may request data items 65 and supply histograms 320 based on the transformed query by communicating the transformed query to the search index engine 54.
At operation 422, the search index engine 54 may retrieve the data items 65 based on the transformed query. Specifically, the search index engine 54 may search the search indexes 64 based on the aspect-value pairs 204 (e.g., "Brand = Anne Klein" AND "Color = ruby") to identify matching data items 65 (e.g., found data items). Note that a matching data item 65 may include both aspect-value pairs 204 to be considered a match. Further, the search index engine may identify a matching data item based on the keywords in the transformed query (e.g., "AK" AND "shoes" AND "ruby"). Note that a matching data item 65 may be required to include all three keywords 202 to be considered a match. At operation 424, the search index engine 54 may generate supply histograms 320 (e.g., distributions) based on the found data items 65 using the domains 205 that may be used to identify the data items 65, as described further below. For example, the domains 205 may include the product, aisle and department domains 132, 130, 1 2K that may be navigated by buyers to find the data items 65- In addition, the search index engine 5.4 may communicate the distributions and the found data items 6:> ID the communication module 40 at the front-end server 101.
At operauuπ 42 ό, the communication module 40 may request demand histograms 322 based on the query received from the client machine. For example, the communication module 40 may communicate the query "AK shoes ruby."
At operation 428, the demand data engine 56 may generate demand histograms 322 (e.g., distributions) of requests to view data items 65 across domains based on navigation information associated with the query. For example, the demand data engine 56 may identify a demand index. 284 associated with constraints (e.g., query keywords 286 "AK shoes ruby") that correspond to the constraints (e.g., keywords) in the qucrv "'AK shoes ruby", as described further below. Responsive to identifying the demand index 284, the demand data engine 56 may add the view item counts 290 associated with a type of domain (e.g., product domains or aisle domains or deparment domains) and store the sum as the total view item count 308 in the demand -Λ ork ai^.a (e.g., product work area 300, aisle work area 302, department work αiea < 04). Next, the demand data engine 56 may generate demand information 3J.> (e g.. percent demand coverage) for the product histogram 332, the aisle histogram 334 and the department histogram 336. For example, the demand data engine 56 may generate demand information 333 for a product domain in the product histogram 532 by dividing the view data item count 290 associated with the product domain by the total view data count 308 associated with the product work area 400. Continumg u ith the example, the demand data engine 56 may store the demand in formation 333 in the product histogram 332 according to the product domain. Finally, the demand data engine 56 may communicate the demand histograms 322 to the coverage module 42 on the front-end servers 101. In one embodiment the demand information 333 associated with a domain may be calculated only if supply information 33 ! (e.g., non-zero value) exists for the corresponding domain.
At operation 430. the coverage module 42 may generate total coverage histograms 324 based υn the corresponding supply histograms 320 and the corresponding demand histograms M2 In one embodiment, the coverage module 42 may generate an average for cjch domain 205 in the total coverage histogram 324. as previously described. Oihet embodiments may generate the total coverage histogram 324 in a different manner. In another embodiment, the coverage module 42 may scale each of the demand information 333 entries (e.g., percent demand coverage) in the demand histograms 322 before generating averages for each domain 205. For example, the pei ccni demand coverage entries in the demand histogram 322 may be scaled b;. a factor of 1.2 before combining (e.g., averaging) the entries of the supply histogram 32υ « ith the respective entries of the demand histogram 322. Likewise the percent demand coverage entries in the supply histogram 320 may also be scaled. In another embodiment the following equation may be used to generate the (oral coverage histogram:
Total Coverage Information (X ) - Demand Information(X) ^[DEMAND WEIGHT] + Supply Information .Y) * t 1 - D t- MAMD WEIGHT)) For example, the "Total Co*, erau.: information" may include the total coverage information 335 fot the domain ?.ι')5 "X"; the "X" may include a specific domain that may be a product domai n 1 32. an aisle domain 130, or a department domain 128; the "Demand Information" may include the demand information 333 for the domain "X"; the "DEMAN D W L: I( Η 1'" may include a weight between 0 and 1 ; and the "Supply Information" muv include the supply information 33 1 for the domain "X".
At operation 432, the coverage module 42 generates interface information. The coverage module may generate infer face information by comparing the total coverage histograms 324 (e.g.. product histogram 338, aisle histogram 340. department histogram 342) with predetei mined distributions 2, 4, 6 to determine the type of interface information to uenerate. as described further below. Λt operation 434, the domain sort module 44 may generate distribution data if the coverage module 42 generated interface information for multiple product domains or multiple aisle domains or multiple department domains (e.g.-, operations 432, method 498). The domain sort module 44 may generate the distribution data that may be utilized for selecting and positioning interface elements (e.g., user interface elements, audio interface elements, media interface elements, machine interface elements) that may represent domains 205 (e.g., product domains) on the interface (e.g., user interface, audio interface, media interface, machine interface) based on the total coverage histograms 324. For example, domain sort module 44 may select and position user interface elements for a cross-domain user interface
(e.g., displaying multiple domains based on a hills distribution), as described further below (e.g., method 530;
Λt operation 436. the communication module 40 may use the interface information and may use the distribution data to generate the interface. For example. the communication module 40 may use product user interface information to generate a product user interface or cross product user interface information to generate a cross product user interface or aisle user interface information to generate an aisle user interface or cross aisle user interface information to generate a cross aisle user interface or department user interface information to generate a department user interface or cross-department user interface information to generate a cross-department user i nterface. In addition, the communication module 40 may use the distribution data to generate a cross-product or cross-aisle or cross- department user i nterfaces. Finally, the communication module 40 may communicate the generated user interface to the client machine 20. At operation 438, at the client machine 20, the web client 16 receives and displays the user interface.
While the above described example embodiment includes the generation and communication of a user interface, it will readily be appreciated that other embodiments may generate and communicate information to be presented to a user, for example via a graphical user interface generated at the client side, or in some other manner (e g . an audio interface, machine interface, media interface). As such, the communicated information may comprise, for example, extensible Markup Language (XML) data that is processed and communicated to a user via an interface.
Further, while the presentation of information has been described in the context of a client-server network environment, embodiments may be deployed in a standalone, computer system environment, or in a peer-to-peer network environment.
Figure 22 is a flowchart illustrating a method 440, according to an embodiment, to generate supply histograms 320. The method 440 commences at operation 450 with the search index engine 54 generating a list of data item identification numbers 266 based on the transformed query. For example, all data items identification numbers 266 associated with the aspect-value pairs 204 "Brand -= Anne Klein" or "Color = ruby" in the search index 64 may be included on the list. In addition, all data item identification numbers 266 associated with the keywords "AK" AND "shoes" AND "ruby" in the search index 64 may be also be included on the list.
At operation 452, the search index engine 54 may read the next data item information 270 from the data item search information 66 based on the data item identification number 266 in the list. At operation 454 the search index engine 54 reads the next domain-value pair 201 in the data item information 270.
At operation 456, the search index engine 54 increments the data item count 280 that may be associated with the current domain 205 and at operation 458 the search index engine 54 may increment a total data item count 282 associated with the domain type. For example, the domain type may include a product, aisle, or department.
At decision operation 460, the search index engine 54 may determine whether there are more domain-value pairs 201 in the data item information 270. I t" there are more domain-value pairs 201 , a branch is made to operation 454. Otherwise a branch is made to decision operation 462. At decision operation 462, the search index engine 54 may determine if there arc more data item identification numbers 266 in the list. If there are more data item identi fication numbers 266, a branch is made to operation 452. Otherwise a branch is made to operation 464.
5 At operation 464, the search index engine 54 may generate and store supply information 33 I in the fυt m υf percent supply coverage entries in the supply histograms 320. For example, the search index engine 54 may divide the data item count 2SO for each of the domains 205 in the respective work areas 274, 276, 278 by the appropriate total data item count 282 (e.g., product, aisle, department) to () generate a percent supply coverage that may be stored according to domain 205 in the supply histograms 320 (.e.g., product histogram 326, the aisle histogram 328 and department histogram 330). In another embodiment, the communication module 40 may generate and store supply information 331 in the form of percent supply coverage entries in the supply histograms 320. 5 At operation 466, the search index engine 54 communicates the supply h istograms 326, 328, 130 to the communication module 40 and the process ends.
Figure 23 is a flowchart i llustrating a method 470, according to an embodiment, to generate demand histograms 322. The method 470 commences at operation 472 with the demand data engine 56 receiving the query as entered at the (• client machine 20. For example, the demand data engine 56 may receive the query "AK shoes ruby." At operation 474, the demand data engine 56 may compare the constrai nts (e.g., keywords) in the query with the constraints (e.g., query keywords 2cS6) in the demand data indexes ~?Q to identify a matching demand index 284. In one embodiment the demand index 284 may include query keywords 286 (e.g., "AK 5 shoes ruby") that correspond to the keywords "AK shoes ruby." In another embodiment, multiple demand indexes 284 may be used to match each query keyword 286 in the query (e.g., "AK" and "shoes" and "ruby").
At operation 478. the demand data engine 56 adds the view data item count ?C.K) associated with a domain to the appropriate total view data item count 308 in O the demand data work area 72. Forexample, the demand data engine 56 may add the view data item count 290 associated with a pivaiuv t domain to the total view data item count 308 in the product work area 300
At decision operation 479, the demand d,;tα cr-i-Lne 56 determines if there are more domains 205 to process in the domain .leiϋ.irid . icta 287 (e.g., corresponding to 5 products, aisles or departments). If there arc nuir-- ό'.T.ains 205, a branch is made to operation 480. Otherwise a branch is made UJ Jvri :.; r, operation 481.
Λt operation 480, the demand data erigiiu- ~Λ : ads the next view data item count 290 (e.g., corresponding to the next dom.ii:- ) * • rathe domain demand data 287. Λi decision operation 481, the demand dαi.i -.r
Figure imgf000033_0001
56-determines if there is 0 another domain demand data 287 (e.g., prud'.u-: .iiT-ams, aisle domain, or department domains), ff there is more dorπ-iir- ■.:■ H •;, i data 287 a branch is made operation 482. Otherwise a branch is made to fp-jrai"'!' 483.
At operation 482 the demand data engine VJ : cads the next domain demand data 287 (e.g., corresponding to products, n^ir- >.>; -.!,. : > -irtments). 5 At operation 483, the demand data ent't:u "-• U /ides the current view data i cctTi count 290, corresponding to a dormin. " . r-- -.- .;,, opriate total view data item count 308 (e.g., product work area 300, atsiv v-ut !-..:■„_ 302, department work area 304} to generate demand information 333.
At operation 484, the demand data < -i:ι:.!.ι-.: ;'- >res the demand information :0 333 according to domain in the appropriate dcr ..::(! -..- togram (e.g., product histogram 332 or aisle histogram 334 or depaι;"'-.-n: >■ ^togram 336).
At decision operation 485, the demand ■ ■.Λ'. I c;.:.:ine 56 determines if there are more domains 205 to process in the domain i.-.:!αafκi ,hεa287 (e.g., corresponding to products, aisles or departments). If there arc πn (•: dmrams 205, a branch is made to 5 operation 486. Otherwise a branch is made co dec: -ion operation 487.
At operation 486, the demand data engine 5ϋ reads the next view data item count 200 (e.g., corresponding to the next '.b uru: i:. J :':• ^M the domain demand data 287. At decision operation 487, the demand da us c--L;ι:-.^ 56 determines if there is more domain demand data 287 (e.g., product dwrf;π,;v aisle domain, or department 0 domains). If there is more domain demand d_α.; 2 ->"* .: branch is made operation 488 Otherwise a branch is made to operatmri ■?■<'/. At operation 488 the demand data engine .56 reads the next domain demand data 287 (e.g., corresponding to products, aisles or departments).
Λt operation 489, the demand data engine 56 communicates the demand histograms 322 to the communication module 40 at the front-end servers 101 . Figure 24 is a flowchart illustrating a method 498, according TO an embodiment, to generate interface information. In the present example the interface information generated is user interface information; however, it will be appreciated by those ski lled in the art that interface information may also include machine interface infor mation (e.g., SGML) to communicate with a machi ne (e.g., client, server, peer to peer), audio interface information (e.g., sound), or a media interface information (e.g., media). The method 498 commences at decision operation 500 with the communication module 40 determining if the product histogram 338 exhibits the peak distribution 2. For example, the communication module 40 may compare the product histogram 338 (e.g., percent total coverage) to a predetermined peak distribution 2. Tf the product histogram 338 matches the peak distribution 2, then a branch is made to operation 502. Otherwise, a branch is made to decision operation 504.
At operation 502, the communication module 40 generates product user interface information based on the position of the peak in the product histogram 33S For example, if product domains 132 A, B, and C were respectively associated with percent total coverage of 10%, 80%, and 10% then product user interface information for product domain B may be generated.
At decision operation 504, the communication module 40 determines if the product histogram 338 exhibits the hills distribution 4. For example, the communication module 40 may compare the product histogram 338 (e.g., percent total coverage) to the hills distribution 4. If the product histogram 338 matches the hills distribution 4 then, a branch is made to operation 506. Otherwise, a branch is made to decision operation 508.
At operation 506, the communication module 40 generates cruss-product user interface infoπnation based on the position of the hills in the product histogram 338. For example, if the product domains 132 A, B, C, D, E, F were respectively associated with percent total coverage υ f 3%. 30'.'W. 3%, 30%, 4%, 30% then cross- product user interface information for product domains B, D, and F may be generated.
At decision operation 508, the communication module 40 may determine if the aisle histogram 340 exhibits the peak distribution For example, the communication module 40 may compare the aisle huv.ogram 340 (e.g., percent total coves age') iυ the predetermined peak distribution 2 I f the aisle histogram 340 πiaU'hfs the peak distribution 2, then a branch is made to operation 510. Otherwise, a branch i.-; made to decision operation 5 12. Λt operation 5 10, the communication module 40 generates aisle user interface in formation based on the position of the peak in the aisle histogram 340. For example, if the aisle domains 130 A, B, and C were respectively associated with percent total coverage of 10%, 80%, and 10% then the aisle user interface information tor aisle domain B may be genera ted . At decision operation 5 12, the communication module 40 determines if the aisle histogram 340 exhibits the hills aisle distribution 4. For example, the communication module 40 may compare the aisle h istogram 340 (e.g., percent total coverage) to the hil ls distribution 4. If the aisle hi stogram 340 matches the hills distribution 4 then, a branch is made to operation 5 I 4 Otherwise, a branch is made to deuMim operation 516.
Af operation 5 14, the communication module 40 generates cross-aisle user interface information. For example, if the product domains 132 A, B, C, D, E, F were respec tively associated with the percent total v. averages of 3%, 30%, 3%, 30%, 4%, then cross aisle user interface information tor aisle domains B, D, and F may be generated.
At decision operation 5 16. the coπirnurucatio". module 40 determines if the department histogram 342 exhibits the peak distribution 2. For example, the communication module 40 may compare the department histogram 342 (e.g., percent total coverage) to the peak distribution 2. If the department histogram 342 matches the peak distribution 2 then a branch is made to operation 518. Otherwise, a branch ι.-> made to operation 520. At operation 518, the communication module 40 generates department user interface information based on the position of the peak as determined from the department histogram 342. For example, if the department domains 128 A. B, and C were respectively associated with percent total coverage of 10%, 80%, and 10%, then department user interface information for department domain B may be generated.
At operation 520, the communication module 40 generates cross-aible domain information user interface information and the process ends. For example, if the department domains 12S A, B, C, D, E, F were respectively associated with percent total coverage of 3%. 30%, 3%, 30%, 4%, 30%, then cross department user interface information for department domains B, D, and F may be generated.
Figure 25 is a flowchart illustrating a method 530 to generate distribution data, according to an embodiment. In the present example the distribution data is used to select and position user interface elements on a user interface; however, it will be appreciated by those skilled in the art that distribution data may be generated to select and position machine interface elements for a machine interface (e.g., SGML), audio interface elements fore an audio interface, media interface elements for a media interface, or some other type of interface. The method 530 commences at decision υpeiaiiυπ 532 with the domain sort module 44 determining t t' a cross- domain user interface (e.g., cross product user interface or cross aisle user interface or cross department u_.ur interface) has been identified by the communication module 40 to be generated. If a cross-domain user interface has been identified, a branch is made to operation 534. Otherwise, the process ends.
At operation 534, the domain sort module 44 sorts the total coverage information 335 entries in the total coverage histogram 324 (e.g., product histogram 338 or aisle histogram 340, or department histogram 342) into descending order (e.g., high to tow). Hach total coverage information 335 entry is associated with a domain 205. The domain sort module 44 maintains the association between the total coverage information 335 entry and the domain 205 while sorting. In one embodiment, the total coverage information 335 entries may be represented as percent total coverage, as previously described. Λt operation 536, the domain sort module 44 registers the domain 205 associated w ith the- current total coverage information 335 for display on the user interface, t or example, the product domain 1 32 "Shoes" maybe associated with the current total coverage information 335. At opeiwmn 5 "*3; the domain sort module 44 gets a user interface element based on the current domain and increments a user inter face element counter 537. At operatcon 540 the domain sort module 44 adds the total coverage information 335 associated with the current domain to a register that records cumulative coverage. Ac decision operation 542, the domain sort module 44 determines if the cumulative ^ove a^e is greater than or equal to a predetermined threshold. If the cumulative coverage i^ greater υr equal to the predetermined threshold, then a branch is made to operation 550. Otherwise, a branch is made to decision operation 544. For cxasncnc, the predetermined threshold may be eighty percent. At decision operation 544, the domain sort module 44 determines if the user interface element counter 537 is equal to a predetermined threshold (e.g., maximum user interface ek menrs or. a cross-domain user inter face) In one embodiment the maximum user i f. terrace elements may be ten. If the user interface element counter 537 is equui to die predetermined threshold, then a branch is made to operation 550. Otherwise, a brαreh is made to decision operation 546.
At decision operation 546, the domain sort module 44 determines if there is another total cowraye information 335 entry in the total coverage histogram 324 (e.g., product hi-tograαi 338 or aisle histogram 340 or department histogram 342). If there is more total cover age information 335, then a branch is made to operation 548. Otherwise, a branch is made to operation 550. At operation 548, the domain sort module 44 reads the next total coverage information 335 entry from the total coverage histogram 1 ?4 (e.g., product histogram 338 or aisle histogram 340 or department histogram 342 ).
At operation 550, the domain sort module generates other user interface elements for the user interface and communicates the u.sei* interface elements to the communication module 40 Figure 26 is a diagram illustrating a cross department user interface 560, according to an embodiment Che cross department user interface 560 may be generated based on a hills distribution 4 and is shown to include user interface elements 562, 564, 566. and 56S. 1 he ten user interface elements 562 represent ten department domains 128 (e.g. , Hume & Garden, Toys, Apparel, etc.) that may appear on the user interface 560 from top to bottom according to descending and respectively associated tu.al coveiage information 335. The ten department domains 128 equal the predetermined threshold of maximum user interface elements that may be defined tor a cross-domain user interface. Other embodiments may inc lude other predetermined thresholds. The user interface 560 illustrates that the predetermined threshold tor maximum user interface elements (e.g., ten) was reached before the predetermined threshold for cumulative coverage information The user interface elements 504 represent department domains 128 that were respectively associated u. uh total coverage information 335 entries that were lower than the total coverage in formation 335 entries respectively associated with the user interface elements 562 D ie above remarks may also apply to the cross aisle user interface and the cross product user interface. The user interface elements 562 and 564 representing the aisle domains 130 on the cross aisle user interface 560 and the user interface elements 562 and 564 representing the product domains 132 on the cross aisle user interface 56u
Figure 27 is a diagram illustrating a cross department user interface 570, according to an embodiment. The user interface 570 is shown to include user interface elements 572 , 5 "-'4. 5"7^, 57cS, 580 and 582. The three user interface elements 572 respective!}, representing the Home & Garden, Toys, Apparel department domains 1 2H. I he three user interface elements 572 appear on the user interface 570 from top tυ bottom according to a descending sort of respectively associated total coverage information 335. The cross-department user interface 570 illustrates that the predetermined threshold for maximum cumulative coverage was reached before the predetermined threshold for maximum user interface elements. For example, the department domains 1 28 "Home & Garden", "Toys" and
"Apparel" may be respecti vely associated the total coverage information 335 of 30%, 30%, 28%. The above remarks may also apply to the cross aisle user interface and the cross product user interface. The user interface elements 572 and 574 representing the aisle domains 130 on the cross aisle user interface 570 and the user interface elements 562 and S64 representing the product domains 132 on the cross aisle user interface 57O.
The eleven user mrerface elements 574 represent the "Video Games", "Tickets". "Health & Benurv", "Sporting Goods", "Music & Musical Instruments", "Coins", "Mov ie**'. "CnlU:ctibles", "Jewelry & Watches", "Books", and "Crafts" department domains 12 K I he user interface elements 564 may be associated to total coverage infυrrr.aiiυt! ?? ? of 3%, 1%, etc.. The user interface element 580 represents a query dialog box that includes a query "green" that may have been entered by a user theicbv requesting the information storage and retrieval platform 12 to search for data uerri.s (>5 that contain the keyword "green." The user interface element 582 represents α category selector 582 which is set to search "All Categories" for data i tem.:-. (*5. The user interface element 576 represents a domain name (e.g., "Home & CiurJcn", "Toys", etc.) and the user interface element 578 represents the number ;larn items 65 found by the information storage and retrieval platform 12 based on che query "green" in "AU categories."
The above t c-.Tuu k s may also apply to the cross aisle user interface and the cross product user uueπuce. The user interface elements 572 and 574 representing the aisle domains I ?π uπ :hc cross aisle user interface 560 and the user interface elements 572 and r '4 αpi renting the product domains 132 on the cross product user interface.
Figure 28 is a diagram illustrating a department user interface 590, according to an embodiment The department user interface 590 may be generated based on the peak distribution 2 and includes a user interface clement 592 representing the "Home & ( iarden" department domain 128. The user interface 590 further includes user inter face elements 594 representing aisle domains 130 that may be organized under ύw "Home & Garden" department domain 128. The above remarks may also apply to the aisle user interface, the user interface element 592 representing the aisle domain UO and the user interface elements 594 representing the product domains 132.
Figure 29 is a d iagram il lustrating a product user interface 595, according to an embodiment. The product user interface 595 is shown to include user interface elements 596, 597, 598, 599, 6(H and 603. The user interface element 596 represents a domain path chat includes the "Apparel & Accessories" department domain 17R, the "Women's dwelling" aisle domain 168, the "Shoes" product domain 166 and the number of data items 65 tbuαd based on the query "Women's Shoes." The user interface elemeru ;>l->'." ^presents the aspect 206 "color." The user interface elements 598 represent '.he value-, 2OS "Black", "Red", and "Ruby" that may be associated with the aspect ,V)6 "i. υlor." The user interface elements 599 represent counts of data items 65 :hat may he associated with the corresponding color. The user interface element 6' M U a picture or graphic for a data item 65 that was found with the query. T he user iiuerfuee element 603 includes information that may be stored in the data item 65 tli it u js found with the query. The above remarks may also apply to the aisle user i'πiertajc and the product user interface.
Figure 30 shows a diagrammatic representation of machine in the example form of a computer system 60< ι within u hich a set of instructions, for causing the machine to perform any tine ur mon- <>! rhc methodologies discussed herein, may be executed. In alternative embodiπierus. the machine operates as a standalone device or may be connected (e.g., networked) to oεher machines. In a networked deployment, the machine may operate in r-he capacity of a server or a client machine in server-client network envm >nnκ nr or as a peer machine in a peer-to-peer (or distributed) network environment, ("he machine may be a server computer, a client computer, a personal computer ( PC ), a tablet PC, a set-top box (STB), a Personal Digital Assistant (PDA), a cel lular telephone, a web appliance, a network router, switch or bridge, or any machine capable of executing a set of instructions (sequential or otherwise) that speci fy actions, tυ be taken by that machine. Further, while only a single machine is il lustrated, the terra "machine" shall also be taken to include any collection of machines that iπdiv idually or jointly execute a set (or multiple sets) of instructions toperform any one or more of the methodologies discussed herein.
The example computer system 600 includes a processor 602 (e.g., a central processing unit (CPU) a graphics processing unit (GPU) or both), a main memory 604 and a static memory 60o. which communicate with each other via a bus 608. The computer system 600 may further include a video display unit 310 (e.g., a liquid crystal display (LCD") or a cathode ray tube (CRT)). The computer system 600 also includes an alphanumeric input device 612 (e.g., a keyboard), a cursor control device 6 14 (e.g., a mouse), a disk drive unit 616, a signal generation device 618 (e.g., a speaker) and a network' interface device 620.
The disk drive unit C l f> includes a machine-readable medium 622 on which is stored one or more sets of instructions (e.g., software 624) embodying any one or more of the methodologies or functions described herein. The software 624 may also reside, completely or at least partially, within the main memory 604 and/or within the processor 602 dm uig execution thereof by the computer system 600, the main memory 604 and the processor 602 also constituting machine-readable media
The software 624 may further be transmitted or received over a network 626 via the network interface
Figure imgf000041_0001
ice 620.
While the machine-readable medium 622 is shown in an example embodiment to be a single medium, the term "machine-readable medium" should be taken to include a single medium or multiple media (e.g., a centralized or distributed database, and/or associated caches and servers) that store the one or more sets of instructions. The term "machine-readable medium" shall also be taken to include any medium that is capable of storing, encoding or carrying a set of instructions for execution by the machine and that cause the machine to perform any one or more of the methodologies of the present disclosure. The term "machine-readable medium" shall accordingly be taken to i nclude, but not be limited to, solid-state memories, optical and magnetic media, and carrier wave signals.
Thus, a method and s\ stem to communicate information has been described. Although the present d isclosure has been described with reference to specific example embodiments, it will be evident that various modifications and changes may be made to these embodiments without departing from the broader spirit and scope of the disclosure. Accordingly, the specification and drawings are to be regarded in an illustrative rather than a restrictive sense.

Claims

CLA IMS
We claim:
5 1 A system including: a communication module tυ receive a first query that contains a first l oustraint; a search index engine lυ retrieve a first plurality of data items from a database based on the first query and to generate a first distribution based on the 10 Ii t st μluiality of data items, the first distribution to utilize a first plurality of domains that are used to identify data items; a demand data engine to generate a second distribution based on a plurality of requests to view a second plurality of data items; a coverage module to generate a third distribution based on the first I 5 distribution and the second distribution; and a domain sort module to generate distribution data to be included within an interface, the interface Io include at least one interface element that is positioned on the interface based on the third distribution, the at least one interface element to respectively represent at least υne domain. 2' )
2. The system of claim 1 , wherein the interface includes a user interface and wherein the at least one interface element includes at least one user interface dement.
25 ? . The system of claim 2, wherein the third distribution includes a plurality of total coverage information respectively associated with the first plurality of domains.
4. The system of claim 3, wherein the first distribution includes a plurality of supply information and the second distribution includes a plurality of demand
M) information.
5. The system of claim 3, wherein the domain sort module positions the at least one user interface clement on the user interface based on a descending order of the total coverage information.
6. The system of claim 3, wherein the domain sort module adds the plurality of total coverage information to generate a cumulati ve coverage.
7. The system of claim 6, wherein the domain >v.irt module determines whether the cumulative coverage exceeds a predetermined threshold.
8. The system of claim 2, wherein the domain sort module counts the at least one user interface element and determines whether a p ; ^determined threshold is exceeded.
9. The system of claim 2, wherein the demand Jam module identifies a second query that contains a second constraint that correspond', to the first constraint contained by the first query.
10. The system of claim 2, wherein the deπuud d a c.t module respectively associates the plurality of requests to view data items w ith the first plurality of domains.
1 1 . A method including: receiving a first query that contains a first constraint; retrieving a first plurality of data items from a database based on the first query; generating a first distribution based on the first plurality of data items, the first distribution utilizing a first plurality of domains th .it are used to identify data items; generating a second distribution based on a plurality of requests to view a second plural ity of data items; generating a third distribution based on the First distribution and the second distribution; and generating distribution data to be included within an interface, the interface to include at least one interface element that is positioned OP. the intet Lice based on the third distribution, the at least one interface element to respectively represent at least one domain.
12. The method of claim 1 1 , wherein the interface includes a user interface and wherein the at least one interface element includes at least one u<-:_-r interface element.
13. The method of claim 12, wherein the thΪFd distribution includ-s a plurality of total coverage information respectively associated with the first plurality of domains.
14. The method of claim 13, wherein the First distribution include:-, α pl urality of supply in formation and the second distribution includes a plurαluv o^' demand information.
15. The method of claim 13, wherein the at least one
Figure imgf000045_0001
inu-.c tα>/e clement is positioned on the user interface based on a descending υulcr v-i the iota! coverage information.
16. "I he method of claim 13, wherein the generating the dι.-.iπbution data includes adding the plurality of total coverage information to generate: a cumulative coverage.
17. The method of claim 16, wherein the generating the distr ibution data includes determining whether the cumulative coverage exceeds a predetermined threshold.
18. 1 he method of claim 12, wherein the generating the distribution data includes counrms/ the at lcasr one user interface clement and determining whether a piedeteπ lined Threshold is exceeded.
[9 The cuc;htιd .H claim 12, wherein the generating the s.-cond distribution includes- idt'-.ticiαg a second query that contatns a secoπ 1 vn-tstraint that cαrresp.vuls to the rlisr constraint m the First query
20 I he rrv-thud ^f claim 12, wherein die generaring the .-.σond distribution includes, HLsf.Li iv civ associating the plurality of [cuuesh. Vi - ew data items with the first plurα'iC^ _>t domains
21. Λ tangible machine readable medium storing a set of >αstructions that, when executed by a machine cause the machine to perform the rπei hod of claim 11.
22 \ Λ sL'iii aic'uding α -"' • IT 1"ULJtHi[I tnυdule to ieceive a first qucr\ tlu! - ontains a first constraint. a ^L.u'J. ittdv. v engine to retrieve a first plurality of Λui items from a database b.i- _J i •:; ;\ c first query and to generate a first di^rrmtion based on the first pluralt's ft data items, the First distribution to uuii/e a " r Jt plurality of domains us-ed Ό 11 ! e . * . \v .1 iu items, a der-i.i d dafa engine to generate a second distribu'i m based on a plurality of requests to >. icvv a -.econd plurality of data items, and a cuvcrαwe mudule to generate a third distπbutiυn based on the first distribution and the second distribution and to generate interface information, to be cυmπuinic itr d to J iistr, based on the third distribution
23 The system of. claim 22, wherein the demand data engine identifies a second query that contains a second constraint that ciutespo.nU t.> rn first constraint.
24. The system of claim 23, wherein the demand data engine respectively associates the plurality of requests to view data items to the first plurality n l' domains.
25. The system of claim 24, wherein the demand data engine generaics dc-nand information that corresponds to a domain that is included in the first pluralif s of domains, the domain utilized to view a data item.
26. The system of claim 22, wherein the communication module (.Lie- mines whether the third distribution matches a predetermined distribution
27. The system of claim 26, wherein the predetermined distribution inc lude-, .lay one from a group of predetermined distributions that include a peak di .-.tr:f" itir;\ that is associated with a domain that is included in the first plurality uf d''>:r'.ai:iv d hi lib distribution that is associated with a plurality of domains that are incl ud-.- 1 in 'h<: first plurality of domains, and a Hat distribution.
28. The system of claim 27, wherein the third distribution includes the p._-ak distribution and the interface information is for a product user iritut ;a. _ h.n nrjiudes a single type of product.
29. The system of claim 27, wherein the coverage module adds ch^ :ir,: distribution to the second distribution and respectively averages tin- I '.-NL I ' .-.
30. The system of claim 23, wherein the first plurality of domains is jssuc iatcl to a second plurality of domains, wherein the second plurality of dum;ti:;.s ι > associated to a third plurality of domains, and wherein the user
Figure imgf000047_0001
; -, generated based on any one of a group of plurality of domains char included the Hi st plurality of domains, the second plurality of domains and the third plural ity of domains.
31. A method including: receiving a first query that contains at least one constraint; retrieving a first plurality of data items from a database based on the first query; generating a first distribution based on the first plurality of data items, the first distribution utilizing a first plurality of domains used to identify data itoms; generating a second distribution based on a plurality of requests tυ view, a second plurality of data items; " generating a third distribution based on the first distribution and the second distribution; and generating interface information, to be communicated to a user, based on the third distribution.
32. The method of claim 3 1 , wherein the generating the second distribution includes identifying a second query that contains constraints that are to correspond to those of the first query.
33. The method of claim 32, wherein the generating the second distribution includes respectively associating the plurality of requests to view data items ;o the first plurality of domains.
34. The method of claim 33, wherein the generating the second distribution includes generating demand information that corresponds to a domain that is included in the first plurality of domains, the domain utilized to view a data item.
35. The method of claim 31 , further including determining whether the third distribution matches a predetermined distribution.
36. The method of claim 35. wherein the predetermined distribution includes any one from a gamp υf predetermined distributions that include a peak distribution that is associated with a dυrruin true is included in the first plurality of domains, a hills distribution that is associated w ith a plurality of domains that are included in the first plurality of domains, and a tlαt distribution.
37. The method of claim 3f>. wherein the third distribution includes the peak distribution and the i nterface i n formation is for a product user interface that includes a single type of product.
38. The method of claim 3o. vs. herein the generating the third distribution includes respectively adding the fir si distribution to the second distribution and respectively averaging the ! csuh<.
39. The method ol' c taim " ! . v*, hc: ein the First plurality of domains is associated to a second plurality υf domains, wherein the second plurality of domains is associated to a third plurality of domains, and wherein the user interface is generated based on any one υ f a yrυup of plurality of domains that includes the First plurality of domains, the -.c-.oπd pim altty of domains and the third plurality of domains.
40. A tangible machine readable medium storing a set of instructions that, when executed by a machine, cau^c the- machine to perform the method ofclaim 31.
PCT/US2007/003445 2006-02-09 2007-02-08 Methods and systems to communicate information WO2007095075A2 (en)

Applications Claiming Priority (10)

Application Number Priority Date Filing Date Title
US74325606P 2006-02-09 2006-02-09
US60/743,256 2006-02-09
US78152106P 2006-03-10 2006-03-10
US60/781,521 2006-03-10
US74534706P 2006-04-21 2006-04-21
US60/745,347 2006-04-21
US11/478,666 2006-06-30
US11/478,666 US9443333B2 (en) 2006-02-09 2006-06-30 Methods and systems to communicate information
US11/497,976 2006-08-02
US11/497,976 US7640234B2 (en) 2006-02-09 2006-08-02 Methods and systems to communicate information

Publications (2)

Publication Number Publication Date
WO2007095075A2 true WO2007095075A2 (en) 2007-08-23
WO2007095075A3 WO2007095075A3 (en) 2007-12-27

Family

ID=38372012

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/US2007/003445 WO2007095075A2 (en) 2006-02-09 2007-02-08 Methods and systems to communicate information

Country Status (1)

Country Link
WO (1) WO2007095075A2 (en)

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7640234B2 (en) 2006-02-09 2009-12-29 Ebay Inc. Methods and systems to communicate information
US7725417B2 (en) 2006-02-09 2010-05-25 Ebay Inc. Method and system to analyze rules based on popular query coverage
US7739225B2 (en) 2006-02-09 2010-06-15 Ebay Inc. Method and system to analyze aspect rules based on domain coverage of an aspect-value pair
US7739226B2 (en) 2006-02-09 2010-06-15 Ebay Inc. Method and system to analyze aspect rules based on domain coverage of the aspect rules
US7849047B2 (en) 2006-02-09 2010-12-07 Ebay Inc. Method and system to analyze domain rules based on domain coverage of the domain rules
US8380698B2 (en) 2006-02-09 2013-02-19 Ebay Inc. Methods and systems to generate rules to identify data items
US9443333B2 (en) 2006-02-09 2016-09-13 Ebay Inc. Methods and systems to communicate information
US9996826B2 (en) 1999-04-30 2018-06-12 Paypal, Inc. System and methods for facilitating value exchanges using mobile devices

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20020027567A1 (en) * 2000-07-18 2002-03-07 Niamir Bern B. Listing network for classified information
US20030158839A1 (en) * 2001-05-04 2003-08-21 Yaroslav Faybishenko System and method for determining relevancy of query responses in a distributed network search mechanism
US20040068697A1 (en) * 2002-10-03 2004-04-08 Georges Harik Method and apparatus for characterizing documents based on clusters of related words
US20040117189A1 (en) * 1999-11-12 2004-06-17 Bennett Ian M. Query engine for processing voice based queries including semantic decoding

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040117189A1 (en) * 1999-11-12 2004-06-17 Bennett Ian M. Query engine for processing voice based queries including semantic decoding
US20020027567A1 (en) * 2000-07-18 2002-03-07 Niamir Bern B. Listing network for classified information
US20030158839A1 (en) * 2001-05-04 2003-08-21 Yaroslav Faybishenko System and method for determining relevancy of query responses in a distributed network search mechanism
US20040068697A1 (en) * 2002-10-03 2004-04-08 Georges Harik Method and apparatus for characterizing documents based on clusters of related words

Cited By (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9996826B2 (en) 1999-04-30 2018-06-12 Paypal, Inc. System and methods for facilitating value exchanges using mobile devices
US8380698B2 (en) 2006-02-09 2013-02-19 Ebay Inc. Methods and systems to generate rules to identify data items
US8396892B2 (en) 2006-02-09 2013-03-12 Ebay Inc. Method and system to transform unstructured information
US7739226B2 (en) 2006-02-09 2010-06-15 Ebay Inc. Method and system to analyze aspect rules based on domain coverage of the aspect rules
US7849047B2 (en) 2006-02-09 2010-12-07 Ebay Inc. Method and system to analyze domain rules based on domain coverage of the domain rules
US8046321B2 (en) 2006-02-09 2011-10-25 Ebay Inc. Method and system to analyze rules
US8055641B2 (en) 2006-02-09 2011-11-08 Ebay Inc. Methods and systems to communicate information
US7739225B2 (en) 2006-02-09 2010-06-15 Ebay Inc. Method and system to analyze aspect rules based on domain coverage of an aspect-value pair
US7640234B2 (en) 2006-02-09 2009-12-29 Ebay Inc. Methods and systems to communicate information
US8244666B2 (en) 2006-02-09 2012-08-14 Ebay Inc. Identifying an item based on data inferred from information about the item
US8521712B2 (en) 2006-02-09 2013-08-27 Ebay, Inc. Method and system to enable navigation of data items
US8688623B2 (en) 2006-02-09 2014-04-01 Ebay Inc. Method and system to identify a preferred domain of a plurality of domains
US9443333B2 (en) 2006-02-09 2016-09-13 Ebay Inc. Methods and systems to communicate information
US9747376B2 (en) 2006-02-09 2017-08-29 Ebay Inc. Identifying an item based on data associated with the item
US7725417B2 (en) 2006-02-09 2010-05-25 Ebay Inc. Method and system to analyze rules based on popular query coverage
US10474762B2 (en) 2006-02-09 2019-11-12 Ebay Inc. Methods and systems to communicate information

Also Published As

Publication number Publication date
WO2007095075A3 (en) 2007-12-27

Similar Documents

Publication Publication Date Title
US10474762B2 (en) Methods and systems to communicate information
US11580306B2 (en) Identifying multimedia asset similarity using blended semantic and latent feature analysis
US7640234B2 (en) Methods and systems to communicate information
US9135370B2 (en) Method and apparatus of generating update parameters and displaying correlated keywords
WO2007095075A2 (en) Methods and systems to communicate information
Apala et al. Prediction of movies box office performance using social media
JP5264511B2 (en) Collaborative structured tagging for item encyclopedias
Franceschet A comparison of bibliometric indicators for computer science scholars and journals on Web of Science and Google Scholar
US10354308B2 (en) Distinguishing accessories from products for ranking search results
US8260771B1 (en) Predictive selection of item attributes likely to be useful in refining a search
CN105912669B (en) Method and device for complementing search terms and establishing individual interest model
US9177341B2 (en) Determining search relevance from user feedback
Xu et al. Deep interest with hierarchical attention network for click-through rate prediction
TWI539306B (en) Information delivery method, processing server and merge server
CN109597904A (en) For providing the method and system of social networks
Yin et al. Exploring social activeness and dynamic interest in community-based recommender system
US20100145944A1 (en) Mining broad hidden query aspects from user search sessions
CN103186650B (en) A kind of searching method and device
CN103312584B (en) A kind of method and apparatus to release news in Web Community
US8745042B2 (en) Determining matching degrees between information categories and displayed information
de S. Ribeiro et al. Complementing data in the ETL process
CN114817265B (en) Financial information acquisition method by utilizing big data server
WO2023079703A1 (en) Processing execution system, processing execution method, and program
Pu et al. Intelligent Movie Recommendation System Based on Hybrid Recommendation Algorithms
Zilles et al. A Literature Review on Methods for Learning to Rank.

Legal Events

Date Code Title Description
NENP Non-entry into the national phase in:

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 07750293

Country of ref document: EP

Kind code of ref document: A2