DETERMINING AN ASPECT OF A PHYSICAL LOCATION BASED ON INTERACTIONS ASSOCIATED WITH THE PHYSICAL LOCATION

Methods and apparatus for determining aspects of locations based on interactions of users with the locations. In some implementations, an aspect of a location may be determined based on comparing a first interaction measure for the location to a second measure. The first interaction measure may be determined based on a first group of interactions that are associated with the location. In some implementations, the second measure may be determined based on a second group of interactions that include additional interactions that are in addition to the interactions of the first group.

Skip to: Description  ·  Claims  · Patent History  ·  Patent History
Description
BACKGROUND

Aspects of physical locations, such as businesses, may be determined from Internet documents that are related to the physical locations and/or explicit input of individuals that are related to the physical locations. For example, a webpage related to a business may be analyzed to identify a category of the business, a location of the business, etc. As another example, reviews submitted by users related to a business may be analyzed to determine an overall rating of the business. As yet another example, an owner of the business or another user may manually input information to a service that maintains business information to have the business information reflected by the service. For instance, an owner may enter the address, operating hours, webpage, and other information related to the business.

SUMMARY

This specification is directed generally to methods and apparatus for determining aspects of physical locations, such as businesses, based on aggregating and analyzing online interactions of users with the physical locations. In some implementations, interactions of users with physical locations that may be utilized to determine aspects of the physical locations include, for example, directional queries seeking directions to the locations (e.g., driving, walking, and/or public transportation directions), searches related to the locations (e.g., map-based searches and/or searches for Internet documents), location data from mobile devices (e.g., based on GPS, Wi-Fi, and/or other sensors), calendar entries related to the locations, photos or other media items of the user having metadata related to the locations (e.g., geotags of the media items), check-ins to the locations, reviews of the locations, and/or starring or otherwise flagging the locations on a map and/or other interfaces. A determined aspect of a physical location may be assigned to the physical location and stored as an assigned aspect of the physical location in one or more databases.

In some implementations, a first interaction measure for a physical location may be determined based on a group of interactions associated with the location. For example, a first interaction measure may be determined for a location that is indicative of a quantity of interactions and/or duration of interactions with the location as indicated by the interactions of the group. The interaction measure may be compared to a second measure to determine an aspect of the location, and the aspect may be assigned to the location.

In some implementations, the second measure may include one or more static or dynamic thresholds. For example, the first interaction measure may be indicative of duration of interactions with the location and the second measure may be a static threshold duration. If the first interaction measure fails to satisfy the threshold duration, the aspect may be indicative of a “quick-stop” business (e.g., a quick-bites restaurant) and if it satisfies the threshold duration, the aspect may be indicative of a “long-stop” business (e.g., a long sit-down restaurant).

In some implementations, the second measure may additionally or alternatively include an additional interaction measure that is based on a second group of interactions that include additional interactions that are in addition to the group of interactions utilized to determine the first interaction measure. For example, the second group may include interactions associated with the physical location that are temporally distinct from the interactions of the group of interactions utilized to determine the first interaction measure. For instance, the first interaction measure may be indicative of a quantity of interactions with the location during one or more first time periods and the second measure may be indicative of a quantity of interactions with the location during one or more second time periods. Also, for example, the second group may include interactions associated with one or more additional physical locations that are in addition to the location. For instance, the first interaction measure may be indicative of a quantity of interactions with the location and the second measure may be indicative of a quantity of interactions with one or more locations that are similar to the location. Additional description of example aspects that may be determined and example techniques for determining such aspects are provided herein.

One or more determined aspects assigned to a physical location may be utilized for various online services. For example, the determined aspects of a business may be provided for display in combination with other information related to the business. Also, for example, the determined aspects of a business may be utilized to identify and provide the business to a user in response to a user selection indicative of the aspect. For instance, a user selection of “trending restaurants near me” may be utilized to identify restaurants near the user that are associated with an aspect of “trending up”. Also, for example, the determined aspects of a business may be utilized to rank information related to the business that is identified as responsive to a query or other information request of a user. For instance, the information related to the business may be promoted if the business is associated with a determined aspect of “trending up”. Also, for instance, the query may include one or more terms such as “popular with locals”, the business may be associated with a related aspect indicating popularity with locals, and the ranking of the information related to the business may be promoted in search results provided responsive to the query.

In some implementations, a method is provided that includes the steps of: determining a group of interactions from one or more databases, the determining based on association of the interactions of the group to a physical location; determining a first interaction measure for the physical location based on the group of the interactions; determining a second interaction measure based on a second group that includes additional interactions that are in addition to the interactions of the group, the additional interactions including at least one of: additional physical location interactions associated with one or more additional physical locations that are in addition to the physical location, and temporally distinct interactions associated with the physical location and temporally distinct from the interactions of the group; and assigning an aspect to the physical location based on comparison of the first interaction measure to the second interaction measure.

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

The additional interactions of the second group may include the additional physical location interactions and may further include the step of including the additional physical location interactions in the second group based on similarity between the associated additional physical locations and the physical location. The method may further include the step of: determining the similarity based on at least one of a category of the physical location and a geographic area of the physical location.

The interactions of the group may be associated with one or more first time periods and the additional interactions of the second group may include the temporally distinct interactions and may be associated with one or more second time periods. The first interaction measure may be indicative of a quantity of interactions with the physical location during the first time periods and the anticipated interaction measure may be indicative of a second quantity of interactions during the second time periods. The aspect may be indicative of difference in the quantity of interactions and the second quantity of interactions. The second time periods may be a range of dates earlier in time than the first time periods, and the aspect may be indicative of positive trending when the difference indicates an increase that satisfies a threshold. The second time periods may be a range of dates earlier in time than the first time period, and the aspect is indicative of a newly opened business when the difference satisfies a newly opened business threshold. The second time periods may be a range of dates earlier in time than the first time period, and the aspect may be indicative of a closed business when the difference indicates a closed business threshold. The first time periods may be a first time range across multiple dates and the second time periods may be a second time range across multiple dates, and the aspect may be indicative of popularity of the physical location during the first time range. The first and second time ranges may each be one of: one or more segments of a day, and one or more days of the week.

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

The first interaction measure may be indicative of a quantity of interactions with the physical location. The aspect may be a measure of popularity.

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

The method may further include the step of: providing, to a computing device of a user, an indication of the aspect of the physical location in combination with additional information related to the location.

