US20150356145A1 - System and method for multi-dimensional personization of search results - Google Patents

System and method for multi-dimensional personization of search results Download PDF

Info

Publication number
US20150356145A1
US20150356145A1 US14/826,497 US201514826497A US2015356145A1 US 20150356145 A1 US20150356145 A1 US 20150356145A1 US 201514826497 A US201514826497 A US 201514826497A US 2015356145 A1 US2015356145 A1 US 2015356145A1
Authority
US
United States
Prior art keywords
optimization
user
match
preferences
result set
Prior art date
Legal status (The legal status 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 status listed.)
Abandoned
Application number
US14/826,497
Inventor
Nishith Parikh
Neelakantan Sundaresan
Zeqian Shen
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
eBay Inc
Original Assignee
Individual
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
Application filed by Individual filed Critical Individual
Priority to US14/826,497 priority Critical patent/US20150356145A1/en
Assigned to EBAY INC. reassignment EBAY INC. ASSIGNMENT OF ASSIGNORS INTEREST (SEE DOCUMENT FOR DETAILS). Assignors: PARIKH, NISHITH, SHEN, ZEQIAN, SUNDARESAN, NEELAKANTAN
Publication of US20150356145A1 publication Critical patent/US20150356145A1/en
Abandoned legal-status Critical Current

Links

Images

Classifications

    • G06F17/30522
    • 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/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • 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/245Query processing
    • G06F16/2457Query processing with adaptation to user needs
    • G06F16/24578Query processing with adaptation to user needs using ranking
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/90Details of database functions independent of the retrieved data types
    • G06F16/95Retrieval from the web
    • G06F16/953Querying, e.g. by the use of web search engines
    • G06F16/9535Search customisation based on user profiles and personalisation
    • G06F17/3053
    • G06F17/30867

