METHOD AND SYSTEM FOR SEARCH REFINEMENT
A search refinement method and system to select items from a plurality of items using a user device connected via the internet to a server apparatus. The server apparatus includes a database of items and item attributes. Images of a first subset of the items are transmitted to the user device where they are presented on a display. A change indication selected by a user of the user device is received by the server apparatus, the change indication including at least one of an attribute selection and a reference item selected from the first subset. Responsive to receiving the change indication, an item score is computed for each of the items based on the item's attributes and the change indication. Images of a second subset of the items are presented on the user device. Each time the user initiates a change indication, another subset is presented on the user device, and the user can iteratively refine the search by finding items similar to the items represented by the change indication.
The present application is a continuation of U.S. patent application Ser. No. 15/585,723, filed May 3, 2017 and entitled “METHOD AND SYSTEM FOR SEARCH REFINEMENT,” which is a continuation of U.S. patent application Ser. No. 14/521,697, filed Oct. 23, 2014 and entitled “METHOD AND SYSTEM FOR SEARCH REFINEMENT,” which claimed the benefit of U.S. Provisional Patent Application No. 61/906,072, filed Nov. 19, 2013 and entitled “SYSTEM AND METHOD FOR SEARCH REFINEMENT,” the entire disclosures of which are expressly incorporated herein by reference.
FIELD OF THE DISCLOSUREThe disclosure relates generally to a search system and a method. More particularly, the disclosure relates to a system and a method for refining search results.
BACKGROUND OF THE DISCLOSUREWhen internet shopping, people often find items that they like but wish they could change. For instance, a woman might like the cut of a dress, but she might like it even more if the dress were longer and sleeveless. Or perhaps she would like a similar dress with a different back or color. Given the large number of dress variables and corresponding options, it can be extremely challenging and time consuming for her to conduct additional searches to find the best alternatives. There is a need to more effectively help individuals find the items that most closely match what they are looking for.
SUMMARYA search refinement method and system are disclosed. The method may be implemented with the system, which may include a processing device and processing instructions embedded in one or more non-transitory computer readable medium and structured to cause the processing device to implement the method disclosed herein. The method enables users to find a desired item in a large pool of items by finding similar items based on explicit or implicit item attribute selections, more quickly than with traditional filtering techniques.
In embodiments disclosed herein, the method comprises establishing an internet connection between the processing device and a user device; accessing a database of items and item attributes; transmitting to the user device images of a first subset of the items and user interface instructions structured to render the images on the user device; and receiving via the internet connection a change indication selected by a user of the user device. The change indication includes at least one of an attribute selection and a reference item selected from the first subset. The method further comprises, responsive to receiving the change indication, computing an item score for each of the items based on the item's attributes and the change indication; forming, based on the item scores, a second subset of the items; and serving user interface instructions structured to render images of the second subset of the items on the user device.
In embodiments disclosed herein, the method comprises accessing a recommendation set of items having item attributes; receiving from a user an indication of a reference item, the reference item having reference item attributes; receiving an item attribute selection from the user; and computing item scores for each of the items based on the item attributes, the item attribute selection, and the reference item attributes. The method further comprises ranking the items based on the item scores; and serving user interface instructions for rendering images of at least a subset of the items on the user device, the at least a subset of the items selected according to the ranking of the items.
In embodiments disclosed herein, a refinement system comprises a database of items and item attributes; and user interface instructions operable in a user device and structured to cause the user device to receive images of a first subset of the items and of a second subset of the items, to present the images, and to transmit a change indication selected by a user of the user device. The change indication includes at least one of an attribute selection and a reference item selected from the first subset. The system further comprises a server apparatus including a processing device, one or more non-transitory computer readable medium, and a plurality of modules including a communication module structured to establish an internet connection between the processing device and a user device, to transmit the images of the first subset of items and of the second subset of items, and to receive the change indication; a database interface module structured to access the database of items and item attributes; and a user interface module structured to generate the user interface instructions. The system further comprises a processing module structured to compute an item score for each of the items based on the item's attributes and the change indication; and to form, based on the item scores, the second subset of the items.
The above-mentioned and other disclosed features, and the manner of attaining them, will become more apparent and will be better understood by reference to the following description of disclosed embodiments taken in conjunction with the accompanying drawings, wherein:
Corresponding reference characters indicate corresponding parts throughout the several views. Although the drawings represent embodiments of various features and components according to the present invention, the drawings are not necessarily to scale and certain features may be exaggerated in order to better illustrate and explain the present invention. The exemplification set out herein illustrates embodiments of the invention, and such exemplifications are not to be construed as limiting the scope of the invention in any manner.
DETAILED DESCRIPTION OF EMBODIMENTS OF THE DISCLOSUREFor the purposes of promoting an understanding of the principles of the invention, reference will now be made to the embodiments illustrated in the drawings, which are described below. The embodiments disclosed below are not intended to be exhaustive or limit the invention to the precise form disclosed in the following detailed description. Rather, the embodiments are chosen and described so that others skilled in the art may utilize their teachings. It will be understood that no limitation of the scope of the invention is thereby intended. The invention includes any alterations and further modifications in the illustrated devices and described methods and further applications of the principles of the invention which would normally occur to one skilled in the art to which the invention relates.
A search refinement method and a system are disclosed. The method is executable at least in part by a processing device according to processing instructions embedded in one or more non-transitory computer readable medium. In one embodiment, the method is configured for accessing a data-structure including a plurality of items and generating instructions to generate, in a user device, graphical displays and control objects configured to assist a user in refining item selections.
Also presented herein are embodiments of a non-transitory computer readable medium and a system including the non-transitory computer readable medium, the non-transitory computer readable medium having processing instructions embedded therein for implementing the foregoing methods when processed by a processing device. In addition to the non-transitory computer readable medium and the processing instructions, the system includes the processing device.
The search refinement may also be based on explicit user preference data. Explicit user preference data may be obtained with a system and method for soliciting information as described in commonly owned U.S. patent application Ser. No. 13/795,168, filed Mar. 12, 2013, titled “System and Method for Eliciting Information,” said application incorporated herein by reference in its entirety.
Server apparatus 102 includes a communication module 132 structured to establish an internet connection between processing device 104 and a user device 180. As used herein, modules may comprise instructions stored in memory or implemented in a circuit or implemented in both hardware and software. Exemplary circuits include integrated circuits, and electronic devices mounted on circuit boards. Communication module 132 also transmits images 124 of subsets of items to user device 180, which may be read from database 140 by a database interface module 134. Database interface module 134 may a module of refinement application 130. Communication module 132 also receives user instructions, selections, and choices, which refinement software 130 processes to implement embodiments of the search refinement method described herein. Exemplary selections include a change indication 126, and a reference item selected from subsets of items. Server apparatus 102 communicates with user device 180 via the Internet, wirelessly or thorough a wired connection, as is well known in the art. User device 180 may be referred to as a “client device”.
Server apparatus 102 also includes a user interface module 136 structured to generate user interface instructions 122, or code, operable in user device 180 and structured to cause user device 180 to receive images of a first subset of the items and of a second subset of the items; to present the images; and to transmit a change indication selected by a user of the user device. User interface module 136 may a module of refinement application 130. User device 180 includes a visual display 182 to present thereon the images and control objects. Exemplary user interface instructions 122 include hypertext markup language (HTML) instructions for creating web pages and other information that can be displayed with a web browser resident in user device 180. Exemplary user devices include computers, tablets, mobile phones and any other device including hardware capable of receiving HTML instructions and presenting web pages with a visual display.
Server apparatus 102 also includes a processing module 138 structured to compute an item score for each of the items based on the item's attributes and the change indication; and to form, based on the item scores, the second subset of the items. Processing module 138 is a module of refinement application 130.
In one embodiment, a search begins when the user selects an item category to indicate the kind of item the user wishes to find. Exemplary item categories include dresses, work clothes, jewelry and any other category of merchandise. In the present embodiment, a website dedicated to a category, dresses, is described. Thus, in the present embodiment the user selects a category by accessing a website named “Dressometry”. The website is hosted by refinement server software 120. It should be understood that the system and method presented herein are applicable to any category. In one variation of the present embodiment, upon accessing the website, the refinement system presents items from the plurality of items. The user selects one item, referred to as the “reference item”. The search refinement process is then performed by the refinement system, with user input, to find an item similar to the reference item. The plurality of items have previously been determined and categorized during setup of the refinement system. The present variation is discussed in additional detail with reference to
The plurality of items represents all the items that may be presented to a user during the search refinement process, and may be referred to as a “recommendation set”. An item has attributes, and the attribute data includes attribute values corresponding to each attribute of each item. The attribute values for a particular item comprise an item attribute vector. In the present embodiment, before the search refinement process is implemented, the item attribute data is compiled by obtaining information about items in a particular category, e.g. dresses, and determining the attributes for each attribute category of each item. Dress attribute categories include neck style, sleeve style, length, bust style, waist fit, hips fit, bottom style, back style, primary color, highlight color, brand, price occasion etc. An item may have attribute categories and subcategories. Each subcategory may be further subdivided to provide any desired level of refinement granularity. Exemplary neck style subcategories include heart neck, crew neck, V-neck, straight neck, collared, turtle neck, and asymmetric. Exemplary sleeve style subcategories include long sleeved, three quarters sleeved, short sleeved, sleeveless, one shoulder, halter and strapless.
Each item is categorized as true or false for each subcategory. For some attribute categories (such as occasion), multiple subcategories could be true. For other attribute categories (such as length), only one subcategory could be true. The set of binary values (1 s and 0 s) that characterize an item are transformed into the item attribute vector. The attribute values are obtained by normalizing the binary values across all of the recommendation set. First, calculate the average and standard deviation of the 1 s and 0 s for each attribute subcategory across all of the recommendation set (e.g. the average score for color-black across all dresses is 0.2). Then, for each item in the recommendation set, and each attribute subcategory, subtract the average from the binary value and divide the result by the standard deviation. The item attribute vectors are then stored in the item attribute data.
In one variation, attribute categories and subcategories are weighed based on preference data. For example, the preference data may indicate that one attribute category is more important than another. To scale an attribute category, the attribute values for the category are multiplied by a preference weight. For example, the color of a dress may be more important than the sleeve type, so the color attribute category may be multiplied by a preference weight of X to represent importance. X may equal 2, for example, to represent higher importance, or 0.5, for example, representing lower importance.
In another variation, attribute values other than binary values are selected to represent known relationships between attribute subcategories. For a short sleeve dress the vector would be (−0.5, 0, 1, −1, −0.5, −1, −1, −1, −1, −1) to reflect a relationship, for example, between short sleeve and sleeveless, and short sleeve and off the shoulder. These values would then be normalized across all the items in the recommendation set. Table 1 below illustrates an example of such relationship information:
Referring again to
Any number of filtering criteria may be used. As shown in screenshot 200, criteria include color, occassion, level of scandal and price. If the user specifies that the item price should be below $50, then only items that are priced strictly less than $50 are presented. With respect to dressess, if the user specifies that the dress color should be black, then only black dresses are presented.
Screenshot 200 further illustrates a plurality of item panels 230, each including an item button 232 showing an image of the item, and a plurality of control objects including an item adjustment button 240, an item selection button 250, and a shopping cart button 260. One of the item buttons includes a selected item image 270 to represent that a user selected that item to continue processing. The item identified by numeral 270 becomes the reference item in the subsequent refinement process. The user may select the item by activating the corresponding item button 232, item adjustment button 240, or item selection button 250. The user may also activate a shopping cart button 260 to purchase the selected item. Use of shopping cart buttons to purchase items is well known in the art and will not be further described.
If the user activates a drop-box 220, the refinement process includes filtering the recommendation set accordingly (or finding similar items), sorting the items, and serving a web page for the user device to present the filtered and sorted items.
If the user activates item selection button 250, the refinement process includes re-scoring the items based on the selection, sorting the re-scored items, and serving a web page for the user device to present the re-scored and sorted items. A selected item image 270 may also be shown to enable the user to build a “refinement history”. A partial screenshot 300 of an exemplary web page rendered after activation of an item selection button 250 is shown in
If the user activates an item button 232 or an item adjustment button 240, the refinement process includes re-scoring the items based on the selection, sorting the re-scored items, and serving a web page for the user device to present the re-scored and sorted items for refining the search. A partial screenshot 400 of an exemplary web page rendered after activation of an item adjustment button 240 is shown in
Screenshot 400 illustrates selected item image 270, a navigation panel 410 including navigation buttons including “purchase now”, “add to cart”, and “back to browsing”. The “purchase now” button redirects the browser to the website of the merchant of the item. The functions of the “add to cart”, and “back to browsing” buttons are self-explanatory and well known navigation controls. Screenshot 400 also illustrates an adjustments panel 420 showing a plurality of attribute subcategory drop-boxes 422 which the user can activate to adjust a subcategory and thereby refine the search. On the lower portion of screenshot 400 are shown a plurality of item panel 430, including item panels 441-446 sorted based on the user's selection of the reference item.
The reference item has an attribute vector, which is referred to for the reference item as the “reference vector”. When the user selects attributes to change, the system generates a new vector including the selected (changed) attributes and the attributes of the reference item that remain unchanged. The new vector is referred to as the “adjusted attribute vector”. For example, if the reference item is a red long sleeve dress that is short in length, and the user would like a black dress instead, then the color subcategory of the reference vector is adjusted to reflect the black color. As shown in example 1 below, the old value for red and black (1, −1) may be changed to (1, 100) as shown in the first and second rows (below the header row), to arrive at an adjusted attribute vector {100, 1, −1, 0, 1, −1, −1, 0, 1}.
EXAMPLE 1
As shown in example 2 below, in an alternative example, the old value for red and black (1, −1) may be changed to (−1, 1) as shown in the first and second rows (below the header row), to arrive at an adjusted attribute vector {1, −1, −1, 0, 1, −1, −1, 0, 1}.
EXAMPLE 2
As shown in example 3 below, the refinement system may enable a user to adjust multiple attributes, simultaneously or step-wise, in different attribute categories as illustrated by example 3, where color and length have been changed, as shown in the first and eighth rows (below the header row).
EXAMPLE 3
As shown in example 4 below, the refinement system may also enable a user to adjust multiple attributes simultaneously within the same attribute category as illustrated by example 4, where color black and white have been changed, as shown in the first and third rows (below the header row).
EXAMPLE 4
After the refinement system receives instructions corresponding to the user's adjustments, the refinement system calculates scores for each item in the recommendation set by multiplying the adjusted attribute vector by each of the item attribute vectors. The items are then ranked based on the scores and the top ranked items are presented to the user. The user may then choose, among other choices, an item. The selected item may be a reference item for another round of adjustments. The process may be repeated by the user indefinitely.
As shown in example 5 below, the refinement system may also enable a user to stipulate that they don't want an attribute. Example 5 below shows where the user has stipulated not Short Sleeves, as shown in the fourth row (below the header row).
EXAMPLE 5
In another embodiment, described further with reference to
The search refinement method may also be based on preference data. Preference data may be obtained with a system and method for soliciting information as described in commonly owned U.S. patent application Ser. No. 13/795,168 filed Mar. 12, 2013, titled “System and Method for Eliciting Information,” said application incorporated herein by reference in its entirety. The preference data may comprise user preference data and item preference data. To incorporate preference information in the refinement method, the item attribute vectors are augmented with preference attributes derived by reduced dimensionality analysis. For example, if the item attribute vectors have eight attributes, and there are four preference attributes in the preference data, the attribute vectors can be adjusted by adding the preference attributes to form twelve-attribute attribute vectors. The scores and rankings are computed as before, except that the adjusted, or enhanced, attribute vectors are used in the computations.
In a further embodiment, the user's input is saved by the system as a query for future use. The query may include the reference item, filter criteria, and or alteration criteria. The query may be run to return the user to the prior refinement stage. For example, the user may name the query and, upon visiting the site again, may recall the query by name in any manner known in the art. The query may also be used by the system to automatically trigger events. Exemplary events include transmitting an email message, text message or social media message. To trigger the event, the system periodically runs the query and determines if the result set of items is different from previous results. The system then sends a message based on the differences. For example, the new result set may show that one of the high-score items is no longer available or that a new high score item has become available. If a pricing filter is included, the email may indicate if the new high score item is indicated due to a price drop, which allows a previously filtered item to be included in the results. In one variation, an event is triggered when new items whose score exceeds a predetermined threshold are identified by the new result set. For example, the threshold may be set to 90% of the score of the reference item, such that only items with the predetermined level of similarity trigger events.
In a yet further embodiment, the system compiles usage information including, for example, how many users access the site, how many item selections they make, and what they would like to change about items. The system may compile, with respect to a given item, 1) how many people viewed the item; 2) for each attribute category, what percentage of the time is it requested to change that attribute (e.g. 30% of the users who viewed the dress would like to change the length); and 3) for each attribute sub-category, what percentage of the time is it requested to change the item to include that sub-category attribute (e.g. 5% of users who viewed the dress wanted it to be a floor length dress instead of knee length). In a variation of a merchandizing method, the compiled change data (which may also be refered as adjustment or alteration data) is exported to a merchant. The merchant may then make supply and pricing decisions to correlate the user's preferences inferrable from the change data with the merchant's product lines. Systems and methods for generating pricing information are described in commonly owned U.S. patent application Ser. Nos. 13/905,625 and 13/905,645, both filed May 30, 2013 and titled “System and Method for Generating Information,” said applications incorporated herein by reference in their entirety.
In a still further embodiment, the system receives merchandize updates from merchants. The merchandize updates may include attributes and merchandizing criteria such as availability and discounts. Based on the merchandize updates, the system may transmit messages to users based on the execution of queries as described above. Even further, the system may utilize user preference data and send the messages to persons having preferences similar to the users whose queries triggered the events. Alternatively, the system may export the lists of similar users to merchants so that the merchants can send the messages.
If the instructions are to filter, at 710 the system filters the items based on the selected filter criteria. After filtering, the system serves code as described with reference to 702.
If the instruction is to adjust an item, at 720 the system serves code configured to present items, adjustment options, and other choices. The other choices may include returning to the main web page, purchasing an item, etc. At 724, the system receives an alter option. At 728, the system re-scores the items based on the selected adjustment to refine the results. The system then serves code configured to present the refined results. The system then proceeds to 720, at which time the user may refine again or may proceed in a different manner. As used herein, the terms “adjust”, “alter”, “change”, and “filter” are used to indicate a change in the items presented to the user based on user selections, e.g. from a first subset of items to a second subset of items. “Adjust” and “alter” are interchangeable with “change”. “Adjustment selection” is analogous with “change indicia”.
If the instruction is to mark, at 730 the system re-scores the items based on the selected item (e.g. reference item). In re-scoring, the items most similar to the reference item receive higher scores. The system then serves code configured to present the re-scored items. The system then proceeds to 720, at which time the user may adjust the items again or may proceed in a different manner. At 734, the system receives user choices and proceeds to, for example, 736 to redirect the user to a vendor website, 738 to add the selected item to the shopping cart, and 740 to browse items.
In a further embodiment, a search refinement method executable at least in part by a processing device according to processing instructions embedded in one or more non-transitory computer readable medium is provided. The method comprises accessing a recommendation set of items having item attributes; receiving from a user an indication of a reference item, the reference item having reference item attributes; receiving an item attribute selection from the user; computing item scores for each of the items based on the item attributes, the item attribute selection and the reference item attributes; ranking the items based on the item scores; and serving user interface instructions for rendering images of at least a subset of the items on the user device, the at least a subset of the items selected according to the ranking of the items.
In one variation thereof, the indication of a reference item is an image of the item transmitted by the user. In one example, the user snaps a photograph of the item with a mobile device and uploads the image to the system. The system may examine the image and automatically determine certain or all the attributes. If the item is a dress, the system may identify a body model and comparing the model to the image determine if the dress is long or short, sleeved or sleeveles, etc. Alternatively or additionally, the system may perform image analysis to identify a similar item in the recommendation set and use attributes of the similar item to supplement or complete the attributes vector of the item. Of course the system may also determine color. In another example, the uploaded image is examined by a person who categorizes the item.
In one variation thereof, the system receives an item attribute selection from the user by examining text. In one example, the user snaps a photograph of the item with a mobile device and uploads the image to the system. For example, the user may send the photograph with an email or text message. Before transmitting the message, the user may type the desired adjustment attribute. For example, the user may photograph a red dress and type “black”. The system would then refine the search by identifying dresses similar to the uploaded dress image, but in black color.
In a further variation thereof, the system serves code to present images and adjustment options so that the user does not need to select an item and then select an adjustment after the items are re-sorted based on the reference item (e.g. the selected item). Receiving from a user an indication of a reference item is performed by receiving the item selection from a plurality of images presented to the user, and receiving an item attribute selection from the user is performed by receiving the attribute selection from a plurality of choices presented to the user. The images of the items and the attribute choices may be presented concurrently . The other method steps are performed as described above.
In the present embodiment, each item panel 930 also includes a closet-add button 922 configured to add the selected item to the closet. As described previously, selecting an item designates the selected item as the reference item in the subsequent refinement process. If the user activates closet-add button 922, the selected item is added to the closet, which is a list of selected items provided to facilitate review at a later time. The closet functions similarly to a shoping cart, without the purchasing features. The user can view the items in the closet by activating closet button 906.
A user can activate attribute drop-boxes 920 to refine the search, in which case the items shown in the plurality of item panels 930 may be referred to as a first set of items. Selecting one of the items or an attribute to change results in presentation of a second set of items, as described with reference to
A variation of the present embodiment will now be described with reference to a flowchart 1000 depicted in
The method continues at 1010, with transmitting to the user device images of a first subset of the items and user interface instructions structured to render the images of the first subset on the user device. Transmitting is responsive to the user accessing server apparatus 102, which the user may do with an internet browser. In another variation, a user device application, is served by server apparatus 102 and the user device application includes the rendering instructions and other instructions structured to perform the functions of the user interface instructions.
The method continues at 1020, with receiving via the internet connection a change indication selected by a user of the user device, the change indication including at least one of an attribute selection and a reference item selected from the first subset.
The method continues at 1022, with computing an item score for each of the items based on the item's attributes and the change indication, responsive to receiving the change indication. In one example, computing an item score includes multiplying a vector corresponding to the item's attributes to a change vector correspnding to the change indication.
The method continues at 1024, with forming, based on the item scores, a second subset of the items. In one example, forming a second subset of the items includes selecting the items with the highest scores. In another example, forming a second subset of the items includes: comparing the attributes of the items to the attributes corresponding to the change indication; and selecting items based on the comparison.
The method continues at 1030, with serving user interface instructions structured to render images of the second subset of the items on the user device. In one example, steps 1020-1030 implement a “click-to-change” feature, so that when the user “clicks” the image of an item, a drop-box for an attribute, or another “change” object on the user device, images of the second set of items, representing a refinement over the first set of items.
Embodiments of the refinement method and system have been disclosed. The embodiments include features which may be combined to build variations of the disclosed embodiments. For example, the “click-to-change” feature may be introduced before or after the “design your own dress” feature. Furthermore, attributes may be presented in any manner, with or separate from the display of sets of items, and the attribut selection objects may be coded to find similarities or matches, on an attribute by attribute basis. Advantageously, a user may navigate the entire set of items and iteratively find a subset of the items in an efficient manner.
In a further embodiment, a search refinement method, executable at least in part by a processing device according to processing instructions embedded in one or more non-transitory computer readable medium, comprises: accessing a recommendation set of items having item attributes; receiving from a user an indication of a reference item, the reference item having reference item attributes; computing item scores for each of the items based on the item attributes and the reference item attributes; ranking the items based on the item scores; and serving instructions for rendering images of at least a subset of the items on a user device, the at least a subset of the items selected according to the ranking of the items; responsive to the serving instructions for rendering images of at least a subset of the items on a user device, receiving an item attribute selection from the user; re-computing item scores for each of the items based on the item attributes, the item attribute selection and the reference item attributes; re-ranking the items based on the item scores; and serving second instructions for rendering images of at least a second subset of the items on the user device, the at least a second subset of the items selected according to the re-ranking of the items.
In one variation thereof, the method further comprises storing a query including the reference item and the item attribute selection. In one example, the method further comprises storing an alert parameter, periodically executing the query, and outputting an alert if the alert parameter is satisfied.
In one variation thereof, computing item scores for each of the items is based on the item attributes, the reference item attributes, and user preference data.
In one variation thereof, the reference item is in the recommendation set of items, and receiving from a user an indication of a reference item includes receving a reference item selection corresponding to an image of an item selected by the user.
In one variation thereof, the reference item is not in the recommendation set of items, and the indication is an image of the reference item. The method further comprises receiving the reference item attributes before computing item scores for each of the items based on the item attributes and the reference item attributes.
In one variation thereof, the method further comprises compiling information including at least one of the received indication of a reference item and the received item attribute selection, and selling the information so compiled.
In one variation thereof, the method further comprises storing a query including at least one of the received indication of a reference item and the received item attribute selection. In one example, the method further comprises automatically running the query and sending messages based on query results.
In another embodiment, the search refinement method comprises accessing a recommendation set of items having item attributes; receiving from a user an indication of a reference item, the reference item having reference item attributes; receiving an item attribute selection from the user; computing item scores for each of the items based on the item attributes, the item attribute selection and the reference item attributes; ranking the items based on the item scores; and serving instructions for rendering images of at least a subset of the items on the user device, the at least a subset of the items selected according to the ranking of the items.
Additionally, explicit user preference information may be combined with the refinement criteria in any of the embodiments described above, so that scores represent not only the changes indicated by the change indicator, but also the user's explicit preferences. Explicit user preferences are elicited by asking better questions. The questions are derived from item preference data. The item preference data is processed, for example by principal component analysis, to identify pseudo-independent items, e.g. the principal components. Questions are then generated based on the pseudo-independent items. For example, a question may ask a user to choose one of a few pseudo-independent items. Better data results in better recommendations. Questions that involve choosing between pseudo-independent items are very efficient, so only a few questions are needed to determine a user's preferences. Therefore, users are less likely to lose interest in answering the questions and participating in the process. Even further, weights may be applied based on demographic information and user characteristics to reach the desired subset of items even quicker.
As used herein, an application, algorithm or, processing sequence, is a self consistent sequence of instructions that can be followed to perform a particular task. Applications may use data structures for both inputting information and performing the particular task. Data structures greatly facilitate data management. Data structures are not the information content of a memory, rather they represent specific electronic structural elements which impart a physical organization on the information stored in memory. More than mere abstraction, the data structures are specific electrical or magnetic structural elements in memory which simultaneously represent complex data accurately and provide increased efficiency in computer operation.
As used herein, the transitional term “comprising”, which is synonymous with “including”, or “containing”, is inclusive or open-ended and does not exclude additional, unspecified elements or method steps. By contrast, the transitional term “consisting” is a closed term which does not permit addition of unspecified terms. While this disclosure has been described as having exemplary designs, the present disclosure can be further modified within the spirit and scope of this disclosure. This application is therefore intended to cover any variations, uses, or adaptations of the disclosure using its general principles. Further, this application is intended to cover such departures from the present disclosure as come within known or customary practice in the art to which this disclosure pertains and which fall within the limits of the appended claims.
Claims
1. A search refinement method comprising:
- by a processing device according to processing instructions embedded in one or more non-transitory computer readable medium:
- establishing an internet connection between the processing device and a user device;
- accessing a database of items and item attributes;
- transmitting to the user device images of a first subset of the items and user interface instructions structured to render the images on the user device;
- receiving via the internet connection a change indication selected by a user of the user device, the change indication including at least one of an attribute selection and a reference item selected from the first subset; and
- responsive to receiving the change indication, computing an item score for each of the items based on the item's attributes and the change indication;
- forming, based on the item scores, a second subset of the items; and
- serving user interface instructions structured to render images of the second subset of the items on the user device.
2. A method as in claim 1, wherein computing an item score includes multiplying a vector corresponding to the item's attributes to a change vector correspnding to the change indication.
3. A method as in claim 3, wherein forming a second subset of the items includes selecting the items with the highest scores.
4. A method as in claim 1, wherein forming a second subset of the items includes: comparing the attributes of the items to the attributes corresponding to the change indication; and selecting items based on the comparison.
5. A method as in claim 1, further comprising:
- before serving user interface instructions structured to render images of a first subset of the items:
- serving user interface instructions structured to render images of a first set of subcategory choices, each subcategory choice in the first set of subcategory choices having attributes;
- receiving via the internet connection an indication of a subcategory choice selected from the first set of subcategory choices by the user of the user device; and
- including in the first subset items with attributes similar to attributes of the subcategory choice, the similar items including items with matching attributes and items with non-matching attributes; and
- excluding from the first subset items with attributes dissimilar to the subcategory choice.
6. A method as in claim 5, further comprising:
- computing item scores for each of the items based on the item's attributes and the subcategory choice; and identifying similar and dissimilar items using the item scores.
7. A method as in claim 1, further comprising:
- receiving via the internet connection an indication of a filtering facet selected by the user of the user device;
- if the filtering facet is inclusive, including in one of the first subset and the second subset only items matching corresponding attributes of the filtering facet; and
- if the filtering facet is exclusive, including in one of the first subset and the second subset only items not matching corresponding attributes of the filtering facet.
8. A method as in claim 1, further comprising storing a query including the change indication.
9. A method as in claim 2, further comprising storing an alert parameter, periodically executing the query, and outputting an alert if the alert parameter is satisfied.
10. A method as in claim 1, further comprising compiling information including the change indication, and selling the information so compiled.
11. A search refinement method comprising:
- by a processing device according to processing instructions embedded in one or more non-transitory computer readable medium:
- accessing a recommendation set of items having item attributes;
- receiving from a user an indication of a reference item, the reference item having reference item attributes;
- receiving an item attribute selection from the user;
- computing item scores for each of the items based on the item attributes, the item attribute selection and the reference item attributes;
- ranking the items based on the item scores; and
- serving user interface instructions for rendering images of at least a subset of the items on the user device, the at least a subset of the items selected according to the ranking of the items.
12. A search refinement system comprising:
- a database of items and item attributes;
- user interface instructions operable in a user device and structured to cause the user device to receive images of a first subset of the items and of a second subset of the items; to present the images; and to transmit a change indication selected by a user of the user device, the change indication including at least one of an attribute selection and a reference item selected from the first subset; and
- a server apparatus including a processing device, one or more non-transitory computer readable medium, and a plurality of modules including: a communication module structured to establish an internet connection between the processing device and a user device, to transmit the images of the first subset of items and of the second subset of items; and to receive the change indication; a database interface module structured to access the database of items and item attributes; a user interface module structured to generate the user interface instructions; and a processing module structured to compute an item score for each of the items based on the item's attributes and the change indication; and to form, based on the item scores, the second subset of the items.
13. A system as in claim 12, wherein the processing module computes the item score by multiplying a vector corresponding to the item's attributes to a change vector corresponding to the change indication.
14. A system as in claim 13, wherein the processing module forms the second subset by selecting the items with the highest scores.
15. A system as in claim 12, wherein the processing module forms the second subset by comparing the attributes of the items to the attributes corresponding to the change indication;
- and selecting items based on the comparison.
16. A system as in claim 12, wherein the user interface instructions are structured to present images of a first set of subcategory choices, each subcategory choice in the first set of subcategory choices having attributes; and to transmit via the internet connection an indication of a subcategory choice selected from the first set of subcategory choices by the user of the user device; and wherein the processing module is structured to include in the first subset items with attributes similar to attributes of the subcategory choice, the similar items including items with matching attributes and items with non-matching attributes; and to exclude from the first subset items with attributes dissimilar to the subcategory choice.
17. A system as in claim 16, wherein the processing module is structured to compute item scores for each of the items based on the item's attributes and the subcategory choice; and to identify similar and dissimilar items using the item scores.
18. A system as in claim 12, wherein the user interface instructions are structured to transmit via the internet connection an indication of a filtering facet selected by the user of the user device; and wherein the processing module is structured to
- if the filtering facet is inclusive, include in one of the first subset and the second subset only items matching corresponding attributes of the filtering facet; and
- if the filtering facet is exclusive, include in one of the first subset and the second subset only items not matching corresponding attributes of the filtering facet.
Type: Application
Filed: Feb 7, 2019
Publication Date: Jun 6, 2019
Inventor: Kurt L. Kimmerling (New York, NY)
Application Number: 16/270,220