The method may further include the steps of: receiving, from a computing device of a user, a selection indicative of the aspect; identifying the physical location based at least in part on the selection and the assignment of the aspect to the physical location; and providing, to the computing device, information related to the physical location.

The method may further include the steps of: receiving a query from a computing device of a user; identifying information related to the physical location as responsive to the query; and ranking the information relative to additional information responsive to the query based at least in part on the aspect. 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 aspect may further include the steps of: determining a relationship between the aspect and at least a term of the terms; and determining the ranking based on the relationship.

The step of determining the group of interactions may include the step of determining the group of interactions only when a quantity of the interactions of the group satisfies a privacy threshold.

Other implementations may include a non-transitory 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 implementation may include a system including 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.

It should be appreciated that all combinations of the foregoing concepts and additional concepts described in greater detail herein are contemplated as being part of the subject matter disclosed herein. For example, all combinations of claimed subject matter appearing at the end of this disclosure are contemplated as being part of the subject matter disclosed herein.

BRIEF DESCRIPTION OF THE DRAWINGS

FIG. 1 illustrates an example environment in which aspects of physical locations may be determined based on interaction associated with the physical locations.

FIG. 2 illustrates an example of how an aspect of a physical location may be determined and assigned to the physical location based on interaction associated with the physical location.

FIG. 3 is a flow chart illustrating an example method of assigning an aspect to a physical location based on interaction associated with the physical location.

FIG. 4 illustrates an example interface that includes information provided based on aspects of locations.

FIG. 5 illustrates an example architecture of a computer system.

DETAILED DESCRIPTION

FIG. 1 illustrates an example environment in which aspects of physical locations may be determined based on interactions associated with the physical locations. The example environment includes a client device 105, an aspect determination system 120, and an information system 140. Aspect determination system 120 may be implemented in one or more computers that communicate, for example, through a network (not depicted). Aspect determination system 120 is an example of a system in which the systems, components, and techniques described herein may be implemented and/or with which systems, components, and techniques described herein may interface.

Client device 105, aspect determination system 120, and information system 140 each include one or more memories for storage of 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.

Client device 105 may be a computer coupled to the aspect determination system 120, the information system 140, and/or other component (e.g., interactions database 152 and/or a component managing interactions database 152) through one or more networks 101 such as a local area network (LAN) or 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 vehicle of the user (e.g., an in-vehicle communications system, an in-vehicle entertainment system, an in-vehicle navigation system), or a wearable apparatus of the user that includes a computing device (e.g., a watch of the user having a computing device, glasses of the user having a computing device). Additional and/or alternative client devices may be provided.

As described herein, in determining aspects of physical locations, the aspect determination system 120 may utilize interactions from interactions database 152 that are indicative of interactions of users with the physical locations. One or more of the interactions may be indicative of activities of users via computing devices such as client device 105. For the sake of brevity, only a single client device 105 is illustrated in FIG. 1 and described in some examples herein. However, activities of multiple users via multiple client devices may be utilized in determining aspects of physical locations. Moreover, although a user will likely operate a plurality of computing devices, and aspects of physical locations may be determined based on user actions via multiple of the computing devices, for the sake of brevity, certain examples described in this disclosure will focus on the user operating client device 105.

Client device 105 may operate one or more applications and/or components such as those that facilitate user selections and/or input that may be indicative of a user interaction related to a physical location, those that provide location data that may be indicative of a user interaction related to a physical location, and/or those that facilitate provision of search results, suggestions, and/or other information related to physical locations based on output of information system 140. These applications and/or components may include, but are not limited to, a browser 106, a position coordinate component, such as a global positioning system (“GPS”) component 109, and so forth. In some instances, one or more of these applications and/or components may be operated on multiple client devices operated by the user. Other components of client device 105 not depicted in FIG. 1 that may provide indications of interactions of the user with a physical location may include, but are not limited to, a mapping application (e.g., based on a search for the location and/or driving directions to or from the location), a calendar application (e.g., based on an entry identifying the location), a phone application (e.g., based on a call to or from a number associated with the location), an email application (e.g., based on an e-mailed receipt from the location, e-mailed reservations for the location), a social networking application (e.g., based on a post related to the location, a check-in to the location, a review of the location), a virtual wallet application (e.g., based on a purchase associated with the location), a search application (e.g., based on searches associated with the physical location), a camera application (e.g., based on a geotag included in photos captured via the camera), and so forth. Some of the aforementioned example components may be standalone components or may optionally be accessed via the browser 106 or another component.

Interactions database 152 stores interactions of a plurality of users that are associated with physical locations. Generally, an interaction of interactions database 152 that is associated with a physical location includes an identifier of that physical location such as an address (e.g., latitude/longitude, street address), an alias, and/or an entity identifier. The interaction may optionally include additional information related to the interaction such as, for example, a date of the interaction, time(s) associated with the interaction (e.g., a single time, a time range, and/or time indicative of duration of the interaction), a confidence measure (e.g., based on confidence in the source of the interaction), and so forth. Interactions of users with the physical locations that may be stored in interactions database 152 include, for example, directional queries seeking driving directions to the locations, searches related to the locations, location data from mobile devices, check-ins to the locations, reviews of the locations, calendar entries identifying the locations, media items that include geotags identifying the locations, extracted reservation or receipt information (e.g., extracted from emails) related to the locations, browsing history of the user related to the locations (e.g., indicating one or more documents accessed by the user such as webpages), and/or starring or otherwise flagging the locations on a map and/or other interface.

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

In situations in which the systems described herein collect personal information about users, or may make use of personal information, the users may be provided with an opportunity to control whether programs or features collect user information (e.g., information about a user's social network, social actions or activities, profession, a user's preferences, or a user's current geographic location), or to control whether and/or how to receive content from the content server that may be more relevant to the user. Also, certain data may be treated in one or more ways before it is stored or used, so that personal identifiable information is removed. For example, a user's identity may be treated so that no personal identifiable information can be determined for the user, or a user's geographic location may be generalized where geographic location information is obtained (such as to a city, ZIP code, or state level), so that a particular geographic location of a user cannot be determined. Thus, the user may have control over how information is collected about the user and/or used.

Generally, point of interest (“POI”) database 154 includes a collection of entities and includes, for each of one or more of the entities, a mapping to one or more properties 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 properties for each of the entities such as phone numbers, addresses, open hours, most popular hours, etc.

In some implementations, POI database 154 may be utilized to identify one or more locations that are associated with interactions of interactions database 152. For example, physical locations identified in POI database 154 may be associated with an address, longitude and latitude, and/or other coordinates that may be utilized to map interactions of interactions database 152 with physical locations. Also, for example, each of one or more physical locations identified in POI database 154 may be associated with one or more aliases for the physical location and/or aliases for properties of the location and those aliases may be utilized to map interactions of interactions database 152 with physical locations. As described herein, grouping engine 122 may utilize information from POI database 154 to determine a group of interactions from interactions database 152. For example, grouping engine 122 may identify a point of interest in POI database 154 that is associated with longitude and latitude coordinates and further determine a group of interactions that are associated with those same longitude and latitude coordinates and/or associated with coordinates within a threshold distance of those longitude and latitude coordinates. For instance, grouping engine 122 may identify Restaurant 1 and a latitude and longitude for Restaurant 1 from POI database 154; and grouping engine 122 may further determine a group of interactions that are associated with locations that are within 50 yards of the identified latitude and longitude of Restaurant 1. Also for example, Restaurant 1 may be associated with a street address in POI database 154 and grouping engine 122 may identify one or more interactions from interactions database 152 that include navigational directions to the street address of Restaurant 1. Also, for example, grouping engine 122 may identify one or more aliases for Restaurant 1 in POI database 154 and determine a group of interactions from interactions database 152 that are associated with the one or more of the aliases (and optionally associated with additional properties such as a location near Restaurant 1 or an alias of a category associated with Restaurant 1).

In this specification, the term “database” will be used broadly to refer to any collection of data. The data of the database does not need to be structured in any particular way, or structured at all, and it can be stored on storage devices in one or more locations. Thus, for example, the databases 152, 154, and/or 158 may each include multiple collections of data, each of which may be organized and accessed differently. Also, for example, all or portions of the databases 152, 154, and/or 158 may be combined into one database and/or may contain pointers and/or other links between entries in the database(s). Also, in this specification, the term “entry” will be used broadly to refer to any mapping of a plurality of associated information items. A single entry need not be present in a single storage device and may include pointers or other indications of information items that may be present on other storage devices. For example, an entry that identifies an interaction in interactions database 152 may include multiple nodes mapped to one another, with each node including an identifier of an entity or other information item that may be present in another data structure and/or another storage medium.

Generally, aspect determination system 120 determines one or more aspects to assign to a location based on interactions of users with the location. In various implementations, aspect determination system 120 may include a grouping engine 122, an interaction measure engine 124, and an aspect engine 126. In some implementations, one or more of engines 122, 124, and/or 126 may be omitted. In some implementations, all or aspects of one or more of engines 122, 124, and/or 126 may be combined. In some implementations, one or more of engines 122, 124, and/or 126 may be implemented in a component that is separate from aspect determination system 120.

Generally, grouping engine 122 determines groups of user interactions that are each associated with a physical location or a group of physical locations. For example, grouping engine 122 may determine a group of interactions from interactions database 152 that includes interactions of users with a particular physical location such as a business, a landmark, a tourist attraction, or a park. As described herein, the grouping engine 122 may optionally take one or more additional parameters into account in determining a group of user interactions—that are in addition to the group being associated with a physical location or a group of physical locations. For example, the grouping engine 122 may determine a group of interactions that are associated with one or more physical locations and that are also associated with: one or more dates such as particular dates, particular date ranges, and/or particular day(s) of the week; one or more times such as a single time, a time range, and/or times indicative of durations of the interactions; at least a threshold confidence measure (e.g., based on confidence in the source of the interaction); one or more user attributes such as an attribute indicating a particular user group; one or more particular sources (e.g., only location data, only driving directions); and so forth.

For example, grouping engine 122 may determine a group of interactions of users at a location at one or more time periods (e.g., interactions of users at Restaurant 1 between 11 am and 1 pm). Also, for example, grouping engine 122 may determine a group of interactions that includes interactions of users at multiple locations of a category of locations within a geographic area (e.g., interactions of users with pizza restaurants in a particular neighborhood). Which parameters are utilized by grouping engine 122 in determining one or more groups of user interactions may be based at least in part on the desired aspect to be determined about a location. Examples are provided herein of example aspects that may be determined for a location and parameters that may optionally be taken into account in determining one or more groups of interactions for utilization in determining the example aspects.

In some implementations, grouping engine 122 may determine a first group of interactions associated with a location and determine a second group of interactions associated with one or more locations that are similar to the location. For example, grouping engine 122 may determine a first group of interactions associated with a restaurant and determine a second group of interactions that includes interactions associated with other locations that have cuisine type(s), price(s), clientele, a geographic area, a location category (e.g., restaurant), and/or other attributes that are similar to attributes of the location. In some implementations, similarity may be defined to require exact matching between one or more attributes (e.g., the restaurant and the other locations must have a cuisine type in common) and/or soft matching between one or more attributes (e.g., the restaurant and the other locations must be associated with average prices that are within a threshold of one another). A geographic area may be defined with various levels of granularity such as a zip code, a neighborhood, a city, a region, an area code, and so forth.

In some implementations of determining a group, grouping engine 122 may determine that one or more interactions are outliers and not include the interactions in the group. Outlying interactions may be identified and removed from groups based on one or more techniques, such as truncated means and/or Winsorized means, and/or interactions that are below a threshold duration and/or above a threshold duration may be discarded. For example, grouping engine 122 may not include interactions that are associated with a duration of visit that is greater than a threshold as they may be indicative of interactions of employees instead of customers. Also, for example, grouping engine 122 may identify opening hours and/or closing hours of a location and determine that interactions from users that are present before opening time and/or after closing time are likely employees. Also, for example, in some implementations one or more interactions may be associated with a confidence level and only interactions that satisfy a threshold confidence level may be included by grouping engine 122 in a group of interactions. For example, an interaction that indicates multiple potential locations may be associated with a low confidence level if an exact location may not be accurately determined (e.g., the interaction may be based on inaccurate location data that indicates an area that encompasses multiple points of interest). In some implementations, grouping engine 122 may determine a group of interactions associated with a physical location only when the count of indicated interactions satisfying parameters for that group satisfies a threshold. For example, grouping engine 122 may determine a group of user interactions only when the count of indicated interactions for the group is above 100 interactions. In some implementations, grouping engine 122 may determine a group of interactions associated with a physical location only when the count of users who have interactions satisfying parameters for that group satisfies a threshold. For example, grouping engine 122 may determine a group of interactions only when the group includes interactions from at least X number of users. In some implementations, groups of interactions may be fit to a distribution, such as a log-normal distribution and/or a Weibull distribution, and the parameters of the distribution may be utilized by one or more components.

Generally, interaction measure engine 124 determines one or more interaction measures based on the one or more groups of interactions determined by grouping engine 122. For example, grouping engine 122 may determine a group of interactions that includes interactions of users with a location and interaction measure engine 124 may determine one or more measures indicative of durations of interactions of the users indicated by the group of interactions. For instance, the measures may include one or more of an average or median duration of visits and/or a continuous or discrete distribution of durations of visits (e.g., a mean with a standard deviation, a vector including all lengths of visits or a count of lengths of visits for one or more durations (e.g., a count of durations from 0-5 minutes, a count of durations from 5-10 minutes, etc.)). Also, for example, interaction measure engine 124 may determine, based on a group of interactions for a location, one or more measures indicative of a quantity of visits of users to the location. For instance, the measures may include one or more of a raw count of the interactions of the group, an average and/or median count per day or other time period, and/or a continuous or discrete distribution of quantity of interactions (e.g., a mean with a standard deviation, a vector including raw counts or averages for each of a plurality of time periods (e.g., a count of interactions each day for the past two weeks; a count of interactions during a first time period, a second time period, etc.)). Which measures are determined by interaction measure engine 124 may be based at least in part on the desired aspect to be determined about a location. Examples are provided herein of example aspects that may be determined for a location and one or more measures that may optionally be taken into account in determining the example aspects.

In some implementations, interaction measure engine 124 may determine an interaction measure that is based on an average of one or more of the interactions of the group of interactions. For example, grouping engine 122 may determine a group of location data interactions for a location between the hours of 11 am and 1 pm (i.e., lunch hours) on multiple dates and interaction measure engine 124 may determine an interaction measure indicative of an average duration of interactions with the location that initiate during that time. Also, for example, grouping engine 122 may determine a group of location data interactions for the location between the hours of 5 pm and 9 pm (i.e., dinner hours) on multiple dates and interaction measure engine 124 may determine an interaction measure indicative of an average duration of interactions with the location that initiate during that time.

In some implementations, interaction measure engine 124 may determine one or more measures indicative of quantities of interactions during a plurality of discrete intervals. For example, grouping engine 122 may determine a group of interactions of users with Restaurant 1 and interaction measure engine 124 may determine an interaction measure that indicates the number of interactions that occurred between 11 am and 12 pm, between 12 pm and 1 pm, between 1 pm and 2 pm, etc. Also, for example, grouping engine 122 may determine a group of interactions for all restaurants in the same city as Restaurant 1 and interaction measure engine 124 may determine an interaction measure that indicates the average number of interactions per restaurant for the same discrete intervals.

In some implementations, interaction measure engine 124 may determine one or more interaction measures based on confidence values associated with the interactions. For example, interactions with a location may be associated confidence values indicative of a degree of confidence the interaction indicates actual interaction with the location, as described herein. Interaction measure engine 124 may utilize associated confidence values to weight one or more of the interactions. As an example, interaction measure engine 124 may weight an online check-in of a user at a location more heavily than a non-directional search related to the location.

Generally, aspect engine 126 determines an aspect of a location based on the one or more interaction measures determined by interaction measure engine 124 and assigns the aspect to the location. For example, the aspect engine 126 may associate the aspect with the location in POI database 154. As one example of determining an aspect, interaction measure engine 124 may determine an interaction measure that indicates an average interaction time at a restaurant location, and aspect engine 126 may compare that interaction measure to a second measure to determine whether the restaurant location is a “quick bites” location or a longer “sit down” location. For example, the second measure may be a threshold such as 30 minutes and if the interaction measure is less than the threshold, the aspect of the restaurant may be indicative of a “quick bites” location. Also, for example, the second measure may be based on an 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 measure is less than the average, or more than a threshold less than the average, the aspect of the restaurant may be indicative of a “quick bites” location. As another example of determining an aspect, interaction measure engine 124 may determine a first interaction measure that indicates the average quantity of daily dinnertime interactions with a restaurant over the last 6 months and a second interaction measure that indicates the average quantity of daily dinnertime interactions with the restaurant over the last week. The aspect engine 126 may determine that the second interaction measure indicates an increase in interactions relative to the first interaction measure and determine an aspect of “trending up” for the restaurant.

In some implementations, aspect engine 126 may optionally utilize one or more rules in determining aspects for locations. 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 one example of a rule that may be utilized, aspect engine 126 may identify a location has an aspect indicative of “trending up” based on determining that a difference between a first measure indicative of a quantity of more recent in time interactions and a second measure indicative of a quantity of less recent in time interactions satisfies a threshold value, percentage, and/or proportion. For instance, aspect engine 126 may determine that a restaurant is trending up if the first interaction measure and the second interaction measure are indicative of an increase in interactions of at least 20% (e.g., a restaurant may have an aspect of “trending up” if a first measure indicative of an average quantity of daily interactions over the last week is 50% greater than a second interaction measure of an average quantity of interactions over the last six months). As another example of a rule that may be utilized, aspect engine 126 may identify a location has an aspect indicative of “trending up slightly” based on determining that a difference between a first measure indicative of a quantity of more recent in time interactions and a second measure indicative of a quantity of less recent in time interactions satisfies a first threshold value, and an aspect of “trending up significantly” if the difference satisfies a second threshold value. Which techniques are employed by aspect engine 126 to determine an aspect may be based at least in part on the desired aspect to be determined, the group(s) determined by grouping engine 122, and/or based on the interaction measures determined by interaction measure engine 124. Examples are provided herein of example aspects that may be determined for a location and one or more example techniques that may optionally be utilized in determining the aspects.

In some implementations, aspect engine 126 may determine an aspect of a location based on multiple groups of interactions for the location. As one example, grouping engine 122 may determine a first group of interactions for a location during lunch hours and a second group of interactions for the location during dinner hours. Interaction measure engine 124 may determine a first measure indicative of average user interactions at lunch (based on the first group) and a second measure indicative of average interactions at dinner (based on the second group). Aspect engine 126 may determine an aspect indicative of the location being “more popular for lunch than dinner” based on determining that the first measure is greater than the second measure and/or based on determining that the proportion of interactions that occur during lunch (i.e., the first measure) is indicative of the location having more business during lunch than during dinner. As another example, grouping engine 122 may determine a first group of interactions for a location that are associated weekdays and a second group of interactions that are associated with weekends. Interaction measure engine 124 may determine a first measure that is indicative of average daily interactions on the weekdays (based on the first group) and a second measure that is indicative of average daily interactions on the weekends (based on the second group), and aspect engine 126 may determine an aspect that indicates whether the location is more popular on weekdays or weekends. For example, aspect engine 126 ay determine an aspect of “Popular Weekday Location” if the interactions measures determined by interaction measure engine 124 are indicative of more average daily weekday interactions than weekend interaction. As yet another example, aspect engine 126 may determine that a location has recently opened or closed based on comparing a first interaction measure indicative of a quantity of interactions with the location over a recent time period (e.g., the last 5 days) to a second interaction measure indicative of a quantity of interactions over a time period that includes less recent in time interactions (e.g., the last 3 months, optionally including the last 5 days). For example, if the comparison indicates a significant increase in interactions, an aspect of “recently opened” may be determined for the location. Also, for example, if the comparison indicates a significant decrease in interactions and the first interaction measure indicates relatively few or no recent interactions, an aspect of “recently closed” may be determined for the location.

In some implementations, aspect engine 126 may determine an aspect of a location based on comparing a first interaction measure determined based on a group that includes only interactions with the location to a second interaction measure determined based on a group that includes interactions with one or more other locations that are in addition to the location. For example, grouping engine 122 may determine a group of interactions for all Italian restaurants in a geographic area and interaction measure engine 124 may determine a first interaction measure based on the group that is indicative of the average quantity of daily interactions per restaurant. Additionally, grouping engine 122 may determine a second group of interactions for a particular Italian restaurant in the geographic area and interaction measure engine 124 may determine a second interaction measure based on the group that is indicative of the average quantity of daily interactions with the particular Italian restaurant. Based on comparing the first measure to the second measure, aspect engine 126 may determine an aspect that is indicative of the popularity of the particular Italian restaurant. For example, the aspect may be indicative of the restaurant being a popular Italian restaurant if the average quantity of daily interactions for the restaurant is greater than the average quantity of daily interactions for all Italian restaurants in the geographic area.

Generally, information system 140 utilizes aspects that have been determined by aspect determination system 120 in providing information to a user. The information system 140 may utilize the aspects, for example, in determining the information to provide (e.g., the aspects may be included in the information) and/or determining when or how to provide the information (e.g., the aspects may be utilized to select the information and/or to rank the information relative to other information). For example, information system 140 may identify user interest in one or more locations and provide information related to the one or more locations based on determined aspects of the locations.

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 information related to locations 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 a user via the computing device, based on access of an application via the computing device such as access of a suggestion system). Information system 140 may optionally be in communication with information database 158. Information database 158 may include information items that may be utilized by information system 140 to provide information to the user. For example, information database 158 may include an index of documents, webpages, and/or other information items that may be utilized to identify information to provide to the user. As one example, information system 140 may be a search engine and the information database 158 may be a search index utilized to identify documents responsive to search queries. As described herein, such documents may optionally be ranked for search queries based on determined aspects that are 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 determination system 120. For example, when information database 158 is an index of webpages and other documents, the index may be updated to include information related to aspects determined herein (e.g., a webpage associated with a location may be indexed based on determined aspects of that location).