Definitions

  • the present disclosure relates generally to searching, and in a specific example embodiment, to providing multi-dimensional personalization of search results.
  • search engine guesses the best results to return to the user.
  • search terms typically have more than one meaning
  • a search term “jaguar” may be directed to an animal or to a make of a car.
  • search engines that focus merely on relevance will return results that may be the most popular at the moment. These results may not provide much variety leading to redundancy in the results.
  • FIG. 1 is a block diagram illustrating an example embodiment of a network architecture of a system used to provide multi-dimensional personalization of search results.
  • FIG. 2 is a block diagram illustrating an example embodiment of a publication system.
  • FIG. 3 is a block diagram illustrating an example embodiment of an optimization engine.
  • FIGS. 4 a and 4 b illustrate examples of multi-dimensional personalization interfaces.
  • FIG. 5 is a flow diagram of an example high-level method for providing multi-dimensional personalized search results.
  • FIG. 6 is a flow diagram of an example high-level method for personalization optimization.
  • FIG. 7 is a flow diagram of an example high-level method for applying diversity to the search results.
  • FIG. 8 is a simplified block diagram of a machine in an example form of a computing system within which a set of instructions for causing the machine to perform any one or more of the methodologies discussed herein may be executed.
  • Example embodiments described herein provide systems and methods for providing multi-dimensional personalized search results.
  • factors besides relevance are considered.
  • these factors may comprise, for example, price, trust, selection, customer service level, or condition of a product.
  • the importance of these factors may differ for each user and requires a balance there between. For example, a product that provides 24 hour customer support is likely to cost more than a similar product that does not provide any customer support, or a brand new product is likely to cost more than a used version of the same product.
  • the user is provided an interface through which the user may indicate their optimization preferences. These optimization preferences are used when determining the result set to provide to the user based on a query.
  • Providing results specific to a user is particularly important because different users expect different results given the same query. Some users are willing to pay a higher price for guaranteed quality and exceptional service from a seller, while other users prefer a deal (e.g., lower price) and are willing to buy from non-professional sellers or buy used inventory.
  • Perturbation is a process by which a match which would not be normally included in the result set is added.
  • the match may be a random match or a match for a new or recently added item. Because the item is relatively new, the item may not rank highly in terms of relevance or trust. However, if the item is never or seldom returned in a result set, then the item may never have a chance of gaining relevance or trust. As such, the use of perturbation enhances the result set.
  • a user will obtain personalized search results that are more likely to satisfy the user. Accordingly, one or more of the methodologies discussed herein may obviate a need for repeated searching in order to obtain proper search results, which may have the technical effect of reducing computing resources used by one or more devices within the system. Examples of such computing resources include, without limitation, processor cycles, network traffic, memory usage, storage space, and power consumption.
  • FIG. 1 an example embodiment of a high-level client-server-based network architecture 100 to enable personalization of search results is shown.
  • a networked system 102 in an example form of a network-server-side functionality, is coupled via a communication network 104 (e.g., the Internet, wireless network, cellular network, or a Wide Area Network (WAN)) to one or more client devices 110 and 112 .
  • FIG. 1 illustrates, for example, a web client 106 operating via a browser (e.g., such as the INTERNET EXPLORER® browser developed by Microsoft® Corporation of Redmond, Wash.), and a programmatic client 108 executing on respective client devices 110 and 112 .
  • a browser e.g., such as the INTERNET EXPLORER® browser developed by Microsoft® Corporation of Redmond, Wash.
  • programmatic client 108 executing on respective client devices 110 and 112 .
  • the client devices 110 and 112 may comprise a mobile phone, desktop computer, laptop, or any other communication device that a user may utilize to access the networked system 102 .
  • the client device 110 may comprise a display module (not shown) to display information (e.g., in the form of user interfaces).
  • the client device 110 may comprise one or more of a touch screen, accelerometer, camera, microphone, and GPS device.
  • the client devices 110 and 112 may be a device of a user, which is used to provide optimization preferences or search terms of a query to the networked system 102 .
  • the networked system 102 is a network-based marketplace that publishes publications comprising item listings of products for sale on the network-based marketplace and manages payments for these marketplace transactions.
  • An Application Program Interface (API) server 114 and a web server 116 are coupled to, and provide programmatic and web interfaces respectively to, one or more application servers 118 .
  • the application servers 118 host a publication system 120 and a payment system 122 , each of which may comprise one or more modules, applications, or engines, and each of which may be embodied as hardware, software, firmware, or any combination thereof.
  • the application servers 118 are, in turn, coupled to one or more database servers 124 facilitating access to one or more information storage repositories or database(s) 126 .
  • the databases 126 are storage devices that store information to be posted (e.g., publications or listings) to the publication system 120 .
  • the databases 126 may also store account information for users in accordance with example embodiments.
  • the publication system 120 publishes content on a network (e.g., Internet). As such, the publication system 120 provides a number of publication and marketplace functions and services to users that access the networked system 102 .
  • the publication system 120 is discussed in more detail in connection with FIG. 2 .
  • the publication system 120 is discussed in terms of a marketplace environment. However, it is noted that the publication system 120 may be associated with a non-marketplace environment such as an informational (e.g., search engine) or social networking environment.
  • the payment system 122 provides a number of payment services and functions to users.
  • the payment system 122 allows users to accumulate value (e.g., in a commercial currency, such as the U.S. dollar, or a proprietary currency, such as “points”) in their accounts, and then later to redeem the accumulated value for products (e.g., goods or services) that are made available via the publication system 120 or elsewhere on the network 104 .
  • the payment system 122 also facilitates payments from a payment mechanism (e.g., a bank account, PayPalTM, or credit card) for purchases of items via any type and form of a network-based marketplace.
  • a payment mechanism e.g., a bank account, PayPalTM, or credit card
  • the publication system 120 and the payment system 122 are shown in FIG. 1 to both form part of the networked system 102 , it will be appreciated that, in alternative embodiments, the payment system 122 may form part of a payment service that is separate and distinct from the networked system 102 .
  • the example network architecture 100 of FIG. 1 employs a client-server architecture, a skilled artisan will recognize that the present disclosure is not limited to such an architecture.
  • the example network architecture 100 can equally well find application in, for example, a distributed or peer-to-peer architecture system.
  • the publication system 120 and payment system 122 may also be implemented as standalone systems or standalone software programs operating under separate hardware platforms, which do not necessarily have networking capabilities.
  • the publication system 120 is a marketplace system where items (e.g., goods or services) may be offered for sale.
  • the publication system 120 may be hosted on dedicated or shared server machines (not shown) that are communicatively coupled to enable communications between the server machines.
  • the multiple components themselves are communicatively coupled (e.g., via appropriate interfaces), either directly or indirectly, to each other and to various data sources, to allow information to be passed between the components or to allow the components to share and access common data.
  • the components may access the one or more databases 126 via the one or more database servers 124 .
  • the publication system 120 provides a number of publishing, listing, and price-setting mechanisms whereby a seller may list (or publish information concerning) goods or services for sale, a buyer can express interest in or indicate a desire to purchase such goods or services, and a price can be set for a transaction pertaining to the goods or services.
  • the publication system 120 may comprise at least one publication engine 202 and one or more auction engines 204 that support auction-format listing and price setting mechanisms (e.g., English, Dutch, Chinese, Double, Reverse auctions, etc.).
  • a pricing engine 206 supports various price listing formats.
  • One such format is a fixed-price listing format (e.g., the traditional classified advertisement-type listing or a catalog listing).
  • Another format comprises a buyout-type listing.
  • Buyout-type listings e.g., the Buy-It-Now (BIN) technology developed by eBay Inc., of San Jose, Calif.
  • BIN Buy-It-Now
  • a store engine 208 allows a seller to group listings within a “virtual” store, which may be branded and otherwise personalized by and for the seller. Such a virtual store may also offer promotions, incentives, and features that are specific and personalized to the seller. In one example, the seller may offer a plurality of items as Buy-It-Now items in the virtual store, offer a plurality of items for auction, or a combination of both.
  • a reputation engine 210 allows users that transact, utilizing the networked system 102 , to establish, build, and maintain reputations. These reputations may be made available and published to potential trading partners. Because the publication system 120 supports person-to-person trading between unknown entities, in accordance with one embodiment, users may otherwise have no history or other reference information whereby the trustworthiness and credibility of potential trading partners may be assessed.
  • the reputation engine 210 allows a user, for example through feedback provided by one or more other transaction partners, to establish a reputation within the network-based marketplace over time. Other potential trading partners may then reference the reputation for purposes of assessing credibility and trustworthiness.
  • Navigation of the network-based marketplace may be facilitated by a navigation engine 212 .
  • a browse module (not shown) of the navigation engine 212 allows users to browse various category, catalog, or inventory data structures according to which listings may be classified within the publication system 120 .
  • Various other navigation applications within the navigation engine 212 may be provided to supplement the browsing applications.
  • the publication system 120 may include an imaging engine 214 that enables users to upload images for inclusion within publications and to incorporate images within viewed listings.
  • the imaging engine 214 may also receive image data from a user as a search query and utilize the image data to identify an item depicted or described by the image data.
  • a listing creation engine 216 allows users (e.g., sellers) to conveniently author listings of items.
  • the listings pertain to goods or services that a user (e.g., a seller) wishes to transact via the publication system 120 .
  • a user may create a listing that is an advertisement or other form of publication.
  • a listing management engine 218 allows the users to manage such listings. Specifically, where a particular user has authored or published a large number of listings, the management of such listings may present a challenge.
  • the listing management engine 218 provides a number of features (e.g., auto-relisting, inventory level monitors, etc.) to assist the user in managing such listings.
  • a post-listing management engine 220 also assists users with a number of activities that typically occur post-listing. For example, upon completion of an auction facilitated by the one or more auction engines 204 , a seller may wish to leave feedback regarding a particular buyer. To this end, the post-listing management engine 220 provides an interface to the reputation engine 210 allowing the seller to conveniently provide feedback regarding multiple buyers to the reputation engine 210 . Another post-listing action may be shipping of sold items whereby the post-listing management engine 220 may assist in printing shipping labels, estimating shipping costs, and suggesting shipping carriers.
  • a search engine 222 performs searches for publications in the networked system 102 that match a query.
  • the search engine 222 comprises a search module (not shown) that enables keyword searches of publications published via the publication system 120 .
  • the search engine 222 may take an image received by the imaging engine 214 as an input for conducting a search.
  • the search engine 222 takes the query input and determines a plurality of matches from the networked system 102 (e.g., publications stored in the database 126 ).
  • the matches are provided to an optimization engine 224 for personalized optimization in accordance with example embodiments described herein. It is noted that the functions of the search engine 222 may be combined with the navigation engine 212 .
  • the optimization engine 224 receives the matches from the search engine 222 and applies an optimization process to the matches to create a personalized result set that is returned to a querying user.
  • the optimization engine 224 will be discussed in more detail in connection with FIG. 3 below.
  • FIG. 3 is a block diagram illustrating an example embodiment of the optimization engine 224 .
  • the optimization engine 224 performs personalized optimization of matches to a search query in order to return an optimized result set to that is personalized for the querying user.
  • the optimization engine 224 comprises a personalization module 302 , a diversity module 304 , a score module 306 , a perturbation module 308 , and a result module 310 .
  • One or more of the modules may be implemented in accordance with example embodiments.
  • the personalization module 302 is configured to manage optimization preferences for a user.
  • the personalization module 302 provides an interface to the user that comprises preference input fields or selectors.
  • the interface may include multiple linear sliding scales whereby the user may move a slider for a scale to a particular position to indicate a value to attribute to an optimization factor.
  • An example of a sliding scale interface 400 is shown in FIG. 4 a .
  • the optimization factors comprise relevance, diversity, trust, and value. Alternative embodiments may contemplate other combinations of optimization factors or a different number of optimization factors. A combination of the values for the sliding scale will result in 100% of a total value.
  • the user may assign a relevance score to 30, a diversity score to zero, a trust score to zero, and a value score to 70. The user is prevented from assigning more than the total value.
  • These assigned factor values indicate that the user prefers search results in a result set that are mainly lowest in price and is not so concerned with diversity in information presented in the result set or in trustworthiness of the information source (e.g., seller) of the result set. If movement of on sliding scale results in the total value exceeding 100, one or more of the other sliding scales may be reduced. Alternatively, the user may not be allowed to move a sliding scale beyond a remainder of the total value. As such, the optimization factors are interrelated and an adjustment in one factor may require an adjustment in another factor.
  • the personalization module 302 may provide a radar chart 402 as shown in FIG. 4 b .
  • the radar chart 402 is a visual indicator of the optimization factors and their relationship to each other shown graphically. As such, a shape of the radar chart 402 indicates a ranking function that will be applied to the matches.
  • the user may drag nodes of the radar chart 402 to adjust their preference. The position of the node will indicate a value assigned to the optimization factor. For example, a relevance factor has a factor value of 20, a diversity factor has a factor value of 30, and a trust factor has a factor value of 15 with 35 points left to assign.
  • a combination of the sliding scales and the radar chart embodiments may be provided in the interface. Alternatively, any form of input interfaces may be used.
  • the personalization module 302 may examine a user's past behavior to suggest optimization preferences.
  • the personalization module 302 may review past searches or transactions associated with an account of the user to determine patterns that indicate user preferences. For example, if past transactions indicate that the user typically purchases low costing items from sellers with less than stellar reputation scores, the personalization module 302 may suggest optimization preferences that set the value factor high and the trust factor low. The user may adjust these suggested optimization preferences using the interface (e.g., sliding scale interface 400 or radar chart 402 interface) provided by the personalization module 302 .
  • the interface e.g., sliding scale interface 400 or radar chart 402 interface
  • the optimization preferences may be stored to a user account of the user. Alternatively or additionally, the user may update or provide new preferences each time the user performs a search. In embodiments wherein the user preferences are stored, the personalization module 302 obtains the preferences when a search is initiated and matches are received by the optimization engine 224 .
  • the diversity module 304 determines diverse matches to add to a potential result set.
  • the diversity module 304 may operate when the user preferences indicate a preference for diversity in the potential result set.
  • the diversity module 304 uses a greedy algorithm to determine a diverse set of matches. For example, a first match (e.g., listing or publication) that is considered to be the best match based on past history may be selected by the diversity module 304 for inclusion in a potential result set.
  • the diversity module 304 finds a second match that is the most different from the first match and includes the second match in the potential result set. The differences may be based on attributes (e.g., terms in a title, description) for each match.
  • the diversity module 304 may review terms in the matches and determine a number of terms in common and divides the number of terms in common by a total number of terms. A resulting value close to zero will indicate that the matches are very dissimilar. Subsequently, the diversity module 304 continues to find the most different match from those already selected for the potential result set until a maximum amount of matches are found. The maximum amount of matches may correspond to a maximum number of matches that may be displayed to the user based on the user interface (e.g., first page, first five pages).
  • the diversity module 304 may look at past history of user activities to associated desirable matches with a given query.
  • User click-through, buying, and bidding behavior may be mined to determine a mapping from queries to features. For example, if users in the past issued a search for “roger federer” and ended up buying t-shirts, collectibles, and rackets, then a mapping may be determined from the query “roger federer” to the features t-shirts, collectibles, rackets with some weights. This query to feature mapping is based on a desirability metric.
  • the vector for the query “roger federer” may have the feature “poster” with a negative weight. These weights are considered by the diversity module 304 in determining the potential result set.
  • Diversity or selection may be based on a number of different factors. Different factors determining diversity of a result set may include, for example, a number of sellers, kind of seller, type of items, item availability type (e.g., auction), shipping options, different types of products, payment methods available, and categories of the matches. In one embodiment, diversity may be calculated for a result set based on diversity of sellers whose items are present in the match set, diversity of items based on format of the item, and diversity measured in terms of an amount of people whose interested may be satisfied by the matches.
  • item availability type e.g., auction
  • the potential result set is a final result set that is returned to the user.
  • the score module 306 calculates a score for each match (either from the search engine 222 or from the potential result set determined by the diversity module 304 ) to determine the final result set.
  • the score takes into consideration the optimization factors (e.g., relevance, value, trust, and diversity) that are indicated by the optimization preference established by the user.
  • trust is based on reputation scores for a seller. Some sellers are more professional, ship faster, have been selling longer, and provide better service than other sellers. Thus, trust and reputation scores (e.g., based on ratings or feedback from other users) associated with publications provided by these sellers are different. As a result, if two items are being sold for the same price by two difference sellers with different reputation scores, buyers are more likely to buy from the seller with the better reputation.
  • a trust score t may be determined, by the score module 306 , for each match based on how each match ranks in trust versus the other matches.
  • matches with a reputation score of 100% may be assigned a trust score t of 1, while matches with a reputation score of 0% may be assigned a trust score t of 0.
  • Matches with reputation scores in-between 0% and 100% may be assigned a proportional (scaled) trust score t.
  • the match with the highest reputation score may be assigned a trust score t of 1
  • the match with the lowest reputation score may be assigned a trust score t of 0, and matches in-between are assigned proportional trust scores t.
  • value is a function of a price of an item in the match. If the price of the item is less than the a typical selling price of similar items, then the value proposition for the item is higher and vice versa.
  • the value proposition for a particular match is computed by the score module 306 by comparing the match's price with other similar items that were bought previously.
  • a value proposition score v associated with each match may be determined. For example, a match that has a price that is significantly lower than historical prices for a similar item may be assigned a value proposition score v of 1.
  • a match that has the least expensive item versus the rest of the matches may be assigned a value proposition score v of 1.
  • a match that is priced significantly above a historical price for a similar item or is priced the highest among the returned matches may be assigned a value proposition score v of 0.
  • Matches having prices in-between may have proportional value proposition scores v or may be assigned an applicable value proposition scores v based on a comparison with the historical price for the similar item of the match.
  • the score is based on a matches relevance compared to past history. For example, if past users type in “coach” and end up buying handbags and shoes but not sunglasses, then the score module 306 determines that handbags and shoes are more relevant and sunglasses are less relevant. A higher relevance score r may assigned to the more relevant matches (e.g., matches indicating handbags and shoes) and a lower relevance score r may be assigned to the less relevant matches (e.g., matches indicating sunglasses).
  • a diversity score s may be determined for each match based on the results generated by the diversity module 304 .
  • the diversity score s may be assigned based on the ranking of the match by the diversity module 304 .
  • the first match may receive a diversity score s of 1
  • the last match may receive a diversity score s of 0
  • the matches in-between will receive proportional diversity scores s.
  • the score module 306 may assigned a first match a high diversity score s and any subsequent matches indicating a similar item as in the first match a low diversity score s.
  • the score module 306 also determines coefficients based on the optimization preferences and applies the coefficients to each respective factor score (t, v, s, and r) for each match. For example, if the user's preferences indicate an optimization value of 30 for relevance, 20 for diversity, 10 for trust, and 40 for value, then a relevance coefficient ⁇ is 0.3, a diversity coefficient ⁇ is 0.2, a trust coefficient ⁇ is 0.1, and a value coefficient ⁇ is 0.4. Ideally, a summation of the coefficients is equal to 1. These coefficients are applied to factor scores to obtain a unified score for each match. The calculated scores are unified into a unified score, which is used to rank the matches.
  • a unified score for a match is calculated as ⁇ r+ ⁇ s+ ⁇ t+ ⁇ v.
  • the unified scores may be sorted to derive the final result set with matches having the highest unified scores (e.g., a top 100 of the highest sorted set may be returned).
  • the perturbation module 308 is configured to determine random matches for inclusion into the final result set. Over time, items associated with query terms may change. If perturbation is not performed, then the final result set may not change, and instead, will keep showing the same results.
  • the perturbation module 308 randomly includes new, recently added, or different items to the final result set. Because the item may be relatively new, the item may not rank highly in terms of relevance or trust and little data may be available for price. However, if the item is never returned in a final result set, then the item may never have a chance of gaining relevance, trustworthiness, or pricing information. As such, the use of perturbation module 308 enhances the result set.
  • the perturbation module 308 may review the final result set and non-selected matches (e.g., matches not selected for the final result set) and include matches that are relatively new or different from matches in the final result set.
  • the result module 310 is configured to generate the final result set to be returned to the querying user. To this end, the result module 310 may take the scores from the score module 306 as well as the random matches from the perturbation module 308 and generate the final result set. The result module 310 may transmit the final result set to a device of the querying user.
  • FIG. 5 is a flow diagram of an example high-level method 500 for providing multi-dimensional personalized search results.
  • the method 500 may be performed using one or more of the modules and engines described above.
  • a query is received from a device of a user.
  • the query may comprises keywords or an image that received by the search engine 222 .
  • the search engine 222 takes the query and performs a search to determine publications or listings that match the query in operation 504 .
  • the search engine 222 searches the networked system 102 .
  • the search engine 222 may search any information repository on the network 104 .
  • personalization optimization processing is performed by the optimization engine 224 .
  • the matches determined by the search engine 222 are provided to the optimization engine 224 so that optimization preferences of the user may be applied.
  • the personalized optimization process will be discussed in further detail in connection with FIG. 6 below.
  • the final result set is returned to the querying user in operation 508 . Accordingly, the optimization engine 224 or the search engine 222 transmits the final result set to the device of the querying user.
  • FIG. 6 is a flow diagram of an example high-level method (e.g., operation 506 ) for personalized optimization processing.
  • the search results e.g., matches
  • the search engine 222 are ranked, sorted, and selected to be included in the final result set according to user optimization preferences.
  • the user's optimization preferences are accessed by the personalization module 302 .
  • the personalization module 302 accesses the user account of the querying user to retrieve the pre-established user preferences.
  • the user preferences may be received during the same session as the query. For example, the user may provide user preferences immediately before or with the query. Further still, the user may adjust the optimization preferences upon receiving a final result set from a query and resend the query with the adjusted optimization preferences. In this situation, the result set may be re-determined using the adjustments.
  • scores for each publication are determined by the score module 306 .
  • the score module 306 determines a relevance score, a diversity score, a trust score, and a value score for each publication or match (referred to as “factor scores”).
  • the score module 306 applies optimization factors based on the user optimization preferences to the scores calculated in operation 608 .
  • the score module 306 determines factor coefficients based on the optimization preferences and applies the factor coefficients to each respective factor score for the publication. For example, if the user's preferences indicate an optimization value of 30 for relevance, 20 for diversity, 10 for trust, and 40 for value, then a relevance coefficient ⁇ is 0.3, a diversity coefficient ⁇ is 0.2, a trust coefficient ⁇ is 0.1, and a value coefficient ⁇ is 0.4. These coefficients are applied to the factor scores.
  • a unifying score for each match is then determined in operation 612 .
  • the unifying score may be a summation of each optimization factor coefficient times its corresponding factor score for each match. As such, the unifying scores provide a ranking that is based on a linear combination metric of relevance, diversity, trust, and value.
  • matches with the highest score are selected in operation 614 by the result module 310 . The matches may be added to a final result set.
  • perturbation results may be added to the result set by the perturbation module 308 .
  • the perturbation module 308 may find one or more publications that are new or recently added (e.g., to a particular category).
  • the perturbation module 308 may identify one or more publications that describe an item that is new or recently added.
  • the matches identified by the perturbation module 308 are matches (e.g., perturbation results) which would otherwise not be included in the result set due to the relative newness of the publications.
  • FIG. 7 is a flow diagram of an example high-level method (e.g., operation 604 ) illustrating diversity processing.
  • the diversity module 304 determines diverse matches to add to a potential result set when the user preferences indicate a preference for diversity in the potential result set.
  • the diversity module 304 uses a greedy algorithm to determine a diverse set of matches.
  • the diversity module 304 selects a first match (e.g., listing or publication) that is considered to be the best or most popular match based on past history and added to a potential result set.
  • a first match e.g., listing or publication
  • the diversity module 304 selects a second match that is the most different from the first match.
  • the second match is included to the potential result set in operation 706 .
  • the differences may be based on attributes (e.g., terms in a title, description) for each match. If in operation 708 , a determination is made that the potential result set has not reached a maximum number of matches, the method returns to operation 704 .
  • the diversity module 304 may be used in the calculating of the diversity score. For example, the first match may have a diversity score of one and the last match may have a diversity score of zero. The matches in-between will have diversity scores that are proportional between one and zero.
  • modules, engines, components, or mechanisms may be implemented as logic or a number of modules, engines, components, or mechanisms.
  • a module, engine, logic, component, or mechanism may be a tangible unit capable of performing certain operations and configured or arranged in a certain manner.
  • one or more computer systems e.g., a standalone, client, or server computer system
  • one or more components of a computer system e.g., a processor or a group of processors
  • software e.g., an application or application portion
  • firmware note that software and firmware can generally be used interchangeably herein as is known by a skilled artisan
  • a module may be implemented mechanically or electronically.
  • a module may comprise dedicated circuitry or logic that is permanently configured (e.g., within a special-purpose processor, application specific integrated circuit (ASIC), or array) to perform certain operations.
  • a module may also comprise programmable logic or circuitry (e.g., as encompassed within a general-purpose processor or other programmable processor) that is temporarily configured by software or firmware to perform certain operations as described herein. It will be appreciated that a decision to implement a module mechanically, in dedicated and permanently configured circuitry, or in temporarily configured circuitry (e.g., configured by software) may be driven by, for example, cost, time, energy-usage, and package size considerations.
  • module should be understood to encompass a tangible entity, be that an entity that is physically constructed, permanently configured (e.g., hardwired), or temporarily configured (e.g., programmed) to operate in a certain manner or to perform certain operations described herein.
  • modules or components are temporarily configured (e.g., programmed)
  • each of the modules or components need not be configured or instantiated at any one instance in time.
  • the modules or components comprise a general-purpose processor configured using software
  • the general-purpose processor may be configured as respective different modules at different times.
  • Software may accordingly configure the processor to constitute a particular module at one instance of time and to constitute a different module at a different instance of time.
  • the processor may be temporary configured or permanently configured to perform relevant operations. Whether temporarily configured or permanently configured, such processors may constitute processor-implemented modules that operate to perform one or more operations or functions.
  • Modules can provide information to, and receive information from, other modules. Accordingly, the described modules may be regarded as being communicatively coupled. Where multiples of such modules exist contemporaneously, communications may be achieved through signal transmission (e.g., over appropriate circuits and buses) that connect the modules. In embodiments in which multiple modules are configured or instantiated at different times, communications between such modules may be achieved, for example, through the storage and retrieval of information in memory structures to which the multiple modules have access. For example, one module may perform an operation and store the output of that operation in a memory device to which it is communicatively coupled. A further module may then, at a later time, access the memory device to retrieve and process the stored output. Modules may also initiate communications with input or output devices and can operate on a resource (e.g., a collection of information).
  • a resource e.g., a collection of information
  • an example embodiment extends to a machine in the example form of a computer system 800 within which instructions for causing the machine to perform any one or more of the methodologies discussed herein may be executed.
  • the machine operates as a standalone device or may be connected (e.g., networked) to other machines.
  • the machine may operate in the capacity of a server or a client machine in server-client network environment, or as a peer machine in a peer-to-peer (or distributed) network environment.
  • the machine may be a personal computer (PC), a tablet PC, a set-top box (STB), a Personal Digital Assistant (PDA), a cellular telephone, a web appliance, a network router, a switch or bridge, or any machine capable of executing instructions (sequential or otherwise) that specify actions to be taken by that machine.
  • PC personal computer
  • PDA Personal Digital Assistant
  • STB set-top box
  • WPA Personal Digital Assistant
  • cellular telephone a cellular telephone
  • web appliance a web appliance
  • network router a network router
  • switch or bridge any machine capable of executing instructions (sequential or otherwise) that specify actions to be taken by that machine.
  • machine shall also be taken to include any collection of machines that individually or jointly execute a set (or multiple sets) of instructions to perform any one or more of the methodologies discussed herein.
  • the example computer system 800 may include a processor 802 (e.g., a central processing unit (CPU), a graphics processing unit (GPU) or both), a main memory 804 and a static memory 806 , which communicate with each other via a bus 808 .
  • the computer system 800 may further include a video display unit 810 (e.g., a liquid crystal display (LCD) or a cathode ray tube (CRT)).
  • the computer system 800 also includes one or more of an alpha-numeric input device 812 (e.g., a keyboard), a user interface (UI) navigation device or cursor control device 814 (e.g., a mouse), a disk drive unit 816 , a signal generation device 818 (e.g., a speaker), and a network interface device 820 .
  • an alpha-numeric input device 812 e.g., a keyboard
  • UI user interface
  • cursor control device 814 e.g., a mouse
  • disk drive unit 816 e.g., a disk drive unit 816
  • signal generation device 818 e.g., a speaker
  • the disk drive unit 816 includes a machine-readable storage medium 822 on which is stored one or more sets of instructions 824 and data structures (e.g., software instructions) embodying or used by any one or more of the methodologies or functions described herein.
  • the instructions 824 may also reside, completely or at least partially, within the main memory 804 or within the processor 802 during execution thereof by the computer system 800 , with the main memory 804 and the processor 802 also constituting machine-readable media.
  • machine-readable storage medium 822 is shown in an example embodiment to be a single medium, the term “machine-readable storage medium” may include a single medium or multiple media (e.g., a centralized or distributed database, or associated caches and servers) that store the one or more instructions.
  • the term “machine-readable medium” shall also be taken to include any tangible medium that is capable of storing, encoding, or carrying instructions for execution by the machine and that cause the machine to perform any one or more of the methodologies of embodiments of the present invention, or that is capable of storing, encoding, or carrying data structures used by or associated with such instructions.
  • the term “machine-readable storage medium” shall accordingly be taken to include, but not be limited to, solid-state memories and optical and magnetic media.
  • machine-readable storage media include non-volatile memory, including by way of example semiconductor memory devices (e.g., Erasable Programmable Read-Only Memory (EPROM), Electrically Erasable Programmable Read-Only Memory (EEPROM), and flash memory devices); magnetic disks such as internal hard disks and removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks.
  • semiconductor memory devices e.g., Erasable Programmable Read-Only Memory (EPROM), Electrically Erasable Programmable Read-Only Memory (EEPROM), and flash memory devices
  • EPROM Erasable Programmable Read-Only Memory
  • EEPROM Electrically Erasable Programmable Read-Only Memory
  • flash memory devices e.g., Electrically Erasable Programmable Read-Only Memory (EEPROM), and flash memory devices
  • magnetic disks such as internal hard disks and removable disks
  • magneto-optical disks magneto-optical disks
  • CD-ROM and DVD-ROM disks CD-ROM
  • the instructions 824 may further be transmitted or received over a communications network 826 using a transmission medium via the network interface device 820 and utilizing any one of a number of well-known transfer protocols (e.g., HTTP).
  • Examples of communication networks include a local area network (LAN), a wide area network (WAN), the Internet, mobile telephone networks, POTS networks, and wireless data networks (e.g., WiFi and WiMax networks).
  • the term “transmission medium” shall be taken to include any intangible medium that is capable of storing, encoding, or carrying instructions for execution by the machine, and includes digital or analog communications signals or other intangible medium to facilitate communication of such software.
  • inventive subject matter has been described with reference to specific example embodiments, various modifications and changes may be made to these embodiments without departing from the broader spirit and scope of embodiments of the present invention.
  • inventive subject matter may be referred to herein, individually or collectively, by the term “invention” merely for convenience and without intending to voluntarily limit the scope of this application to any single invention or inventive concept if more than one is, in fact, disclosed.

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Data Mining & Analysis (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Computational Linguistics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

In various example embodiments, a system and method for personalization of search results are provided. In example embodiments, a query that triggers a search of a data storage device of a publication system that comprises a plurality of publications is received and a search performed to determine a result set of publications. Optimization preferences of the user are accessed and applied to the result set obtained based on the query to generate a personalized result set. The personalized result set is presented on a user interface of a device of the user.

Description

    PRIORITY
  • This application is a continuation of and claims the benefit of priority to U.S. patent application Ser. No. 13/278,912, filed on Oct. 21, 2011, which is hereby incorporated by reference herein in its entirety.
  • FIELD
  • The present disclosure relates generally to searching, and in a specific example embodiment, to providing multi-dimensional personalization of search results.
  • BACKGROUND
  • Conventionally when users provide a query containing search terms to a search system, a search engine guesses the best results to return to the user. However, search terms typically have more than one meaning For example, a search term “jaguar” may be directed to an animal or to a make of a car. Furthermore, search engines that focus merely on relevance will return results that may be the most popular at the moment. These results may not provide much variety leading to redundancy in the results.
  • BRIEF DESCRIPTION OF DRAWINGS
  • Various ones of the appended drawings merely illustrate example embodiments of the present invention and cannot be considered as limiting its scope.
  • FIG. 1 is a block diagram illustrating an example embodiment of a network architecture of a system used to provide multi-dimensional personalization of search results.
  • FIG. 2 is a block diagram illustrating an example embodiment of a publication system.
  • FIG. 3 is a block diagram illustrating an example embodiment of an optimization engine.
  • FIGS. 4 a and 4 b illustrate examples of multi-dimensional personalization interfaces.
  • FIG. 5 is a flow diagram of an example high-level method for providing multi-dimensional personalized search results.
  • FIG. 6 is a flow diagram of an example high-level method for personalization optimization.
  • FIG. 7 is a flow diagram of an example high-level method for applying diversity to the search results.
  • FIG. 8 is a simplified block diagram of a machine in an example form of a computing system within which a set of instructions for causing the machine to perform any one or more of the methodologies discussed herein may be executed.
  • DETAILED DESCRIPTION
  • The description that follows includes systems, methods, techniques, instruction sequences, and computing machine program products that embody illustrative embodiments of the present invention. In the following description, for purposes of explanation, numerous specific details are set forth in order to provide an understanding of various embodiments of the inventive subject matter. It will be evident, however, to those skilled in the art that embodiments of the inventive subject matter may be practiced without these specific details. In general, well-known instruction instances, protocols, structures, and techniques have not been shown in detail.
  • As used herein, the term “or” may be construed in either an inclusive or exclusive sense. Additionally, although various example embodiments discussed below focus on a marketplace environment, the embodiments are given merely for clarity in disclosure. Thus, any type of electronic publication, electronic commerce, social networking, or electronic business system and method, including various system architectures, may employ various embodiments of the content system and method described herein and may be considered as being within a scope of example embodiments. Each of a variety of example embodiments is discussed in detail below.
  • Example embodiments described herein provide systems and methods for providing multi-dimensional personalized search results. In order to obtain a result set comprising diverse matches to a query, factors besides relevance are considered. In a marketplace environment, these factors may comprise, for example, price, trust, selection, customer service level, or condition of a product. The importance of these factors may differ for each user and requires a balance there between. For example, a product that provides 24 hour customer support is likely to cost more than a similar product that does not provide any customer support, or a brand new product is likely to cost more than a used version of the same product. As such, the user is provided an interface through which the user may indicate their optimization preferences. These optimization preferences are used when determining the result set to provide to the user based on a query.
  • Providing results specific to a user is particularly important because different users expect different results given the same query. Some users are willing to pay a higher price for guaranteed quality and exceptional service from a seller, while other users prefer a deal (e.g., lower price) and are willing to buy from non-professional sellers or buy used inventory.
  • Furthermore, search results may benefit from perturbation in order for new items to be included in the result set. Perturbation is a process by which a match which would not be normally included in the result set is added. In some embodiments, the match may be a random match or a match for a new or recently added item. Because the item is relatively new, the item may not rank highly in terms of relevance or trust. However, if the item is never or seldom returned in a result set, then the item may never have a chance of gaining relevance or trust. As such, the use of perturbation enhances the result set.
  • By using embodiments of the present invention, a user will obtain personalized search results that are more likely to satisfy the user. Accordingly, one or more of the methodologies discussed herein may obviate a need for repeated searching in order to obtain proper search results, which may have the technical effect of reducing computing resources used by one or more devices within the system. Examples of such computing resources include, without limitation, processor cycles, network traffic, memory usage, storage space, and power consumption.
  • With reference to FIG. 1, an example embodiment of a high-level client-server-based network architecture 100 to enable personalization of search results is shown. A networked system 102, in an example form of a network-server-side functionality, is coupled via a communication network 104 (e.g., the Internet, wireless network, cellular network, or a Wide Area Network (WAN)) to one or more client devices 110 and 112. FIG. 1 illustrates, for example, a web client 106 operating via a browser (e.g., such as the INTERNET EXPLORER® browser developed by Microsoft® Corporation of Redmond, Wash.), and a programmatic client 108 executing on respective client devices 110 and 112.
  • The client devices 110 and 112 may comprise a mobile phone, desktop computer, laptop, or any other communication device that a user may utilize to access the networked system 102. In some embodiments, the client device 110 may comprise a display module (not shown) to display information (e.g., in the form of user interfaces). In further embodiments, the client device 110 may comprise one or more of a touch screen, accelerometer, camera, microphone, and GPS device. The client devices 110 and 112 may be a device of a user, which is used to provide optimization preferences or search terms of a query to the networked system 102. In one embodiment, the networked system 102 is a network-based marketplace that publishes publications comprising item listings of products for sale on the network-based marketplace and manages payments for these marketplace transactions.
  • An Application Program Interface (API) server 114 and a web server 116 are coupled to, and provide programmatic and web interfaces respectively to, one or more application servers 118. The application servers 118 host a publication system 120 and a payment system 122, each of which may comprise one or more modules, applications, or engines, and each of which may be embodied as hardware, software, firmware, or any combination thereof. The application servers 118 are, in turn, coupled to one or more database servers 124 facilitating access to one or more information storage repositories or database(s) 126. In one embodiment, the databases 126 are storage devices that store information to be posted (e.g., publications or listings) to the publication system 120. The databases 126 may also store account information for users in accordance with example embodiments.
  • In example embodiments, the publication system 120 publishes content on a network (e.g., Internet). As such, the publication system 120 provides a number of publication and marketplace functions and services to users that access the networked system 102. The publication system 120 is discussed in more detail in connection with FIG. 2. In example embodiments, the publication system 120 is discussed in terms of a marketplace environment. However, it is noted that the publication system 120 may be associated with a non-marketplace environment such as an informational (e.g., search engine) or social networking environment.
  • The payment system 122 provides a number of payment services and functions to users. The payment system 122 allows users to accumulate value (e.g., in a commercial currency, such as the U.S. dollar, or a proprietary currency, such as “points”) in their accounts, and then later to redeem the accumulated value for products (e.g., goods or services) that are made available via the publication system 120 or elsewhere on the network 104. The payment system 122 also facilitates payments from a payment mechanism (e.g., a bank account, PayPal™, or credit card) for purchases of items via any type and form of a network-based marketplace.
  • While the publication system 120 and the payment system 122 are shown in FIG. 1 to both form part of the networked system 102, it will be appreciated that, in alternative embodiments, the payment system 122 may form part of a payment service that is separate and distinct from the networked system 102. Additionally, while the example network architecture 100 of FIG. 1 employs a client-server architecture, a skilled artisan will recognize that the present disclosure is not limited to such an architecture. The example network architecture 100 can equally well find application in, for example, a distributed or peer-to-peer architecture system. The publication system 120 and payment system 122 may also be implemented as standalone systems or standalone software programs operating under separate hardware platforms, which do not necessarily have networking capabilities.
  • Referring now to FIG. 2, an example block diagram illustrating multiple components that, in one embodiment, are provided within the publication system 120 of the networked system is shown. In this embodiment, the publication system 120 is a marketplace system where items (e.g., goods or services) may be offered for sale. The publication system 120 may be hosted on dedicated or shared server machines (not shown) that are communicatively coupled to enable communications between the server machines. The multiple components themselves are communicatively coupled (e.g., via appropriate interfaces), either directly or indirectly, to each other and to various data sources, to allow information to be passed between the components or to allow the components to share and access common data. Furthermore, the components may access the one or more databases 126 via the one or more database servers 124.
  • The publication system 120 provides a number of publishing, listing, and price-setting mechanisms whereby a seller may list (or publish information concerning) goods or services for sale, a buyer can express interest in or indicate a desire to purchase such goods or services, and a price can be set for a transaction pertaining to the goods or services. To this end, the publication system 120 may comprise at least one publication engine 202 and one or more auction engines 204 that support auction-format listing and price setting mechanisms (e.g., English, Dutch, Chinese, Double, Reverse auctions, etc.).
  • A pricing engine 206 supports various price listing formats. One such format is a fixed-price listing format (e.g., the traditional classified advertisement-type listing or a catalog listing). Another format comprises a buyout-type listing. Buyout-type listings (e.g., the Buy-It-Now (BIN) technology developed by eBay Inc., of San Jose, Calif.) may be offered in conjunction with auction-format listings and allow a buyer to purchase goods or services, which are also being offered for sale via an auction, for a fixed price that is typically higher than a starting price of an auction for an item.
  • A store engine 208 allows a seller to group listings within a “virtual” store, which may be branded and otherwise personalized by and for the seller. Such a virtual store may also offer promotions, incentives, and features that are specific and personalized to the seller. In one example, the seller may offer a plurality of items as Buy-It-Now items in the virtual store, offer a plurality of items for auction, or a combination of both.
  • A reputation engine 210 allows users that transact, utilizing the networked system 102, to establish, build, and maintain reputations. These reputations may be made available and published to potential trading partners. Because the publication system 120 supports person-to-person trading between unknown entities, in accordance with one embodiment, users may otherwise have no history or other reference information whereby the trustworthiness and credibility of potential trading partners may be assessed. The reputation engine 210 allows a user, for example through feedback provided by one or more other transaction partners, to establish a reputation within the network-based marketplace over time. Other potential trading partners may then reference the reputation for purposes of assessing credibility and trustworthiness.
  • Navigation of the network-based marketplace may be facilitated by a navigation engine 212. For example, a browse module (not shown) of the navigation engine 212 allows users to browse various category, catalog, or inventory data structures according to which listings may be classified within the publication system 120. Various other navigation applications within the navigation engine 212 may be provided to supplement the browsing applications.
  • In order to make listings available via the networked system 102 as visually informing and attractive as possible, the publication system 120 may include an imaging engine 214 that enables users to upload images for inclusion within publications and to incorporate images within viewed listings. The imaging engine 214 may also receive image data from a user as a search query and utilize the image data to identify an item depicted or described by the image data.
  • A listing creation engine 216 allows users (e.g., sellers) to conveniently author listings of items. In one embodiment, the listings pertain to goods or services that a user (e.g., a seller) wishes to transact via the publication system 120. In other embodiments, a user may create a listing that is an advertisement or other form of publication.
  • A listing management engine 218 allows the users to manage such listings. Specifically, where a particular user has authored or published a large number of listings, the management of such listings may present a challenge. The listing management engine 218 provides a number of features (e.g., auto-relisting, inventory level monitors, etc.) to assist the user in managing such listings.
  • A post-listing management engine 220 also assists users with a number of activities that typically occur post-listing. For example, upon completion of an auction facilitated by the one or more auction engines 204, a seller may wish to leave feedback regarding a particular buyer. To this end, the post-listing management engine 220 provides an interface to the reputation engine 210 allowing the seller to conveniently provide feedback regarding multiple buyers to the reputation engine 210. Another post-listing action may be shipping of sold items whereby the post-listing management engine 220 may assist in printing shipping labels, estimating shipping costs, and suggesting shipping carriers.
  • A search engine 222 performs searches for publications in the networked system 102 that match a query. In example embodiments, the search engine 222 comprises a search module (not shown) that enables keyword searches of publications published via the publication system 120. In a further embodiment, the search engine 222 may take an image received by the imaging engine 214 as an input for conducting a search. The search engine 222 takes the query input and determines a plurality of matches from the networked system 102 (e.g., publications stored in the database 126). The matches are provided to an optimization engine 224 for personalized optimization in accordance with example embodiments described herein. It is noted that the functions of the search engine 222 may be combined with the navigation engine 212.
  • The optimization engine 224 receives the matches from the search engine 222 and applies an optimization process to the matches to create a personalized result set that is returned to a querying user. The optimization engine 224 will be discussed in more detail in connection with FIG. 3 below.
  • Although the various components of the publication system 120 have been defined in terms of a variety of individual modules and engines, a skilled artisan will recognize that many of the items can be combined or organized in other ways and that not all modules or engines need to be present or implemented in accordance with example embodiments. Furthermore, not all components of the marketplace system 120 have been included in FIG. 2. In general, components, protocols, structures, and techniques not directly related to functions of exemplary embodiments (e.g., dispute resolution engine, loyalty promotion engine, personalization engines, etc.) have not been shown or discussed in detail. The description given herein simply provides a variety of exemplary embodiments to aid the reader in an understanding of the systems and methods used herein.
  • FIG. 3 is a block diagram illustrating an example embodiment of the optimization engine 224. The optimization engine 224 performs personalized optimization of matches to a search query in order to return an optimized result set to that is personalized for the querying user. To that end, the optimization engine 224 comprises a personalization module 302, a diversity module 304, a score module 306, a perturbation module 308, and a result module 310. One or more of the modules may be implemented in accordance with example embodiments.
  • The personalization module 302 is configured to manage optimization preferences for a user. In example embodiments, the personalization module 302 provides an interface to the user that comprises preference input fields or selectors. In one embodiment, the interface may include multiple linear sliding scales whereby the user may move a slider for a scale to a particular position to indicate a value to attribute to an optimization factor. An example of a sliding scale interface 400 is shown in FIG. 4 a. In the present example, the optimization factors comprise relevance, diversity, trust, and value. Alternative embodiments may contemplate other combinations of optimization factors or a different number of optimization factors. A combination of the values for the sliding scale will result in 100% of a total value. For example, if the total value is 100 (or some factor of 100 such as 1), then the user may assign a relevance score to 30, a diversity score to zero, a trust score to zero, and a value score to 70. The user is prevented from assigning more than the total value. These assigned factor values indicate that the user prefers search results in a result set that are mainly lowest in price and is not so concerned with diversity in information presented in the result set or in trustworthiness of the information source (e.g., seller) of the result set. If movement of on sliding scale results in the total value exceeding 100, one or more of the other sliding scales may be reduced. Alternatively, the user may not be allowed to move a sliding scale beyond a remainder of the total value. As such, the optimization factors are interrelated and an adjustment in one factor may require an adjustment in another factor.
  • In another example, the personalization module 302 may provide a radar chart 402 as shown in FIG. 4 b. The radar chart 402 is a visual indicator of the optimization factors and their relationship to each other shown graphically. As such, a shape of the radar chart 402 indicates a ranking function that will be applied to the matches. The user may drag nodes of the radar chart 402 to adjust their preference. The position of the node will indicate a value assigned to the optimization factor. For example, a relevance factor has a factor value of 20, a diversity factor has a factor value of 30, and a trust factor has a factor value of 15 with 35 points left to assign. In a further embodiment, a combination of the sliding scales and the radar chart embodiments may be provided in the interface. Alternatively, any form of input interfaces may be used.
  • In some embodiments, the personalization module 302 may examine a user's past behavior to suggest optimization preferences. The personalization module 302 may review past searches or transactions associated with an account of the user to determine patterns that indicate user preferences. For example, if past transactions indicate that the user typically purchases low costing items from sellers with less than stellar reputation scores, the personalization module 302 may suggest optimization preferences that set the value factor high and the trust factor low. The user may adjust these suggested optimization preferences using the interface (e.g., sliding scale interface 400 or radar chart 402 interface) provided by the personalization module 302.
  • The optimization preferences may be stored to a user account of the user. Alternatively or additionally, the user may update or provide new preferences each time the user performs a search. In embodiments wherein the user preferences are stored, the personalization module 302 obtains the preferences when a search is initiated and matches are received by the optimization engine 224.
  • The diversity module 304 determines diverse matches to add to a potential result set. The diversity module 304 may operate when the user preferences indicate a preference for diversity in the potential result set. In one embodiment, the diversity module 304 uses a greedy algorithm to determine a diverse set of matches. For example, a first match (e.g., listing or publication) that is considered to be the best match based on past history may be selected by the diversity module 304 for inclusion in a potential result set. The diversity module 304 then finds a second match that is the most different from the first match and includes the second match in the potential result set. The differences may be based on attributes (e.g., terms in a title, description) for each match. In one embodiment, the diversity module 304 may review terms in the matches and determine a number of terms in common and divides the number of terms in common by a total number of terms. A resulting value close to zero will indicate that the matches are very dissimilar. Subsequently, the diversity module 304 continues to find the most different match from those already selected for the potential result set until a maximum amount of matches are found. The maximum amount of matches may correspond to a maximum number of matches that may be displayed to the user based on the user interface (e.g., first page, first five pages).
  • The goal of diversity is to show different kinds of matches on a first number of pages of results. The diversity module 304 may look at past history of user activities to associated desirable matches with a given query. User click-through, buying, and bidding behavior may be mined to determine a mapping from queries to features. For example, if users in the past issued a search for “roger federer” and ended up buying t-shirts, collectibles, and rackets, then a mapping may be determined from the query “roger federer” to the features t-shirts, collectibles, rackets with some weights. This query to feature mapping is based on a desirability metric. So if lot of Roger Federer posters are available for sale but none are bought after querying for “roger federer,” then the vector for the query “roger federer” may have the feature “poster” with a negative weight. These weights are considered by the diversity module 304 in determining the potential result set.
  • Diversity or selection may be based on a number of different factors. Different factors determining diversity of a result set may include, for example, a number of sellers, kind of seller, type of items, item availability type (e.g., auction), shipping options, different types of products, payment methods available, and categories of the matches In one embodiment, diversity may be calculated for a result set based on diversity of sellers whose items are present in the match set, diversity of items based on format of the item, and diversity measured in terms of an amount of people whose interested may be satisfied by the matches.
  • In embodiments where the user preference indicates diversity only (e.g., diversity receives 100% of the user preference value), the potential result set is a final result set that is returned to the user. However, when the user preferences include other preference factors, the score module 306 calculates a score for each match (either from the search engine 222 or from the potential result set determined by the diversity module 304) to determine the final result set. The score takes into consideration the optimization factors (e.g., relevance, value, trust, and diversity) that are indicated by the optimization preference established by the user.
  • With respect to the optimization factors, trust is based on reputation scores for a seller. Some sellers are more professional, ship faster, have been selling longer, and provide better service than other sellers. Thus, trust and reputation scores (e.g., based on ratings or feedback from other users) associated with publications provided by these sellers are different. As a result, if two items are being sold for the same price by two difference sellers with different reputation scores, buyers are more likely to buy from the seller with the better reputation. A trust score t may be determined, by the score module 306, for each match based on how each match ranks in trust versus the other matches. For example, matches with a reputation score of 100% (positive) may be assigned a trust score t of 1, while matches with a reputation score of 0% may be assigned a trust score t of 0. Matches with reputation scores in-between 0% and 100% may be assigned a proportional (scaled) trust score t. Alternatively, if there are no 0% or 100% reputation scores, the match with the highest reputation score may be assigned a trust score t of 1, the match with the lowest reputation score may be assigned a trust score t of 0, and matches in-between are assigned proportional trust scores t.
  • Given two exact same items in a match with the same trust score, buyers are more likely to buy the one with a lower price. Therefore, value is a function of a price of an item in the match. If the price of the item is less than the a typical selling price of similar items, then the value proposition for the item is higher and vice versa. In one embodiment, the value proposition for a particular match is computed by the score module 306 by comparing the match's price with other similar items that were bought previously. A value proposition score v associated with each match may be determined. For example, a match that has a price that is significantly lower than historical prices for a similar item may be assigned a value proposition score v of 1. Alternatively, a match that has the least expensive item versus the rest of the matches may be assigned a value proposition score v of 1. On the opposite side of the range, a match that is priced significantly above a historical price for a similar item or is priced the highest among the returned matches may be assigned a value proposition score v of 0. Matches having prices in-between may have proportional value proposition scores v or may be assigned an applicable value proposition scores v based on a comparison with the historical price for the similar item of the match.
  • With respect to a relevance score r, the score is based on a matches relevance compared to past history. For example, if past users type in “coach” and end up buying handbags and shoes but not sunglasses, then the score module 306 determines that handbags and shoes are more relevant and sunglasses are less relevant. A higher relevance score r may assigned to the more relevant matches (e.g., matches indicating handbags and shoes) and a lower relevance score r may be assigned to the less relevant matches (e.g., matches indicating sunglasses).
  • A diversity score s may be determined for each match based on the results generated by the diversity module 304. In one embodiment, the diversity score s may be assigned based on the ranking of the match by the diversity module 304. For example, the first match may receive a diversity score s of 1, the last match may receive a diversity score s of 0 and the matches in-between will receive proportional diversity scores s. In an alternative embodiment, the score module 306 may assigned a first match a high diversity score s and any subsequent matches indicating a similar item as in the first match a low diversity score s.
  • The score module 306 also determines coefficients based on the optimization preferences and applies the coefficients to each respective factor score (t, v, s, and r) for each match. For example, if the user's preferences indicate an optimization value of 30 for relevance, 20 for diversity, 10 for trust, and 40 for value, then a relevance coefficient α is 0.3, a diversity coefficient β is 0.2, a trust coefficient γ is 0.1, and a value coefficient δ is 0.4. Ideally, a summation of the coefficients is equal to 1. These coefficients are applied to factor scores to obtain a unified score for each match. The calculated scores are unified into a unified score, which is used to rank the matches. Thus, a unified score for a match is calculated as αr+βs+γt+δv. The unified scores may be sorted to derive the final result set with matches having the highest unified scores (e.g., a top 100 of the highest sorted set may be returned).
  • The perturbation module 308 is configured to determine random matches for inclusion into the final result set. Over time, items associated with query terms may change. If perturbation is not performed, then the final result set may not change, and instead, will keep showing the same results. The perturbation module 308 randomly includes new, recently added, or different items to the final result set. Because the item may be relatively new, the item may not rank highly in terms of relevance or trust and little data may be available for price. However, if the item is never returned in a final result set, then the item may never have a chance of gaining relevance, trustworthiness, or pricing information. As such, the use of perturbation module 308 enhances the result set.
  • Accordingly, the perturbation module 308 may review the final result set and non-selected matches (e.g., matches not selected for the final result set) and include matches that are relatively new or different from matches in the final result set.
  • The result module 310 is configured to generate the final result set to be returned to the querying user. To this end, the result module 310 may take the scores from the score module 306 as well as the random matches from the perturbation module 308 and generate the final result set. The result module 310 may transmit the final result set to a device of the querying user.
  • FIG. 5 is a flow diagram of an example high-level method 500 for providing multi-dimensional personalized search results. The method 500 may be performed using one or more of the modules and engines described above. In operation 502, a query is received from a device of a user. The query may comprises keywords or an image that received by the search engine 222. The search engine 222 takes the query and performs a search to determine publications or listings that match the query in operation 504. In example embodiments, the search engine 222 searches the networked system 102. In other embodiments, the search engine 222 may search any information repository on the network 104.
  • In operation 506, personalization optimization processing is performed by the optimization engine 224. In example embodiments, the matches determined by the search engine 222 are provided to the optimization engine 224 so that optimization preferences of the user may be applied. The personalized optimization process will be discussed in further detail in connection with FIG. 6 below.
  • The final result set is returned to the querying user in operation 508. Accordingly, the optimization engine 224 or the search engine 222 transmits the final result set to the device of the querying user.
  • FIG. 6 is a flow diagram of an example high-level method (e.g., operation 506) for personalized optimization processing. In example embodiments, the search results (e.g., matches) determined by the search engine 222 are ranked, sorted, and selected to be included in the final result set according to user optimization preferences.
  • In operation 602, the user's optimization preferences are accessed by the personalization module 302. In some embodiments, the personalization module 302 accesses the user account of the querying user to retrieve the pre-established user preferences. In other embodiments, the user preferences may be received during the same session as the query. For example, the user may provide user preferences immediately before or with the query. Further still, the user may adjust the optimization preferences upon receiving a final result set from a query and resend the query with the adjusted optimization preferences. In this situation, the result set may be re-determined using the adjustments.
  • A determination is made as to whether diversity is an indicated user preference in operation 604. If diversity is indicated as a user preference, then in operation 606, diversity processing is performed. Diversity processing will generate a potential result set that varies in publications. Operation 606 will be discussed in more detail in connection with FIG. 7.
  • In operation 608, scores for each publication are determined by the score module 306. In accordance with one embodiment, the score module 306 determines a relevance score, a diversity score, a trust score, and a value score for each publication or match (referred to as “factor scores”).
  • In operation 610, the score module 306 applies optimization factors based on the user optimization preferences to the scores calculated in operation 608. In example embodiments, the score module 306 determines factor coefficients based on the optimization preferences and applies the factor coefficients to each respective factor score for the publication. For example, if the user's preferences indicate an optimization value of 30 for relevance, 20 for diversity, 10 for trust, and 40 for value, then a relevance coefficient α is 0.3, a diversity coefficient β is 0.2, a trust coefficient γ is 0.1, and a value coefficient δ is 0.4. These coefficients are applied to the factor scores.
  • A unifying score for each match is then determined in operation 612. The unifying score may be a summation of each optimization factor coefficient times its corresponding factor score for each match. As such, the unifying scores provide a ranking that is based on a linear combination metric of relevance, diversity, trust, and value. Based on the unifying score, matches with the highest score are selected in operation 614 by the result module 310. The matches may be added to a final result set.
  • In operation 616, perturbation results may be added to the result set by the perturbation module 308. In example embodiments, the perturbation module 308 may find one or more publications that are new or recently added (e.g., to a particular category). Alternatively, the perturbation module 308 may identify one or more publications that describe an item that is new or recently added. The matches identified by the perturbation module 308 are matches (e.g., perturbation results) which would otherwise not be included in the result set due to the relative newness of the publications.
  • FIG. 7 is a flow diagram of an example high-level method (e.g., operation 604) illustrating diversity processing. In example embodiments, the diversity module 304 determines diverse matches to add to a potential result set when the user preferences indicate a preference for diversity in the potential result set. In one embodiment, the diversity module 304 uses a greedy algorithm to determine a diverse set of matches.
  • In operation 702, the diversity module 304 selects a first match (e.g., listing or publication) that is considered to be the best or most popular match based on past history and added to a potential result set. In operation 704, the diversity module 304 then selects a second match that is the most different from the first match. The second match is included to the potential result set in operation 706. The differences may be based on attributes (e.g., terms in a title, description) for each match. If in operation 708, a determination is made that the potential result set has not reached a maximum number of matches, the method returns to operation 704.
  • In some embodiments, there may be no maximum number. Instead all matches are ranked by the diversity module 304. That is the first match is ranked highest with each subsequent match determined being a lower ranking The ranking may then be used in the calculating of the diversity score. For example, the first match may have a diversity score of one and the last match may have a diversity score of zero. The matches in-between will have diversity scores that are proportional between one and zero.
  • Modules, Components, and Logic
  • Additionally, certain embodiments described herein may be implemented as logic or a number of modules, engines, components, or mechanisms. A module, engine, logic, component, or mechanism (collectively referred to as a “module”) may be a tangible unit capable of performing certain operations and configured or arranged in a certain manner. In certain example embodiments, one or more computer systems (e.g., a standalone, client, or server computer system) or one or more components of a computer system (e.g., a processor or a group of processors) may be configured by software (e.g., an application or application portion) or firmware (note that software and firmware can generally be used interchangeably herein as is known by a skilled artisan) as a module that operates to perform certain operations described herein.
  • In various embodiments, a module may be implemented mechanically or electronically. For example, a module may comprise dedicated circuitry or logic that is permanently configured (e.g., within a special-purpose processor, application specific integrated circuit (ASIC), or array) to perform certain operations. A module may also comprise programmable logic or circuitry (e.g., as encompassed within a general-purpose processor or other programmable processor) that is temporarily configured by software or firmware to perform certain operations as described herein. It will be appreciated that a decision to implement a module mechanically, in dedicated and permanently configured circuitry, or in temporarily configured circuitry (e.g., configured by software) may be driven by, for example, cost, time, energy-usage, and package size considerations.
  • Accordingly, the term “module” should be understood to encompass a tangible entity, be that an entity that is physically constructed, permanently configured (e.g., hardwired), or temporarily configured (e.g., programmed) to operate in a certain manner or to perform certain operations described herein. Considering embodiments in which modules or components are temporarily configured (e.g., programmed), each of the modules or components need not be configured or instantiated at any one instance in time. For example, where the modules or components comprise a general-purpose processor configured using software, the general-purpose processor may be configured as respective different modules at different times. Software may accordingly configure the processor to constitute a particular module at one instance of time and to constitute a different module at a different instance of time. The processor may be temporary configured or permanently configured to perform relevant operations. Whether temporarily configured or permanently configured, such processors may constitute processor-implemented modules that operate to perform one or more operations or functions.
  • Modules can provide information to, and receive information from, other modules. Accordingly, the described modules may be regarded as being communicatively coupled. Where multiples of such modules exist contemporaneously, communications may be achieved through signal transmission (e.g., over appropriate circuits and buses) that connect the modules. In embodiments in which multiple modules are configured or instantiated at different times, communications between such modules may be achieved, for example, through the storage and retrieval of information in memory structures to which the multiple modules have access. For example, one module may perform an operation and store the output of that operation in a memory device to which it is communicatively coupled. A further module may then, at a later time, access the memory device to retrieve and process the stored output. Modules may also initiate communications with input or output devices and can operate on a resource (e.g., a collection of information).
  • Example Machine Architecture and Machine-Readable Medium
  • With reference to FIG. 8, an example embodiment extends to a machine in the example form of a computer system 800 within which instructions for causing the machine to perform any one or more of the methodologies discussed herein may be executed. In alternative example embodiments, the machine operates as a standalone device or may be connected (e.g., networked) to other machines. In a networked deployment, the machine may operate in the capacity of a server or a client machine in server-client network environment, or as a peer machine in a peer-to-peer (or distributed) network environment. The machine may be a personal computer (PC), a tablet PC, a set-top box (STB), a Personal Digital Assistant (PDA), a cellular telephone, a web appliance, a network router, a switch or bridge, or any machine capable of executing instructions (sequential or otherwise) that specify actions to be taken by that machine. Further, while only a single machine is illustrated, the term “machine” shall also be taken to include any collection of machines that individually or jointly execute a set (or multiple sets) of instructions to perform any one or more of the methodologies discussed herein.
  • The example computer system 800 may include a processor 802 (e.g., a central processing unit (CPU), a graphics processing unit (GPU) or both), a main memory 804 and a static memory 806, which communicate with each other via a bus 808. The computer system 800 may further include a video display unit 810 (e.g., a liquid crystal display (LCD) or a cathode ray tube (CRT)). In example embodiments, the computer system 800 also includes one or more of an alpha-numeric input device 812 (e.g., a keyboard), a user interface (UI) navigation device or cursor control device 814 (e.g., a mouse), a disk drive unit 816, a signal generation device 818 (e.g., a speaker), and a network interface device 820.
  • Machine-Readable Storage Medium
  • The disk drive unit 816 includes a machine-readable storage medium 822 on which is stored one or more sets of instructions 824 and data structures (e.g., software instructions) embodying or used by any one or more of the methodologies or functions described herein. The instructions 824 may also reside, completely or at least partially, within the main memory 804 or within the processor 802 during execution thereof by the computer system 800, with the main memory 804 and the processor 802 also constituting machine-readable media.
  • While the machine-readable storage medium 822 is shown in an example embodiment to be a single medium, the term “machine-readable storage medium” may include a single medium or multiple media (e.g., a centralized or distributed database, or associated caches and servers) that store the one or more instructions. The term “machine-readable medium” shall also be taken to include any tangible medium that is capable of storing, encoding, or carrying instructions for execution by the machine and that cause the machine to perform any one or more of the methodologies of embodiments of the present invention, or that is capable of storing, encoding, or carrying data structures used by or associated with such instructions. The term “machine-readable storage medium” shall accordingly be taken to include, but not be limited to, solid-state memories and optical and magnetic media. Specific examples of machine-readable storage media include non-volatile memory, including by way of example semiconductor memory devices (e.g., Erasable Programmable Read-Only Memory (EPROM), Electrically Erasable Programmable Read-Only Memory (EEPROM), and flash memory devices); magnetic disks such as internal hard disks and removable disks; magneto-optical disks; and CD-ROM and DVD-ROM disks.
  • Transmission Medium
  • The instructions 824 may further be transmitted or received over a communications network 826 using a transmission medium via the network interface device 820 and utilizing any one of a number of well-known transfer protocols (e.g., HTTP). Examples of communication networks include a local area network (LAN), a wide area network (WAN), the Internet, mobile telephone networks, POTS networks, and wireless data networks (e.g., WiFi and WiMax networks). The term “transmission medium” shall be taken to include any intangible medium that is capable of storing, encoding, or carrying instructions for execution by the machine, and includes digital or analog communications signals or other intangible medium to facilitate communication of such software.
  • Although an overview of the inventive subject matter has been described with reference to specific example embodiments, various modifications and changes may be made to these embodiments without departing from the broader spirit and scope of embodiments of the present invention. Such embodiments of the inventive subject matter may be referred to herein, individually or collectively, by the term “invention” merely for convenience and without intending to voluntarily limit the scope of this application to any single invention or inventive concept if more than one is, in fact, disclosed.
  • The embodiments illustrated herein are described in sufficient detail to enable those skilled in the art to practice the teachings disclosed. Other embodiments may be used and derived therefrom, such that structural and logical substitutions and changes may be made without departing from the scope of this disclosure. The Detailed Description, therefore, is not to be taken in a limiting sense, and the scope of various embodiments is defined only by the appended claims, along with the full range of equivalents to which such claims are entitled.
  • Moreover, plural instances may be provided for resources, operations, or structures described herein as a single instance. Additionally, boundaries between various resources, operations, modules, engines, and data stores are somewhat arbitrary, and particular operations are illustrated in a context of specific illustrative configurations. Other allocations of functionality are envisioned and may fall within a scope of various embodiments of the present invention. In general, structures and functionality presented as separate resources in the example configurations may be implemented as a combined structure or resource. Similarly, structures and functionality presented as a single resource may be implemented as separate resources. These and other variations, modifications, additions, and improvements fall within a scope of embodiments of the present invention as represented by the appended claims. The specification and drawings are, accordingly, to be regarded in an illustrative rather than a restrictive sense.

Claims (21)

1. (canceled)
2. A method comprising:
receiving a query from a user that triggers a search of a data storage device of a publication system that comprises a plurality of publications;
performing the search of the data storage device to identify a result set of publications that match the query;
accessing optimization preferences of the user, the optimization preferences including a plurality of interrelated optimization factors and a value assigned to each of the interrelated optimization factors;
determining a factor score corresponding to each of the interrelated optimization factors for each publication in the result set;
applying, using at least one processor of a machine, the optimization preferences to the factor score corresponding to each of the interrelated optimization factors for each publication in the result set to determine a unifying score for each publication in the result set;
deriving a personalized result set of publications based on a selection of publications in the result set having highest unifying scores; and
causing presentation of the personalized result set on a user interface of a device of the user.
3. The method of claim 2, wherein the value assigned to each of the interrelated optimization factors corresponds to a coefficient that is applied to a corresponding factor score.
4. The method of claim 3, wherein the unifying score for each publication comprises a summation of each coefficient times the corresponding factor score for each publication.
5. The method of claim 2, further comprising adding at least one perturbation match to the personalized result set, the at least one perturbation match being a match that is lacking in one or more optimization factors.
6. The method of claim 2, wherein the determining the factor score comprises determining a diversity score for each publication of the result set, the determining of the diversity score comprising:
selecting a most popular match and placing the most popular match in a potential set;
continually determining a next most divergent match from results in the potential set and placing the next most divergent match in the potential set until a limit is reached;
assigning a highest diversity score to the most popular match; and
assigning proportionally decreasing diversity scores for a remainder of the matches in the potential set.
7. The method of claim 2, further comprising:
causing presentation of a preference input interface that allows the user to establish the optimization preferences, the preference input interface comprising a plurality of sliding scales corresponding to each of the plurality of interrelated optimization factors, the value assigned to each of the interrelated optimization factors being inputted using the sliding scale; and
receiving the optimization preferences via the preference input interface.
8. The method of claim 2, further comprising:
Causing presentation of a preference input interface that allows the user to establish the optimization preferences, the preference input interface comprising a radar chart, each node of the radar chart corresponding to an interrelated optimization factor of the plurality of interrelated optimization factors, the value assigned to each of the plurality of interrelated optimization factors being inputted by adjusting the nodes of the radar chart; and
receiving the optimization preferences via the preference input interface.
9. The method of claim 2, further comprising:
examining past searches and transactions associated with an account of the user to determine patterns indicative of user preferences;
deriving suggested optimization preferences based on the user preferences; and
presenting the suggested optimization preference as the optimization preferences, the user having an ability to adjust the suggested optimization preferences.
10. A system comprising:
one or more hardware processors configured to perform operations comprising:
receiving a query from a user that triggers a search of a data storage device of a publication system that comprises a plurality of publications;
performing the search of the data storage device to identify a result set of publications that match the query;
accessing optimization preferences of the user, the optimization preferences including a plurality of interrelated optimization factors and a value assigned to each of the interrelated optimization factors;
determining a factor score corresponding to each of the interrelated optimization factors for each publication in the result set;
applying the optimization preferences to the factor score corresponding to each of the interrelated optimization factors for each publication in the result set to determine a unifying score for each publication in the result set;
deriving a personalized result set of publications based on a selection of publications in the result set having highest unifying scores; and
causing presentation of the personalized result set on a user interface of a device of the user.
11. The system of claim 10, wherein the operations further comprise adding at least one perturbation match to the personalized result set, the at least one perturbation match being a match that is lacking in one or more optimization factors.
12. The system of claim 10, wherein the determining the factor score comprises determining a diversity score for each publication of the result set, the determining of the diversity score comprising:
selecting a most popular match and placing the most popular match in a potential set;
continually determining a next most divergent match from results in the potential set and placing the next most divergent match in the potential set until a limit is reached;
assigning a highest diversity score to the most popular match; and
assigning proportionally decreasing diversity scores for a remainder of the matches in the potential set.
13. The system of claim 10, wherein the operations further comprise:
causing presentation of a preference input interface that allows the user to establish the optimization preferences, the preference input interface comprising a plurality of sliding scales corresponding to each of the plurality of interrelated optimization factors, the value assigned to each of the interrelated optimization factors being inputted using the sliding scale; and
receiving the optimization preferences via the preference input interface.
14. The system of claim 10, wherein the operations further comprise:
causing presentation of a preference input interface that allows the user to establish the optimization preferences, the preference input interface comprising a radar chart, each node of the radar chart corresponding to an interrelated optimization factor of the plurality of interrelated optimization factors, the value assigned to each of the plurality of interrelated optimization factors being inputted by adjusting the nodes of the radar chart; and
receiving the optimization preferences via the preference input interface.
15. The system of claim 10, wherein the operations further comprise:
examining past searches and transactions associated with an account of the user to determine patterns indicative of user preferences;
deriving suggested optimization preferences based on the user preferences; and
presenting the suggested optimization preference as the optimization preferences, the user having an ability to adjust the suggested optimization preferences.
16. A machine-readable medium having no transitory signals and storing instructions which, when executed by the at least one processor of a machine, causes the machine to perform operations comprising:
receiving a query from a user that triggers a search of a data storage device of a publication system that comprises a plurality of publications;
performing the search of the data storage device to identify a result set of publications that match the query;
accessing optimization preferences of the user, the optimization preferences including a plurality of interrelated optimization factors and a value assigned to each of the interrelated optimization factors;
determining a factor score corresponding to each of the interrelated optimization factors for each publication in the result set;
applying the optimization preferences to the factor score corresponding to each of the interrelated optimization factors for each publication in the result set to determine a unifying score for each publication in the result set;
deriving a personalized result set of publications based on a selection of publications in the result set having highest unifying scores; and
causing presentation of the personalized result set on a user interface of a device of the user.
17. The machine-readable medium of claim 16, wherein the operations further comprise adding at least one perturbation match to the personalized result set, the at least one perturbation match being a match that is lacking in one or more optimization factors.
18. The machine-readable medium of claim 16, wherein the determining the factor score comprises determining a diversity score for each publication of the result set, the determining of the diversity score comprising:
selecting a most popular match and placing the most popular match in a potential set;
continually determining a next most divergent match from results in the potential set and placing the next most divergent match in the potential set until a limit is reached;
assigning a highest diversity score to the most popular match; and
assigning proportionally decreasing diversity scores for a remainder of the matches in the potential set.
19. The machine-readable medium of claim 16, wherein the operations further comprise:
causing presentation of a preference input interface that allows the user to establish the optimization preferences, the preference input interface comprising a plurality of sliding scales corresponding to each of the plurality of interrelated optimization factors, the value assigned to each of the interrelated optimization factors being inputted using the sliding scale; and
receiving the optimization preferences via the preference input interface.
20. The machine-readable medium of claim 16, wherein the operations further comprise:
causing presentation of a preference input interface that allows the user to establish the optimization preferences, the preference input interface comprising a radar chart, each node of the radar chart corresponding to an interrelated optimization factor of the plurality of interrelated optimization factors, the value assigned to each of the plurality of interrelated optimization factors being inputted by adjusting the nodes of the radar chart; and
receiving the optimization preferences via the preference input interface.
21. The machine-readable medium of claim 16, wherein the operations further comprise:
examining past searches and transactions associated with an account of the user to determine patterns indicative of user preferences;
deriving suggested optimization preferences based on the user preferences; and
presenting the suggested optimization preference as the optimization preferences, the user having an ability to adjust the suggested optimization preferences.
US14/826,497 2011-10-21 2015-08-14 System and method for multi-dimensional personization of search results Abandoned US20150356145A1 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
US14/826,497 US20150356145A1 (en) 2011-10-21 2015-08-14 System and method for multi-dimensional personization of search results

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/278,912 US9195758B2 (en) 2011-10-21 2011-10-21 System and method for multi-dimensional personalization of search results
US14/826,497 US20150356145A1 (en) 2011-10-21 2015-08-14 System and method for multi-dimensional personization of search results

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
US13/278,912 Continuation US9195758B2 (en) 2011-10-21 2011-10-21 System and method for multi-dimensional personalization of search results

Publications (1)

Publication Number Publication Date
US20150356145A1 true US20150356145A1 (en) 2015-12-10

Family

ID=48136843

Family Applications (2)

Application Number Title Priority Date Filing Date
US13/278,912 Expired - Fee Related US9195758B2 (en) 2011-10-21 2011-10-21 System and method for multi-dimensional personalization of search results
US14/826,497 Abandoned US20150356145A1 (en) 2011-10-21 2015-08-14 System and method for multi-dimensional personization of search results

Family Applications Before (1)

Application Number Title Priority Date Filing Date
US13/278,912 Expired - Fee Related US9195758B2 (en) 2011-10-21 2011-10-21 System and method for multi-dimensional personalization of search results

Country Status (1)

Country Link
US (2) US9195758B2 (en)

Families Citing this family (20)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9311650B2 (en) * 2012-02-22 2016-04-12 Alibaba Group Holding Limited Determining search result rankings based on trust level values associated with sellers
JP5364184B2 (en) * 2012-03-30 2013-12-11 楽天株式会社 Information providing apparatus, information providing method, program, information storage medium, and information providing system
CN102739873B (en) * 2012-07-13 2017-01-18 上海触乐信息科技有限公司 System and method for implementing slipping operation auxiliary information input control function in portable terminal equipment
US9715533B2 (en) 2013-07-02 2017-07-25 Ebay Inc. Multi-dimensional search
US9081825B1 (en) * 2014-03-17 2015-07-14 Linkedin Corporation Querying of reputation scores in reputation systems
CN104978155B (en) * 2014-04-01 2018-12-28 腾讯科技(北京)有限公司 The distribution method and device of information displayed quantity
US9916298B2 (en) 2014-09-03 2018-03-13 International Business Machines Corporation Management of content tailoring by services
US9824385B2 (en) 2014-12-29 2017-11-21 Ebay Inc. Method for performing sequence labelling on queries
US10671679B2 (en) * 2014-12-30 2020-06-02 Oath Inc. Method and system for enhanced content recommendation
US10318930B2 (en) 2014-12-31 2019-06-11 Ebay Inc. Systems and methods to utilize smart components
US10685334B2 (en) 2014-12-31 2020-06-16 Ebay Inc. Systems and methods for an E-commerce enabled digital whiteboard
US9563986B2 (en) 2014-12-31 2017-02-07 Ebay Inc. Systems and methods for multi-signal fault analysis
US11093905B2 (en) 2014-12-31 2021-08-17 Ebay Inc. Systems and methods to utilize an electronic garage shelf
US10402925B2 (en) 2015-01-16 2019-09-03 Adp, Llc Employee wellness management system
US10402769B2 (en) * 2015-01-16 2019-09-03 Adp, Llc Employee preference identification in a wellness management system
US10108722B2 (en) 2015-04-29 2018-10-23 International Business Machines Corporation Stability score based re-ranking of search results
CN105677769B (en) 2015-12-29 2018-01-05 广州神马移动信息科技有限公司 One kind is based on latent Dirichletal location(LDA)The keyword recommendation method and system of model
MX2018015784A (en) 2016-06-15 2019-05-09 Walmart Apollo Llc Vector-based characterizations of products and individuals with respect to customer service agent assistance.
US10733359B2 (en) * 2016-08-26 2020-08-04 Adobe Inc. Expanding input content utilizing previously-generated content
US10747803B2 (en) * 2018-08-01 2020-08-18 Verizon Patent And Licensing, Inc. Media content recommendation and user interface generation

Citations (38)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6313833B1 (en) * 1998-10-16 2001-11-06 Prophet Financial Systems Graphical data collection and retrieval interface
US20020073237A1 (en) * 2000-07-27 2002-06-13 George Nancy Fox Methods of managing data over a networked system of computers
US20030065600A1 (en) * 2001-09-28 2003-04-03 Shigehiko Terashima Method and program for supporting securities selection
US20030126611A1 (en) * 2001-12-28 2003-07-03 International Business Machines Corporation Methods and apparatus for controlling interactive television information and commerce services
US20040249650A1 (en) * 2001-07-19 2004-12-09 Ilan Freedman Method apparatus and system for capturing and analyzing interaction based content
US20050075920A1 (en) * 2003-10-01 2005-04-07 Sheng Li Projected sales
US20060047643A1 (en) * 2004-08-31 2006-03-02 Chirag Chaman Method and system for a personalized search engine
US20070088727A1 (en) * 2005-10-14 2007-04-19 Yahoo! Inc. Media device and user interface for selecting media
US20070233672A1 (en) * 2006-03-30 2007-10-04 Coveo Inc. Personalizing search results from search engines
US20070294225A1 (en) * 2006-06-19 2007-12-20 Microsoft Corporation Diversifying search results for improved search and personalization
US20080033841A1 (en) * 1999-04-11 2008-02-07 Wanker William P Customizable electronic commerce comparison system and method
US20080104111A1 (en) * 2006-10-27 2008-05-01 Yahoo! Inc. Recommendation diversity
US20080154878A1 (en) * 2006-12-20 2008-06-26 Rose Daniel E Diversifying a set of items
US7464075B2 (en) * 2004-01-05 2008-12-09 Microsoft Corporation Personalization of web page search rankings
US20090119261A1 (en) * 2005-12-05 2009-05-07 Collarity, Inc. Techniques for ranking search results
US20090164453A1 (en) * 2007-12-21 2009-06-25 Glyde Corporation System and method for providing real-time search results on merchandise
US20090234825A1 (en) * 2008-02-28 2009-09-17 Fujitsu Limited Information distribution system and information distribution method
US20090292584A1 (en) * 2008-05-23 2009-11-26 Ebay Inc. System and method for context and community based customization for a user experience
US7788212B2 (en) * 2000-09-05 2010-08-31 Big Think Llc System and method for personalization implemented on multiple networks and multiple interfaces
US20100275054A1 (en) * 2009-04-22 2010-10-28 Bank Of America Corporation Knowledge management system
US20110010371A1 (en) * 2009-07-07 2011-01-13 Zhichen Xu Entropy-based mixing and personalization
US20110055018A1 (en) * 2007-04-06 2011-03-03 Yahoo! Inc. Dynamic bid pricing for sponsored search
US20110066497A1 (en) * 2009-09-14 2011-03-17 Choicestream, Inc. Personalized advertising and recommendation
US20110093361A1 (en) * 2009-10-20 2011-04-21 Lisa Morales Method and System for Online Shopping and Searching For Groups Of Items
US20110235902A1 (en) * 2010-03-29 2011-09-29 Ebay Inc. Pre-computing digests for image similarity searching of image-based listings in a network-based publication system
US20120016875A1 (en) * 2010-07-16 2012-01-19 International Business Machines Corporation Personalized data search utilizing social activities
US20120096041A1 (en) * 2009-04-02 2012-04-19 The Washington Post Channel sharing
US20120221562A1 (en) * 2009-11-12 2012-08-30 Alibaba Group Holding Limited Search Method and System
US8370319B1 (en) * 2011-03-08 2013-02-05 A9.Com, Inc. Determining search query specificity
US20130046769A1 (en) * 2011-08-19 2013-02-21 International Business Machines Corporation Measuring the goodness of a top-k diversified ranking list
US20130046768A1 (en) * 2011-08-19 2013-02-21 International Business Machines Corporation Finding a top-k diversified ranking list on graphs
US8412727B1 (en) * 2009-06-05 2013-04-02 Google Inc. Generating query refinements from user preference data
US8478773B1 (en) * 2011-01-14 2013-07-02 Google Inc. Interpreting search queries
US20130262455A1 (en) * 2006-05-02 2013-10-03 The Board Of Trustees Of The University Of Illinois Real time implicit user modeling for personalized search
US8583675B1 (en) * 2009-08-28 2013-11-12 Google Inc. Providing result-based query suggestions
US20140214839A1 (en) * 2011-09-08 2014-07-31 Axel Springer Digital Tv Guide Gmbh Method and apparatus for generating a sorted list of items
US20140379708A1 (en) * 2011-10-05 2014-12-25 Amazon Technologies, Inc. Diversity Within Search Results
US9177029B1 (en) * 2010-12-21 2015-11-03 Google Inc. Determining activity importance to a user

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8051079B2 (en) * 2006-12-20 2011-11-01 Microsoft Corporation Wish lists based on images, references, or third party beneficiaries
US8189760B2 (en) * 2008-11-05 2012-05-29 At&T Intellectual Property I, L.P. Variable-time call forwarding to voicemail
US9405835B2 (en) * 2010-09-02 2016-08-02 Paypal, Inc. Generating a search result ranking function
US9292607B2 (en) * 2010-12-09 2016-03-22 Microsoft Technology Licensing, Llc Using social-network data for identification and ranking of URLs

Patent Citations (39)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6313833B1 (en) * 1998-10-16 2001-11-06 Prophet Financial Systems Graphical data collection and retrieval interface
US20080033841A1 (en) * 1999-04-11 2008-02-07 Wanker William P Customizable electronic commerce comparison system and method
US20020073237A1 (en) * 2000-07-27 2002-06-13 George Nancy Fox Methods of managing data over a networked system of computers
US7788212B2 (en) * 2000-09-05 2010-08-31 Big Think Llc System and method for personalization implemented on multiple networks and multiple interfaces
US20040249650A1 (en) * 2001-07-19 2004-12-09 Ilan Freedman Method apparatus and system for capturing and analyzing interaction based content
US20030065600A1 (en) * 2001-09-28 2003-04-03 Shigehiko Terashima Method and program for supporting securities selection
US20030126611A1 (en) * 2001-12-28 2003-07-03 International Business Machines Corporation Methods and apparatus for controlling interactive television information and commerce services
US20050075920A1 (en) * 2003-10-01 2005-04-07 Sheng Li Projected sales
US7464075B2 (en) * 2004-01-05 2008-12-09 Microsoft Corporation Personalization of web page search rankings
US20060047643A1 (en) * 2004-08-31 2006-03-02 Chirag Chaman Method and system for a personalized search engine
US20070088727A1 (en) * 2005-10-14 2007-04-19 Yahoo! Inc. Media device and user interface for selecting media
US20090119261A1 (en) * 2005-12-05 2009-05-07 Collarity, Inc. Techniques for ranking search results
US20070233672A1 (en) * 2006-03-30 2007-10-04 Coveo Inc. Personalizing search results from search engines
US20130262455A1 (en) * 2006-05-02 2013-10-03 The Board Of Trustees Of The University Of Illinois Real time implicit user modeling for personalized search
US7761464B2 (en) * 2006-06-19 2010-07-20 Microsoft Corporation Diversifying search results for improved search and personalization
US20070294225A1 (en) * 2006-06-19 2007-12-20 Microsoft Corporation Diversifying search results for improved search and personalization
US20080104111A1 (en) * 2006-10-27 2008-05-01 Yahoo! Inc. Recommendation diversity
US20080154878A1 (en) * 2006-12-20 2008-06-26 Rose Daniel E Diversifying a set of items
US20110055018A1 (en) * 2007-04-06 2011-03-03 Yahoo! Inc. Dynamic bid pricing for sponsored search
US20090164453A1 (en) * 2007-12-21 2009-06-25 Glyde Corporation System and method for providing real-time search results on merchandise
US20090234825A1 (en) * 2008-02-28 2009-09-17 Fujitsu Limited Information distribution system and information distribution method
US20090292584A1 (en) * 2008-05-23 2009-11-26 Ebay Inc. System and method for context and community based customization for a user experience
US20120096041A1 (en) * 2009-04-02 2012-04-19 The Washington Post Channel sharing
US20100275054A1 (en) * 2009-04-22 2010-10-28 Bank Of America Corporation Knowledge management system
US8412727B1 (en) * 2009-06-05 2013-04-02 Google Inc. Generating query refinements from user preference data
US20110010371A1 (en) * 2009-07-07 2011-01-13 Zhichen Xu Entropy-based mixing and personalization
US8583675B1 (en) * 2009-08-28 2013-11-12 Google Inc. Providing result-based query suggestions
US20110066497A1 (en) * 2009-09-14 2011-03-17 Choicestream, Inc. Personalized advertising and recommendation
US20110093361A1 (en) * 2009-10-20 2011-04-21 Lisa Morales Method and System for Online Shopping and Searching For Groups Of Items
US20120221562A1 (en) * 2009-11-12 2012-08-30 Alibaba Group Holding Limited Search Method and System
US20110235902A1 (en) * 2010-03-29 2011-09-29 Ebay Inc. Pre-computing digests for image similarity searching of image-based listings in a network-based publication system
US20120016875A1 (en) * 2010-07-16 2012-01-19 International Business Machines Corporation Personalized data search utilizing social activities
US9177029B1 (en) * 2010-12-21 2015-11-03 Google Inc. Determining activity importance to a user
US8478773B1 (en) * 2011-01-14 2013-07-02 Google Inc. Interpreting search queries
US8370319B1 (en) * 2011-03-08 2013-02-05 A9.Com, Inc. Determining search query specificity
US20130046769A1 (en) * 2011-08-19 2013-02-21 International Business Machines Corporation Measuring the goodness of a top-k diversified ranking list
US20130046768A1 (en) * 2011-08-19 2013-02-21 International Business Machines Corporation Finding a top-k diversified ranking list on graphs
US20140214839A1 (en) * 2011-09-08 2014-07-31 Axel Springer Digital Tv Guide Gmbh Method and apparatus for generating a sorted list of items
US20140379708A1 (en) * 2011-10-05 2014-12-25 Amazon Technologies, Inc. Diversity Within Search Results

Also Published As

Publication number Publication date
US20130103672A1 (en) 2013-04-25
US9195758B2 (en) 2015-11-24

Similar Documents

Publication Publication Date Title
US9195758B2 (en) System and method for multi-dimensional personalization of search results
US9552606B2 (en) Mining product recommendation from query reformulations
US20170270586A1 (en) Methods and systems for deriving a score with which item listings are ordered when presented in search results
US8606811B2 (en) Electronic publication system
US9002874B2 (en) Sizing content recommendation system
US20110246330A1 (en) System and method for searching content
US11734736B2 (en) Building containers of uncategorized items
US8229794B2 (en) System and method for providing listing assistance
US10185756B2 (en) Method and system for limiting share of voice of individual users
US20130254025A1 (en) Item ranking modeling for internet marketing display advertising
US20210118023A1 (en) System and method for providing listing assistance
US20150032566A1 (en) Providing country-specific recommendations
US20150088700A1 (en) Recommendations for selling past purchases

Legal Events

Date Code Title Description
AS Assignment

Owner name: EBAY INC., CALIFORNIA

Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:PARIKH, NISHITH;SUNDARESAN, NEELAKANTAN;SHEN, ZEQIAN;SIGNING DATES FROM 20111020 TO 20111021;REEL/FRAME:036328/0720

STPP Information on status: patent application and granting procedure in general

Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION

STPP Information on status: patent application and granting procedure in general

Free format text: NON FINAL ACTION MAILED

STCB Information on status: application discontinuation

Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION