EP2734917A1 - Method and apparatus for allowing users to augment searches - Google Patents
Method and apparatus for allowing users to augment searchesInfo
- Publication number
- EP2734917A1 EP2734917A1 EP12815280.8A EP12815280A EP2734917A1 EP 2734917 A1 EP2734917 A1 EP 2734917A1 EP 12815280 A EP12815280 A EP 12815280A EP 2734917 A1 EP2734917 A1 EP 2734917A1
- Authority
- EP
- European Patent Office
- Prior art keywords
- criteria
- user
- entities
- relevant entities
- computer
- 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.)
- Ceased
Links
- 238000000034 method Methods 0.000 title claims abstract description 83
- 230000003190 augmentative effect Effects 0.000 claims abstract description 24
- 230000004044 response Effects 0.000 claims description 4
- 238000011156 evaluation Methods 0.000 description 21
- 238000001914 filtration Methods 0.000 description 10
- 230000006870 function Effects 0.000 description 10
- 230000008569 process Effects 0.000 description 10
- 238000010586 diagram Methods 0.000 description 8
- 235000013305 food Nutrition 0.000 description 7
- 235000013550 pizza Nutrition 0.000 description 6
- 238000012552 review Methods 0.000 description 6
- 235000012149 noodles Nutrition 0.000 description 5
- 238000004891 communication Methods 0.000 description 4
- 230000006855 networking Effects 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 235000014101 wine Nutrition 0.000 description 3
- 238000013459 approach Methods 0.000 description 2
- 230000006399 behavior Effects 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 230000008859 change Effects 0.000 description 2
- 238000012937 correction Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 239000000203 mixture Substances 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 238000012545 processing Methods 0.000 description 2
- 239000011435 rock Substances 0.000 description 2
- 241000287828 Gallus gallus Species 0.000 description 1
- 238000007792 addition Methods 0.000 description 1
- 230000005540 biological transmission Effects 0.000 description 1
- 235000020805 dietary restrictions Nutrition 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 230000014509 gene expression Effects 0.000 description 1
- 230000000977 initiatory effect Effects 0.000 description 1
- 238000010801 machine learning Methods 0.000 description 1
- 235000013372 meat Nutrition 0.000 description 1
- 230000036651 mood Effects 0.000 description 1
- 230000008450 motivation Effects 0.000 description 1
- 230000008707 rearrangement Effects 0.000 description 1
- 230000008439 repair process Effects 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/3331—Query processing
- G06F16/3332—Query translation
- G06F16/3338—Query expansion
Definitions
- Provisional Patent Applications U.S. Provisional Patent Application No. 61/509,999 filed July 20, 201 1 entitled “Method and Apparatus for Explaining Recommendations", U.S. Provisional Patent Application No. 61 /509,995 filed July 20, 201 1 , entitled “Method and Apparatus for Category Based Navigation”, and U.S. Provisional Patent Application No. 61/510,004 filed July 20, 201 1 entitled “Method and Apparatus for Quickly Evaluating Entities”.
- the present invention relates to recommendation systems in general and in particular to an entity search system that allows users to search for entities and augment searches, via user devices, in order to present informative and intuitive entity evaluations.
- the Internet has become a useful source of information relating to goods and services, but because so many users and companies are connected to the Internet and providing information of their own, it is difficult to find relevant information among all available information.
- One area of information is in recommendations. As individuals and groups are now able to connect to the Internet and retrieve information from websites and via apps, and do so perhaps while in transit towards a geographic area of interest, they come to expect the ability to find information about goods and services being offered.
- website refers to a collection of one or more web pages displayable by a browser or other web client, the one or more web pages being hosted on a web server (i.e., a computer coupled to the Internet, or other network over which communication occurs) that responds to requests for pages hosted thereon.
- a web server i.e., a computer coupled to the Internet, or other network over which communication occurs
- An example might be a restaurant that generates information about its hours, pictures of its dining room, contact information, history, menus and other offerings, then puts that information into a suitable form (such as HTML pages, dynamically generated pages, etc.), stores those pages in electronic storage accessible by the web server (hosted by the restaurant or perhaps a company that specializes in web presence that provides such services to the restaurant), and then serves those pages as client devices request pages.
- a suitable form such as HTML pages, dynamically generated pages, etc.
- the information might also be presented in another form, such as data supplied to an app on the client device rather than a generic browser on the client device.
- the restaurant gets the information to interested users, it is still limited to information sourced by that restaurant.
- a number of websites have been set up to collect information from other customers of a vendor of goods or services and provide reviews and comments and other details to other customers or potential customers. For example, there might be a website that focuses on hotels, another on restaurants, another on home repair, or a general one. However, these websites might just have too much information to be useful to a user searching for relevant recommendations.
- social media websites that provide information to a user regarding the user's friends may also be another source that the user refers to in gathering information and searching for relevant recommendations.
- social media websites allow users to provide a wide variety of information that may or may not be related to what a user is searching for (e.g., status updates unrelated to a vendor of goods or services), and it is also difficult to cross-reference the recommendations of friends through social media websites with general websites providing reviews, or websites for particular businesses, in a user's search for relevant recommendations.
- Embodiments of the invention relate to improved data searching methods and systems.
- Existing methods for providing data searches and search results to a target user may not provide options to the target user to modify the search based on customized attributes, which may be selected by the target user, or automatically determined based on the target user's query.
- the target user is unable to properly search and find what they are looking for in search results, provided, it is difficult for the target user to feed back to the search system how to narrow down the search, re-direct the search, organize search results, etc. Therefore embodiments of the invention provide methods and systems in which a target user can more efficiently search through data, such as entity evaluations or personalized recommendations, by being able to augment the searches as they are being conducted.
- allowing the target user to augment searches is advantageous and allows users to modify and organize data such that receiving relevant search results, and searching through the search results is executed in the most optimal and efficient manner for the target user.
- data search systems and other systems in use of such data search systems (e.g., entity search systems, personalized recommendation systems, data navigation systems, etc.) are improved in this manner by becoming more intelligent about providing more relevant search results by allowing users to augment the searches.
- entity search systems e.g., entity search systems, personalized recommendation systems, data navigation systems, etc.
- Embodiments of the invention relate to improved search methods and systems.
- a computer-implemented method for providing augmented searches for entities to a primary user comprises obtaining, at a server computer, user data related to a plurality of users relevant to the primary user, storing the user data, wherein the user data associated with the plurality of users is stored in a user database.
- the entity search system then obtains entity data from a plurality of data sources.
- the entity data is associated with an entity in a plurality of entities, in which the entity provides goods or services to the target user.
- the method further comprises storing the entity data, wherein the entity data associated with the plurality of entities is stored in an entity database.
- the entity search system receives a query for a search for relevant entities from the target user, wherein the query is related to an entity in the plurality of entities.
- the method then further comprises searching for a set of relevant entities relevant to the primary user from the plurality of entities based on the query, entity data, and user data, determining a set of criteria for an initial order of relevance, wherein the initial order of relevance is an order in which the set of relevant entities are to be displayed to the primary user, and determining the initial order of relevance of the set of relevant entities based on the set of criteria.
- the entity search system may then display, on a user device, the set of relevant entities in the initial order of relevance to the primary user, and obtain, via the user device, feedback data from the user related to the search for the set of relevant entities. Further, the entity search system may augment the search for the set of relevant entities, thereby updating the set of relevant entities, based on the feedback data; and display the updated set of relevant entities to the primary user, thereby providing an augmented search for relevant entities to the primary user.
- the method further comprises obtaining, via the user device, feedback data from the user related to the initial order of relevance for the set of relevant entities, and augmenting the initial order of relevance for the set of relevant entities, thereby creating an adjusted order of relevance for the set of relevant entities based on the feedback data.
- the entity search system displays the set of relevant entities to the primary user based on the adjusted order of relevance.
- the entity search system may assign a corresponding weight of each criteria in the set of criteria, and determine the initial order of relevance of the set of relevant entities based on the weight of each criteria in the set of criteria.
- the method further comprises obtaining, via the user device, feedback data from the user related to the corresponding weight of each criteria in the set of criteria, and augmenting the initial order of relevance for the set of relevant entities, thereby creating an adjusted order of relevance for the set of relevant entities, based on the feedback data related to the corresponding weight of each criteria in the set of criteria.
- the entity search system displays the set of relevant entities to the primary user based on the adjusted order of relevance.
- FIG. 1 is a block diagram of a navigation system according to aspects of the present invention.
- FIG. 2 is a block diagram of a modularized navigation system according to aspects of the present invention.
- FIG. 3 illustrates an exemplary user display according to an embodiment of the invention.
- FIG. 4 illustrates an exemplary user display according to an embodiment of the invention.
- FIG. 5 illustrates an exemplary user display according to an embodiment of the invention.
- FIG. 6 illustrates an exemplary user display according to an embodiment of the invention.
- FIG. 7 illustrates an exemplary user display according to an embodiment of the invention.
- an information retrieval or search system takes an explicit or implicit query, finds entities matching the query, orders or ranks the entities, and then displays a subset of the ranked entities.
- the entity search system 160 may be coupled to a plurality of users, such as a primary user 100, secondary user 102, or any number of users 104. There may be relationships between specific users, for example, the primary user 100 and secondary user 102 may be friends, family members, or co-workers.
- the plurality of users may be coupled to the personalized recommendations system 160 through associated user devices 1 10, 1 12, and 1 14.
- User devices may include mobile phones (e.g., a BlackberryTM phone, an iPhoneTM device, an AndroidTM device), tablets (e.g., an iPadTM tablet), or other electronic devices.
- the entity search system 160 may obtain inputs from any number of users 100, 102, and 104, registered with the personalized recommendations system 160.
- the users 100, 102, and 104 may be interconnected and have relationships with one another.
- the inputs may be transmitted through the user devices 1 10, 1 12, 1 14 via an application.
- the user devices 1 10, 1 12, 1 14 may be, connected to the entity search system 160 through the internet, a wireless network, a telecommunications network, or any suitable communications network.
- the primary user 100 may use the primary user device 1 10 to download and install an application issued by the entity search system 160.
- the primary user 100 may edit personal ratings for entities, such as venues and restaurants, and other personal preferences, such as cuisine, type of food, price range, location, distance from current location, etc.
- the primary user 100 may also provide feedback items or data through the application to respond to recommendations, to add or remove entities, and/or rate an experience at an entity.
- entities may include merchants and service providers.
- Additional inputs to the entity search system 160 may come from external data sources, for example, a social network computer system such as the FacebookTM computer system 140(A), a public messaging system such as the TwitterTM messaging system 140(B), and/or any number of other data sources 140(N) via the user accounts 150(A), 150(B), 1 52(A), 152(B) with the data sources and/or user devices 1 10, 1 12.
- the external data sources may also provide raw location data of the users, for example, through a "check-in" through system 140(A), system 140(B), or other social networking provider system capable of providing raw location data.
- the other data sources 140(N) may themselves have associated user accounts, which may map directly or indirectly to user accounts of other systems.
- Embodiments of the invention relate to search systems of informational data, for example, information data related to an entity or a set of entities. However, embodiments of the invention are not limited to searching for informational data related to entities, but may be applied to general searching of any type of informational data.
- An entity search system may gather data from a plurality of data sources related to a plurality of entities. Data associated with the plurality of entities (e.g., restaurants) may include, for example, location data, type of cuisine, and price. Other data associated with an entity may be evaluation data, such as a rating based on an average rating of a plurality of users, or reviews from users regarding their experience at or with the entity.
- All data associated with the plurality of entities may be stored in an entity database operated by the entity search system, and is updated with information gathered from the plurality of external data sources, and plurality of users, as indicated in FIG. 1.
- the target user may enter queries to the entity search system, acting as criteria or conditions for entities that the entity search system may provide evaluation data or other data related to the entities that match the criteria to the target user.
- Queries for a set of entities can come in many different forms. It can be a search for an explicit entity (e.g., Restaurant A in Berkeley), or a group of entities (e.g., diners).
- the queries may be interpreted as a set of implicit filters, and may be pre-encoded, or involve dynamic work in real-time at the time of the query.
- a query for "Thai restaurants” may be pre- encoded to not include shoe stores, or restaurants categorized as "Italian".
- An example of a dynamic filter implemented in real-time may be a query for "Thai restaurants within 0.3 miles of my current location", which would involve determining the target user's current location, and filtering out Thai restaurants that are within 0.3 miles of the current location, such that neither a Thai restaurant 1 mile away or an Italian restaurant 0.1 mile away both would not be included in the search results.
- Another example of such filter might be a query for restaurants that lie in a particular direction, such as the direction a user is traveling or currently gazing.
- entities may be searched for depend on the embodiment of the invention and may be anything that can be represented or referred to in a computer system.
- entities are providers of goods and services, such as restaurants or nightclubs.
- entities are particular goods or services or events, such as a particular dish at a restaurant or a one-time or repeating event such as a concert.
- entities are documents or sections of documents, such as text pages or musical compositions, to be presented to a user.
- an entity may be a relationship or potential relationship between two people.
- a dating recommendation system may recommend in favor of or against a potential relationship between one user and another, or may allow searches for potential relationships meeting some criteria.
- entities may be individuals.
- Search queries may involve different input modalities either alone or in combination. For example, a simple box into which users may type textual queries, a sketch pad in which users draw something they want to find, opening an application on a mobile user device which uses GPS or other location sensing technology to find items related to their location, and/or structural interfaces which let users select a subset of various attributes of entities, which may be based on evaluation data associated with the entities.
- a search query could involve a user looking in a particular direction or using an audio or haptic interface.
- a user, users, sets of users, or any combination of users may use one or more personalized recommendation, evaluation, or navigation systems that evaluate entities known to a search system.
- “Recommendations” may be along a single or multiple dimensions, and/or over a discrete or continuous domain. Recommendations may be presented in a numerical, textual, pictorial, auditory, or tactile fashion.
- Recommendations may be include any of these characteristics, either alone or in combination. For example, a user may rate a restaurant on a scale of 1 , 2, 3, 4, or 5 stars, with 1 star being the lowest rating, and 5 stars being the highest rating. In another realization, a user may instead rate a restaurant on a 1 -5 star scale for taste rating, 1 -4 "$" scale for price rating, and add an optional one word description.
- recommendations might be called “evaluations” or used in a similar manner. For example, an evaluation might be done by a team of doctors choosing a picture that best represents the mood or situation of a clinical patient, in effect, "recommending" which is the "best” image to use.
- Another example of an evaluation or recommendation may include citizen journalists recording a five second video to make a review or recommendation, or an audio summary of a protest or event.
- recommendations may use three dimensional sensing technologies to have dancers record their expressions in response to listening to a composition.
- Another example may include a user operating an application on a mobile device, and dragging pictorial representations of dishes into different groups or piles categorized as "tasty", "yucky", and "only sometimes".
- a recommendation may be inferred from aspects of a user's behavior such as whether the user looks in one direction or another, or whether the user walks or turns in one way or another.
- Evaluations or recommendations of entities may include "evaluation data", that may be, according to embodiments of the invention, inputs into a recommendation service provided by a personalized recommendation system described herein.
- evaluation data may include ratings on a discrete star scale for the quality of a restaurant for a restaurant discovery website/product or answers to personality questions for a match making website/service.
- Evaluation data may be associated with one entity or a set of entities. For example, a user may rate Jane's Sushi 90/100 and may rate sushi restaurants in general 82/100.
- Evaluation data and other data in evaluations may be used, according to embodiments of the invention, in an improved search involving filtering by evaluations.
- entities may be shown or hidden based on which users, sets of users, or arbitrary combinations of users thereof, who have or have not evaluated each entity.
- a geographic entity search system may offer the option to not show the user entities which have already been evaluated.
- a jewelry search system may offer a group of users performing a query the ability to only show results for jewelry stores in which the group of users' parents have rated more than 80 on a 1 - 100 scale.
- An evaluation filter may be used alone or in arbitrary combination with other filters. They may be broadening (OR) or narrowing (AND). For example, an English language query using Boolean syntax may be, "wines I have previously rated excellent OR (wines costing between $30 - $50 AND which my wife has rated at least good) OR the wine of the day”. Other combinations than Boolean ones are possible, however. For instance, one might combine two filters with a weighting to indicate that one was more important. One might also specify in a query that one attribute of an entity be similar to ("like") a specific datum or an attribute of another entity.
- a generalization of filtering considered is an order of relevance for re -ranking search results. For example, with the example provided earlier about filtering all results a user had already passed evaluated, similarly, a list of search results could down-weight results based on filtering criteria. This filtering criteria could either be explicit, or generated implicitly from other context such as GPS or prior search history. As another clarifying example, restaurants rated 5 stars may appear before other restaurants not rated by the person or persons performing a search query if a "prefer my highest rated" filter is active. The ability for a user to meet the system half way by requesting changes to the ranking is referred to as user-specified re-ranking.
- an evaluation filter may happen at one or more parts of a search system either alone or in combination. For example, it could be implemented in real-time at the time of a query or search. If the system has control over other parts of the result pages that are served, information from the result pages could be dynamically changed. For example, if a target user looks for Japanese food, but the result is for a restaurant that serves only Yakitori (grilled chicken or meat skewers), that information (the fact that it only serves Yakitori) may be obscured, and the target user may only be informed that the restaurant serves Japanese food.
- Yakitori grilled chicken or meat skewers
- Some search systems involve searching by, or for location, and return search results which have locations in the real world.
- entity search systems When entity search systems according to embodiments of the invention are performing ranking of certain criteria over others, all criteria may be fused together to generate an initial order of relevance in ordering the results of a search query.
- a mechanism of weighting certain criteria over others may be provided to determine the initial order of relevance. This criteria is most frequently determined a priori, for instance, using hand-tuning.
- filtering or re-ranking order of relevance such as using machine learning or statistical techniques such as collaborative filtering or regression.
- One such example of user-specified re-ranking an order of relevance may be exposing parameters that the system is using. There could be many motivations for this including providing clarity, or providing mechanisms for a user to tune/refine the automatically assumed parameters of the system. These parameters could be performed a priori, or at query time, or a hybrid using both approaches. For example, when a user is searching near a specific location, an entity search system may automatically determine a maximum radius for the search. This distance could be surfaced to the user, which in turn the user could use to provide feedback about if the estimated range was ideal or not, and if not, to change that specific parameter or criteria.
- the entity search system may determine an order of relevance in intuitive ways that can be explained to the user. For example, use of a penalty function in a distance parameter could lead to a gradual tradeoff of distance and other factors, so that the most relevant restaurants in the periphery appeared and both the most relevant and less relevant restaurants in the center appeared.
- This approach offers certain advantages but, in some cases, may be difficult for users to work with as intuitively as a maximum radius. An algorithm designer might therefore choose a maximum radius model in this case to make it easier for a user to understand the meaning of a search query they were entering.
- a user may specify distance as a criteria, for example, preferring entities located in closer proximity of 0.5 miles over entities located over 0.5 miles away, the user may still hold a higher weight (e.g., higher priority) to another criteria, such as a rating of the entity.
- a higher weight e.g., higher priority
- the user could specify "more heavily care about distance” vs. "less heavily care about distance. So because the user weighs the rating more heavily than the distance, the user may select a 5-star rated entity over 0.5 miles away over a 3-star rated entity within 0.5 miles.
- the entity search system may display the 5-star entity higher (e.g., higher order of relevance) than the 3-star entity, even though the 5-star entity is over 0.5 miles away and the 3- star entity is within 0.5 miles. However, in comparing two 3-star entities that are both within 0.5 miles, they may be ranked in an order based on distance (e.g., entity 0.2 miles away is displayed higher than an entity 0.4 miles away).
- the criteria for searching is not limited to geographic, but rather any sort of parameters that could be modified. For geographical, it is also not limited to city, it could be neighborhood, country, zip code, real estate plots, crime gradients, etc.
- One example of a specific type of dynamic filter is a mechanism for automatically changing the range of a search based on the search when doing a search for physical places. This may take in additional context, including hints such as signals from search rankers, GPS data, affinity graph information, or many other different types of subsystems.
- search relaxation occurs when a target user makes a query for a search, but the search is unsuccessful in finding entities matching the target user's query, so the query automatically becomes generalized, or altered in a pre-determined way.
- search relaxation There are many different forms of search relaxation, such as: 1 ) ignoring explicit user criteria that have been specified about the price, radius of a search, etc., 2) exposing spelling correction logic 3) automatically generalizing a query, for example, if a user looks for Yakitori, and there are not many results, the entity search system begins searching for Japanese, which is broader or more generalized than Yakitori.
- search relaxation When and how search relaxation occurs may be based on explicit search relaxation criteria determined by a product designer, or may be based on implicit search relaxation criteria derived from information learned through statistical inference. For example, a search relaxation may occur if there are few results, or if there are no results. A search relaxation could also occur if the system determined that a word in a query was extremely rare, and furthermore was similar by edit distance or another distance metric to a non-rare word, in a spelling correction system. Search relaxation criteria may be broader than this, however. Relaxation criteria, and the way in which queries are relaxed, may change over time and may be inferred from user feedback or other information.
- User feedback may be an explicit response from the user interacting with the user device.
- the user may interact with the user device via a mobile application associated with the entity search system. Interacting with the application on the user device allows the entity search system and a user to communicate with each other, such as sending queries to the entity search system, providing criteria, editing criteria, providing and editing entity search query results, etc.
- User feedback may also include editing the query and re-running a search based on the new query.
- Some search systems may allow a user to save queries for later use. In these systems the fact a query was saved may be user feedback about a query's utility.
- FIG. 2 shows a block diagram of an exemplary modular entity search system 160 according to an embodiment of the invention, where the entity search system 160 is configured to provide explanations of the personalized recommendations.
- an explanations provider may be separate from the recommendations provider, and may be operated by different systems.
- the entity search system 160 operates as the recommendations provider and explanation (i.e., recommendations explanation) provider.
- the entity search system 160 may be a server computer 700, which may be a single computer, a cluster of computers, a server, or a super computer. Processes and methods implemented by or at the server computer could also be implemented by or at a client, in various embodiments.
- the server computer 700 may comprise a processor 740, and a non-transitory computer readable medium 750, on which code is stored.
- There may be several databases to store data for example, an entity database 730(a), a factor database 730(b), a user database 730(c), and a media object database 730(d).
- Stored in the entity database 730(a) may be evaluation data relating to entities, including entity meta-data (e.g., location, hours of operation, specialty, rating).
- Entity meta-data may include any sub-category of data related to the entity.
- the criteria database 730(b) may store previously determined and selected factors from a plurality of users.
- the user database 730(c) may store user data obtained from a plurality of users, such as real-time data from social networking sites (e.g., tweets, status updates), and stored data related to a plurality of users, such as user preferences and settings (e.g., gender, dietary restrictions).
- the real-time data may be explicit or implicit, and may include text, images, video, audio, or other media.
- the user data may be directly obtained from the user or may be obtained from external data sources, such as a social networking site associated with the user.
- the entity search system 160 may also include a media object database 730(d), storing media objects, such as high resolution photos. The media objects may be associated with entities, recommendations, and/or the target user, and may be used in the display of recommendations and/or
- the user database and entity database could be NoSQL databases, an SQL database, another information retrieval system such as a computer filesystem, or an in-memory data store. In other embodiments, the system could have a temporary piece of data obtained from a third- party on demand, such that data does not need to be statically or locally stored.
- a database could consist of multiple storage facilities, such as a cache backed by a database or a normalized authoritative database and denormalized in-memory stores.
- the code stored on the non-transitory computer readable medium 750 may be in modules, and is executable by the processor 740 to perform functions, which are implemented as processing steps described above by the entity search system providing recommendation explanations.
- the non-transitory computer-readable medium 750 may comprise software modules, such as a criteria weighting module 701 , a filter module 702, a filter weighting module 703, an order of relevance module 704, a search display module 705, and a query analysis module 706.
- software modules such as a criteria weighting module 701 , a filter module 702, a filter weighting module 703, an order of relevance module 704, a search display module 705, and a query analysis module 706.
- the functions of these modules are described in the process flows described above.
- the entity search system 160 may include a network interface 720.
- the network interface 720 includes hardware and software that enables the entity search system 160 to transmit and receive data over the Internet or any other communications network (e.g., telecommunications network, cable, radio).
- Filtering options may be dynamic based on information from the search using a query, and vice versa (the search options can be dynamic based on information from the filters). For example, if a user has entered information into a location search box (coupled with a query search box), and some criteria is used to determine that the user is specifying a location other than the current one, then using a radius-based distance criteria may not make sense. For example, if a user enters a city, it might be more prudent to search all locations in a city, rather than scoping by a radius around a specific location. Thus, if it is determined that such a filter is not prudent, it may be dynamically changed, or stripped from the user interface, to reinforce a user's understanding about said functionality.
- a filtering option may be automatically enabled, and this information may be communicated to the user or not, based on the context of the search, such as whether the user is searching by location and radius or all locations in a city, or whether the user is searching from a mobile device rather than a desktop computer.
- User displays of results are not limited to display screens but can include generally visual displays such as heads-up displays, audio results, and haptic feedback.
- FIG. 3 an exemplary user display 300 is illustrated for a user to customize filter parameters as criteria for a search, or for an order of relevance.
- the user may enter a search query in an input box 304, for example, "pizza” or "cheap eats”.
- input box 306 the user may enter a location, select an option to choose "near me” or "current location,” which may enable the user device to determine the current location.
- the user device may use GPS (Global Positioning System), or other systems to determine the current location of the user device.
- Section 308 of the user display 300 may indicate a searching criteria "Search", which could be by "Personal” 308(a) (e.g., personal preferences), or by "Distance” 308(b).
- a user may also indicate a “Range” 310, and may include a "Smart” option 310(a), in which the entity search system may determine the best range. Otherwise, the user may select a desired range in the options shown in 310(b) (e.g., 0.3 mi, 1 mi, 5 mi, and 15 mi).
- the user display 300 may also allow the user to set "Price" criteria 312, with options shown as 312(a) using "$", with "$” indicating inexpensive, while "$$$$$" indicates expensive.
- the user may also select criteria to "Hide” 314, for example, to hide entities that the user has already evaluated 314(a) (e.g., "Placed I've Rated"), or chain restaurants 314(b) (e.g., "Big Chains”).
- criteria for example, to hide entities that the user has already evaluated 314(a) (e.g., "Placed I've Rated"), or chain restaurants 314(b) (e.g., "Big Chains”).
- “Done” 302 to save the criteria.
- an exemplary user display 400 is illustrated for a user to customize filter parameters as criteria for a search, or for an order of relevance.
- the user may enter a search query in an input box 404, for example, "pizza” or “cheap eats”.
- input box 406 the user may enter a location, for example, "Berkeley” the prompting a different set of criteria options than shown in FIG. 3.
- Section 408 of the user display 400 may indicate a searching criteria "Search", which could be by "Personal” 408(a) (e.g., personal preferences), or by "Distance” 408(b).
- the “Range” section 410 now displays a "Use Current Location” option 410(a), in which the entity search system may determine, using GPS or other systems, to determine the user's specific location within the explicit location in 406, Berkeley.
- the user display 400 may also allow the user to set "Price” criteria 412, with options shown as 412(a) using the dollar sign symbol "$", with "$” indicating inexpensive, while "$$$$$" indicates expensive.
- the user may also select criteria to "Hide” 414, for example, to hide entities that the user has already evaluated 414(a) (e.g., "Placed I've
- FIG. 5 illustrates an exemplary user display 500 with search results for the primary user.
- the user may enter a search query in an input box 504, for example, "pizza” or “cheap eats”.
- location box 506 the user may enter a location, for example, "Berkeley”.
- the user may select "Refine your search” 508 to display other criteria that the user may select and/or modify in the search.
- the user display 500 may show a set of entities, for example, "Jupiter's” in section 510, "Triple Rock Brewery & Alehouse” in 512, and "Bette's Ocean view Diner” in 514.
- Each section may display entity data, such as a name of the entity 510(a) "Jupiter's", a type of food or cuisine 510(b) “Pizza”, a price range 510(c) "$$", location data 510(d) “Berkeley - 33.1 mi” (e.g., city and distance from current location), and evaluation data 510(g) "#2 Second most popular Pizza in Berkeley, 3382
- Mentions e.g., rating, review, number of check-ins, etc.
- other navigation indicators may be displayed, such as an arrow 510(e), which would direct the user to a display with more detailed entity data regarding the specific entity, in this example, "Jupiter's".
- options 510(f) such as an informative display about a recommendation from a
- FIG. 6 illustrates an exemplary user display 600 with search results for the primary user.
- the user may enter a search query in an input box 604, for example, "pizza” or “cheap eats”.
- the user may select "Refine your search” 608 to display other criteria that the user may select and/or modify in the search.
- the user may select "Near Me", which would augment the search and display the search results differently from that shown in FIG. 5.
- the "Near Me” option would use the current location of the user device, determined using GPS or other systems.
- the user display 600 may show a new set of entities from those shown in FIG. 5, for example, "Hobee's Restaurant” in section 610, and "Lozano's Brushless Car" in 612.
- Each section may display entity data, such as a name of the entity 610(a) "Hobee's Restaurant", a type of food or cuisine 610(b) “American”, a price range 610(c) "$$", location data 610(d) "Palo Alto - 0.3 mi” (e.g., city and distance from current location), and evaluation data 610(g) "#3 Third most popular American in Palo Alto, 568 Mentions” (e.g., rating, review, number of check-ins, etc.). Further, other navigation indicators may be displayed, such as an arrow 610(e), which would direct the user to a display with more detailed entity data regarding the specific entity, in this example, "Hobee's Restaurant”.
- entity data such as a name of the entity 610(a) "Hobee's Restaurant", a type of food or cuisine 610(b) "American”, a price range 610(c) "$$", location data 610(d) "Palo Alto - 0.3
- Entity "Lozano Brushless Car” in section 612 may have similar options, indicators, and data, as in section 610 for "Hobee's Restaurant". If the user wishes to view the results displayed in a different layout, the user may select 602 for a tiled format, or other layout.
- the entity search system may apply a search relaxation, which occurs when a target user makes a query for a search, but the search is unsuccessful in finding sufficient entities matching the target user's query, so the query automatically becomes generalized, or altered in a pre-determined way.
- Search relaxation may happen in a way that is not exposed to the target user, or it could be explicitly explained to the target user why the search query and/or criteria have been relaxed, as shown in FIG. 7.
- FIG. 7 illustrates an exemplary user display 700 with search results for the primary user.
- the user may enter a search query in an input box 704, for example, "noodle theory".
- the user may select "Refine your search” 708 to display other criteria that the user may select and/or modify in the search.
- location box 706 the user may select "Near Me”. If the user wishes to view the results displayed in a different layout, the user may select 702 for a tiled format, or other layout.
- the "Near Me” option would use the current location of the user device, determined using GPS or other systems.
- the user display 700 may show in a textual description 710, which no entities matching the search query (e.g., "noodle theory") within the specified range (e.g., 0.3 miles).
- the entity search system may then make other recommendations matching the search query, but with relaxed range criteria.
- each section may display entity data, such as a name of the entity 712(a) "Noodle Theory", a type of food or cuisine 712(b) "Asian”, a price range 712(c) "$$", and location data 712(d) "Oakland - 31.4 mi” (e.g., city and distance from current location).
- navigation indicators may be displayed, such as an arrow 712(e), which would direct the user to a display with more detailed entity data regarding the specific entity, in this example, "Noodle Theory".
- options 712(f) such as an informative display about a recommendation from a recommendation system, a product logo, an icon to add the entity to a favorites list, or an icon to ask for help.
- the embodiments may be described as a process which is depicted as a flowchart, a flow diagram, a data flow diagram, a structure diagram, or a block diagram. Although a flowchart may describe the operations as a sequential process, many of the operations may be performed in parallel or concurrently. In addition, the order of the operations may be re-arranged. A process is terminated when its operations are completed, but could have additional steps not included in the figure. A process may correspond to a method, a function, a procedure, a subroutine, a subprogram, etc. When a process corresponds to a function, its termination corresponds to a return of the function to the calling function or the main function.
- the term “storage medium” may represent one or more devices for storing data, including read only memory (ROM), random access memory (RAM), magnetic RAM, core memory, magnetic disk storage mediums, optical storage mediums, Hash memory devices and/or other machine readable mediums for storing information.
- ROM read only memory
- RAM random access memory
- magnetic RAM magnetic RAM
- core memory magnetic disk storage mediums
- optical storage mediums Hash memory devices and/or other machine readable mediums for storing information.
- computer-readable medium includes, but is not limited to portable or fixed storage devices, optical storage devices, wireless channels and various other mediums capable of storing, containing or carrying instruction(s) and/or data.
- embodiments may be implemented by hardware, software, firmware, middleware, microcode, hardware description languages, or any combination thereof.
- the program code or code segments to perform the necessary tasks may be stored in a machine readable medium such as storage medium.
- a processors may perform the necessary tasks.
- a code segment may represent a procedure, a function, a subprogram, a program, a routine, a subroutine, a module, a software package, a class, or any combination of instructions, data structures, or program statements.
- a code segment may be coupled to another code segment or a hardware circuit by passing and/or receiving information, data, arguments, parameters, or memory contents.
- Information, arguments. parameters, data, etc. may be passed, forwarded, or transmitted via any suitable means including memory sharing, message passing, token passing, network
Abstract
Description
Claims
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201161510003P | 2011-07-20 | 2011-07-20 | |
PCT/US2012/047475 WO2013013090A1 (en) | 2011-07-20 | 2012-07-19 | Method and apparatus for allowing users to augment searches |
Publications (2)
Publication Number | Publication Date |
---|---|
EP2734917A1 true EP2734917A1 (en) | 2014-05-28 |
EP2734917A4 EP2734917A4 (en) | 2015-01-21 |
Family
ID=47558486
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
EP12815280.8A Ceased EP2734917A4 (en) | 2011-07-20 | 2012-07-19 | Method and apparatus for allowing users to augment searches |
Country Status (4)
Country | Link |
---|---|
EP (1) | EP2734917A4 (en) |
AU (1) | AU2012283929B2 (en) |
CA (1) | CA2842215A1 (en) |
WO (1) | WO2013013090A1 (en) |
Family Cites Families (9)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7818394B1 (en) * | 2004-04-07 | 2010-10-19 | Cisco Techology, Inc. | Social network augmentation of search results methods and apparatus |
US7707220B2 (en) * | 2004-07-06 | 2010-04-27 | Icosystem Corporation | Methods and apparatus for interactive searching techniques |
WO2007002820A2 (en) * | 2005-06-28 | 2007-01-04 | Yahoo! Inc. | Search engine with augmented relevance ranking by community participation |
US20070150342A1 (en) * | 2005-12-22 | 2007-06-28 | Law Justin M | Dynamic selection of blended content from multiple media sources |
US7634474B2 (en) * | 2006-03-30 | 2009-12-15 | Microsoft Corporation | Using connectivity distance for relevance feedback in search |
US20080104059A1 (en) * | 2006-11-01 | 2008-05-01 | Dininginfo Llc | Restaurant review search system and method for finding links to relevant reviews of selected restaurants through the internet by use of an automatically configured, sophisticated search algorithm |
NO325864B1 (en) * | 2006-11-07 | 2008-08-04 | Fast Search & Transfer Asa | Procedure for calculating summary information and a search engine to support and implement the procedure |
US7849104B2 (en) * | 2007-03-01 | 2010-12-07 | Microsoft Corporation | Searching heterogeneous interrelated entities |
US8176069B2 (en) * | 2009-06-01 | 2012-05-08 | Aol Inc. | Systems and methods for improved web searching |
-
2012
- 2012-07-19 EP EP12815280.8A patent/EP2734917A4/en not_active Ceased
- 2012-07-19 WO PCT/US2012/047475 patent/WO2013013090A1/en active Application Filing
- 2012-07-19 AU AU2012283929A patent/AU2012283929B2/en active Active
- 2012-07-19 CA CA2842215A patent/CA2842215A1/en not_active Abandoned
Non-Patent Citations (2)
Title |
---|
BLOUNT S: "TALKING YELLOW PAGES. BUYERS IN 20 CITIES NOW LET THEIR FINGERS DO THE TALKING THROUGH AUTOMATED TELEPHONE ADVERTISING MESSAGE SYSTEMS", TARGET MARKETING, PHILADELPHIA, PA, US, vol. 10, no. 10, 1 October 1987 (1987-10-01), page 40, XP000922798, ISSN: 0889-5333 * |
See also references of WO2013013090A1 * |
Also Published As
Publication number | Publication date |
---|---|
AU2012283929A1 (en) | 2014-02-06 |
CA2842215A1 (en) | 2013-01-24 |
AU2012283929B2 (en) | 2015-12-17 |
WO2013013090A1 (en) | 2013-01-24 |
EP2734917A4 (en) | 2015-01-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20130024449A1 (en) | Method and apparatus for allowing users to augment searches | |
US11709851B2 (en) | Method and apparatus for quickly evaluating entities | |
US20220292575A1 (en) | Computer System and Method for Analyzing Data Sets and Generating Personalized Recommendations | |
US20230042931A1 (en) | Menu Personalization | |
US9396492B2 (en) | Computer system and method for analyzing data sets and providing personalized recommendations | |
AU2012283930B2 (en) | A recommendation engine that processes data including user data to provide recommendations and explanations for the recommendations to a user | |
US20160188742A1 (en) | Bookmarking Search Results | |
US9110894B2 (en) | Systems and methods for determining related places | |
US20100331016A1 (en) | Location-based promotion for a mobile communication network | |
US20100302056A1 (en) | Location discovery system and method | |
US20100305855A1 (en) | Location relevance processing system and method | |
CN112088390A (en) | Personalized match score for a place | |
WO2012051586A1 (en) | A computer system and method for analyzing data sets and generating personalized recommendations | |
AU2012283928B2 (en) | Method and apparatus for category based navigation | |
AU2012283929B2 (en) | Method and apparatus for allowing users to augment searches |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PUAI | Public reference made under article 153(3) epc to a published international application that has entered the european phase |
Free format text: ORIGINAL CODE: 0009012 |
|
17P | Request for examination filed |
Effective date: 20140117 |
|
AK | Designated contracting states |
Kind code of ref document: A1 Designated state(s): AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR |
|
RAP1 | Party data changed (applicant data changed or rights of an application transferred) |
Owner name: NESS COMPUTING, LLC |
|
RAP1 | Party data changed (applicant data changed or rights of an application transferred) |
Owner name: OPENTABLE, INC. |
|
DAX | Request for extension of the european patent (deleted) | ||
A4 | Supplementary search report drawn up and despatched |
Effective date: 20150105 |
|
RIC1 | Information provided on ipc code assigned before grant |
Ipc: G06F 7/00 20060101AFI20141218BHEP Ipc: G06F 17/30 20060101ALI20141218BHEP |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: EXAMINATION IS IN PROGRESS |
|
17Q | First examination report despatched |
Effective date: 20180215 |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: EXAMINATION IS IN PROGRESS |
|
APBK | Appeal reference recorded |
Free format text: ORIGINAL CODE: EPIDOSNREFNE |
|
APBN | Date of receipt of notice of appeal recorded |
Free format text: ORIGINAL CODE: EPIDOSNNOA2E |
|
APBR | Date of receipt of statement of grounds of appeal recorded |
Free format text: ORIGINAL CODE: EPIDOSNNOA3E |
|
APAF | Appeal reference modified |
Free format text: ORIGINAL CODE: EPIDOSCREFNE |
|
REG | Reference to a national code |
Ref country code: DE Ref legal event code: R003 |
|
APBT | Appeal procedure closed |
Free format text: ORIGINAL CODE: EPIDOSNNOA9E |
|
STAA | Information on the status of an ep patent application or granted ep patent |
Free format text: STATUS: THE APPLICATION HAS BEEN REFUSED |
|
18R | Application refused |
Effective date: 20240201 |