In some implementations, information system 140 may select and/or rank search results responsive to a submitted search query based on determined aspects. For example, a user may provide a search query of “trendy lunch places” and information system 140 may identify information in information database 158 related to one or more nearby locations that are restaurants. Based on inclusion of “trendy” in the search query, the information system 140 may further identify that one or more of the identified locations are associated with determined aspects that are indicative of serving lunch and/or of recently “trending up” in popularity. The information system 140 may select such identified locations for providing in response to the search query and/or promote the ranking of such locations in search results provided in response to the search query. As another example, a user may provide a query of “new restaurants” and information system 140 may identify one or more locations in POI database 154 that are associated with an aspect indicating that the restaurant has recently opened (e.g., based on presence of “new” in the search query) and select information related to such locations for providing in response to the query and/or for providing more prominently in response to the query.

In some implementations, one or more search results may be selected and/or ranked based on determined aspects, even when terms of a query do not indicate interest in the determined aspects. For example, the user may provide a search query of “Italian restaurants” and information system 140 may identify one or more webpages responsive to the query via information database 158. Information system 140 may identify one or more locations in POI database 154 that are associated with the webpages and further identify one or more aspects associated with the locations. Information system 140 may provide search results that include local Italian restaurants and restaurants that have been associated with a “trending up” aspect may be promoted and/or otherwise displayed more prominently than one or more other search results.

As described, in some implementations information system 140 may provide information related to a location independent of any query submission of a user. For example, information system 140 may be a notification or suggestion system that may provide information related to locations having “highly popular” or “trending up” aspects to a user without the user submitting a query related to the location. For instance, 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. Also, for example, information system 140 may provide one or more suggestions responsive to a selection of the user that is not the user explicitly typing, speaking, or otherwise inputting a query. For instance, the user may select a user interface element to request “popular restaurants” nearby and information system 140 may select information related to one or more restaurants based on determined aspects that indicate the restaurants are “popular”. Also, for example, information system 140 may be a mapping application that may provide a map with various points of interest for display on a computing device of a user. Information system 140 may determine to include one or more of the points of interest based on association of the points of interest to one or more determined aspects and/or may determine to display one or more of the points of interest more prominently and/or with additional descriptions based on association of the points of interest to one or more determined aspects. Also, for example, a “recently opened” location may be promoted in ranking of information provided to a user. For example, the user may not be provided with restaurants in a location if the user is familiar with the area. A restaurant that is associated with an aspect of “recently opened” may be provided to the user even if the user is familiar with the area and would not otherwise be provided restaurants in the area.

Referring to FIG. 4, an example interface is provided that includes information based on determined aspects of locations. In some implementations, information system 140 may determine the information included in the interface of FIG. 4 and provide the interface to client device 105 for presentation to a user. For example, information system 140 may be a search engine and the interface may be provided to the user via browser 106 in response to the user providing a search query. Also, for example, information system 140 may be a suggestion system and the interface may be provided via a suggestion application of the client device 105. In some implementations, only parts of the example interface of FIG. 4 may be provided to the user and/or the information may be provided via one or more alternate interfaces.

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

