US20130024449A1 - Method and apparatus for allowing users to augment searches - Google Patents
Method and apparatus for allowing users to augment searches Download PDFInfo
- Publication number
- US20130024449A1 US20130024449A1 US13/553,684 US201213553684A US2013024449A1 US 20130024449 A1 US20130024449 A1 US 20130024449A1 US 201213553684 A US201213553684 A US 201213553684A US 2013024449 A1 US2013024449 A1 US 2013024449A1
- Authority
- US
- United States
- 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.)
- Abandoned
Links
- 238000000034 method Methods 0.000 title claims abstract description 82
- 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
Images
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/954—Navigation, e.g. using categorised browsing
-
- 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/951—Indexing; Web crawling techniques
-
- 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
-
- 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
-
- 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/335—Filtering based on additional data, e.g. user or group profiles
-
- 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/35—Clustering; Classification
Definitions
- the present disclosure may be related to the following commonly assigned U.S. Provisional Patent Applications: U.S. Provisional Patent Application No. 61/509,999 filed Jul. 20, 2011 entitled “Method and Apparatus for Explaining Recommendations”, U.S. Provisional Patent Application No. 61/509,995 filed Jul. 20, 2011, entitled “Method and Apparatus for Category Based Navigation”, and U.S. Provisional Patent Application No. 61/510,004 filed Jul. 20, 2011 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.
- data search systems are improved in this manner by becoming more intelligent about providing more relevant search results by allowing users to augment the searches.
- Embodiments of the invention relate to improved search methods and systems.
- Existing methods for providing searches to a target user may not provide options to the target user to modify the search without initiating a new one.
- it is difficult for the target user to feed back to a search system what the target user is really searching for and how to improve search results in real-time without starting over. Therefore embodiments of the invention provide methods and systems in which a target user can improve an existing search by augmenting criteria or queries on which the search is based.
- Some embodiments may provide methods of operation in which they do not need to know who a user is; for example, there may be a kiosk mode in which members of the public can use the system without identifying themselves.
- search systems, and other systems in use of such search systems are improved in this manner by becoming more intelligent about providing search results to its users.
- 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 then 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 invention is implemented using computing elements and may also include communication elements that convey data between disparate locations.
- 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 110 , 112 , and 114 .
- 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 110 , 112 , 114 via an application.
- the user devices 110 , 112 , 114 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 110 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), 152 (A), 152 (B) with the data sources and/or user devices 110 , 112 .
- 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.
- 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
- 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. For example, 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.
- 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. However, if a target user explicitly searches for restaurants serving Yakitori, the same restaurant may appear in the search results, but the target user might see the specific information that the restaurant serves only Yakitori, rather than 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
- there are many ways to allow user specified 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. This also means that when designing search ranking algorithms to model behavior, the entity search system may determine an order of relevance in intuitive ways that can be explained to the user.
- 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.
- 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. Therefore, 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.
- 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. This would automatically determine the range necessary, balancing the two conflicting requirements of finding many high quality results, and not having the users travel far. This could be variable depending on not just the query, but also the specific information we have learned about a user, such as an observation about the user's decisions about this tradeoff.
- 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. For example, a system may notice that queries of one kind are commonly followed quickly by queries of another kind, and conclude that information responsive to the second query should be provided immediately without actually requiring the second query.
- 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 ).
- 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 recommendation explanations.
- 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.
- 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 . 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”).
- the user may select “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 Rated”), or chain restaurants 414 ( b ) (e.g., “Big Chains”).
- criteria e.g., “Placed I've Rated”
- chain restaurants 414 e.g., “Big Chains”.
- Done 402
- the entity search system may search in real-time as the criteria are being augmented, and shown in a textual display 416 , preliminary results. For example, in the user display 400 , the textual display 416 shows that no entities could be found with a “$” or “$$” price in the specified location, Berkeley.
- FIGS. 5 and 6 show how the chosen parameters can differ based upon the query (City, vs. a specified range).
- 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 Oceanview 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.).
- 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 recommendation system, a product logo, an icon to add the entity to a favorites list, or an icon to ask for help.
- Entity “Triple Rock Brewery & Alehouse” in section 512 has similar options, indicators, and data, as in section 510 for “Jupiter's”. If the user wishes to view the results displayed in a different layout, the user may select 502 for a tiled format, or other layout.
- 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.
- location box 606 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.
- 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.).
- 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”.
- options 610 ( 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 to ask for help.
- 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.
- “Noodle Theory” in 712 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, flash 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 flash 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 processor(s) 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 transmission, etc.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Data Mining & Analysis (AREA)
- Computational Linguistics (AREA)
- Radar, Positioning & Navigation (AREA)
- Remote Sensing (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
Description
- This application claims priority from co-pending U.S. Provisional Patent Application No. 61/510,003 filed Jul. 20, 2011 entitled “Method and Apparatus for Allowing Users to Augment Searches”.
- The present disclosure may be related to the following commonly assigned U.S. Provisional Patent Applications: U.S. Provisional Patent Application No. 61/509,999 filed Jul. 20, 2011 entitled “Method and Apparatus for Explaining Recommendations”, U.S. Provisional Patent Application No. 61/509,995 filed Jul. 20, 2011, entitled “Method and Apparatus for Category Based Navigation”, and U.S. Provisional Patent Application No. 61/510,004 filed Jul. 20, 2011 entitled “Method and Apparatus for Quickly Evaluating Entities”.
- The respective disclosures of these applications/patents are incorporated herein by reference, as if set forth in full in this document, for all purposes.
- 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.
- One source of information is in the form of websites hosted by or for providers. As used herein, “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. 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. 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.
- However 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.
- Additionally, with the increase of users participating in social media websites, users are also interested in getting information about their friends, and the opinions of their friends. For example, a user may find out that a number of their friends on a social media website highly recommend a restaurant, which may be more persuasive to that user than the recommendations of strangers or high rankings on general rating websites. Thus, 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. However, 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.
- Thus, there is a massive amount of data to be processed in order for a user to search for relevant data and find what the user has sought out to seek. Realistically, a user cannot sort through all the information collected through various sources, so a more efficient means of processing the data is needed, such as a data navigation system.
- An improved recommendations system is desirable.
- 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. Thus, if 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.
- Thus, 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. Additionally, 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.
- Embodiments of the invention relate to improved search methods and systems. Existing methods for providing searches to a target user may not provide options to the target user to modify the search without initiating a new one. Thus, if the target user is dissatisfied with the an initial set of search results, it is difficult for the target user to feed back to a search system what the target user is really searching for and how to improve search results in real-time without starting over. Therefore embodiments of the invention provide methods and systems in which a target user can improve an existing search by augmenting criteria or queries on which the search is based. In some embodiments, there may be multiple simultaneous target users, or there may be one target user and several associated users for whom searches should also be relevant. Input data from such multiple users can be presented synchronously or asynchronously. Some embodiments may provide methods of operation in which they do not need to know who a user is; for example, there may be a kiosk mode in which members of the public can use the system without identifying themselves.
- Thus, providing augmented searches to the target user is advantageous and allows users to understand the logic and processes behind generating search results and augment them for optimal results. Additionally, search systems, and other systems in use of such search systems (e.g., personalized recommendation systems, entity navigation systems, etc.) are improved in this manner by becoming more intelligent about providing search results to its users.
- In an embodiment of the invention, a computer-implemented method for providing augmented searches for entities to a primary user is described. The method, performed by an entity search system, 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. Then, 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.
- In another embodiment of the invention, 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 then displays the set of relevant entities to the primary user based on the adjusted order of relevance.
- In another embodiment of the invention, 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. Lastly, the entity search system displays the set of relevant entities to the primary user based on the adjusted order of relevance.
- A further understanding of the nature and advantages of the present invention may be realized by reference to the following drawings. In the appended figures, similar components or features may have the same reference label. Further, various components of the same type may be distinguished by following the reference label by a dash and a second label that distinguishes among the similar components. If only the first reference label is used in the specification, the description is applicable to any one of the similar components having the same first reference label irrespective of the second reference label.
-
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. - In various embodiments of the invention, improved methods and systems of searching for entities are described. In 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.
- An improved entity search system is described herein. In order to provide a context for describing embodiments of the present invention, embodiments of the invention will be described herein with reference to a user device receiving personalized recommendations which the user may navigate through. Those skilled in the art will recognize, however, that the present invention is not limited to such embodiments.
- It should be understood that, given the complexity of the operations performed, the invention is implemented using computing elements and may also include communication elements that convey data between disparate locations.
- In
FIG. 1 , an exemplary entity search system according to an embodiment of the invention is shown. Theentity search system 160 may be coupled to a plurality of users, such as a primary user 100, secondary user 102, or any number ofusers 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 thepersonalized recommendations system 160 through associateduser devices 110, 112, and 114. User devices may include mobile phones (e.g., a Blackberry™ phone, an iPhone™ device, an Android™ device), tablets (e.g., an iPad™ tablet), or other electronic devices. - The
entity search system 160 may obtain inputs from any number ofusers 100, 102, and 104, registered with thepersonalized recommendations system 160. Theusers 100, 102, and 104 may be interconnected and have relationships with one another. The inputs may be transmitted through theuser devices 110, 112, 114 via an application. Theuser devices 110, 112, 114 may be connected to theentity search system 160 through the internet, a wireless network, a telecommunications network, or any suitable communications network. For example, the primary user 100 may use theprimary user device 110 to download and install an application issued by theentity search system 160. Through the application, 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. In other embodiments of the invention, 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 Facebook™ computer system 140(A), a public messaging system such as the Twitter™ messaging system 140(B), and/or any number of other data sources 140(N) via the user accounts 150(A), 150(B), 152(A), 152(B) with the data sources and/oruser devices 110, 112. 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 according to an embodiment of the invention, as described above, 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 . - It would be cumbersome, if not impossible, for a target user to individually search through the entity database to find a particular entity. Thus, 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. For example, 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. - What 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. In some embodiments, entities are providers of goods and services, such as restaurants or nightclubs. In other embodiments, 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. In others entities are documents or sections of documents, such as text pages or musical compositions, to be presented to a user. In other embodiments, an entity may be a relationship or potential relationship between two people. For example, 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. In another example, 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” according to embodiments of the invention 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.
- In some implementations, 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. In another example, 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”. In another example, 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. For example, 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. For the purpose of applying the filter, 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. For example, a geographic entity search system may offer the option to not show the user entities which have already been evaluated. As another example, 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.
- The implementation of 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. However, if a target user explicitly searches for restaurants serving Yakitori, the same restaurant may appear in the search results, but the target user might see the specific information that the restaurant serves only Yakitori, rather than the restaurant serves Japanese food.
- Some search systems involve searching by, or for location, and return search results which have locations in the real world.
- 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 However, there are many ways to allow user specified 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. This also means that when designing search ranking algorithms to model behavior, 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.
- Although 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. Thus, 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. Therefore, 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. This would automatically determine the range necessary, balancing the two conflicting requirements of finding many high quality results, and not having the users travel far. This could be variable depending on not just the query, but also the specific information we have learned about a user, such as an observation about the user's decisions about this tradeoff.
- Similar to a filter or a re-ranking, is the concept of search relaxation. 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. 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.
- 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. For example, a system may notice that queries of one kind are commonly followed quickly by queries of another kind, and conclude that information responsive to the second query should be provided immediately without actually requiring the second query.
- 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 modularentity search system 160 according to an embodiment of the invention, where theentity search system 160 is configured to provide explanations of the personalized recommendations. In other embodiments of the invention, an explanations provider may be separate from the recommendations provider, and may be operated by different systems. In the example shown inFIG. 2 , theentity search system 160 operates as the recommendations provider and explanation (i.e., recommendations explanation) provider. - The
entity search system 160 may be aserver 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. Theserver computer 700 may comprise aprocessor 740, and a non-transitory computerreadable 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. Theentity 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 recommendation explanations. - 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 theprocessor 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 acriteria weighting module 701, afilter module 702, afilter weighting module 703, an order ofrelevance module 704, asearch display module 705, and aquery analysis module 706. The functions of these modules are described in the process flows described above. - The
entity search system 160, to communicate with external data sources, social networking sites, and users, may include anetwork interface 720. Thenetwork interface 720 includes hardware and software that enables theentity 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. In some cases 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.
- As shown in examples in
FIGS. 3 and 4 , the filters have been changed, because the term “Berkeley” has been specified in the top right location box. InFIG. 3 , anexemplary 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 aninput box 304, for example, “pizza” or “cheap eats”. Ininput 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 theuser 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). Theuser 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”). When the user has completed selecting and augmenting the criteria, the user may select “Done” 302, to save the criteria. - In
FIG. 4 , anexemplary 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 aninput box 404, for example, “pizza” or “cheap eats”. Ininput box 406, the user may enter a location, for example, “Berkeley” the prompting a different set of criteria options than shown inFIG. 3 .Section 408 of theuser display 400 may indicate a searching criteria “Search”, which could be by “Personal” 408(a) (e.g., personal preferences), or by “Distance” 408(b). However, since the user has inputted into thelocation box 406 “Berkeley,” 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. Theuser 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 Rated”), or chain restaurants 414(b) (e.g., “Big Chains”). When the user has completed selecting and augmenting the criteria, the user may select “Done” 402, to save the criteria. Upon selecting certain criteria, the entity search system may search in real-time as the criteria are being augmented, and shown in atextual display 416, preliminary results. For example, in theuser display 400, thetextual display 416 shows that no entities could be found with a “$” or “$$” price in the specified location, Berkeley. -
FIGS. 5 and 6 show how the chosen parameters can differ based upon the query (City, vs. a specified range).FIG. 5 illustrates anexemplary user display 500 with search results for the primary user. The user may enter a search query in aninput box 504, for example, “pizza” or “cheap eats”. Inlocation box 506, the user may enter a location, for example, “Berkeley”. To augment other criteria for search, the user may select “Refine your search” 508 to display other criteria that the user may select and/or modify in the search. Theuser display 500 may show a set of entities, for example, “Jupiter's” insection 510, “Triple Rock Brewery & Alehouse” in 512, and “Bette's Oceanview 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.). Further, 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”. There may also be other options 510(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. Entity “Triple Rock Brewery & Alehouse” insection 512 has similar options, indicators, and data, as insection 510 for “Jupiter's”. If the user wishes to view the results displayed in a different layout, the user may select 502 for a tiled format, or other layout. -
FIG. 6 illustrates anexemplary user display 600 with search results for the primary user. The user may enter a search query in aninput box 604, for example, “pizza” or “cheap eats”. To augment other criteria for search, the user may select “Refine your search” 608 to display other criteria that the user may select and/or modify in the search. Inlocation box 606, the user may select “Near Me”, which would augment the search and display the search results differently from that shown inFIG. 5 . The “Near Me” option would use the current location of the user device, determined using GPS or other systems. Theuser display 600 may show a new set of entities from those shown inFIG. 5 , for example, “Hobee's Restaurant” insection 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”. There may also be other options 610(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 to ask for help. Entity “Lozano Brushless Car” insection 612 may have similar options, indicators, and data, as insection 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. - In another embodiment of the invention, 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 anexemplary user display 700 with search results for the primary user. The user may enter a search query in aninput box 704, for example, “noodle theory”. To augment other criteria for search, the user may select “Refine your search” 708 to display other criteria that the user may select and/or modify in the search. Inlocation 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. Theuser display 700 may show in atextual 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. For example, “Noodle Theory” in 712. Again, 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). Further, other 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”. There may also be other 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 description provides preferred exemplary embodiment(s) only, and is not intended to limit the scope, applicability or configuration of the invention. Rather, the description of the preferred exemplary embodiment(s) will provide those skilled in the art with an enabling description for implementing a preferred exemplary embodiment of the invention. It is to be understood that various changes may be made in the function and arrangement of elements without departing from the spirit and scope of the invention as set forth in the appended claims.
- Specific details are given in the description to provide a thorough understanding of the embodiments. However, it will be understood by one of ordinary skill in the art that the embodiments may be practiced without these specific details. For example, systems may be shown in block diagrams in order not to obscure the embodiments in unnecessary detail. In other instances, well-known processes, structures and techniques may be shown without unnecessary detail in order to avoid obscuring the embodiments.
- Also, it is noted that 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.
- Moreover, as disclosed herein, 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, flash memory devices and/or other machine readable mediums for storing information. The term “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.
- Furthermore, embodiments may be implemented by hardware, software, firmware, middleware, microcode, hardware description languages, or any combination thereof. When implemented in software, firmware, middleware or microcode, the program code or code segments to perform the necessary tasks may be stored in a machine readable medium such as storage medium. A processor(s) 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 transmission, etc.
- Further embodiments may be envisioned to one of ordinary skill in the art after reading this disclosure. In other embodiments, combinations or sub-combinations of the above disclosed invention may be advantageously made. The example arrangements of components are shown for purposes of illustration and it should be understood that combinations, additions, re-arrangements, and the like are contemplated in alternative embodiments of the present invention. Thus, while the invention has been described with respect to exemplary embodiments, one skilled in the art will recognize that numerous modifications are possible.
- For example, the processes described herein may be implemented using hardware components, software components, and/or any combination thereof. The specification and drawings are, accordingly, to be regarded in an illustrative rather than a restrictive sense. It will, however, be evident that various modifications and changes may be made thereunto without departing from the broader spirit and scope of the invention as set forth in the claims and that the invention is intended to cover all modifications and equivalents within the scope of the following claims.
Claims (38)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/553,684 US20130024449A1 (en) | 2011-07-20 | 2012-07-19 | Method and apparatus for allowing users to augment searches |
Applications Claiming Priority (5)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201161510004P | 2011-07-20 | 2011-07-20 | |
US201161510003P | 2011-07-20 | 2011-07-20 | |
US201161509995P | 2011-07-20 | 2011-07-20 | |
US201161509999P | 2011-07-20 | 2011-07-20 | |
US13/553,684 US20130024449A1 (en) | 2011-07-20 | 2012-07-19 | Method and apparatus for allowing users to augment searches |
Publications (1)
Publication Number | Publication Date |
---|---|
US20130024449A1 true US20130024449A1 (en) | 2013-01-24 |
Family
ID=47556530
Family Applications (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/553,646 Active 2033-10-17 US9189551B2 (en) | 2011-07-20 | 2012-07-19 | Method and apparatus for category based navigation |
US13/553,684 Abandoned US20130024449A1 (en) | 2011-07-20 | 2012-07-19 | Method and apparatus for allowing users to augment searches |
US13/553,599 Abandoned US20130024464A1 (en) | 2011-07-20 | 2012-07-19 | Recommendation engine that processes data including user data to provide recommendations and explanations for the recommendations to a user |
Family Applications Before (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/553,646 Active 2033-10-17 US9189551B2 (en) | 2011-07-20 | 2012-07-19 | Method and apparatus for category based navigation |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/553,599 Abandoned US20130024464A1 (en) | 2011-07-20 | 2012-07-19 | Recommendation engine that processes data including user data to provide recommendations and explanations for the recommendations to a user |
Country Status (1)
Country | Link |
---|---|
US (3) | US9189551B2 (en) |
Cited By (14)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130151961A1 (en) * | 2010-08-26 | 2013-06-13 | Kyocera Corporation | Character string retrieval apparatus |
US8732101B1 (en) | 2013-03-15 | 2014-05-20 | Nara Logics, Inc. | Apparatus and method for providing harmonized recommendations based on an integrated user profile |
US8756187B2 (en) | 2011-09-28 | 2014-06-17 | Nara Logics, Inc. | Systems and methods for providing recommendations based on collaborative and/or content-based nodal interrelationships |
US20140278992A1 (en) * | 2013-03-15 | 2014-09-18 | Nfluence Media, Inc. | Ad blocking tools for interest-graph driven personalization |
US9501503B2 (en) | 2013-05-09 | 2016-11-22 | Microsoft Technology Licensing, Llc | Inferring entity attribute values |
US9619567B2 (en) | 2011-06-06 | 2017-04-11 | Nfluence Media, Inc. | Consumer self-profiling GUI, analysis and rapid information presentation tools |
US20170144566A1 (en) * | 2014-09-23 | 2017-05-25 | Bayerische Motoren Werke Aktiengesellschaft | Cell-Contacting System for a Motor-Vehicle Battery Module and a Motor-Vehicle Battery Module |
US9898756B2 (en) | 2011-06-06 | 2018-02-20 | autoGraph, Inc. | Method and apparatus for displaying ads directed to personas having associated characteristics |
US20180307707A1 (en) * | 2013-04-25 | 2018-10-25 | Google Inc. | System and method for presenting condition-specific geographic imagery |
US10467677B2 (en) | 2011-09-28 | 2019-11-05 | Nara Logics, Inc. | Systems and methods for providing recommendations based on collaborative and/or content-based nodal interrelationships |
US10789526B2 (en) | 2012-03-09 | 2020-09-29 | Nara Logics, Inc. | Method, system, and non-transitory computer-readable medium for constructing and applying synaptic networks |
US11151617B2 (en) | 2012-03-09 | 2021-10-19 | Nara Logics, Inc. | Systems and methods for providing recommendations based on collaborative and/or content-based nodal interrelationships |
US11709851B2 (en) | 2011-07-20 | 2023-07-25 | Opentable, Inc. | Method and apparatus for quickly evaluating entities |
US11727249B2 (en) | 2011-09-28 | 2023-08-15 | Nara Logics, Inc. | Methods for constructing and applying synaptic networks |
Families Citing this family (41)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US8549407B2 (en) * | 2007-12-05 | 2013-10-01 | Ebay Inc. | Multi-dimensional dynamic visual browsing |
US10269057B2 (en) * | 2010-07-19 | 2019-04-23 | Payme, Inc. | Mobile system and method for payments and non-financial transactions |
US20130031190A1 (en) | 2011-07-29 | 2013-01-31 | Xtreme Labs Inc. | Method and system for providing notifications |
CN103425659B (en) * | 2012-05-15 | 2017-06-09 | 阿里巴巴集团控股有限公司 | Information search method and server based on geographical position |
US9990745B2 (en) * | 2012-11-30 | 2018-06-05 | Facebook, Inc. | Personalized-recommendation graph |
US9146986B2 (en) * | 2013-03-14 | 2015-09-29 | Facebook, Inc. | Systems, methods, and apparatuses for implementing an interface to view and explore socially relevant concepts of an entity graph |
US20150025995A1 (en) * | 2013-07-19 | 2015-01-22 | Ebay Inc. | Generating recommendations based on transaction data |
US10510018B2 (en) | 2013-09-30 | 2019-12-17 | Manyworlds, Inc. | Method, system, and apparatus for selecting syntactical elements from information as a focus of attention and performing actions to reduce uncertainty |
US20150095278A1 (en) * | 2013-09-30 | 2015-04-02 | Manyworlds, Inc. | Adaptive Probabilistic Semantic System and Method |
US11188543B2 (en) * | 2013-10-14 | 2021-11-30 | International Business Machines Corporation | Utilizing social information for recommending an application |
US9531722B1 (en) | 2013-10-31 | 2016-12-27 | Google Inc. | Methods for generating an activity stream |
US9542457B1 (en) | 2013-11-07 | 2017-01-10 | Google Inc. | Methods for displaying object history information |
US9614880B1 (en) | 2013-11-12 | 2017-04-04 | Google Inc. | Methods for real-time notifications in an activity stream |
US9509772B1 (en) | 2014-02-13 | 2016-11-29 | Google Inc. | Visualization and control of ongoing ingress actions |
US9430476B2 (en) * | 2014-03-13 | 2016-08-30 | GM Global Technology Operations LLC | Method and apparatus of user recommendation system for in-vehicle apps |
CN103902670B (en) * | 2014-03-17 | 2016-04-13 | 百度在线网络技术(北京)有限公司 | Search recommend method and device |
KR20150126196A (en) * | 2014-05-02 | 2015-11-11 | 삼성전자주식회사 | Data processing apparatus and method for processing data based on user feeling |
US9626361B2 (en) * | 2014-05-09 | 2017-04-18 | Webusal Llc | User-trained searching application system and method |
US9536199B1 (en) | 2014-06-09 | 2017-01-03 | Google Inc. | Recommendations based on device usage |
US9507791B2 (en) | 2014-06-12 | 2016-11-29 | Google Inc. | Storage system user interface with floating file collection |
US10078781B2 (en) | 2014-06-13 | 2018-09-18 | Google Llc | Automatically organizing images |
US20160124959A1 (en) | 2014-10-31 | 2016-05-05 | Google Inc. | System and method to recommend a bundle of items based on item/user tagging and co-install graph |
US9870420B2 (en) | 2015-01-19 | 2018-01-16 | Google Llc | Classification and storage of documents |
US10311499B1 (en) * | 2015-03-23 | 2019-06-04 | Amazon Technologies, Inc. | Clustering interactions for user missions |
CN104850641B (en) * | 2015-05-26 | 2018-08-21 | 无线生活(杭州)信息科技有限公司 | A kind of method and device of recommendation information |
US10580024B2 (en) * | 2015-12-15 | 2020-03-03 | Adobe Inc. | Consumer influence analytics with consumer profile enhancement |
US10362137B2 (en) * | 2015-12-28 | 2019-07-23 | Verizon Patent And Licensing Inc. | Hebbian learning-based recommendations for social networks |
US20170236223A1 (en) * | 2016-02-11 | 2017-08-17 | International Business Machines Corporation | Personalized travel planner that identifies surprising events and points of interest |
US9743243B1 (en) | 2016-03-16 | 2017-08-22 | International Business Machines Corporation | Location context inference based on user mobile data with uncertainty |
US20180032621A1 (en) * | 2016-08-01 | 2018-02-01 | Yuppr, Inc. | Location and social aware, multi-dimensional, dynamic, positive recommendations |
US10607273B2 (en) * | 2016-12-28 | 2020-03-31 | Google Llc | System for determining and displaying relevant explanations for recommended content |
US11301774B2 (en) * | 2017-02-28 | 2022-04-12 | Nec Corporation | System and method for multi-modal graph-based personalization |
US20190114712A1 (en) * | 2017-10-16 | 2019-04-18 | Zepa Financial Technology Ltd. | System and method for supporting decision according to multiple aggregated decisions |
CN108416616A (en) * | 2018-02-05 | 2018-08-17 | 阿里巴巴集团控股有限公司 | The sort method and device of complaints and denunciation classification |
US11112950B2 (en) | 2018-05-22 | 2021-09-07 | Conduent Business Services, Llc | Personalizing application interfaces based on usage |
CN108805341A (en) * | 2018-05-25 | 2018-11-13 | 夏传友 | Distributed optimization method, apparatus, terminal device and the storage medium of navigation circuit |
US11301513B2 (en) * | 2018-07-06 | 2022-04-12 | Spotify Ab | Personalizing explainable recommendations with bandits |
CN110874737B (en) * | 2018-09-03 | 2024-06-18 | 京东科技控股股份有限公司 | Payment mode recommendation method and device, electronic equipment and storage medium |
CN109524095A (en) * | 2018-10-23 | 2019-03-26 | 平安医疗健康管理股份有限公司 | A kind of service push method, device, server and medium |
US20220238204A1 (en) * | 2021-01-25 | 2022-07-28 | Solsten, Inc. | Systems and methods to link psychological parameters across various platforms |
CN116645211B (en) * | 2023-05-15 | 2024-05-10 | 中信建投证券股份有限公司 | Recommended user information generation method, apparatus, device and computer readable medium |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20070239702A1 (en) * | 2006-03-30 | 2007-10-11 | Microsoft Corporation | Using connectivity distance for relevance feedback in search |
US20080244429A1 (en) * | 2007-03-30 | 2008-10-02 | Tyron Jerrod Stading | System and method of presenting search results |
US20090076928A1 (en) * | 2007-08-28 | 2009-03-19 | Needish, Inc. | System and method for automating RFP process and matching RFP requests to relevant vendors |
US20090293019A1 (en) * | 2008-05-22 | 2009-11-26 | Keith Raffel | User interface having slider controls for weighted parameters in searching or decision making processes |
US20100023508A1 (en) * | 2003-09-30 | 2010-01-28 | Microsoft Corporation | Search engine enhancement using mined implicit links |
US20100076968A1 (en) * | 2008-05-27 | 2010-03-25 | Boyns Mark R | Method and apparatus for aggregating and presenting data associated with geographic locations |
US7876214B1 (en) * | 2002-06-27 | 2011-01-25 | Earthcomber, Llc | System and method for providing reviews to a mobile user of restaurants having attributes matching a stated preference |
US20110231383A1 (en) * | 2010-03-22 | 2011-09-22 | Barry Smyth | Systems and methods for user interactive social metasearching |
Family Cites Families (40)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5758257A (en) | 1994-11-29 | 1998-05-26 | Herz; Frederick | System and method for scheduling broadcast of and access to video programs and other data using customer profiles |
US6370513B1 (en) * | 1997-08-08 | 2002-04-09 | Parasoft Corporation | Method and apparatus for automated selection, organization, and recommendation of items |
EP1156424A2 (en) * | 2000-05-17 | 2001-11-21 | Matsushita Electric Industrial Co., Ltd. | Information recommendation apparatus and information recommendation system |
US8185487B2 (en) * | 2001-02-12 | 2012-05-22 | Facebook, Inc. | System, process and software arrangement for providing multidimensional recommendations/suggestions |
WO2003054760A2 (en) * | 2001-12-21 | 2003-07-03 | Accenture Global Services Gmbh | Evaluation of a plurality of alternatives based on a plurality of individual preferences |
EP1605619A4 (en) * | 2003-02-28 | 2012-01-11 | Ntt Docomo Inc | Radio communication system and radio communication method |
US7606772B2 (en) | 2003-11-28 | 2009-10-20 | Manyworlds, Inc. | Adaptive social computing methods |
CN1890682A (en) | 2003-12-03 | 2007-01-03 | 皇家飞利浦电子股份有限公司 | Enhanced collaborative filtering technique for recommendation |
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 |
EP1846810A4 (en) * | 2005-01-11 | 2009-04-22 | Trusted Opinion Inc | Method and system for providing customized recommendations to users |
WO2007002820A2 (en) | 2005-06-28 | 2007-01-04 | Yahoo! Inc. | Search engine with augmented relevance ranking by community participation |
US8290810B2 (en) * | 2005-09-14 | 2012-10-16 | Jumptap, Inc. | Realtime surveying within mobile sponsored content |
US7853485B2 (en) | 2005-11-22 | 2010-12-14 | Nec Laboratories America, Inc. | Methods and systems for utilizing content, dynamic patterns, and/or relational information for data analysis |
US20070150342A1 (en) | 2005-12-22 | 2007-06-28 | Law Justin M | Dynamic selection of blended content from multiple media sources |
US7653761B2 (en) | 2006-03-15 | 2010-01-26 | Microsoft Corporation | Automatic delivery of personalized content to a portable media player with feedback |
US20070282621A1 (en) | 2006-06-01 | 2007-12-06 | Flipt, Inc | Mobile dating system incorporating user location information |
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 |
US9053195B2 (en) | 2007-07-19 | 2015-06-09 | Grant Chieh-Hsiang Yang | Method and system for user and reference ranking in a database |
US9626685B2 (en) | 2008-01-04 | 2017-04-18 | Excalibur Ip, Llc | Systems and methods of mapping attention |
US8145619B2 (en) * | 2008-02-11 | 2012-03-27 | International Business Machines Corporation | Method and system for identifying companies with specific business objectives |
US8306921B2 (en) | 2008-02-13 | 2012-11-06 | Toyota Motor Engineering & Manufacturing North America, Inc. | Mobile recommendation and reservation system |
US8538811B2 (en) | 2008-03-03 | 2013-09-17 | Yahoo! Inc. | Method and apparatus for social network marketing with advocate referral |
US20090234664A1 (en) * | 2008-03-11 | 2009-09-17 | Schaffnit Wayne A | System and method for recommending entertainment venues for specific occasions |
US8095432B1 (en) | 2009-01-30 | 2012-01-10 | Intuit Inc. | Recommendation engine for social networks |
US8244564B2 (en) | 2009-03-31 | 2012-08-14 | Richrelevance, Inc. | Multi-strategy generation of product recommendations |
WO2010141429A1 (en) | 2009-06-01 | 2010-12-09 | Sean Christopher Timm | Providing suggested web search queries based on click data of stored search queries |
US8359285B1 (en) | 2009-09-18 | 2013-01-22 | Amazon Technologies, Inc. | Generating item recommendations |
US20110125759A1 (en) * | 2009-11-17 | 2011-05-26 | Yoono, Inc | Method and system to contextualize information being displayed to a user |
US8285840B2 (en) | 2010-03-15 | 2012-10-09 | Cellco Partnership | Using social networking to help users purchase mobile applications and devices |
US20110270774A1 (en) * | 2010-04-30 | 2011-11-03 | Microsoft Corporation | Group Recommendations in Social Networks |
US8719198B2 (en) | 2010-05-04 | 2014-05-06 | Microsoft Corporation | Collaborative location and activity recommendations |
US8347211B1 (en) | 2010-06-22 | 2013-01-01 | Amazon Technologies, Inc. | Immersive multimedia views for items |
US8682918B2 (en) * | 2010-11-22 | 2014-03-25 | Salesforce.Com, Inc. | Method and system for making content-based recommendations |
US20120209839A1 (en) * | 2011-02-15 | 2012-08-16 | Microsoft Corporation | Providing applications with personalized and contextually relevant content |
US20120278252A1 (en) * | 2011-04-27 | 2012-11-01 | Sethna Shaun B | System and method for recommending establishments and items based on consumption history of similar consumers |
US8751472B2 (en) * | 2011-05-19 | 2014-06-10 | Microsoft Corporation | User behavior model for contextual personalized recommendation |
US9449106B2 (en) | 2013-03-08 | 2016-09-20 | Opentable, Inc. | Context-based queryless presentation of recommendations |
-
2012
- 2012-07-19 US US13/553,646 patent/US9189551B2/en active Active
- 2012-07-19 US US13/553,684 patent/US20130024449A1/en not_active Abandoned
- 2012-07-19 US US13/553,599 patent/US20130024464A1/en not_active Abandoned
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7876214B1 (en) * | 2002-06-27 | 2011-01-25 | Earthcomber, Llc | System and method for providing reviews to a mobile user of restaurants having attributes matching a stated preference |
US20100023508A1 (en) * | 2003-09-30 | 2010-01-28 | Microsoft Corporation | Search engine enhancement using mined implicit links |
US20070239702A1 (en) * | 2006-03-30 | 2007-10-11 | Microsoft Corporation | Using connectivity distance for relevance feedback in search |
US20080244429A1 (en) * | 2007-03-30 | 2008-10-02 | Tyron Jerrod Stading | System and method of presenting search results |
US20090076928A1 (en) * | 2007-08-28 | 2009-03-19 | Needish, Inc. | System and method for automating RFP process and matching RFP requests to relevant vendors |
US20090293019A1 (en) * | 2008-05-22 | 2009-11-26 | Keith Raffel | User interface having slider controls for weighted parameters in searching or decision making processes |
US20100076968A1 (en) * | 2008-05-27 | 2010-03-25 | Boyns Mark R | Method and apparatus for aggregating and presenting data associated with geographic locations |
US20110231383A1 (en) * | 2010-03-22 | 2011-09-22 | Barry Smyth | Systems and methods for user interactive social metasearching |
Cited By (22)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130151961A1 (en) * | 2010-08-26 | 2013-06-13 | Kyocera Corporation | Character string retrieval apparatus |
US9740286B2 (en) * | 2010-08-26 | 2017-08-22 | Kyocera Corporation | Character string retrieval apparatus |
US9898756B2 (en) | 2011-06-06 | 2018-02-20 | autoGraph, Inc. | Method and apparatus for displaying ads directed to personas having associated characteristics |
US9619567B2 (en) | 2011-06-06 | 2017-04-11 | Nfluence Media, Inc. | Consumer self-profiling GUI, analysis and rapid information presentation tools |
US11709851B2 (en) | 2011-07-20 | 2023-07-25 | Opentable, Inc. | Method and apparatus for quickly evaluating entities |
US9009088B2 (en) | 2011-09-28 | 2015-04-14 | Nara Logics, Inc. | Apparatus and method for providing harmonized recommendations based on an integrated user profile |
US10423880B2 (en) | 2011-09-28 | 2019-09-24 | Nara Logics, Inc. | Systems and methods for providing recommendations based on collaborative and/or content-based nodal interrelationships |
US11727249B2 (en) | 2011-09-28 | 2023-08-15 | Nara Logics, Inc. | Methods for constructing and applying synaptic networks |
US8909583B2 (en) | 2011-09-28 | 2014-12-09 | Nara Logics, Inc. | Systems and methods for providing recommendations based on collaborative and/or content-based nodal interrelationships |
US11651412B2 (en) | 2011-09-28 | 2023-05-16 | Nara Logics, Inc. | Systems and methods for providing recommendations based on collaborative and/or content-based nodal interrelationships |
US9449336B2 (en) | 2011-09-28 | 2016-09-20 | Nara Logics, Inc. | Apparatus and method for providing harmonized recommendations based on an integrated user profile |
US8756187B2 (en) | 2011-09-28 | 2014-06-17 | Nara Logics, Inc. | Systems and methods for providing recommendations based on collaborative and/or content-based nodal interrelationships |
US10467677B2 (en) | 2011-09-28 | 2019-11-05 | Nara Logics, Inc. | Systems and methods for providing recommendations based on collaborative and/or content-based nodal interrelationships |
US11151617B2 (en) | 2012-03-09 | 2021-10-19 | Nara Logics, Inc. | Systems and methods for providing recommendations based on collaborative and/or content-based nodal interrelationships |
US10789526B2 (en) | 2012-03-09 | 2020-09-29 | Nara Logics, Inc. | Method, system, and non-transitory computer-readable medium for constructing and applying synaptic networks |
US20140278992A1 (en) * | 2013-03-15 | 2014-09-18 | Nfluence Media, Inc. | Ad blocking tools for interest-graph driven personalization |
US8732101B1 (en) | 2013-03-15 | 2014-05-20 | Nara Logics, Inc. | Apparatus and method for providing harmonized recommendations based on an integrated user profile |
US10331733B2 (en) * | 2013-04-25 | 2019-06-25 | Google Llc | System and method for presenting condition-specific geographic imagery |
US20180307707A1 (en) * | 2013-04-25 | 2018-10-25 | Google Inc. | System and method for presenting condition-specific geographic imagery |
US10394854B2 (en) | 2013-05-09 | 2019-08-27 | Microsoft Technology Licensing, Llc | Inferring entity attribute values |
US9501503B2 (en) | 2013-05-09 | 2016-11-22 | Microsoft Technology Licensing, Llc | Inferring entity attribute values |
US20170144566A1 (en) * | 2014-09-23 | 2017-05-25 | Bayerische Motoren Werke Aktiengesellschaft | Cell-Contacting System for a Motor-Vehicle Battery Module and a Motor-Vehicle Battery Module |
Also Published As
Publication number | Publication date |
---|---|
US9189551B2 (en) | 2015-11-17 |
US20130024464A1 (en) | 2013-01-24 |
US20130024456A1 (en) | 2013-01-24 |
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 | |
CN112088390A (en) | Personalized match score for a place | |
US20100305855A1 (en) | Location relevance processing system and method | |
WO2019152126A1 (en) | Generating conversational representations of web content | |
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 |
---|---|---|---|
AS | Assignment |
Owner name: NESS COMPUTING, INC., CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:CHATTERJI, SOURAV;SCHIFF, JEREMY RYAN;REESE, COREY LAYNE;AND OTHERS;SIGNING DATES FROM 20120831 TO 20120917;REEL/FRAME:029050/0306 |
|
AS | Assignment |
Owner name: NESS COMPUTING, LLC, CALIFORNIA Free format text: CONVERSION OF CORPORATION TO LLC;ASSIGNOR:NESS COMPUTING, INC.;REEL/FRAME:032387/0975 Effective date: 20140205 |
|
AS | Assignment |
Owner name: OPENTABLE. INC., CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:NESS COMPUTING LLC;REEL/FRAME:032969/0450 Effective date: 20140422 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |