Method, system and storage medium for generating text summary about physical location

By analyzing the computing interactions related to the physical location of the user, determining aspects of the physical location and generating a text summary, the problems of incomplete and unreliable information in the prior art are solved, and the accuracy of information is improved and resources are saved.

CN112699198BActive Publication Date: 2025-04-04GOOGLE LLC
View PDF 1 Cites 0 Cited by

Patent Information

Application Number
CN202011639579.8
Authority / Receiving Office
CN · China
Patent Type
Patents(China)
Current Assignee / Owner
Priority Date
2014-10-01
Filing Date
2015-07-15
Publication Date
2025-04-04
Estimated Expiration
2035-10-17

AI Technical Summary

Technical Problem

The prior art has problems such as relying on explicit input, unreliable, outdated, and incomplete when determining information in physical locations (such as enterprises).

Method used

Aspects of physical locations are determined by analyzing the user's computational interactions related to physical locations, such as guide queries, searches, GPS data, calendar entries, media item geotagging, check-in, comments, and asterisk marks, etc., and a text summary of the physical location is generated.

Benefits of technology

Improve the accuracy and comprehensiveness of physical location information, reduce the possibility that users need to search further to obtain useful information, and save network and computer resources.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN112699198B_ABST
    Figure CN112699198B_ABST
Patent Text Reader

Abstract

The present application relates to methods, systems, and storage media for generating text summaries about physical locations. Methods and apparatus for determining aspects of a location based on computational interactions of users related to the location. In some embodiments, aspects of a location can be determined based on comparing a first computational interaction measure for the location with a second measure. The first computational interaction measure can be determined based on a first group of computational interactions related to the location. In some embodiments, the second measure can be determined based on a second group of interactions including additional interactions in addition to the first group of interactions. In some embodiments, a text summary can be automatically generated based on the first computational interaction measure and / or the second computational interaction measure and / or based on the determined aspects.
Need to check novelty before this filing date? Find Prior Art

Description

[0001] Description of the case

[0002] This application is a divisional application of Chinese invention patent application No. 201580035895.5, filed on July 15, 2015. Technical Field

[0003] The present application relates to methods, systems and storage media for generating text summaries about physical locations. Background Art

[0004] Aspects of a physical location (such as a business) can be determined from Internet documents related to the physical location and / or explicit input from individuals related to the physical location. For example, web pages related to the business can be analyzed to identify the category of the business, the location of the business, etc. As another example, comments related to the business submitted by users can be analyzed to determine the overall ranking of the business. As yet another example, the owner of the business or another user can manually input information to a service that maintains business information so that the business information is reflected by the service. For example, the owner can type in the address, business hours, web pages, and other information related to the business. However, reliance on these aspects alone may have one or more disadvantages. For example, these aspects may not be available for many physical locations, may contain significant deviations, may be outdated, may not be based on reliable data, and / or may not include specific unique aspects. Summary of the invention

[0005] The present application is generally devoted to technical features for determining aspects of a physical location (such as a business) based on aggregation and analysis of computing interactions related to the physical location by users, and / or generating a text summary about the physical location (such as a business). In some embodiments, computing interactions related to the physical location by users that can be used to determine aspects of the physical location include, for example, directional queries to find directions to the location (for example, driving, walking and / or public transportation directions), searches related to the location (for example, map-based searches and / or searches for Internet documents), location data from mobile devices (for example, based on GPS, Wi-Fi and / or other sensors), calendar entries related to the location, photos or other media items of users with metadata related to the location (for example, geotags of media items), check-ins to the location, comments on the location and / or marking the location with stars or otherwise flagging it on a map and / or other interface. The determined aspects of the physical location can be assigned to the physical location and stored in one or more databases as assigned aspects of the physical location. The generated text summary can be presented to the user in various ways.

[0006] One or more determined aspects assigned to a physical location can be used for various online services. For example, the aspects of the determined business can be included in a text summary for display in combination with other information related to the business. In addition, for example, the aspects of the determined business can be utilized to identify the identity of the business in response to a user selection of an indication aspect, and provide the identity of the business to the user. For example, a user selection of "restaurants on the rise near me" can be utilized to identify restaurants associated with the aspect of "on the rise" near the user. In addition, for example, the aspects of the determined business can be utilized to rank information related to the business identified as a response to a user's query or other information request. For example, if a business is associated with a determined aspect of "on the rise", information related to the business can be promoted. In addition, for example, a query can include one or more terms such as "popular with locals", and a business can be associated with relevant aspects indicating popularity with locals, so that the ranking of information related to the business can be promoted in the search results provided in response to the query.

[0007] Determining aspects of a physical location and / or generating a text summary about the physical location and utilizing these aspects and / or text summaries when identifying and / or ranking information related to the physical location in response to a query produces various technical advantages. For example, in some embodiments, identifying information related to the physical location based on the determined aspects increases the likelihood that the information related to the physical location is provided in response to a query related to the aspects, thereby improving the accuracy of the information identified as relevant to the query. In addition, for example, ranking information related to the physical location based on the determined aspects increases the likelihood that the information related to the physical location is provided with appropriate prominence, thereby increasing the likelihood that the information will be consumed in response to the query. Identifying and / or ranking such information based on the determined aspects can reduce the likelihood that further searches will be required to identify the information, thereby preventing the consumption of network and computer resources in response to these subsequent queries. In addition, the generated text summary that can be provided to a computing device for display to a user can provide useful information related to the physical location, thereby eliminating the need for the user to utilize resources of the computing device and / or network communication resources to perform further searches for useful information incorporated into the generated text summary.

[0008] In some implementations, a first computational interaction metric for a physical location can be determined based on a first set of computational interactions associated with the location. For example, a first computational interaction metric can be determined for a location that indicates an amount of computational interactions, and / or a duration of computational interactions with the location as indicated by the first set of computational interactions. The computational interaction metric can be compared to a second metric to determine aspects of the location and / or generate a textual summary about the location.

[0009] In some implementations, the second measure may include one or more static or dynamic thresholds. For example, the first calculated interaction measure may indicate a duration of interaction with a location and the second measure may be a static threshold duration. If the first calculated interaction measure fails to meet the threshold duration, the aspect may indicate a "quick stop" business (e.g., a fast food restaurant), while if it meets the threshold duration, the aspect may indicate a "long stop" business (e.g., a long sit-down restaurant).

[0010] In some embodiments, the second measure may additionally or alternatively include additional calculated interaction measures based on a second group of calculated interactions other than the first group of calculated interactions utilized to determine the first calculated interaction measure. For example, the second group may include calculated interactions associated with a physical location that are different in time from the calculated interactions of the first group. For example, the first calculated interaction measure may indicate the amount of interaction with the location during one or more first time periods and the second measure may indicate the amount of interaction with the location during one or more second time periods. In addition, for example, the second group may include calculated interactions associated with one or more additional physical locations other than the location. For example, the first calculated interaction may indicate the amount of interaction with the location and the second measure may indicate the amount of interaction with one or more locations similar to the location (e.g., a "peer group" of physical locations). Additional descriptions of example aspects that may be determined and example techniques for determining these aspects are provided herein.

[0011] In some embodiments, a method is provided, the method comprising: identifying a group of computational interactions from one or more databases based on a group of computational interactions related to a physical location. The computational interactions of the group each indicate at least one of an actual visit to the physical location and an intent to visit the physical location, and the method further comprises: determining a first computational interaction metric for the physical location based on the group of computational interactions; determining a second computational interaction metric based on a second group including additional computational interactions other than the computational interactions of the group, the additional interactions including at least one of: additional physical location interactions associated with one or more additional physical locations other than the physical location, and temporally different interactions associated with the physical location and temporally different from the interactions of the group; and assigning an aspect to the physical location based on a comparison of the first interaction metric with the second interaction metric.

[0012] This method and other implementations of the technology disclosed herein may each optionally include one or more of the following features.

[0013] In some implementations, the method further includes: receiving a query from a computing device of a user; identifying information related to the physical location in response to the query; ranking the information relative to additional information responsive to the query based at least in part on the assigned aspects; and providing the ranked information and the additional information to the computing device of the user in response to the query. The query may include one or more terms and the step of ranking the information relative to the additional information based at least in part on the aspects may further include the steps of: determining a relationship between the aspects and at least one of the terms; and determining the ranking based on the relationship.

[0014] The second set of additional computing interactions may include additional physical location interactions, and the method may further include including the additional physical location interactions in the second set based on similarity between the additional physical location and the physical location. In some of those embodiments, the method may further include determining the similarity based on a comparison of at least one of a category and a geographic region of the physical location with at least one of a category and a geographic region of the additional physical location.

[0015] The calculated interactions of the group may be associated with one or more first time periods and the additional calculated interactions of the second group may include interactions that are different in time and may be associated with one or more second time periods. The first calculated interaction measure may indicate an amount of interaction with the physical location during the first time period and the second calculated interaction measure may indicate a second amount of interaction during the second time period. The aspect may indicate a difference in the amount of interaction and the second amount of interaction. The second time period may be a range of dates that are earlier in time than the first time period and the aspect may indicate a positive trend when the difference indicates an increase in meeting a threshold. The second time period may be a range of dates that are earlier in time than the first time period and the aspect may indicate a newly opened business when the difference meets a newly opened business threshold. The second time period may be a range of dates that are earlier in time than the first time period and the aspect may indicate a closed business when the difference indicates a decrease in meeting a closed business threshold. The first time period may be a first time range spanning multiple dates and the second time period may be a second time range spanning multiple dates and the aspect may indicate the popularity of the physical location during the first time range. The first time range and the second time range may each be one of: one or more segments of a day and one or more days of a week.

[0016] The first calculated interaction measure may indicate a measure of repeated interactions with the physical location as indicated by the calculated interactions of the group and the second calculated interaction measure may indicate repeated interactions with the additional physical location as indicated by the additional calculated interactions of the second group. The aspect may be indicative of customer loyalty. The step of determining the first calculated interaction measure may include: determining a measure of repeated interactions based on determining a frequency of each of one or more quantities of repeated interactions; and determining the first calculated interaction measure based on the measure of repeated interactions. The one or more quantities may be a plurality of discrete quantities.

[0017] The first calculated interaction metric may be indicative of an amount of interaction with the physical location.The aspect may be a measure of popularity.

[0018] The step of identifying a group of computing interactions may include determining the group based on an association of the computing interactions of the group with at least one of: a time period and a user attribute. The second group of additional computing interactions may include additional physical location interactions, and the method may further include the steps of: including the additional physical location interactions in the group based on a similarity between the associated additional physical location and the physical location; and identifying the additional interactions based on an association of the additional computing interactions with at least one of: the time period and the user attribute.

[0019] The method may further comprise the step of providing an indication of the aspect of the physical location to the computing device of the user in conjunction with the information relating to the location.

[0020] The method may also include the steps of: receiving a query indicating the aspect from a computing device of a user; identifying the physical location based at least in part on the query and the assignment of the aspect to the physical location; and providing information related to the physical location to the computing device. In some of those embodiments, the query may be a user selection of the aspect via a user interface.

[0021] The step of determining a group of calculated interactions may comprise the step of determining a group of interactions based on an amount of said interactions of said group that satisfy a privacy threshold.

[0022] In some embodiments, a method is provided, comprising: determining a group of computational interactions from one or more databases, the determination being based on an association of the group with interactions of a physical location; determining a first computational interaction metric based on the computational interactions of the group; determining a second metric; and assigning an aspect to the physical location based on a comparison of the first computational interaction metric with the second metric.

[0023] In some embodiments, a method is provided, comprising: identifying a first group of computational interactions associated with a physical location from one or more databases; identifying a second group of computational interactions associated with one or more additional physical locations from the one or more databases, wherein the one or more additional physical locations satisfy one or more criteria; determining a first computational interaction metric for the physical location based on the first group of computational interactions; determining a second computational interaction metric for the one or more additional physical locations based on the second group of computational interactions; and automatically generating a text description of the physical location based on a comparison of the first computational interaction metric with the second computational interaction metric.

[0024] The method and other embodiments of the technology disclosed herein may each optionally include one or more of the following features. In some embodiments, the one or more criteria may include being located within a geographic area associated with the physical location. In some embodiments, the method may also include selecting the geographic area based at least in part on the popularity or size of the geographic area. In some embodiments, the one or more criteria may include being associated with a specific price range.

[0025] In some embodiments, the method may further include limiting the specific price range based on a price range associated with the physical location or a user preference. In some embodiments, the one or more criteria may include being associated with a specific category. In some embodiments, the one or more criteria may include being located within a geographic area associated with the physical location. In some embodiments, automatically generating the textual description of the physical location includes including in the textual description an indication of how the first calculated interaction metric compares to the second calculated interaction metric.

[0026] In some embodiments, the method further comprises determining the one or more criteria based on contextual data associated with a user computing device. In some embodiments, the contextual data may include a user search performed on the user computing device related to a physical location that satisfies the one or more criteria. In some embodiments, the contextual data may include a location of the user computing device. In some embodiments, the contextual data may include a routing query performed on the user computing device.

[0027] Other embodiments may include a non-temporal computer-readable storage medium storing instructions executable by a processor to perform a method such as one or more of the methods described above. Yet another embodiment may include a system comprising a memory and one or more processors operable to execute instructions stored in the memory to perform a method such as one or more of the methods described above.

[0028] It should be understood that all combinations of the above-described concepts and additional concepts described in more detail herein are contemplated as part of the subject matter disclosed herein. For example, all combinations of the claimed subject matter appearing at the end of this disclosure are contemplated as part of the subject matter disclosed herein. BRIEF DESCRIPTION OF THE DRAWINGS

[0029] Figure 1 An example environment is shown in which aspects of a physical location may be determined and / or a textual summary about the physical location may be generated based on computing interactions related to the physical location.

[0030] Figure 2 Examples are shown of how aspects of a physical location may be determined and assigned to the physical location and how a textual summary about the physical location may be generated based on computing interactions related to the physical location.

[0031] Figure 3 A flow chart illustrating an example method of assigning an aspect to a physical location in accordance with various implementations.

[0032] Figure 4 A flow chart illustrating an example method of generating a text summary about a physical location in accordance with various implementations.

[0033] Figure 5 An example interface including information provided based on aspects of location and one or more generated text summaries is shown.

[0034] Figure 6 An example architecture of a computer system is shown. DETAILED DESCRIPTION

[0035] Figure 1An example environment is shown in which aspects of a physical location (also referred to herein simply as a "location") can be determined and / or a text summary can be generated based on computing interactions (also referred to herein as "interactions") related to and / or associated with the physical location. The example environment includes a client device 105, an aspect determination system 120, and an information system 140. The aspect determination system 120 can be implemented in one or more computers that communicate, for example, over a network (not depicted). The aspect determination system 120 is an example of a system in which the systems, components, and techniques described herein can be implemented and / or can interface with the systems, components, and techniques described herein.

[0036] Client device 105, aspect determination system 120, and information system 140 each include one or more memories for storing data and software applications, one or more processors for accessing data and executing applications, and other components that facilitate communication over a network. The operations performed by aspect determination system 120 and / or information system 140 may be distributed across multiple computer systems.

[0037] The client device 105 may be a computer coupled to the aspect determination system 120, the information system 140, and / or other components (e.g., the interaction database 152 and / or components that manage the interaction database 152) via one or more networks 101, such as a local area network (LAN) or a wide area network (WAN) such as the Internet. The client device 105 may be, for example, a desktop computing device, a laptop computing device, a tablet computing device, a mobile phone computing device, a computing device of a user's vehicle (e.g., an in-vehicle communication system, an in-vehicle entertainment system, an in-vehicle navigation system), or a wearable device of a user including a computing device (e.g., a user's watch with a computing device, a user's glasses with a computing device). Additional and / or alternative client devices may be provided.

[0038] As described herein, in determining aspects of a physical location, aspect determination system 120 may utilize interactions from interaction database 152 that indicate computing interactions by a user related to the physical location. One or more of these computing interactions may indicate activities of the user via a computing device such as client device 105. For simplicity, in Figure 1 Only a single client device 105 is illustrated in and described in some examples herein. However, the activities of multiple users via multiple client devices may be utilized in determining aspects of the physical location. Moreover, although a user will likely operate multiple computing devices, and aspects of the physical location may be determined based on the user's actions via multiple computing devices, for the sake of brevity, the specific examples described in this disclosure will focus on a user operating a client device 105.

[0039] Client device 105 may operate one or more applications and / or components, such as those that facilitate user selections and / or input that may indicate computing interactions related to a physical location, those that provide location data that may indicate user interactions related to a physical location, and / or those that facilitate providing search results, suggestions, and / or other information related to a physical location based on output of information system 140. These applications and / or components may include, but are not limited to, browser 106, location coordinate components such as global positioning system ("GPS") component 108 (other location coordinate technologies such as cellular or Wi-Fi-based triangulation may be used), mapping application 110 (e.g., to obtain driving directions to or from the location), and the like. In some instances, one or more of these applications and / or components may be operated on multiple client devices operated by a user. Figure 1 Other components of the client device 105 not depicted in the figure that can provide indications of user interactions with physical locations can include, but are not limited to, a calendar application (e.g., based on an entry identifying a location), a phone application (e.g., based on a call to or from a number associated with a location), email (e.g., based on email receipt from a location, email saving for a location), a social networking application (e.g., based on posts related to a location, check-ins to a location, comments on a location), a virtual wallet application (e.g., based on purchases associated with a location), a search application (e.g., based on searches associated with a physical location), a camera application (e.g., based on geotags included in photos captured via a camera), etc. Some of the foregoing example components can be stand-alone components or can be optionally accessed via the browser 106 or another component.

[0040] The interaction database 152 may store records of computing interactions by multiple users related to physical locations. Typically, computing interactions of the interaction database 152 related to a physical location include an identifier of the physical location, such as an address (e.g., latitude / longitude, street address), an alias, and / or an entity identifier. The computing interaction may optionally include additional information related to the interaction, such as, for example, the date of the interaction, the time associated with the interaction (e.g., a single time, a time range, and / or a time indicating the duration of the interaction), a confidence measure (e.g., a confidence based on the source of the interaction), etc. The computing interactions that may be recorded in the interaction database 152 include, for example, a directions query for driving directions to a location, a search related to a location, location data from a mobile device, a check-in to a location, a comment on a location, a calendar entry identifying a location, a media item including a geotag identifying a location, extracted, saved or received information related to a location (e.g., extracted from an email), a user's browsing history related to a location (e.g., indicating one or more documents such as web pages visited by the user), and / or a location starred or otherwise flagged on a map and / or other interface.

[0041] Various components can provide indications of computing interactions for storage in the interaction database 152, and separate components can optionally maintain the interaction database 152. Examples of components that can provide interactions for storage in the interaction database 12 include, for example, client devices 105 and other computing devices of other users, information systems 140 and other systems, email systems executed on one or more computing devices, navigation systems and / or GPS-enabled devices and / or one or more other components that can identify interactions with locations. Although only a single interaction database 152 is illustrated, in various embodiments the interaction database 152 may include multiple databases. For example, a first database may include route queries related to a location and a second database may include location data related to a location from a user's mobile computing device. In some embodiments, the interaction database 152 may include entries for multiple users, and access to the user's entries in the database may be allowed for only the user and / or one or more other users or for components such as the aspect determination system 120 authorized by the user.

[0042] In situations where the systems described herein collect personal information about a user or can utilize personal information, the user may be provided with an opportunity to control whether a program or feature collects user information (e.g., information about the user's social network, social actions or activities, occupation, the user's preferences, or the user's current geographic location) or to control whether and / or how to receive content that may be more relevant to the user from a content server. In addition, specific data may be processed in one or more ways before it is stored or used so that personally identifiable information is removed. For example, the user's identity may be processed so that personally identifiable information cannot be determined for the user, or the user's geographic location may be generalized (such as to a city, zip code, or state level) when geographic location information is obtained so that the user's specific geographic location cannot be determined. Thus, the user may control how information is collected and / or used about the user.

[0043] The point of interest ("POI") database 154 may include a collection of entities and, for each of one or more of these entities, a mapping to one or more attributes associated with the entity and / or one or more other entities related to the entity. For example, the POI database 154 may be a knowledge graph, such as a local knowledge graph that includes entities associated with businesses and / or other locations and includes attributes of each of these entities such as phone numbers, addresses, opening hours, most popular times, etc.

[0044] In some implementations, the POI database 154 may be utilized to identify one or more locations associated with computing interactions of the interaction database 152. For example, the physical locations identified in the POI database 154 may be associated with addresses, longitudes and latitudes, and / or other coordinates that may be utilized to map interactions of the interaction database 152 by physical location. Additionally, for example, each of the one or more physical locations identified in the POI database 154 may be associated with one or more aliases of the physical location and / or aliases of attributes of the location, and those aliases may be utilized to map interactions of the interaction database 152 by physical location.

[0045] In various embodiments, the grouping engine 122 may utilize information from the POI database 154 to determine groups of interactions from the interaction database 152. For example, the grouping engine 122 may identify points of interest associated with longitude and latitude coordinates in the POI database 154 and further determine groups of interactions associated with those same longitude and latitude coordinates and / or with coordinates within a threshold distance of those longitude and latitude coordinates. For example, the grouping engine 122 may identify Restaurant 1 and the latitude and longitude of Restaurant 1 from the POI database 154. The grouping engine 122 may also determine groups of interactions associated with locations within 50 yards of the identified latitude and longitude of Restaurant 1. Additionally, for example, Restaurant 1 may be associated with a street address in the POI database 154 and the grouping engine 122 may identify one or more interactions from the interaction database 152 that include navigation route directions to the street address of Restaurant 1. Additionally, for example, the grouping engine 122 may identify one or more aliases for Restaurant 1 in the POI database 154 and determine groups of interactions from the interaction database 152 that are associated with one or more of the aliases (and optionally associated with additional attributes of the alias such as a location near Restaurant 1 or a category associated with Restaurant 1).

[0046] In this specification, the term "database" will be used extensively to refer to any collection of data. The data of the database does not need to be constructed or fully constructed in any particular way, and it can be stored on a storage device in one or more locations. Therefore, for example, databases 152, 154 and / or 158 can include multiple collections of data, each of which can be organized and accessed differently. In addition, for example, all or part of databases 152, 154 and / or 158 can be combined into one database, and / or pointers and / or other links between entries in the database can be included. In addition, in this specification, the term "entry" will be used extensively to refer to any mapping of multiple associated information items. A single entry does not have to exist in a single storage device, and can include pointers or other indications of information items that can exist on other storage devices. For example, an entry that identifies a computational interaction in an interaction database 152 can include multiple nodes mapped to each other, each of which includes an identifier of an entity, or other information items that can exist in another data structure and / or another storage medium.

[0047] The aspect determination system 120 can determine one or more aspects to assign to a location based on a user's location-related computed interactions. In various implementations, the aspect determination system 120 can include a grouping engine 122, an interaction metric engine 124, an aspect engine 126, and / or a text summary generation engine 128. In some implementations, one or more of the engines 122, 124, 126, and / or 128 can be omitted. In some implementations, all or aspects of one or more of the engines 122, 124, 126, and / or 128 can be combined. In some implementations, one or more of the engines 122, 124, 126, and / or 128 can be implemented in a component separate from the aspect determination system 120.

[0048] In general, the grouping engine 122 determines groups of computing interactions that are each associated with a physical location or a group of physical locations. For example, the grouping engine 122 can determine the groups of computing interactions from an interaction database 152 that includes computing interactions of a user and a specific physical location such as a business, a landmark, a tourist attraction, or a park. As described herein, the grouping engine 122 can optionally consider one or more additional parameters when determining groups of user interactions other than groups associated with a physical location or a group of physical locations. For example, the grouping engine 122 can determine a group of interactions associated with one or more physical locations and also associated with: one or more dates such as a specific date, a specific date range, and / or a specific day of the week; one or more times such as a single time, a time range, and / or a time indicating the duration of an interaction; at least a threshold confidence measure (e.g., confidence based on the source aspect of the interaction); one or more user attributes such as indicating an attribute of a specific user group; one or more specific sources (e.g., only location data, only driving route guidance); and the like.

[0049] For example, the grouping engine 122 may determine groups of interactions of a user at a location during one or more time periods (e.g., interactions of a user at Restaurant 1 between 11 a.m. and 1 p.m.). Additionally, for example, the grouping engine 122 may determine groups of interactions of a user at multiple locations that include categories of locations within a geographic area (e.g., interactions of a user with pizza restaurants within a particular neighborhood or even within a particular geo-fence). Which parameters are utilized by the grouping engine 122 in determining one or more groups of user interactions may be based at least in part on the desired aspects to be determined with respect to the location. Examples of example aspects that may be determined with respect to the location and parameters that may optionally be considered in determining one or more groups of interactions for utilization in determining the example aspects are provided herein.

[0050] In some embodiments, the grouping engine 122 may determine a first set of interactions associated with a location and determine a second set of interactions associated with one or more locations that are similar to the location (referred to herein as "peer groups"). For example, the grouping engine 122 may determine a first set of interactions associated with a restaurant and determine a second set of interactions that includes interactions associated with other locations that have a cuisine type, price, customer base, geographic region, location category (e.g., restaurant), and / or other attributes that are similar to the attributes of the location. In some embodiments, similarity may be defined as requiring an exact match between one or more attributes (e.g., the restaurant and the other location must have a common cuisine type) and / or a soft match between one or more attributes (e.g., the restaurant and the other location must be associated with an average price that is within a threshold of each other). Geographic areas may be defined with various levels of granularity such as zip codes, neighborhoods, cities, regions, area codes, and the like.

[0051] In some embodiments of determining a group, the grouping engine 122 may determine that one or more interactions are outliers and do not include these interactions in the group. Outliers may be identified and removed from the group based on one or more techniques (such as truncation means and / or tailing means), and / or interactions below a threshold duration and / or above a threshold duration may be discarded. For example, the grouping engine 122 may not include interactions associated with a duration greater than a threshold for a visit because they may indicate interactions of employees rather than customers. In addition, for example, the grouping engine 122 may identify the opening and / or closing times of a location, and determine that interactions from users that exist before the opening hours and / or after the closing hours are likely to be employees. In addition, for example, in some embodiments, one or more interactions may be associated with a confidence level, and only interactions that meet a threshold confidence level may be included in the group of interactions by the grouping engine 122. For example, if the exact location may not be accurately determined (e.g., the interaction may be based on inaccurate location data indicating an area containing multiple points of interest), interactions indicating multiple potential locations may be associated with a low confidence level. In some embodiments, the grouping engine 122 can determine a group of interactions associated with a physical location only when the count of indicated interactions that satisfy the parameters of the group meets a threshold. For example, the grouping engine 122 can determine a group of calculated interactions only when the count of indicated interactions for the group is above 100 interactions. In some embodiments, the grouping engine 122 can determine a group of calculated interactions associated with a physical location only when the count of users with interactions that satisfy the parameters of the group meets a threshold. For example, the grouping engine 122 can determine a group of calculated interactions only when the group includes interactions from at least X users. In some embodiments, the group of interactions may conform to a distribution, such as a lognormal distribution and / or a Weibull distribution, and the parameters of the distribution may be utilized by one or more components.

[0052] The interaction measurement engine 124 can determine one or more calculated interaction metrics based on one or more groups of calculated interactions determined by the grouping engine 122. For example, the grouping engine 122 can determine a group of interactions that includes calculated interactions through a group related to a location, and the interaction measurement engine 124 can determine one or more metrics indicating the duration of the user's interaction indicated by the group of interactions. In some embodiments, the metric can include the average or median duration of a visit (e.g., as indicated by the length of time that the user's GPS reading remains within a specific radius or the length of time between entering and exiting GPS readings). In some embodiments, the metric can additionally or alternatively include a continuous or discrete distribution of the duration of the visit, such as a median with a standard deviation, a vector including all lengths of the visit, or a count of the length of the visit within one or more durations (e.g., a count of durations from 0 to 5 minutes, a count of durations from 5 to 10 minutes, etc.), etc. In addition, for example, the interaction measurement engine 124 can determine one or more metrics indicating the amount of visits by users to the location based on the group of interactions for the location. For example, metrics may include a raw count of interactions for the group, an average and / or median count for each day or other time period, and / or a continuous or discrete distribution of the amount of interactions (e.g., a median with a standard deviation, a vector including the raw count or averages for each of multiple time periods (e.g., a count of interactions per day over the past two weeks; a count of interactions during a first time period, a second time period, etc.)). Which metrics are determined by the interaction metric engine 124 may be based at least in part on the aspects desired to be determined with respect to location. Examples of example aspects that may be determined with respect to location and one or more metrics that may optionally be considered in determining the example aspects are provided herein.

[0053] In some implementations, the interaction measurement engine 124 may determine an interaction measurement based on an average of one or more of the interactions of a group of interactions. For example, the grouping engine 122 may determine a group of location data interactions for a location between 11 a.m. and 1 p.m. (i.e., lunch time) on multiple dates and the interaction measurement engine 124 may determine an interaction measurement indicating the average duration of interactions with the location initiated during that time. Additionally, for example, the grouping engine 122 may determine a group of location data interactions for a location between 5 p.m. and 9 p.m. (i.e., dinner time) on multiple dates and the interaction measurement engine 124 may determine an interaction measurement indicating the average duration of interactions with the location that occurred during that time.

[0054] In some implementations, the interaction measurement engine 124 may determine one or more metrics indicating the amount of interactions during multiple discrete intervals. For example, the grouping engine 122 may determine a group of interactions of the user with Restaurant 1, and the interaction measurement engine 124 may determine an interaction metric indicating the number of interactions that occurred between 11 a.m. and 12 p.m., between 12 p.m. and 1 p.m., between 1 p.m. and 2 p.m., etc. Additionally, for example, the grouping engine 122 may determine a group of interactions for all restaurants in the same city as Restaurant 1 and the interaction measurement engine 124 may determine an interaction metric indicating the average number of interactions per restaurant within the same discrete interval.

[0055] In some implementations, the interaction measurement engine 124 may determine one or more interaction metrics based on confidence values ​​associated with the interactions. For example, as described herein, an interaction with a location may be associated with a confidence value indicating a confidence that the interaction indicates an actual interaction with the location. The interaction measurement engine 124 may weight one or more of these interactions using the associated confidence values. As an example, the interaction measurement engine 124 may weight an online check-in of a user at a location more heavily than a non-routing search related to the location.

[0056] The aspect engine 126 may determine an aspect of a location based on one or more interaction metrics determined by the interaction metric engine 124, and may assign the aspect to the location. For example, the aspect engine 126 may associate an aspect with a location in the POI database 154. As one example of determining an aspect, the interaction metric engine 124 may determine an interaction metric indicating an average interaction time at a restaurant location, and the aspect engine 126 may compare the interaction metric with a second metric to determine whether the restaurant location is a "quick snack" location or a longer "sit-down" location. For example, the second metric may be a threshold such as 30 minutes, and if the interaction metric is less than the threshold, the aspect of the restaurant may indicate a "quick snack" location. Additionally, for example, the second metric may be based on the average interaction time of other similar locations (e.g., other restaurants in the area and / or other restaurants of the same type), and if the interaction metric is less than the average or exceeds a threshold that is less than the average, the aspect of the restaurant may indicate a "quick snack" location. As another example of determining an aspect, the interaction metric engine 124 may determine a first calculated interaction metric indicating an average amount of daily dinner time interactions with a restaurant during the past 6 months and a second calculated interaction metric indicating an average amount of daily dinner time interactions with the restaurant during the past week. The aspect engine 126 may determine that the second calculated interaction metric indicates an increase in interactions relative to the first calculated interaction metric and determine an aspect that the restaurant is "trending upward."

[0057] In some embodiments, the aspect engine 126 may optionally utilize one or more rules when determining aspects for a location. For example, a first rule may be utilized to determine a first aspect for all locations or a class of locations, and a second rule may be utilized to determine a second aspect for all locations or a class of locations. As an example of a rule that may be utilized, the aspect engine 126 may identify a location as having an aspect indicating an "upward trend" based on determining that the difference between a first measure indicating an amount of interactions that are more recent in time and a second measure indicating an amount of interactions that are less recent in time satisfies a threshold, percentage, and / or ratio. For example, the aspect engine 126 may determine that a restaurant is on an upward trend if a first calculated interaction measure and a second calculated interaction measure indicate an increase in interactions of at least 20% (e.g., a restaurant may have an "upward trend" aspect if a first measure indicating an average amount of daily interactions during a past interest period is 50% greater than a second calculated interaction measure indicating an average amount of interactions during a past six-month period). As another example of a rule that may be utilized, the aspect engine 126 may identify a location as having an aspect indicating a "slightly increasing trend" based on determining that a difference between a first measure indicating an amount of more recent interactions in time and a second measure of an amount of less recent interactions in time satisfies a first threshold, and as having an aspect of a "significantly increasing trend" if the difference satisfies a second threshold. Which techniques are employed by the aspect engine 126 to determine the aspects may be based at least in part on the desired aspects to be determined, the groups determined by the grouping engine 122, and / or on the interaction metrics determined by the interaction metrics engine 124. Examples of example aspects that may be determined for a location and one or more example techniques that may optionally be utilized in determining such aspects are provided herein.

[0058] In some embodiments, the aspect engine 126 may determine an aspect of a location based on multiple groups of interactions for the location. As an example, the grouping engine 122 may determine a first group of interactions for a location during lunch time and a second group of interactions for the location during dinner time. The interaction measurement engine 124 may determine a first metric (based on the first group) indicating average user interactions at lunch and a second metric (based on the second group) indicating average interactions at dinner time. The aspect engine 126 may determine an aspect indicating that the location is "more popular for lunch than dinner" based on determining that the first metric is greater than the second metric and / or based on determining that the proportion of interactions occurring during lunch (i.e., the first metric) indicates that the location has more business during lunch than during dinner. As another example, the grouping engine 122 may determine a first group of interactions for a location associated with weekdays and a second group of interactions associated with weekends. The interaction measurement engine 124 may determine a first metric (based on the first group) indicating average daily interactions on weekdays and a second metric (based on the second group) indicating average daily interactions on weekends. The aspect engine 126 may determine an aspect that indicates whether a location is more popular on weekdays or weekends. For example, the aspect engine 126 may determine an aspect of "popular weekday location" where the interaction metric determined by the interaction metric engine 124 indicates more average daily weekday interactions than weekend interactions. As yet another example, the aspect engine 126 may determine that a location has recently opened or closed based on comparing a first calculated interaction metric indicating the amount of interactions with the location during a recent time period (e.g., the past 5 days) with a second calculated interaction metric indicating the amount of interactions during a time period that includes less recent interactions (e.g., the past 3 months, optionally including the past 5 days). For example, if the comparison indicates a significant increase in interactions, a "recently opened" aspect may be determined for the location. Additionally, for example, if the comparison indicates a significant decrease in interactions and the first calculated interaction metric indicates relatively fewer or no recent interactions, a "recently closed" aspect may be determined for the location.

[0059] In some embodiments, the aspect engine 126 can determine an aspect of a location based on comparing a first calculated interaction metric determined based on a group that includes only interactions with the location with a second calculated interaction metric determined based on a group that includes interactions with one or more other locations other than the location. For example, the grouping engine 122 can determine a first group of interactions for all Italian restaurants in a geographic area and the interaction metric engine 124 can determine a first calculated interaction metric indicating an average amount of daily interactions per restaurant based on the group. Additionally, the grouping engine 122 can determine a second group of interactions for a specific Italian restaurant in the geographic area and the interaction metric engine 124 can determine a second calculated interaction metric indicating an average amount of daily interactions with the specific Italian restaurant based on the second group. Based on comparing the first metric with the second metric, the aspect engine 126 can determine an aspect indicating the popularity of the specific Italian restaurant. For example, if the average amount of daily interactions for the restaurant is greater than the average amount of daily interactions for all Italian restaurants in the geographic area, the aspect can indicate that the restaurant is a popular Italian restaurant.

[0060] The text summary generation engine 128 can be configured to automatically generate one or more text summaries about a physical location based on signals provided by various components (such as the interaction metric engine 124 and / or the aspect engine 126). For example, in some embodiments, the text summary generation engine 128 can be configured to automatically generate a text description of a physical location based on a comparison of two or more interaction metrics. This comparison can be the same comparison that produces one or more aspects assigned to the physical location, and in fact, in some embodiments, the text summary generation engine 128 can additionally or alternatively automatically generate a text description of the physical location based on one or more aspects assigned to the physical location. The text summary can fall into various categories, including a text summary that describes a physical location in comparison with a "peer group" of similar locations (the peer group can also include the location itself) and a text summary that describes the absolute characteristics of the physical location.

[0061] The textual summary comparing the physical location to a peer group may include a textual summary comparing the physical location to other physical locations (i.e., peer groups) that meet one or more criteria. For example, the textual summary "Most searched Italian restaurants in Silicon Valley" compares the physical location (Indian restaurants in Silicon Valley) to the peer group of Italian restaurants in Silicon Valley. "Most popular bakery in Deer Park" compares the physical location (bakery in Deer Park) to the peer group of bakeries in Deer Park. "Cheapest French restaurant with full bar in Queens" compares the physical location (French restaurant in Queens) to the peer group of French restaurants with full bar in Queens.

[0062] The peer group to be compared to the physical location may be selected based on one or more criteria. These criteria may include, but are not limited to, being located in a particular geographic area, being of a particular category (e.g., Indian restaurant, Italian restaurant, Mexican restaurant, bar, bakery, coffee shop, etc.), selling goods / services within a particular price range, having one or more features (quiet environment, outdoor seating, full bar, waterfront view, live music, etc.), etc.

[0063] One or more criteria for including a physical location in a peer group may be selected, for example, by the grouping engine 122 based on various signals. These signals may come from various sources (such as the client device 105) (directly or indirectly), or from the information system 140. One such signal is a particular location that the user is potentially interested in. If the user indicates (explicitly or implicitly) that he is potentially interested in booking a room at a particular luxury hotel, the criteria for selecting a peer group for a hotel may include hotels with a price range similar to that of the particular hotel, or other hotels that best match the user's particular preferences (e.g., hotels with a particular number of stars, hotels with gyms, etc.).

[0064] Another signal for determining one or more criteria for including a physical location in a peer group is contextual data associated with the user's computing device. The contextual data associated with the user's computing device (e.g., smart phone, smart watch, smart glasses, etc.) may include, but is not limited to, location coordinates (e.g., obtained using GPS 108 or other means such as cellular triangulation), search engine queries performed using the browser 106, directions queries performed using the mapping application 110, and the like. Assume that the user is located in a particular neighborhood (e.g., as determined by her GPS coordinates) and uses her mobile phone to search for "cheap Italian restaurants". Based on the user's context, the grouping engine 122 can, for example, obtain from the interaction database 152 and calculate interactions related to Italian restaurants that meet a specific price range (e.g., "$" or "$$") within a geographic area (e.g., determined based on her location coordinates). If a specific Italian restaurant that fits these criteria is determined, for example, by the interaction measurement engine 124 and / or the aspect engine 126 to be more popular than the rest of its peers, the text summary generation engine 128 can generate a text summary for the restaurant, such as "the most popular cheap Italian restaurant in the neighborhood" or something to that effect. If another Italian restaurant that fits these criteria is determined, for example by the interaction metrics engine 124 and / or the aspect engine 126, to have better outdoor seating than the rest of its peers, the text summary generation engine 128 may generate a text summary for that restaurant such as "best outdoor seating for an inexpensive Italian restaurant in the neighborhood" or something to that effect.