Favorite restaurant suggestions 405 may be provided to a user via client device 105, either as a separate interface or as part of an interface with other information of FIG. 4. In some implementations, favorite restaurant suggestions 405 may include one or more locations that are identified by information system 140 from POI database 154 and that are associated with a “favorite restaurants of locals” aspect. For example, grouping engine 122 may determine, for each of the restaurants of 405, a first group of interactions for the restaurant that are associated with “locals” (e.g., those who live near the restaurant) and a second group of interactions for the restaurant that includes “non-locals” (e.g., all interactions for the restaurant). Interaction measure engine 124 may determine first and second measures based on the groups, and aspect engine 126 may determine, based on the measures, that the restaurant is popular with users that are locals. Information system 140 may provide the listed restaurants of 405 based on determining they are each associated with a “favorite restaurants of locals” aspects. Each of the restaurants also includes additional information, such as a popularity rating (indicated by stars) and a category of the restaurant (i.e., pizza and steak) that may be identified via information database 158 and/or POI database 154. In some implementations, one or more of the 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).

Search results 410 may be provided in an interface with other information as illustrated in FIG. 4 and/or may be provided as a separate interface. For example, information system 140 may be a search engine and search results 410 may be provided to the user via client device 105 in response to a query provided by the user. In some implementations, information that is provided with search results may be identified via information database 158 and the results may be selected and/or ranked based on aspects associated with locations that are related to the search results, as described herein.

While depicted as separate components in FIG. 1, in various implementations, all or part of aspect determination system 120 and/or information system 140 may optionally be combined. Also, in some implementations, information system 140 may be omitted.

FIG. 2 illustrates an example of how an aspect of a physical location may be determined and assigned to the physical location based on interactions associated with the physical location. Interactions of users with locations are stored in interactions database 152 and grouping engine 122 may identify one or more of the interactions and determine a group of the interactions. For example, grouping engine 122 may determine a group of interactions that includes interactions for a particular location, for a category of locations, for a category of users, for a particular time of the day, and/or based on one or more other criteria. In some implementations, grouping engine 122 may identify the locations based at least in part on information in POI database 154. For example, grouping engine 122 may identify a location in POI database 154 and determine a group of interactions with the identified location (e.g., all interactions with the location, interactions at one or more times of day and/or over a period of time). Also, for example, grouping engine 122 may determine interactions of interactions database 152 pertain to a particular location based on information in POI database 154 (e.g., based on mapping interactions to aliases, addresses, or other information of a location in POI database 154).

As an example, grouping engine 122 may identify a location of Restaurant 1, an Italian restaurant, and the coordinates and/or address of the location. Grouping engine 122 may further determine a group of interactions from interactions database 152 that includes interactions with Restaurant 1 over the past month. Grouping engine 122 may provide one or more groups of interactions to interaction measure engine 124 to determine one or more interaction measures for each group. For example, for each of the groups, interaction measure engine 124 may determine an interaction measure that is indicative of an average number of interactions per day. Also, for example, interaction measure engine 124 may determine an interaction measure that indicates an average number of interactions per hour of each day over the time period of the interactions of each group. Interaction measure engine 124 may provide the interaction measures to aspect engine 126.

In some implementations, only one group of interactions may be determined and only one interaction measure may be determined for a location, as represented by the dotted lines for the second group of interactions and second interaction measure in FIG. 2 (indicating those aspects are optional). For example, the first interaction measure may be percentages of the total interactions that occurred per hour at the location (e.g., 5% of total average interactions occurred between 10 am and 11 am, 15% of total average interactions occurred between 11 am and 12 pm, etc.). The second measure may not be determined from a group of interactions but may instead be a threshold value. For example, the second measure may be a threshold value of 85% of interactions during lunchtime, and aspect engine 126 may determine that the location is a lunch restaurant by comparing the threshold value to the percentage of total interactions per hour for lunch hours.

Aspect engine 126 may determine one or more aspects for the location based on the interaction measures and associate the aspects with the location in the POI database 154. For example, interaction measure engine 124 may determine a first interaction measure that indicates the average interactions during lunchtime for the month that is most recent in time and a second interaction measure that indicates the average interactions during lunchtime for the last six months. Aspect engine 126 may determine an aspect of “trending in popularity for lunch” by comparing the interaction measures and determining that the average lunchtime interactions has increased by at least a threshold amount.

As another example of an aspect that may be determined for a location, aspect engine 126 may determine an aspect that indicates whether the customers of a location are loyal to the location (and optionally the extent of the loyalty). For example, grouping engine 122 may determine a group of interactions of users with Restaurant 1. Interaction measure engine 124 may determine, based on the group, an interaction measure that indicates the number of users that have interacted with the location once, the number of users that have interacted with the location twice, three times, etc. Also, for example, interaction measure engine 124 may determine a second measure that indicates the average number of times a group of users has interacted with other locations once, twice, three times, etc. (e.g., based on groups that include interactions of additional locations such as other restaurants of a similar price range in the same area). Aspect engine 126 may determine an aspect that indicates the restaurant has a loyal clientele by comparing the counts (or proportion) of repeat customer of the location with the repeat customer count (or proportion) of one or more other locations (e.g., the more repeat customers, the more loyal).

As another example of determining a customer loyalty aspect of Italian Restaurant A, a group of interactions may be determined that are associated with Italian Restaurant A. If it is desirable to determine loyalty among users having certain attributes, in some implementations the interactions of the group may optionally be selected by grouping engine 122 based on an association with one or more of those attributes. An interaction measure indicative of a measure of repeat interactions with Italian Restaurant A may be determined by interaction measure engine 124 based on the group of interactions. For instance, the interaction measure may be an average quantity of interactions by users, a median quantity of interactions by users, and/or a continuous or discrete distribution of quantity of interactions (e.g., a mean with a standard deviation, a vector including raw counts or frequencies for each of a plurality of interaction quantities such as one interaction, two interactions, three interactions, etc.).

As another example, grouping engine 122 may determine a group of interactions for Restaurant 1 and additionally determine a group of interactions for a group of other Italian restaurants. Interaction measure engine 124 may determine measures of interactions for Restaurant 1 and other Italian restaurants. Aspect engine 126 may determine an aspect of the restaurant related to the popularity of Restaurant 1 based on the interaction measures. For example, aspect engine 126 may determine that Restaurant 1 is a popular location to have Italian for dinner by determining that the interactions with Restaurant 1 at dinner is greater than an average number of interactions of other Italian restaurants at dinner.

As an example of determining an aspect of Italian Restaurant A that indicates trending of Italian Restaurant A, a group of interactions may be determined by grouping engine 122 that are associated with Italian Restaurant A and that are associated with a recent time period (e.g., the most recent X days). If it is desirable to determine trending among users having certain attributes, in some implementations the interactions of the group may optionally be selected by grouping engine 122 based on an association with one or more of those attributes. An interaction measure indicative of a quantity of interactions with Italian Restaurant A may be determined by interaction measure engine 124 based on the group of interactions. For instance, the interaction measure may be an average quantity of the interactions per day over the most recent X days. A second interaction measure may be determined from a second group of interactions that includes interactions over the next most recent X days. Aspect engine 126 may determine an aspect for the location based on comparing the first interaction measure and the second interaction measure. For example, aspect engine 126 may determine an aspect that the location is trending if the interaction measures indicate that the average interactions in the last X days is greater than in the X days before.

FIG. 3 is a flow chart illustrating an example method of assigning an aspect to a physical location based on interaction associated with the physical location. For convenience, the operations of the flow chart are described with reference to a system that performs the operations. This system may include various components of various computer systems. For instance, some operations may be performed by one or more components of the aspect determination system 120, such as grouping engine 122, interaction measure engine 124, and aspect engine 126. Moreover, while operations of the method of FIG. 3 are shown in a particular order, this is not meant to be limiting. One or more operations may be reordered, omitted or added.

At step 300, a group of interactions associated with a physical location is determined. In some implementations, the group of interactions may be determined by a component that shares one or more aspects with grouping engine 122. In some implementations, a group of interactions may be determined that includes interactions of users based on one or more characteristics of the users. For example, grouping engine 122 may determine a group of interactions that are associated with certain user attributes and/or certain user groups. In some implementations, grouping engine 122 may determine a group of interactions that occurred during a time period. For example, grouping engine 122 may determine a group of interactions that occurred during a particular week, month, day of the week, and/or during a particular time of day over a period of time (e.g., interactions during lunchtime over the last month).

At step 305, a first interaction measure for the physical location is determined based on the interactions of the group. The first interaction measure may be determined by a component that shares one or more characteristics with interaction measure engine 124. In some implementations, an interaction measure may be a statistic based on the interactions. For example, an interaction measure for a group of interactions may include an average of interactions over a period of time, an average number of interactions per hour over a period of time, and/or a proportion of average daily interactions that occurred each hour over a period of time (e.g., percentage of customers for the day that were lunch customers, percentage of customers for the day that were dinner customers).

At step 310, a second interaction measure for the physical location is determined. In some implementations the second interaction measure may be one or more static or dynamic thresholds. For example, the first interaction measure may be indicative of duration of interactions with the location and the second measure may be a static threshold duration. In some implementations, the second measure may additionally or alternatively include an additional interaction measure that is based on a second group of interactions that include additional interactions that are in addition to the group of interactions utilized to determine the first interaction measure. For example, grouping engine 122 may determine a second group of interactions for one or more different times, for one or more different locations, and/or for one or more different groups of users from the interactions that were 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 measure may be based on interactions with all Italian restaurants in a geographic area near Italian Restaurant 1 (optionally including the interactions with Italian Restaurant 1).

At step 315, an aspect of the physical location is determined based on a comparison of the first and second interaction measures, and the aspect is assigned to the physical location. The aspect of a physical location may be determined by a component that shares one or more characteristics with aspect engine 126 and may be assigned to the location based on association with the location in one or more databases such as POI database 154. In some implementations, aspect engine 126 may determine an aspect for a location that is related to the trending popularity of the location. For example, aspect engine 126 may determine that a restaurant is trending up in popularity based on a first interaction measure determined based on recent interactions and a second interaction measure based on less recent interactions, and determining that the interaction measures are indicative of a recent increase in popularity. Also, for example, aspect engine 126 may determine a restaurant has recently closed based on interaction measures for the location that are indicative of few or no current interactions with the location. In some implementations, aspect engine 126 may determine an aspect based on a first interaction measure that is related to the location and a second interaction measure that is related to one or more other locations (either including or not including the location). For example, the first interaction measure may be based on interactions with a restaurant and the second interaction measure may be based on a second group of interactions with other restaurants that are similar to the first restaurant. For instance, aspect engine 126 may compare the interaction measures and determine that the first restaurant is more popular that the average interactions of other restaurants serving a similar type of cuisine, of a similar price range, and/or in a similar geographic area.

FIG. 5 is a block diagram of an example computer system 510. Computer system 510 typically includes at least one processor 514 which communicates with a number of peripheral devices via bus subsystem 512. These peripheral devices may include a storage subsystem 524, including, for example, a memory subsystem 525 and a file storage subsystem 526, user interface output devices 520, user interface input devices 522, and a network interface subsystem 516. The input and output devices allow user interaction with computer system 510. Network interface subsystem 516 provides an interface to outside networks and is coupled to corresponding interface devices in other computer systems.

User interface input devices 522 may include a keyboard, pointing devices such as a mouse, trackball, touchpad, or graphics tablet, a scanner, a touchscreen incorporated into the display, audio input devices such as voice recognition systems, microphones, and/or other types of input devices. In general, use of the term “input device” is intended to include all possible types of devices and ways to input information into computer system 510 or onto a communication network.

User interface output devices 520 may include a display subsystem, a printer, a fax machine, or non-visual displays such as audio output devices. 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 non-visual display such as via audio output devices. In general, use of the term “output device” is intended to include all possible types of devices and ways to output information from computer system 510 to the user or to another machine or computer system.

Storage subsystem 524 stores programming and data constructs that provide the functionality of some or all of the modules described herein. For example, the storage subsystem 524 may include the logic to perform selected aspects of the method of FIG. 3, as well as one or more of the operations performed by grouping engine 122, interaction measure engine 124, aspect engine 126, and so forth.

These software modules are generally executed by processor 517 alone or in combination with other processors. Memory 525 used in the storage subsystem can include a number of memories including a main random access memory (RAM) 530 for storage of instructions and data during program execution and a read only memory (ROM) 532 in which fixed instructions are stored. A file storage subsystem 526 can provide persistent storage for program and data files, and may include a hard disk drive, a floppy disk drive along with associated removable media, a CD-ROM drive, an optical drive, or removable media cartridges. The modules implementing the functionality of certain implementations may be stored by file storage subsystem 526 in the storage subsystem 527, or in other machines accessible by the processor(s) 517.

Bus subsystem 512 provides a mechanism for letting the various components and subsystems of computer system 510 communicate with each other as intended. Although bus subsystem 512 is shown schematically as a single bus, alternative implementations of the bus subsystem may use multiple busses.