[0065] Another signal for selecting one or more criteria for including a physical location in a peer group may additionally or alternatively be contextual data associated with a user (e.g., relative to the user's computing device). Assume that an online calendar entry associated with the user indicates that the user is scheduled to be in a particular geographic area shortly after lunch. Assume further that the user uses her mobile phone to search for "fast food spots." The grouping engine 122 may, for example, select from the interaction database 152 interactions related to locations at or near the geographic location that are known to provide relatively fast lunch options. Other user-related contextual data that may be used to determine criteria for selecting a peer group for a physical location may include user preferences, user budgets, user social network status updates, and the like.

[0066] Another signal for selecting one or more criteria for including a physical location in a peer group may additionally or alternatively be non-user related information such as popularity or size of a geographic area. For example, assume a user is located in Hollywood and searches for "Indian food." A text summary describing a particular search result as "the best Indian restaurants in California" would not be as useful as, for example, "the best Indian restaurants in Las Vegas." Therefore, the size and / or popularity of the geographic area associated with the user's location may be used, for example, by the grouping engine 122 to determine criteria for selecting interactions from the interaction database 152. In some embodiments, if a particular physical location is unique within a geographic area (or more generally, a single member of a particular peer group), a special text summary such as "the only bourbon bar in St. Matthews" may be generated, for example, by the text summary generation engine.

[0067] Another category of textual summaries includes textual summaries that describe a physical location in terms of its own absolute terms rather than in comparison with a peer group of other physical locations. As described above, computing interactions related to a physical location can be analyzed, for example, in terms of different time periods (e.g., lunch time versus dinner time). Examples of absolute summaries include, but are not limited to, "a large number of visitors are returning to this location," "this place is getting busier," "this spot is more popular for brunch than for dinner," and the like. In various embodiments, these textual summaries can be generated, for example, by a textual summary generation engine 128 based on one or more aspects assigned to a physical location by an aspect engine 126.

[0068] Generally, the information system 140 utilizes aspects that have been determined by the aspect determination system 120 and / or text summaries generated by the text summary generation engine 128 when providing information to the user. The information system 140 may utilize these aspects and / or text summaries, for example, when determining information to provide (e.g., the aspects may be included in the information) and / or when determining when or how to provide the information (e.g., the aspects may be utilized to select the information and / or rank the information relative to other information). For example, the information system 140 may identify that the user is interested in one or more locations and provide information related to the one or more locations based on the determined aspects of the locations. In some embodiments, the text summary generation engine 128 may be integrated with the information system 140 instead of the aspect determination system 120. In other embodiments, the text summary generation engine 128 may be a separate component independent of the aspect determination system 120 and the information system 140.

[0069] The information system 140 may be, for example, a search engine, a notification and / or suggestion system, and / or one or more other systems that may provide location-related information to a computing device of a user based on implicit and / or explicit indications from the computing device (e.g., based on a query from the computing device, a selection of the user via the computing device, based on access to an application via the computing device such as access to a suggestion system). The information system 140 may optionally communicate with an information database 158. The information database 158 may include information that may be utilized by the information system 140 to provide information to the user. For example, the information database 158 may include an index of documents, web pages, and / or other information items that may be utilized to identify information to be provided to the user. As an example, the information system 140 may be a search engine and the information database 158 may be a search index that is utilized to identify documents in response to a search query. As described herein, the documents may optionally be ranked for the search query based on determined aspects associated with the documents. In some implementations, information system 140 and / or another component may optionally update information database 158 based on aspects determined by aspect engine 126 and / or text summaries generated by text summary generation engine 128. For example, when information database 158 is an index of web pages and other documents, the index may be updated to include information related to aspects determined herein (e.g., web pages associated with a location may be indexed based on determined aspects of the location).

[0070] In some implementations, the information system 140 may select and / or rank search results in response to a submitted search query based on the determined aspects. For example, a user may provide a search query of "trendy lunch places" and the information system 140 may identify information in the information database 158 related to one or more nearby locations that are restaurants. Based on the inclusion of "trendy" in the search query, the information system 140 may also identify one or more of the identified locations as being associated with a determined aspect indicating serving lunch and / or indicating a recent "upward trend" in terms of popularity. The information system 140 may select these identified locations for provision in response to the search query and / or improve the ranking of these locations in search results provided in response to the search query. As another example, a user may provide a query of "new restaurants" and the information system 140 may (e.g., based on the presence of "new" in the search query) identify one or more locations in the POI database 154 that are associated with an aspect indicating that the restaurant has recently opened and select information related to these locations for provision in response to the query and / or for more prominent provision in response to the query.

[0071] In some embodiments, one or more search results may be selected and / or ranked based on the determined aspects, even when the terms of the query do not indicate an interest in the determined aspects. For example, a user may provide a search query for "Italian restaurants" and the information system 140 may identify one or more web pages responsive to the query via the information database 158. The information system 140 may identify one or more locations associated with the web pages in the POI database 154 and further identify one or more aspects associated with the locations. The information system 140 may provide search results including local Italian restaurants and restaurants that have been associated with the "trending up" aspect may be promoted and / or otherwise displayed more prominently than one or more other search results.

[0072] As described, in some embodiments, the information system 140 may provide location-related information independently of any query submission by the user. For example, the information system 140 may be a notification or suggestion system that may provide information about a location with a "highly popular" or "upward trending" aspect to the user without the user submitting a query related to the location. For example, the information may be "pushed" to the user and / or provided in response to the user accessing the suggestion system or selecting an interface element in the suggestion system. In addition, for example, the information system 140 may provide one or more suggestions in response to a user's selection who is not explicitly typing, speaking, or otherwise inputting a query. For example, a user may select a user interface element for requesting nearby "popular restaurants" and the information system 140 may select information about one or more restaurants based on a determined aspect indicating that the restaurant is "popular". In addition, for example, the information system 140 may be a mapping application that may provide a map with various points of interest for display on the user's computing device. The information system 140 may determine to include one or more of the points of interest based on the association of the points of interest with the one or more determined aspects and / or may determine to display one or more of the points of interest more prominently and / or with an additional description based on the association of the points of interest with the one or more determined aspects and / or based on the associated textual summary generated by the textual summary generation engine 128. In addition, for example, a "recently opened" location may be promoted in the ranking of information provided to the user. For example, if the user is familiar with the area, the restaurant in the location may not be provided to the user. Even if the user is familiar with the area, the restaurant associated with the "recently opened" aspect may be provided to the user and the restaurant in the area will not be provided separately.

[0073] Although in Figure 1 Although depicted as separate components in FIG. 1 , in various implementations, all or a portion of the aspect determination system 120 and / or the information system 140 may be optionally combined. Additionally, in some implementations, the information system 140 may be omitted.

[0074] Figure 2An example is shown of how aspects of a physical location can be determined and assigned to the physical location and how one or more text summaries can be generated and provided to the information system 140 based on computing interactions related to the physical location. Computing interactions related to the location are stored in the interaction database 152. The grouping engine 122 can be configured to determine a group of interactions including interactions for a specific location for a peer group of locations, for a category of users, for one or more specific moments, and / or based on one or more other criteria. In some embodiments, the grouping engine 122 can identify a physical location based at least in part on information in the POI database 154. For example, the grouping engine 122 can identify a location in the POI database 154 and determine a group of interactions related to the identified location (e.g., all interactions with the location, interactions at one or more moments, and / or during a certain time period). In addition, for example, the grouping engine 122 can determine computing interactions of the interaction database 152 related to a specific location based on other information in the POI database 154 (e.g., based on an alias, address, or other information that maps interactions to locations in the POI database 154).

[0075] As an example, the grouping engine 122 can identify the location of Restaurant 1 Italian restaurant and the coordinates and / or address of the location. The grouping engine 122 can also determine the group of calculated interactions from the interaction database 152 that includes calculated interactions related to Restaurant 1 during the past month. The grouping engine 122 can provide one or more groups of calculated interactions to the interaction measurement engine 124 to determine one or more interaction metrics for each group. For example, for each of these groups, the interaction measurement engine 124 can determine an interaction metric indicating the average number of interactions per day. In addition, for example, the interaction measurement engine 124 can determine an interaction metric indicating the average number of interactions per hour per day during the time period of each group's interactions. The interaction measurement engine 124 can provide these interaction metrics to the aspect engine 126.

[0076] In some implementations, only one group of interactions may be determined and only one interaction metric may be determined for a location, as indicated by the dashed line for the second group of interactions and Figure 2, indicating that those aspects are optional. For example, the first calculated interaction measure may be the percentage of total interactions that occur at the location per hour (e.g., 5% of the total average interactions that occur between 10 a.m. and 11 a.m., 15% of the total average interactions that occur between 11 a.m. and 12 p.m., etc.). The second measure may not be determined from a group of interactions, but may instead be a threshold. For example, the second measure may be a threshold of 85% of interactions during lunch time, and the aspect engine 126 may determine that the location is a lunch restaurant by comparing the threshold to the percentage of total interactions per hour during lunch time.

[0077] The aspect engine 126 may determine one or more aspects for a location based on the interaction metrics and associate the aspects with the location in the POI database 154. For example, the interaction metric engine 124 may determine a first calculated interaction metric indicating average interactions during lunch time within the most recent month in time and a second calculated interaction metric indicating average interactions during lunch time within the past six months. The aspect engine 126 may determine an aspect of "trending upward in popularity for lunch" by comparing the interaction metrics and determining that the average lunch time interactions have increased by at least a threshold amount.

[0078] As another example of aspects that may be determined for a location, the aspect engine 126 may determine aspects that indicate whether customers of a location are loyal to the location (and optionally the degree of loyalty). For example, the grouping engine 122 may determine a group of interactions of users with Restaurant 1. The interaction metrics engine 124 may determine, based on the group, an interaction metric indicating the number of users who have interacted with the location once, the number of users who have interacted with the location twice, three times, and so on. Additionally, for example, the interaction metrics engine 124 may determine a second metric indicating the average number of times the group of users has interacted with other locations once, twice, three times, and so on (e.g., based on the group of interactions including additional locations such as other restaurants in a similar price range in the same area). The aspect engine 126 may determine aspects that indicate a restaurant has a loyal customer base (e.g., the more repeat customers, the more loyal) by comparing the count (or ratio) of repeat customers for the location to the count (or ratio) of repeat customers for one or more other locations.

[0079] As another example of determining aspects of customer loyalty for Italian restaurant A, a group of interactions associated with Italian restaurant A may be determined. If it is desired to determine loyalty among users having particular attributes, the group of interactions may optionally be selected by the grouping engine 122 based on association with one or more of those attributes in some embodiments. An interaction metric indicating a measure of repeated interactions with Italian restaurant A may be determined by the interaction metric engine 124 based on the group of interactions. For example, the interaction metric may be an average amount of interactions by a user, a median amount of interactions by a user, and / or a continuous or discrete distribution of amounts of interactions (e.g., a median with a standard deviation, a vector including raw counts or frequencies for each of a plurality of amounts of interactions such as one interaction, two interactions, three interactions, etc.).

[0080] As another example, the grouping engine 122 may determine a group to calculate interactions for Restaurant 1 and additionally determine a group to calculate interactions for a group of other Italian restaurants. The interaction metric engine 124 may determine a metric of interactions for Restaurant 1 and the other Italian restaurants. The facet engine 126 may determine a facet of the restaurant related to the popularity of Restaurant 1 based on the metric of interactions. For example, the facet engine 126 may determine that Restaurant 1 is a popular place to eat Italian food for dinner by determining that the interactions with Restaurant 1 at dinner time are greater than the average number of interactions at other Italian restaurants at dinner time.

[0081] As an example of determining an aspect of Italian restaurant A indicating a trend for Italian restaurant A, a group of calculated interactions associated with Italian restaurant A and associated with a recent time period (e.g., the last X days) can be determined by the grouping engine 122. If it is desired to determine a trend among users with specific attributes, the interactions of the group can be optionally selected by the grouping engine 122 based on an association with one or more of those attributes in some embodiments. An interaction metric indicating the amount of interaction with Italian restaurant A can be determined by the interaction metric engine 124 based on the group of interactions. For example, the interaction metric can be the average amount of interaction per day during the last X days. A second calculated interaction metric can be determined from a second group of interactions including interactions during the next last X days. The aspect engine 126 can determine an aspect for a location based on comparing the first calculated interaction metric and the second calculated interaction metric. For example, if the interaction metric indicates that the average interaction in the past X days is greater than the average interaction in the previous X days, the aspect engine 126 can determine an aspect that the location is trending upward.

[0082] like Figure 2As shown, the text summary generation engine 128 can generate a text summary about the physical location based on the calculated interaction metrics obtained from the interaction metrics engine 124 and / or based on one or more aspects obtained from the aspect engine 126. In some embodiments, the text summary generation engine 128 can obtain these aspects from the POS database 154, for example, when those aspects have been assigned to the physical location in the POI database 154 by the aspect engine 126. In some embodiments, the text summary generation engine 128 can provide (or otherwise provide) one or more text summaries to the information system 140. The information system 140 can then cause the text summary to be presented to the user in various ways (e.g., adjacent search results, as a pop-up window, in a card, etc.).

[0083] As represented by the arrow from information system 140 to grouping engine 122, in various embodiments, grouping engine 122 may receive contextual data, e.g., related to a user or a computing device of the user, from information system 140. Grouping engine 122 may use this contextual information for various purposes. For example, grouping engine 122 may use the contextual data to determine one or more criteria for selecting a peer group for a particular physical location (e.g., the destination of a user's directions query). As another example, grouping engine 122 may use the contextual data as a starting point (e.g., when the user has not yet provided a search) to determine potential implicit user interest in a particular location, and based on the potential interest, select one or more criteria for a peer group to the particular location.

[0084] Assume that the grouping engine 122 receives a GPS signal indicating that the user is passing by a Mexican restaurant. The grouping engine 122 can identify the group of calculated interactions related to the Mexican restaurant in the interaction database 152. The grouping engine 122 can also identify, for example, peer groups of Mexican restaurants in the same spoken area (e.g., "Pacific Heights", "Butchertown", etc.). The interaction measurement engine 124 can obtain an interaction measurement indicating how frequently the Mexican restaurant is searched compared to how frequently the Mexican restaurants of the peer group are searched, and the aspect engine 126 can use the interaction measurement to assign one or more aspects to the Mexican restaurant that the user is passing by. The text summary generation engine 128 can generate a text summary (e.g., "the second most searched Mexican restaurant in the area"), and the information system 140 can provide the summary to the user at the client device 105, for example, as a "card" or other similar notification.

[0085] As shown by the arrow between the information database 158 and the grouping engine 122, in some embodiments, the grouping engine 122 can determine one or more criteria for selecting a peer group for a specific physical location based on other information in addition to the contextual information. For example, in some embodiments, the grouping engine 122 can select a geographic area that should contain peer physical locations based on the physical size and / or population of a specific geographic area. For example, assume that a user who passes through Brooklyn searches for "good Chinese restaurants". The grouping engine 122 can, for example, determine based on information from the information database 158 that the physical size / population of New York State makes it an unsuitable (too large) geographic area for selecting Chinese restaurants to be included in the peer group. This determination can be based on one or more adjustable thresholds (e.g., a population of less than 50,000, a geographic size of less than 10 miles, etc.). Depending on how the one or more thresholds are adjusted, the grouping engine 122 can make the same determination about New York City. However, if the grouping engine 122 focuses on Brooklyn or possibly even a spoken area within Brooklyn, one or more thresholds can be met, and the grouping engine 122 can select and interact with the calculations related to the peer Chinese restaurants in the area.

[0086] Figure 3 A flowchart illustrating an example method of assigning an aspect to a physical location based on interactions associated with the physical location. For convenience, the operations of the flowchart are described with reference to a system that performs the operations. This system may include various components of various computer systems. For example, some operations may be performed by one or more components of the aspect determination system 120, such as the grouping engine 122, the interaction measurement engine 124, and the aspect engine 126. Furthermore, although the operations are shown in a particular order, the operations of the aspect determination system 120 may be performed by one or more components of the aspect determination system 120, such as the grouping engine 122, the interaction measurement engine 124, and the aspect engine 126. Figure 3 The operations of the method are described in detail, however, this is not intended to be limiting. One or more operations may be reordered, omitted, or added.

[0087] At step 300, groups of interactions associated with a physical location are determined. In some embodiments, groups of interactions may be determined by a component that shares one or more aspects with the grouping engine 122. In some embodiments, groups of interactions that include a user's interactions may be determined based on one or more characteristics of the user. For example, the grouping engine 122 may determine groups of interactions associated with specific user attributes and / or specific user groups. In some embodiments, the grouping engine 122 may determine groups of interactions that occurred during a certain time period. For example, the grouping engine 122 may determine groups of interactions that occurred during a certain week, month, day of the week, and / or during certain moments during a certain time period (e.g., interactions during lunch time during the past month).

[0088] At step 305, a first interaction metric for the physical location is determined based on the group's interactions. The first interaction metric can be determined by a component that shares one or more characteristics with the interaction metric engine 124. In some implementations, the interaction metric can be a statistic based on the interactions. For example, the interaction metric for the group of interactions can include an average of interactions during a time period, an average number of interactions per hour during a time period, and / or a percentage of average daily interactions that occur per hour during a time period (e.g., the percentage of customers that are lunch customers on that day, the percentage of customers that are dinner customers on that day).

[0089] At step 310, a second interaction metric for the physical location is determined. In some embodiments, the second interaction metric may be one or more static or dynamic thresholds. For example, the first interaction metric may indicate the duration of an interaction with the location, and the second metric may be a static threshold duration. In some embodiments, the second metric may additionally or alternatively include an additional interaction metric based on a second group of interactions that includes additional interactions in addition to the group of interactions utilized to determine the first interaction metric. For example, the grouping engine 122 may determine a second group of interactions at one or more different times for one or more different locations and / or for one or more different groups of users from the interactions included in the first group of interactions (step 300). For example, the group of interactions of step 300 may include interactions with Italian Restaurant 1, and the second metric may be based on interactions with all Italian restaurants in a geographic area near Italian Restaurant 1 (optionally including interactions with Italian Restaurant 1).

[0090] At step 315, an aspect of the physical location is determined based on a comparison of the first interaction metric to the second interaction metric, and the aspect is assigned to the physical location. The aspect of the physical location can be determined by a component that shares one or more characteristics with the aspect engine 126, and can be assigned to the location based on an association with a location in one or more databases, such as the POI database 154. In some embodiments, the aspect engine 126 can determine, for a location, an aspect related to the rising popularity of the location. For example, the aspect engine 126 can determine that a restaurant is trending upward in popularity based on a first interaction metric determined based on recent interactions and a second interaction metric based on less recent interactions, and determine that the interaction metric indicates a recent increase in popularity. In addition, for example, the aspect engine 126 can determine that a restaurant has recently closed based on an interaction metric of a location indicating a few or no current interactions with the location. In some embodiments, the aspect engine 126 can determine an aspect based on a first interaction metric related to a location and a second interaction metric related to one or more other locations (including or excluding the location). For example, a first interaction metric may be based on interactions with a restaurant and a second interaction metric may be based on a second set of interactions with other restaurants that are similar to the first restaurant. For example, the aspect engine 126 may compare the interaction metrics and determine that the first restaurant is more popular than the average interactions of other restaurants that serve similar types of culinary services, have similar price ranges, and / or are in similar geographic areas.

[0091] Figure 4 A flowchart of an example method 400 for generating a text summary for a physical location based on computational interactions related to the physical location is shown. For convenience, the operations of the flowchart are described with reference to a system that performs the operations. This system may include various components of various computer systems. For example, some operations may be performed by one or more components of the aspect determination system 120 (such as the grouping engine 122, the interaction measurement engine 124, the aspect engine 126, and / or the text summary generation engine 128). Moreover, although shown in a particular order, the operations of the flowchart are described in detail. Figure 4 The operations of the method are described in detail, however, this is not intended to be limiting. One or more operations may be reordered, omitted, or added.

[0092] At block 402, the system may identify a first group of computing interactions related to a specific physical location. In some embodiments, the system may select a specific physical location based on the user's explicit activity (such as a user's search for reviews about a specific hotel or a search for directions to the hotel). In some instances, the system may select a specific physical location based on the user's implicit activity (e.g., context) (such as a user's coupling of a meeting scheduled in a specific area during lunch with a user's general preference for specific cooking). Assume that Sue is scheduled to attend a meeting in a neighborhood called Deer Park immediately after lunch, and assume that Sue generally prefers Indian cooking that costs less than $20. The system may identify an Indian restaurant that is closest to the location of Sue's meeting, and may then identify one or more computing interactions related to the Indian restaurant.

[0093] In some embodiments, the first group of calculated interactions can be identified by a component that shares one or more aspects with the grouping engine 122. In some embodiments, the group of interactions that include the user's interactions can be determined based on one or more characteristics of the user. For example, the grouping engine 122 can determine a group of interactions associated with a particular user attribute and / or a particular user group. In some embodiments, the grouping engine 122 can determine a group of interactions that occurred during a certain time period. For example, the grouping engine 122 can determine a group of interactions that occurred during a specific week, month, day of the week, and / or during a specific moment during a certain time period (e.g., interactions during lunch time during the past month).

[0094] At block 404, the system may determine one or more criteria for selecting one or more other physical locations as a peer group for the particular physical location. For example, context information associated with Sue and / or Sue's smartphone may indicate that Sue is located in Deer Park, likes Indian food, and has a particular budget for food. Other information, such as from information database 158, may indicate that Deer Park has a size that is too small (geographic size or population) to be a satisfactory peer group for selection of a physical location, but the city in which Deer Park is located is appropriately sized for selection of a peer group.

[0095] At block 406, the system can identify a second set of computing interactions related to one or more additional physical locations that satisfy the one or more criteria determined at block 404. For example, the system can select computing interactions associated with Indian restaurants in the city where Deer Park is located that also satisfy one or more of Sue's budget needs.

[0096] At block 408, the system may determine a first calculated interaction metric for a particular physical location based on the first group of interactions identified at block 402. The first calculated interaction metric may be determined by a component that shares one or more characteristics with the interaction metric engine 124. In some implementations, the interaction metric may be a statistic based on the interactions. For example, the interaction metric for a group of interactions may include an average of interactions during a time period, an average number of interactions per hour during a time period, and / or a proportion of average daily interactions that occur per hour during a time period (e.g., the percentage of customers that are lunch customers that day, the percentage of customers that are dinner customers that day). For example, the system may determine that an Indian restaurant near Sue's meeting has been searched a particular number of times in the past month.

[0097] At block 410, the system may determine a second computed interaction metric based on the one or more computed interactions of the second group determined at block 406. For example, the system may determine the number of times other Indian restaurants in the city have been searched for by users in the past month. In other embodiments, rather than being related to a peer group of physical locations, the second computed interaction metric may be one or more static or dynamic thresholds. For example, the first computed interaction metric may indicate a duration of an interaction with a location and the second metric may be a static threshold duration.

[0098] At block 412, the system can determine an aspect of the physical location based on a comparison of the first calculated interaction metric to the second calculated interaction metric. In some implementations, the aspect can be assigned to the physical location. The aspect of the physical location can be determined by a component that shares one or more characteristics with the aspect engine 126 and can be assigned to the location based on an association with a location in one or more databases, such as the POI database 154.

[0099] At block 414, the system may generate one or more text summaries associated with the particular physical location. The text summaries may be generated by a component that shares one or more characteristics with the text summary generation engine 128. The one or more text summaries may be generated based on a comparison of two or more computational interaction metrics (e.g., determined at blocks 408 and 410), or may be based on one or more aspects determined at 412.

[0100] In some embodiments, the system may generate a text summary using one or more of a plurality of template text summaries. The system may select a template text summary based at least in part on the type of computational interaction used to determine the computational interaction metric at blocks 408 and 410. Table 1 below provides a non-limiting example of a peer group-based lookup table that may be used to select a template text summary, including the type of computational interaction analyzed and an example threshold value that may be used to select from a plurality of potentially applicable template text summaries.

[0101] Table 1

[0102] Profile Type The type of computational interaction being analyzed Threshold "Most Searched" Driving directions No. 1 "Among the most searched" Driving directions Top 1% "Frequently searched" Driving directions Top 10% "only" any N / A "One of the best reviewed" Online Market Commentary Top 15% "One of the most popular" Total visits Top 10%

[0103] Table 2 below provides a non-limiting example of an "absolute" lookup table that may be used to select a template text summary, including the type of computational interaction being analyzed and example thresholds that may be used to select from a plurality of potentially applicable template text summaries.

[0104] Table 2

[0105]

[0106] refer to Figure 5 , provides an example interface 500 including information about aspects of location-based determination. In some implementations, the information system 140 may determine Figure 5 The information system 140 may include information included in the interface 500 of the client device 105, and provide the interface 500 (or information such as HTML or XML that facilitates the rendering of the interface 500) to the client device 105 for presentation to the user. For example, the information system 140 may be a search engine and may provide the interface 500 (or information that facilitates its rendering) to the user via the browser 106 in response to the user providing a search query. For another example, the information system 140 may be a suggestion system and may provide the interface 500 via a suggestion application of the client device 105. In some embodiments, Figure 5 Only a portion of interface 500 may be provided to a user, and / or information may be provided via one or more alternative interfaces.

[0107] Lunch suggestions 502 may be provided to the user based on one or more aspects identified by information system 140 as being related to the location. For example, lunch suggestions 502 may be provided to the user in response to the user providing a query for "popular lunch restaurants," the user otherwise indicating an interest in lunch restaurants (e.g., selecting an interface element for "lunch restaurants"), or based on the context of the user being identified (e.g., it is close to lunch time at the user's current location). In some implementations, lunch suggestions 502 may include locations that information system 140 has identified in POI database 154 as being associated with the aspect of "popular lunch locations" and a list of locations may be provided based on these aspects. In some implementations, the ranking of locations in lunch suggestions 502 may be determined based on one or more aspects associated with the locations in POI database 154. For example, locations associated with aspects that are trending upward in terms of popularity may be boosted in ranking in the list of provided locations.

[0108] The favorite restaurant suggestions 504 may be provided to the user via the client device 105 as a separate interface or as part of the interface 500. In some implementations, the favorite restaurant suggestions 504 may include one or more locations identified by the information system 140 from the POI database 154 and associated with the "locals' favorite restaurants" aspect. For example, the grouping engine 122 may determine, for each of the restaurants of 504, a first group of calculated interactions for the restaurant associated with "locals" (e.g., those who live near the restaurant) and a second group of calculated interactions for the restaurant including "non-locals" (e.g., all interactions for the restaurant). The interaction metric engine 124 may determine a first calculated interaction metric and a second calculated interaction metric based on the groups, and the aspect engine 126 may determine that the restaurant is popular with users who are locals based on the metrics. The information system 140 may provide the listed restaurants of 504 based on determining that they are each associated with the "locals' favorite restaurants" aspect. Each of these restaurants also includes additional information, such as a popularity ranking (indicated by stars) and category (i.e., pizza and steak) of the restaurant, which may be identified via information database 158 and / or POI database 154. In some implementations, one or more of these locations may be selected and / or ranked based on additional associated aspects (e.g., trending restaurants may be promoted, more popular restaurants may be promoted).

[0109] Search result 506 can be like Figure 5 506 may be provided in interface 500 along with other information as shown, and / or may be provided as a separate interface. For example, information system 140 may be a search engine, and search results 506 may be provided to a user via client device 105 in response to a query provided by the user. In some implementations, as described herein, information provided with the search results may be identified via information database 158, and the results may be selected and / or ranked based on aspects associated with the location related to the search results.

[0110] In this example, the search engine results 506 are accompanied by text summaries generated by, for example, the text summary generation engine 128. For example, a first result is accompanied by the text "Most frequently searched Italian restaurants nearby." This Italian restaurant has apparently been compared to a peer group of Italian restaurants in a particular neighborhood. A second result is accompanied by the text "Italian restaurants more popular for dinner than lunch." The computed interactions associated with this Italian restaurant have been compared across time periods (lunch and dinner time intervals). A third result is accompanied by the text "Only Italian restaurants in the city with live music." This Italian restaurant has been compared to a peer group of Italian restaurants in the "city," and is apparently unique among the peer group in having live music.

[0111] Figure 6 A block diagram of a computer system 610 is shown. The computer system 610 typically includes at least one processor 614 that communicates with a number of peripheral devices via a bus subsystem 612. These peripheral devices may include a storage subsystem 624 (including, for example, a memory subsystem 625 and a file storage subsystem 626), a user interface output device 620, a user interface input device 622, and a network interface subsystem 616. The input and output devices allow a user to interact with the computer system 610. The network interface subsystem 616 provides an interface to an external network and is coupled to corresponding interface devices in other computer systems.

[0112] The user interface input device 622 may include a keyboard, a pointing device such as a mouse, a trackball, a touch pad or a graphic tablet, a scanner, a touch screen incorporated into a display, an audio input device such as a speech recognition system, a microphone, and / or other types of input devices. In general, the use of the term "input device" is intended to include all possible types of devices and methods for inputting information into the computer system 610 or onto a communication network.

[0113] User interface output device 620 may include a display subsystem, a printer, a fax machine, or a non-visual display such as an audio output device. The display subsystem may include a cathode ray tube (CRT), a flat panel device such as a liquid crystal display (LCD), a projection device, or some other mechanism for creating a visible image. The display subsystem may also provide a non-visual display such as via an audio output device. Generally speaking, the use of the term "output device" is intended to include devices and methods for all possible types of information output from computer system 610 to a user or to another machine or computer system.

[0114] The storage subsystem 624 stores programming and data structures that provide the functionality of some or all of the modules described herein. For example, the storage subsystem 624 may include a Figure 3 and / or Figure 4 The logic of one or more of the selected aspects of the method and the operations performed by the grouping engine 122, the interaction measurement engine 124, the aspect engine 126, the text summary generation engine 128, etc.

[0115] These software modules are generally executed by processor 614 alone or in combination with other processors. Memory 625 may include a number of memories, including a primary random access memory (RAM) 630 for storing instructions and data during program execution and a read-only memory (ROM) 632 in which fixed instructions are stored. File storage subsystem 626 can provide permanent storage for program and data files, and may include a hard drive, a floppy disk drive and associated removable media, a CD-ROM drive, an optical drive, or a removable media cartridge. Modules that perform the functionality of a particular embodiment may be stored by file storage subsystem 626 in storage subsystem 624, or in other machines accessible by processor(s) 614.

[0116] The bus subsystem 612 provides a mechanism for the various components and subsystems of the computer system 610 to communicate with each other as intended. Although the bus subsystem 612 is shown schematically as a single bus, alternative implementations of the bus subsystem may use multiple busses.

[0117] Computer system 610 can be of different types, including a workstation, server, computing cluster, blade server, server farm, or any other data processing system or computing device. Due to the ever-changing nature of computers and networks, Figure 6 The depiction of the computer system 610 shown is intended only as a specific example for purposes of illustrating some embodiments. Figure 6 Many other configurations of computer system 610 are possible with more or fewer components than the computer systems described.

[0118] Although several embodiments have been described and illustrated herein, various other means and / or structures for performing functions and / or obtaining results and / or one or more of the advantages described herein may be utilized, and each of these changes and / or modifications is considered to be within the scope of the embodiments described herein. More generally, all parameters, dimensions, materials, and configurations described herein are intended to be exemplary, and actual parameters, dimensions, materials, and / or configurations will depend on one or more specific applications to which the teachings are applied. Those skilled in the art will recognize or be able to ascertain many equivalents of the specific embodiments described herein using only routine tests. It should therefore be understood that the above embodiments are presented only by way of example, and within the scope of the appended claims and their equivalents, these embodiments may also be practiced in other ways except as specifically described and claimed. The embodiments of the present disclosure are directed to each individual feature, system, article, material, full set of tools, and / or method described herein. In addition, any combination of two or more of these features, systems, articles, materials, full sets of tools, and / or methods is included within the scope of the present disclosure when these features, systems, articles, materials, full sets of tools, and / or methods are not mutually inconsistent.

Claims

1. A computer-implemented method comprising: receiving a plurality of client device interactions, each client device interaction indicating an interaction with a corresponding physical location and each client device interaction being generated by a corresponding client device; determining a first group of the plurality of client device interactions, wherein the determining is based on each client device interaction in the first group indicating an interaction with a given physical location; determining a first interaction metric for the given physical location based on the first set; determining a second interaction metric based on a second group of the plurality of client device interactions, wherein the second group includes additional client device interactions in addition to the client device interactions in the first group, the additional client device interactions including additional physical location interactions, each additional physical location interaction indicating an interaction with a respective additional physical location in addition to the given physical location; and A text description of the given physical location is automatically generated based on a comparison of the first interaction metric and the second interaction metric, wherein the text description explicitly or implicitly communicates a relationship between the first interaction metric and the second interaction metric.

2. The method according to claim 1, further comprising: receiving a subsequent search query from a user computing device via one or more computer networks; identifying search results responsive to the subsequent search query, wherein the search results include at least one result related to the given physical location; and Information is provided to the user computing device via the one or more computer networks, the information causing the user computing device to render an interface including the textual description of the given physical location.

3. The method according to claim 1, further comprising: The additional physical location interactions are included in the second set based on a similarity between the corresponding additional physical location and the given physical location. The method of claim 3 , further comprising determining the similarity based on a category of the given physical location.

5. The method of claim 3, further comprising determining the similarity based on a geographic area of ​​the given physical location.

6. The method according to claim 1, wherein: The first interaction metric indicates a measure of repeated interactions with the given physical location as indicated by client device interactions in the first group, and the second interaction metric indicates a measure of repeated interactions with the corresponding additional physical locations as indicated by the additional client device interactions in the second group.

7. The method according to claim 1, wherein: The first interaction metric indicates a first amount of client device interactions in the first group conducted by users having a given user attribute, and wherein the second interaction metric indicates a second amount of the additional client device interactions in the second group conducted by users having the given user attribute.

8. A computer-implemented method comprising: receiving a plurality of client device interactions, each client device interaction indicating an interaction with a given physical location and each client device interaction being generated by a corresponding client device; determining a first group of the plurality of client device interactions, wherein determining the first group is based on each client device interaction in the first group indicating an interaction with the given physical location by a user having a first user attribute; determining a second group of the plurality of client device interactions, wherein determining the second group is based on each client device interaction in the second group indicating an interaction with the given physical location by a user having a second user attribute that is inconsistent with the first user attribute; as well as Automatically generate a text description of the given physical location based on a comparison of the amount of client device interactions in the first group and the amount of client device interactions in the second group, wherein the text description explicitly or implicitly conveys a relationship between the amount of client device interactions in the first group and the amount of client device interactions in the second group.

9. The method according to claim 8, further comprising: receiving a subsequent request from a user computing device via one or more computer networks; identifying results responsive to the subsequent request, wherein the results include at least one result related to the given physical location; and Information is provided to the user computing device via the one or more computer networks, the information causing the user computing device to render an interface including the textual description of the given physical location.

10. The method according to claim 9, wherein: The first user attribute is local to the given physical location and the second user attribute is non-local to the given physical location.

11. The method according to claim 10, wherein: The given physical location is a restaurant.

12. A system comprising: a memory for storing instructions; as well as One or more processors operable to execute instructions in the memory to perform operations comprising: receiving a plurality of client device interactions, each client device interaction indicating an interaction with a corresponding physical location and each client device interaction being generated by a corresponding client device; determining a first group of the plurality of client device interactions, wherein the determining is based on each client device interaction in the first group indicating an interaction with a given physical location; determining a first interaction metric for the given physical location based on the first set; determining a second interaction metric based on a second group of the plurality of client device interactions, wherein the second group includes additional client device interactions in addition to the client device interactions in the first group, the additional client device interactions including additional physical location interactions, each additional physical location interaction indicating an interaction with a respective additional physical location in addition to the given physical location; and A text description of the given physical location is automatically generated based on a comparison of the first interaction metric and the second interaction metric, wherein the text description explicitly or implicitly communicates a relationship between the first interaction metric and the second interaction metric.

13. The system of claim 12, wherein the operations further comprise: receiving a subsequent search query from a user computing device via one or more computer networks; identifying search results responsive to the subsequent search query, wherein the search results include at least one result related to the given physical location; and Information is provided to the user computing device via the one or more computer networks, the information causing the user computing device to render an interface including the textual description of the given physical location.

14. The system of claim 12, wherein the operations further comprise: The additional physical location interactions are included in the second set based on a similarity between the corresponding additional physical location and the given physical location.

15. The system of claim 12, wherein: The first interaction metric indicates a measure of repeated interactions with the given physical location as indicated by client device interactions in the first group, and the second interaction metric indicates a measure of repeated interactions with the corresponding additional physical locations as indicated by the additional client device interactions in the second group.

16. The system of claim 12, wherein: The first interaction metric indicates a first amount of client device interactions in the first group conducted by users having a given user attribute, and wherein the second interaction metric indicates a second amount of the additional client device interactions in the second group conducted by users having the given user attribute.

17. A method implemented by one or more processors, the method comprising: receiving a plurality of client device interactions, each client device interaction indicating an interaction with a given physical location and each generated by a corresponding client device; determining a first group of the plurality of client device interactions, wherein determining the first group is based on each client device interaction in the first group indicating an interaction with the given physical location conducted by a user during a first time period that includes a plurality of first days; determining a second group of the plurality of client device interactions, wherein determining the second group is based on each client device interaction in the second group indicating an interaction with the given physical location by a user during a second time period that includes a plurality of second days, wherein the second days of the second time period are closer in time than the first days of the first time period; and Automatically generate a text description of the given physical location based on a comparison of the amount of client device interactions in the first group and the amount of client device interactions in the second group, wherein the text description explicitly or implicitly conveys a relationship between the amount of client device interactions in the first group and the amount of client device interactions in the second group.

18. The method according to claim 17, further comprising: receiving a subsequent request from a user computing device via one or more computer networks; identifying results responsive to the subsequent request, wherein the results include at least one result related to the given physical location; and Information is provided to the user computing device via the one or more computer networks, the information causing the user computing device to render an interface including the textual description of the given physical location.

19. The method according to claim 18, wherein: The subsequent request is received via a mapping application, and wherein the interface is rendered via the mapping application.

20. The method according to claim 18, wherein: The relationship between the amount of client device interactions in the first group and the amount of client device interactions in the second group indicates an increase in the amount of client device interactions in the second group relative to the amount of client device interactions in the first group.

21. The method according to claim 20, wherein: Automatically generating the textual description of the given physical location based on a comparison of the amount of client device interactions in the first group and the amount of client device interactions in the second group includes: determining that the magnitude of the increase satisfies a threshold; and The text description is automatically generated based on the magnitude of the increase satisfying the threshold.

22. The method according to claim 21, wherein: Automatically generating the text description further includes: The text description is generated to reflect the magnitude of the increase.

23. The method according to claim 21, further comprising: ranking the result associated with the given physical location relative to other results in the results based at least in part on the magnitude of the increase; as well as A determination is made to include the textual description of the given physical location in the interface based on the ranking.

24. A method implemented by one or more processors, the method comprising: receiving a plurality of client device interactions, each client device interaction indicating an interaction with a given physical location and each client device interaction being generated by a corresponding client device; determining a corresponding duration of a visit for each of the plurality of client device interactions; as well as A text description of the given physical location is automatically generated based on a comparison of a metric to a threshold, the metric being generated based on the set of corresponding durations, wherein the text description explicitly or implicitly conveys a characteristic of the given physical location indicated by the comparison of the metric to the threshold.

25. The method according to claim 24, further comprising: receiving a subsequent request from a user computing device via one or more computer networks; identifying results responsive to the subsequent request, wherein the results include at least one result related to the given physical location; and Information is provided to the user computing device via the one or more computer networks, the information causing the user computing device to render an interface including the textual description of the given physical location.

26. The method according to claim 25, wherein: The threshold is a threshold duration, the given physical location is a restaurant, and wherein the characteristic indicates whether a meal at the restaurant is expected to cost more or less than the threshold duration.

27. The method according to claim 25, wherein: The measure is the mean or median of the corresponding durations.

28. The method according to claim 25, wherein: The measure is a continuous or discrete distribution of the corresponding durations.

29. A system comprising: a memory for storing instructions; as well as One or more processors operable to execute the instructions in the memory, wherein the instructions include instructions for: receiving a plurality of client device interactions, each client device interaction indicating an interaction with a given physical location and each generated by a corresponding client device; determining a corresponding duration of a visit for each of the plurality of client device interactions; and automatically determining a characteristic of the given physical location based on a comparison of a metric with a threshold, the metric generated based on the set of corresponding durations; storing an association of the feature with the given physical location in one or more databases; receiving, via the one or more computer networks, from a user computing device a subsequent request identifying the characteristic; identifying a result responsive to the subsequent request, wherein identifying the result comprises: identifying a result for the given physical location based on the request to identify the feature and based on the association of the feature with the given physical location; and Information is provided to the user computing device via the one or more computer networks, the information causing the user computing device to render an interface including the results for the given physical location.

30. The system of claim 29, wherein: The subsequent request is received via a mapping application, and wherein the interface is rendered via the mapping application.

31. The system of claim 30, wherein: The interface comprises a map, and wherein the results for the given physical location comprise a display of the given physical location on the map.

32. The system of claim 30, wherein: The threshold is a threshold duration, the given physical location is a restaurant, and wherein the characteristic indicates whether a meal at the restaurant is expected to cost more or less than the threshold duration.

Citation Information

Patent Citations

  • Real-time personalized recommendation of location-related entities

    CN102591911A