Computer system 510 can be of varying 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, the description of computer system 510 depicted in FIG. 5 is intended only as a specific example for purposes of illustrating some implementations. Many other configurations of computer system 510 are possible having more or fewer components than the computer system depicted in FIG. 5.

While several implementations have been described and illustrated herein, a variety of other means and/or structures for performing the function and/or obtaining the results and/or one or more of the advantages described herein may be utilized, and each of such variations and/or modifications is deemed to be within the scope of the implementations described herein. More generally, all parameters, dimensions, materials, and configurations described herein are meant to be exemplary and that the actual parameters, dimensions, materials, and/or configurations will depend upon the specific application or applications for which the teachings is/are used. Those skilled in the art will recognize, or be able to ascertain using no more than routine experimentation, many equivalents to the specific implementations described herein. It is, therefore, to be understood that the foregoing implementations are presented by way of example only and that, within the scope of the appended claims and equivalents thereto, implementations may be practiced otherwise than as specifically described and claimed. Implementations of the present disclosure are directed to each individual feature, system, article, material, kit, and/or method described herein. In addition, any combination of two or more such features, systems, articles, materials, kits, and/or methods, if such features, systems, articles, materials, kits, and/or methods are not mutually inconsistent, is included within the scope of the present disclosure.

Claims

1. A computer implemented method, comprising:

determining a group of interactions from one or more databases, the determining based on association of the interactions of the group to a physical location;
determining a first interaction measure for the physical location based on the group of the interactions;
determining a second interaction measure based on a second group that includes additional interactions that are in addition to the interactions of the group, the additional interactions including at least one of: additional physical location interactions associated with one or more additional physical locations that are in addition to the physical location, and temporally distinct interactions associated with the physical location and temporally distinct from the interactions of the group; and
assigning an aspect to the physical location based on comparison of the first interaction measure to the second interaction measure.

2. The method of claim 1, wherein the additional interactions of the second group include the additional physical location interactions and further comprising:

including the additional physical location interactions in the second group based on similarity between the associated additional physical locations and the physical location.

3. The method of claim 2, further comprising determining the similarity based on at least one of a category of the physical location and a geographic area of the physical location.

4. The method of claim 1, wherein the interactions of the group are associated with one or more first time periods and the additional interactions of the second group include the temporally distinct interactions and are associated with one or more second time periods.

5. The method of claim 4, wherein the first interaction measure is indicative of a quantity of interactions with the physical location during the first time periods and the anticipated interaction measure is indicative of a second quantity of interactions during the second time periods; and wherein the aspect is indicative of a difference in the quantity of interactions and the second quantity of interactions.

6. The method of claim 5, wherein the second time periods include a range of dates earlier in time than the first time periods, and wherein the aspect is indicative of one of: positive trending when the difference indicates an increase that satisfies a threshold; a newly opened business when the difference satisfies a newly opened business threshold; and a closed business when the difference indicates a closed business threshold.

7. The method of claim 5, wherein the first time periods are a first time range across multiple dates and the second time periods are a second time range across multiple dates, and wherein the aspect is indicative of popularity of the physical location during the first time range.

8. The method of claim 1, wherein the first interaction measure is indicative of a measure of repeat interactions with the physical location as indicated by the interactions of the group and the second interaction measure is indicative of repeat interactions with the additional physical locations as indicated by the additional interactions of the second group.

9. The method of claim 8, wherein determining the first interaction measure includes:

determining the measure of repeat interactions based on determining a frequency for each of one or more quantities of repeat interactions; and
determining the first interaction measure based on the measure of repeat interactions.

10. The method of claim 1, wherein the first interaction measure is indicative of a quantity of interactions with the physical location.

11. The method of claim 1, further comprising:

providing, to a computing device of a user, an indication of the aspect of the physical location in combination with additional information related to the location.

12. The method of claim 1, further comprising:

receiving, from a computing device of a user, a selection indicative of the aspect;
identifying the physical location based at least in part on the selection and the assignment of the aspect to the physical location; and
providing, to the computing device, information related to the physical location.

13. The method of claim 1, further comprising:

receiving a query from a computing device of a user;
identifying information related to the physical location as responsive to the query; and
ranking the information relative to additional information responsive to the query based at least in part on the aspect.

14. The method of claim 13, wherein the query includes one or more terms and ranking the information relative to the additional information based at least in part on the aspect includes:

determining a relationship between the aspect and at least a term of the terms; and
determining the ranking based on the relationship.

15. The method of claim 1, wherein determining the group of interactions includes determining the group of interactions only when a quantity of the interactions of the group satisfies a privacy threshold.

16. A system, comprising:

memory storing instructions;
one or more processors operable to execute the instructions in the memory, wherein the instructions comprise instructions to:
determine a group of interactions from one or more databases, the determining based on association of the interactions of the group to a physical location;
determine a first interaction measure for the physical location based on the group of the interactions;
determine a second interaction measure based on a second group that includes additional interactions that are in addition to the interactions of the group, the additional interactions including at least one of: additional physical location interactions associated with one or more additional physical locations that are in addition to the physical location, and temporally distinct interactions associated with the physical location and temporally distinct from the interactions of the group; and
assign an aspect to the physical location based on comparison of the first interaction measure to the second interaction measure.

17. A computer implemented method, comprising:

determining a group of interactions from one or more databases, the determining based on associations of the interactions of the group with a physical location;
determining a first interaction measure based on the interactions of the group of interactions;
determining a second measure; and
assigning an aspect to the physical location based on comparison of the first interaction measure and the second measure.

18. The method of claim 17, wherein the first interaction measure is indicative of a measure of repeat interactions with the physical location as indicated by the interactions of the group and the second measure is one of a measure indicative of repeat interactions with one or more additional physical locations and a predetermined threshold value.

19. The method of claim 18, wherein the second measure is determined based on a second group of interactions.

20. The method of claim 18, wherein determining the first interaction measure includes:

determining the measure of repeat interactions based on determining a frequency for each of one or more quantities of repeat interactions; and
determining the first interaction measure based on the measure of repeat interactions.
Patent History
Publication number: 20160019556
Type: Application
Filed: Oct 1, 2014
Publication Date: Jan 21, 2016
Inventors: Boris Mazniker (San Francisco, CA), Finnegan Southey (San Francisco, CA), Christopher James Schilling (Santa Clara, CA), Quang Anh Duong (San Francisco, CA), Tamas Sarlos (Cupertino, CA)
Application Number: 14/504,074
Classifications
International Classification: G06Q 30/02 (20060101);