US20230129014A1 - Apparatus, systems, and methods for analyzing characteristics of entities of interest - Google Patents
Apparatus, systems, and methods for analyzing characteristics of entities of interest Download PDFInfo
- Publication number
- US20230129014A1 US20230129014A1 US18/045,431 US202218045431A US2023129014A1 US 20230129014 A1 US20230129014 A1 US 20230129014A1 US 202218045431 A US202218045431 A US 202218045431A US 2023129014 A1 US2023129014 A1 US 2023129014A1
- Authority
- US
- United States
- Prior art keywords
- entity
- data
- information
- information request
- interest
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2379—Updates performed during online database operations; commit processing
- G06F16/2386—Bulk updating operations
-
- G—PHYSICS
- G05—CONTROLLING; REGULATING
- G05B—CONTROL OR REGULATING SYSTEMS IN GENERAL; FUNCTIONAL ELEMENTS OF SUCH SYSTEMS; MONITORING OR TESTING ARRANGEMENTS FOR SUCH SYSTEMS OR ELEMENTS
- G05B13/00—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion
- G05B13/02—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric
- G05B13/0265—Adaptive control systems, i.e. systems automatically adjusting themselves to have a performance which is optimum according to some preassigned criterion electric the criterion being a learning criterion
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/235—Update request formulation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/23—Updating
- G06F16/2379—Updates performed during online database operations; commit processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24564—Applying rules; Deductive queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2458—Special types of queries, e.g. statistical queries, fuzzy queries or distributed queries
- G06F16/2477—Temporal data queries
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/282—Hierarchical databases, e.g. IMS, LDAP data stores or Lotus Notes
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/28—Databases characterised by their database models, e.g. relational or object models
- G06F16/284—Relational databases
- G06F16/285—Clustering or classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/29—Geographical information databases
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/31—Indexing; Data structures therefor; Storage structures
- G06F16/313—Selection or weighting of terms for indexing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/35—Clustering; Classification
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/951—Indexing; Web crawling techniques
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N20/00—Machine learning
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06N—COMPUTING ARRANGEMENTS BASED ON SPECIFIC COMPUTATIONAL MODELS
- G06N5/00—Computing arrangements using knowledge-based models
- G06N5/02—Knowledge representation; Symbolic representation
- G06N5/022—Knowledge engineering; Knowledge acquisition
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q10/00—Administration; Management
- G06Q10/10—Office automation; Time management
- G06Q10/101—Collaborative creation, e.g. joint development of products or services
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0241—Advertisements
- G06Q30/0251—Targeted advertisements
- G06Q30/0261—Targeted advertisements based on user location
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q30/00—Commerce
- G06Q30/02—Marketing; Price estimation or determination; Fundraising
- G06Q30/0282—Rating or review of business operators or products
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06Q—INFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
- G06Q50/00—Information and communication technology [ICT] specially adapted for implementation of business processes of specific business sectors, e.g. utilities or tourism
- G06Q50/01—Social networking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L41/00—Arrangements for maintenance, administration or management of data switching networks, e.g. of packet switching networks
- H04L41/14—Network analysis or design
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W16/00—Network planning, e.g. coverage or traffic planning tools; Network deployment, e.g. resource partitioning or cells structures
- H04W16/24—Cell structures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/02—Services making use of location information
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/02—Services making use of location information
- H04W4/021—Services related to particular areas, e.g. point of interest [POI] services, venue services or geofences
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/02—Services making use of location information
- H04W4/025—Services making use of location information using location based information parameters
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/02—Services making use of location information
- H04W4/029—Location-based management or tracking services
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W4/00—Services specially adapted for wireless communication networks; Facilities therefor
- H04W4/50—Service provisioning or reconfiguring
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W64/00—Locating users or terminals or network equipment for network management purposes, e.g. mobility management
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W64/00—Locating users or terminals or network equipment for network management purposes, e.g. mobility management
- H04W64/003—Locating users or terminals or network equipment for network management purposes, e.g. mobility management locating network equipment
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W76/00—Connection management
- H04W76/30—Connection release
- H04W76/38—Connection release triggered by timers
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W8/00—Network data management
- H04W8/02—Processing of mobility data, e.g. registration information at HLR [Home Location Register] or VLR [Visitor Location Register]; Transfer of mobility data, e.g. between HLR, VLR or external networks
- H04W8/08—Mobility data transfer
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W8/00—Network data management
- H04W8/02—Processing of mobility data, e.g. registration information at HLR [Home Location Register] or VLR [Visitor Location Register]; Transfer of mobility data, e.g. between HLR, VLR or external networks
- H04W8/08—Mobility data transfer
- H04W8/16—Mobility data transfer selectively restricting mobility data tracking
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W8/00—Network data management
- H04W8/18—Processing of user or subscriber data, e.g. subscribed services, user preferences or user profiles; Transfer of user or subscriber data
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W88/00—Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
- H04W88/02—Terminal devices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/30—Information retrieval; Database structures therefor; File system structures therefor of unstructured textual data
- G06F16/33—Querying
- G06F16/335—Filtering based on additional data, e.g. user or group profiles
- G06F16/337—Profile generation, learning or modification
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W16/00—Network planning, e.g. coverage or traffic planning tools; Network deployment, e.g. resource partitioning or cells structures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W16/00—Network planning, e.g. coverage or traffic planning tools; Network deployment, e.g. resource partitioning or cells structures
- H04W16/24—Cell structures
- H04W16/30—Special cell shapes, e.g. doughnuts or ring cells
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W16/00—Network planning, e.g. coverage or traffic planning tools; Network deployment, e.g. resource partitioning or cells structures
- H04W16/24—Cell structures
- H04W16/32—Hierarchical cell structures
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04W—WIRELESS COMMUNICATION NETWORKS
- H04W88/00—Devices specially adapted for wireless communication networks, e.g. terminals, base stations or access point devices
Definitions
- This application is also related to:
- the disclosed subject matter generally relates to data processing apparatus, systems, and methods for analyzing characteristics of entities of interest.
- Online services provide useful information about an entity of interest. For example, some social networking services provide ratings for quality and price-friendliness of restaurants and coffee shops based on user reviews and/or exclusive reviews by agents. While such information can be handy and useful, it can be unreliable because the information source, from which the ratings are generated, can be unreliable. For example, reviews from certain users can be deliberately misrepresentative because those users may have other ulterior motives. Even if the information source is reliable, the information can be biased because the information is derived from biased sources or a small number of sources. When there are only few reviewers, the information has low statistical significance.
- embodiments of the disclosed subject matter can include an apparatus.
- the apparatus includes a memory device that is configured to maintain information about an entity of interest, wherein the information includes internal data, external data, and server logs associated with the entity of interest.
- the apparatus also includes a processor, in communication with the memory device, and configured to run one or more modules. The one or modules are operable to cause the apparatus to retrieve the internal data, the external data, and the server logs about the entity of interest. generate a plurality of features based on the internal data, the external data, and the server logs, and compute a score for the entity of interest based on the plurality of features, wherein the score is indicative of an importance of the entity of interest.
- embodiments of the disclosed subject matter can include a method for processing information relating to an entity of interest.
- the method includes retrieving internal data, external data, and server logs about the entity of interest, generating a plurality of features for the entity of interest based on the internal data, the external data, and the server logs, and computing a score for the entity of interest based on the plurality of features, wherein the score is indicative of an importance of the entity of interest.
- embodiments of the disclosed subject matter can include a non-transitory computer readable medium.
- the non-transitory computer readable medium can include executable instructions operable to cause a data processing apparatus to retrieve internal data, external data, and server logs about the entity of interest, generate a plurality of features for the entity of interest based on the internal data, the external data, and the server logs, and compute a score for the entity of interest based on the plurality of features, wherein the score is indicative of an importance of the entity of interest.
- the apparatus, the method, or the non-transitory computer readable medium can include modules, steps, or executable instructions for receiving, from a computing device, an information request including a query, requesting the apparatus to provide information on one or more entities associated with the query, identifying at least one entity associated with the query based on at least one score associated with the at least one entity, and ordering the at least one entity based on the at least one score using a sorting mechanism prior to providing information on the at least one entity to the computing device.
- the apparatus, the method, or the non-transitory computer readable medium can include modules, steps, or executable instructions for modifying the order of the at least one entity by altering one or more scores by altering one or more scores of the at least one entity based on one or more contextual conditions associated with the information request.
- the one or more contextual conditions associated with the information request can include one or more of: a time at which the information request is received, a geographic location from which the information request is received, an application from which the information request is received, a profile of a user from which the information request is received, and/or a type of the computing device that sent the information request.
- one of the plurality of features comprises summary attributes associated with a particular characteristic of the EOI
- the apparatus, the method, or the non-transitory computer readable medium can include modules, steps, or executable instructions for formatting the internal data, external data, and server logs into structured data having a predetermined data structure, determining a subset of the structured data associated with the particular characteristic of the EOI, and generating the summary attributes of the particular characteristic of the EOI based on the subset of the structured data.
- one of the plurality of features can include an aggregate count of data items, in the internal dataset, relating to the entity of interest.
- one of the plurality of features can include an information request feature indicative of a total number of information requests, received by the apparatus, for information relating to the entity of interest.
- an information request can be associated with one of a plurality of information request types, and the information request feature can also be indicative of a total number of information requests associated with each of the plurality of information request types.
- the plurality of features can be normalized to a common scale.
- the apparatus, the method, or the non-transitory computer readable medium can include modules, steps, or executable instructions for determining an association between the external data and the internal data by matching one or more attributes of the external data to the internal data.
- the apparatus, the method, or the non-transitory computer readable medium can include modules, steps, or executable instructions for computing the score for the entity of interest by computing a weighted combination of the plurality of features associated with the EOI.
- the apparatus, the method, or the non-transitory computer readable medium can include modules, steps, or executable instructions for determining weights for the weighted combination based on importance labels indicating an importance of each of the plurality of features.
- the apparatus, the method, or the non-transitory computer readable medium can include modules, steps, or executable instructions for computing the score for the entity of interest by computing exponentiations of the plurality of features.
- FIG. 1 illustrates a placerank client/server system in accordance with some embodiments.
- FIG. 2 shows a method for computing a placerank value of an entity of interest (EOI) in accordance with some embodiments.
- EI entity of interest
- FIG. 3 illustrates a pipeline diagram for computing a placerank value of an EOI in accordance with some embodiments.
- FIG. 4 illustrates a table illustrating placerank values of a plurality of restaurants in accordance with some embodiments.
- FIG. 5 illustrates an interaction between a client and a server based on placerank values associated with EOIs in accordance with some embodiments.
- an “entity of interest” can include any entity that has a physical location, such as a restaurant, a national park, a store, travel agency, or a coffee shop, or a government entity, such as a registry of motor vehicles, or any other business or non-business entity.
- an EOI can include any other types of entities, for example, products, people, buildings, or computers.
- a placerank value of an EOI is indicative of an importance or relevance of the EOI in view of predetermined characteristics or criteria.
- a placerank value of an EOI can be indicative of the “family friendliness” of the EOI.
- a high placerank value can indicate that the associated EOI is family friendly, whereas a low placerank value can indicate that the associated EOI is not family friendly.
- an EOI may be associated with a plurality of placerank values, each associated with particular characteristics or criteria, such as predetermined audience or a predetermined scenario.
- a restaurant can be associated with three placerank values: placerank.foodie, placerank.social, and placerank.good_for_singles.
- placerank.foodie can indicate a popularity of the EOI to gourmets; placerank.social can indicate a popularity of the EOI for social events; and placerank.good_for_singles can indicate a popularity of the EOI to singles.
- Placerank values can be useful in any systems that are configured to provide EOIs in response to an information request, such as in a client/server system.
- a client can submit, to a server, an information request including, for example, a search query: “good Chinese restaurants near Greenwich Village, N.Y.”
- the server can provide, to the client, a list of restaurants that (1) serve Chinese style food and (2) are physically located in or near Greenwich Village, N.Y.
- the server can be configured to sort the restaurants using one or more placerank values associated with the restaurants.
- the server can provide a list of relevant restaurants such that restaurants with higher placerank values (e.g., good restaurants) are presented before restaurants with lower placerank values (e.g., bad restaurants).
- the server can provide a list of relevant restaurants such that restaurants with higher placerank values (e.g., inexpensive restaurants) are presented before restaurants with lower placerank values (e.g., expensive restaurants).
- a “price” placerank value of restaurant e.g., restaurants considered “inexpensive” are associated with a higher placerank value compared to restaurants considered “expensive”
- the server can provide a list of relevant restaurants such that restaurants with higher placerank values (e.g., inexpensive restaurants) are presented before restaurants with lower placerank values (e.g., expensive restaurants).
- a server can use one or more of the plurality of placerank values to determine the order of the EOIs.
- the order of the EOIs can be further adjusted dynamically, for example, based on the specific use case or a client's request.
- a textual search query can include a search string, such as “Chinese Restaurants,” entered into an Internet search engine.
- a geographic search query can include a geographic coordinate, for example, a (longitude, latitude) coordinate such as (40.733855, ⁇ 73.99386), requesting a list of all EOIs located within a given radius (e.g., 50 meters) of the geographic coordinate.
- Placerank values can also be useful in filtering search results. If a placerank value of an EOI is less than a predetermined threshold, a server can hide the EOI from the list of EOIs provided in response to an information request. This mechanism allows a server to discard or hide EOIs that are relatively unimportant (e.g., restaurants that are considered “bad” or “too expensive”).
- Placerank values can also be useful in selecting one or more mechanisms for displaying information on the client.
- placerank values can be used to select one or more user interface elements, such as an icon or a font type, for conveying an importance of an EOI within a visual display, such as a map.
- the selection of an appropriate user interface element allows a client or a user to more quickly find the relevant EOI from the display, such as a map. For instance, in response to an information request for “Chinese Restaurants near Greenwich Village, N.Y.,” the server may provide, to the client, a map of Greenwich Village. On that map, the server can display Chinese Restaurants that satisfy the information request.
- the server can also indicate the quality of the presented Chinese restaurants, based on the “goodness” placerank values associated with these Chinese Restaurants. For example, Chinese Restaurants that are “excellent” may be designated by three stars, Chinese Restaurants that are considered “good” may be designated by two stars, Chinese Restaurants that are considered “acceptable” may be designated by one star, and Chinese Restaurants that are considered “poor” or unacceptable, may not be indicated on the map at all.
- Placerank values can also be useful as a part of an analytics system that leverages placerank values to make other conclusions about the EOI associated with the placerank values.
- Placerank values can be computed using a placerank computation mechanism.
- the disclosed placerank computation mechanism can include gathering information about an EOI, generating features for the EOI based on the gathered information, and generating a placerank value for the EOI based on the generated features.
- various features, or raw data signals e.g. a number of requests for that EOI's record via an application programming interface (“API”), a number of reviews or descriptions or contributions about that EOI from trusted sources (such as blogs that are considered reliable), and a number of times the EOI's Wikipedia page was viewed
- API application programming interface
- these features are scaled and combined using a function to form the EOI's placerank value.
- the server can select one or more of the generated features and use only the selected features to compute placerank values. This way, the server can compute placerank values tailored to a particular application.
- the disclosed placerank computation mechanism can compute ratings or scores based on various information types. For example, the disclosed placerank computation mechanism can use advertisements about the EOI, textual descriptions of the EOI, which websites describe the EOI and the text on those websites about the EOI, attributes of the EOI, as well as user reviews about the EOI to determine the placerank value of the EOI.
- the ability to use various information types has significant benefits compared to existing rating systems because the amount of information for computing a placerank value can be significantly greater than the amount of numerical information for computing star-based numerical scores.
- the disclosed placerank computation mechanism uses a user review, the disclosed placerank computation mechanism can use not just numerical ratings, but also the tone of the text in the review and the quality/reliability of the review.
- the benefit of the disclosed placerank computation mechanism which considers a variety of information types as further described below, is that the variety of information types can provide a robust signal across many dimensions of interest, some of which may not be explicit. For example, for a social networking service to rate a place as “good for kids”, it must ask users to provide an explicit rating for that feature. In contrast, the disclosed placerank computation mechanism can estimate a value for this dimension (e.g., aspect) based on, for example, words in reviews, the websites the review links to, and/or whether the review is on a popular blog amongst mothers. Therefore, the disclosed placerank computation mechanism can allow a service provider to add new dimensions without explicitly asking reviewers to provide the information on such new dimensions.
- this dimension e.g., aspect
- the disclosed placerank computation mechanism can provide a reliable signal even in the presence of bad actors seeking to increase the rating associated with their interested entities. For example, to improve a rating on a social networking service, a business owner could potentially ask friends to write reviews or pay outsiders to generate favorable reviews. In contrast, the disclosed placerank computation mechanism considers reviews across many sites, which makes the placerank computation mechanism more robust. Furthermore, the PG module also considers additional information, such as the API traffic, blogs (learning to favor trustworthy blogs), and sites that bad actors cannot collectively compromise. In some cases, significant systematic disagreements across multiple sites may even point to an EOI that is trying to game the online review system.
- the function for computing a placerank value can be adapted to a particular characteristic associated with the placerank value.
- the adaptation of the function can be performed by using appropriate label data as input variables to the placerank computation.
- the function for computing a placerank value can use, as an input, social labels of the EOI.
- the social labels can include a number of check-ins or a number of likes gathered from social networking services.
- the function for computing placerank values can use, as an input, medical labels associated with EOIs, such as contributions from the National Provider Identifier (“NPI”) registry.
- NPI National Provider Identifier
- the adaptation of the function can be performed by training the function using appropriate label data.
- the function can be trained using social labels so that the function can compute placerank values that are correlated with social importance.
- the function can be trained using medical labels so that the function can compute placerank values correlated with medical service providers.
- FIG. 1 illustrates a diagram of a placerank client/server system in accordance with some embodiments.
- the system 100 includes a server 102 , a communication network 104 , and one or more client devices 106 .
- the server 102 can include a processor 108 , a memory device 110 , a placerank generation (PG) module 112 , a query response (QR) module 114 , and one or more interfaces 116 .
- PG placerank generation
- QR query response
- the processor 108 of the server 102 can be implemented in hardware.
- the processor 108 can include an application specific integrated circuit (ASIC), programmable logic array (PLA), digital signal processor (DSP), field programmable gate array (FPGA), or any other integrated circuit.
- the processor 108 can also include one or more of any other applicable processors, such as a system-on-a-chip that combines one or more of a CPU, an application processor, and flash memory, or a reduced instruction set computing (RISC) processor.
- the memory device 110 of the processor 108 can include a computer readable medium, flash memory, a magnetic disk drive, an optical drive, a programmable read-only memory (PROM), and/or a read-only memory (ROM).
- the PG module 112 can be configured to generate a placerank value for one or more entities of interest (EOIs).
- the PG module 112 can maintain the generated placerank values in the memory device 110 or provide the generated placerank values to the QR module 114 .
- the QR module 114 can be configured to respond to information requests from one or more clients 106 , in batch or in real-time.
- the PG module 112 and the QR module 114 can reside in the same server 102 . In other embodiments, the PG module 112 and the QR module 114 can reside in different servers.
- the PG module 112 and/or the QR module 114 can be implemented in software stored in the non-transitory memory device 110 , such as a non-transitory computer readable medium.
- the software stored in the memory device 110 can run on the processor 108 capable of executing computer instructions or computer code.
- the PG module 112 and/or the QR module 114 can be implemented in hardware using an ASIC, PLA, DSP, FPGA, or any other integrated circuit. In some embodiments, the PG module 112 and the QR module 114 can both be implemented on the same integrated circuit, such as ASIC, PLA, DSP, or FPGA, thereby forming a system on chip.
- the server 102 can include one or more interfaces 116 .
- the one or more interfaces 116 provide an input and/or output mechanism to communicate internal to, and external to, the server 102 .
- the one or more interfaces 116 enable communication with clients 106 over the communication network 104 .
- the one or more interfaces 116 can also provide an application programming interface (API) to other servers or computers coupled to the network 104 so that the server 102 can receive information based on which placerank values can be computed.
- API application programming interface
- the one or more interfaces 116 are implemented in hardware to send and receive signals in a variety of mediums, such as optical, copper, and wireless, and in a number of different protocols some of which may be non-transitory.
- FIG. 1 represents the server 102 as a single server, the server 102 can include more than one server and can be part of a cloud-computing platform.
- a client 106 can include a desktop computer, a mobile computer, a tablet computer, a cellular device, or any other computing devices having a processor and memory.
- the server 102 and the one or more client devices 106 can communicate via the communication network 104 .
- the communication network 104 can include the Internet, a cellular network, a telephone network, a computer network, a packet switching network, a line switching network, a local area network (LAN), a wide area network (WAN), a global area network, or any number of private networks currently referred to as an Intranet, and/or any other network or combination of networks that can accommodate data communication.
- Such networks may be implemented with any number of hardware and software components, transmission media and network protocols.
- FIG. 1 represents the network 104 as a single network, the network 104 can include multiple interconnected networks listed above.
- FIG. 2 illustrates a method for computing a placerank value of an EOI in accordance with some embodiments.
- the PG module 112 can be configured to compute a placerank value in three steps.
- the PG module 112 is configured to collect information about the EOI, based on which a placerank value can be computed.
- the PG module 112 is configured to generate features based on the collected information.
- the PG module 112 is configured to combine the generated features to determine the placerank value for the EOI.
- FIG. 3 illustrates a detailed pipeline diagram of the method described with respect to FIG. 2 in accordance with some embodiments.
- inputs to the PG module 112 are illustrated as ovals; quantities used by the PG module 112 are illustrated as rectangles; the placerank value produced by the PG module 112 are shown in the rectangle at the bottom of the diagram; and arrows indicate how data propagates through the illustrated quantities (e.g., “Feature 1” is produced using the “Server Logs,” “Internal Data” and “External Data” inputs).
- the PG module 112 is configured to compute a placerank value in three steps.
- the PG module 112 is configured to collect information about the EOI from a variety of information sources.
- the variety of information sources can include server logs 302 , internal database 304 maintaining internal data associated with the EOI, and external database 306 maintaining external data associated with the EOI.
- the internal data can include previously acquired data about the EOI, and it can generally refer to data and metadata about the EOI in a local set of databases.
- the internal data can be gathered or generated by employees or contractors working for the operator of the server 102 (e.g., an entity that generates the placeranks).
- the external data generally refers to data that can be accessed from external databases, websites, or Application Programming Interfaces (APIs). For example, there are sites that keep track of number of page requests on Wikipedia for a particular Wikipedia page. If that page is about an EOI, such as the Eiffel Tower, and if the Wikipedia page for the EOI is popular, it can cause the PG module 112 to provide a higher placerank value to that EOI.
- the external data can also include information from the Internet gathered by, for example, a web crawler that collects information on webpages, freely available datasets, or partner datasets.
- the server logs, for example, track all requests to a web or an API server. Some of those requests are for a specific EOI.
- the PG module 112 can use the number of such requests, frequency rate, and changes in request rate as features to determine the placerank value for the specific EOI.
- the PG module 112 is capable of addressing these issues, as described further below.
- the PG module 112 can be configured to generate features for the placerank computation based on the information retrieved in step 202 .
- the PG module 112 can generate the features based on one or more of the collected information types. Although FIG. 3 illustrates using only three features, the PG module 112 can use additional features for computing the placerank value.
- the “feature 1” can represent an “expense” (e.g., with more expensive restaurants receiving a higher value for this feature and less expensive restaurants receiving a lower value for this feature)
- the “feature 2” can represent “quality” (e.g., with better restaurants receiving a higher value for this feature)
- the “feature 3” can represent “cleanliness”.
- the PG module 112 can also use other features not illustrated in FIG. 3 , for example, the “child friendliness” feature (e.g., is it a restaurant that welcomes families with young children) or the “availability of valet parking” feature.
- the PG module 112 can be configured to access a list of EOIs.
- the list of EOIs can include (1) a unique identifier of each EOI and (2) one or more features associated with the unique identifiers.
- the list of EOIs can be stored in the memory device 110 in the server. In other cases, the list of EOIs can be stored in a database in communication with the server 102 .
- the server 102 is configured to receive an information request for an EOI from one or more clients 106 , requesting the server 102 to provide information about the EOI stored in an internal database.
- the information request can be received via a public API endpoint.
- an information request can be associated with one of a plurality of information request types.
- the information request types can include a search request type or a direct EOI identification request type.
- An example of an information request associated with the search request type can be a textual string, such as “Chinese restaurants in New York.”
- An example of an information request associated with the direct EOI identification request type can be a textual string, such as “World Trade Center in New York.”
- the PG module 112 can use the information requests to derive an information request feature for the placerank value computation.
- the information request feature can include one or more of (1) a total number of information requests, (2) a total number of each information request type, and/or (3) a list of origins of the information requests, such as an IP address associated with clients sending the information requests.
- the PG module 112 can use a snapshot of the information request feature and its time-dependent characteristics to find time-dependent popularity of EOis.
- the server 102 can determine and maintain an aggregate count (e.g., a number) of data items, in the internal database 304 , relating to each EOI.
- the PG module 112 can use the aggregate count as a feature for the placerank computation. For example, the PG module 112 can determine the total number of data items that contributed to the association between the “category” attribute of the EOI and the value “Restaurants”. The PG module 112 can use this number of data items as a feature for social relevance.
- the server 102 can associate (or link) external data in the external database 306 to internal data in the internal database 304 .
- the server 102 can automatically determine such association by matching certain attributes of the external data to the internal data. For example, the server 102 can automatically determine the association between a Wikipedia page (i.e., external data) and the internal data by matching the title of the Wikipedia page to the “name” attribute of EOis in the internal database 304 .
- the PG module 112 can use information in the Wikipedia page to derive a feature for the associated EOI in the internal database 304 .
- the server 102 may associate (or link) external data in the external database 306 to internal data in the internal database 304 using the apparatus, systems, and methods as described in “APPARATUS, SYSTEMS, AND METHODS FOR GROUPING DATA RECORDS,” identified by U.S. patent application Ser. No. 14/214,231, filed on Mar. 14, 2014, referred by the Attorney Docket Number 201148-4600, the entire content of which is hereby incorporated by reference herein in its entirety.
- the PG module 112 can be configured to generate features based on a record associated with the EOI.
- the record can include a name of the EOI, an address of the EOI, a phone number of the EOI, and/or a category of the EOI (e.g. the EOI is a restaurant or a concrete manufacturer).
- the record can also include a number of physical visits received by the EOI. For instance, the record can include a number of customers that visited a restaurant over a predetermined period, a number of patrons that visit a particular library, or a number of people that have their drivers' license renewed at a particular location of the registry of motor vehicles.
- the record can also include a number of online visits received by the EOI.
- the record can include a number of times a restaurant's home web page is visited by Internet users, or a number of online purchases made from a store's web page.
- the record of the EOI can also include an indication of whether the record associated with the EOI is complete (e.g. whether the record associated with the EOI includes an address and a phone number associated with the EOI). Because the record information can be generated directly from retrieving information associated with the EOI, the information generation from the EOI's record can be simple.
- the PG module 112 can be configured to generate features from references to the EOI on the external dataset, such as the Internet and/or web pages. For example, the PG module 112 can be configured to determine how many web pages mention the EOI, how many reviews the EOI has received, an age of reviews or postings relating to the EOI, an average rating of the EOI from reviews, and/or a relative popularity of web pages and reviews mentioning the EOI.
- the PG module 112 when the PG module 112 generates a feature from a review of the EOI, the PG module 112 can use the tone of the text in the review as an additional feature.
- the PG module 112 can be configured to determine the tone of the review using the steps of converting words, in the text of a review, into a data structure, and determining the tone based on the data structure. For example, in the training phase, the PG module 112 can collect one or more words and maintain a mapping of those words to certain emotions or adjectives about an entity. This allows the PG module 112 to build a mapping from words to emotions or adjectives.
- the PG module 112 can gather words from the review of interest, and use the mapping to determine emotions or adjectives associated with the words. Then, the PG module 112 can accumulate the scores (e.g., a count) of those emotions or adjectives over words in the entire review to determine a tone of the review. As another example, the PG module 112 can use natural language processing techniques to parse and interpret prose about the EOI into, for example, a parse tree, and apply statistical models that consider part of speech, counterfactual elements, context, and other such information, to estimate the tone. In some embodiments, the tone extraction can be performed periodically.
- the PG module 112 when the PG module 112 generates a feature from a review of the EOI, the PG module 112 can use the quality of the review (or a website that includes the review) as an additional feature. In some cases, the PG module 112 can be configured to determine the quality of the review (or a website that includes the review) through human computation. For instance, the PG module 112 can request one or more persons to annotate whether a particular review or a particular source of a review is reliable. Human computation can be provided using a human computation engine, such as Amazon Mechanical Turk. Human computation can be unreliable, especially when the person(s) performing the human computation is unreliable.
- the PG module 112 can distribute the annotation task only to person(s) with high ratings from prior human computation tasks.
- the PG module 112 can distribute the annotation task to multiple people and consolidate (e.g., average or smooth out) the annotation results from the multiple people to further improve the reliability of human computation.
- the PG module 112 can be configured to automatically annotate a new data source as reliable by comparing data in the new data source to data in a known, reliable data source. If the data in the new data source agrees with the data in the known, reliable data source, then the new data source is likely reliable as well.
- the PG module 112 can be configured to generate features based on references to the EOI on one or more social networking services. For instance, the PG module 112 can be configured to use a number of “likes” for the EOI, a number and/or frequency of tweets relating to the EOI, and/or a number and/or rate of check-ins.
- the PG module 112 can receive the references to the EOI on one or more social networking services via a variety of communication techniques, such as application programming interface (API) calls to social networking services, including a firehose (or subset) access to Twitter.
- API application programming interface
- the PG module 112 can download references to the EOI on one or more social networking services periodically, and update them accordingly in a local database or a local memory device 110 . The PG module can then resolve and annotate the EOI identifications using the downloaded references. In other embodiments, the PG module 112 can download references to the EOI on one or more social networking services in real-time.
- the PG module 112 can be configured to generate features based on web logs and/or API logs.
- the server 102 can be configured to maintain a log of data traffic relating to the EOI, which can measure the rate of requests for a given EOI to a web server or an API server.
- the data traffic can indicate a number of requests for a given EOI to a web server or an API server.
- the log can indicate a time and frequency at which a particular API was used by clients 106 to access information maintained by the server 102 .
- the log can also indicate an identification of clients 106 , such as an Internet Protocol (IP) address, that accessed information maintained by the server 102 .
- IP Internet Protocol
- the server 102 can maintain how many times clients/users access information relating to a particular EOI, and how many independent clients/users access information relating to a particular EOI.
- the PG module 112 can parse such logs to generate features to be used for the placerank computation.
- the PG module 112 can parse an http log, which includes the time and paths referencing certain EOIs.
- the http logs as shown below, are formatted as [IP address, timestamp, used method, path, protocol, response code].
- the PG module 112 can be configured to use summary attributes of the EOI as features associated with the EOI.
- the summary attributes associated with the EOI can be derived from the information collected in step 202 , as disclosed in U.S. Provisional Patent Application No. 61/799,846, titled “SYSTEM WITH BATCH AND REAL TIME DATA PROCESSING,” filed on Mar. 15, 2013, which is herein incorporated by reference in its entirety.
- the PG module 112 is configured to generate summary attributes by formatting unstructured input data into structured data having a predetermined data structure. Then, the PG module 112 is configured to group the structured data into a plurality of groups, each associated with a particular EOI. Then the PG module is configured to generate a representative identifier for each group. Subsequently, the PG module 112 can generate summary attributes (or summary data) for each group based on the input data associated with the particular group for the ROI.
- the PG module 112 can determine that those 5 data items are associated with the same EOI (e.g., the restaurant A), and determine summary data associated with the 5 data items. For instance, if 3 data items indicate that the restaurant A has valet parking and 2 data items indicate that the restaurant A does not have valet parking, then the PG module 112 can summarize (e.g., average or smooth out) the 5 data items using a majority voting scheme and indicate that the EOI has a valet parking.
- the PG module 112 can use metadata to compute the summary attributes.
- the metadata can include, for example, references to (1) a source from which the input data originates, (2) a user identification that contributed the input data, and/or (3) a data on which the input data was contributed.
- the summary attributes can include, for example, (1) a number of data items in the collected information, (2) a list of contributing user identifications, (3) a time stamp of the collected information indicating the accuracy of the collected information, and/or (4) a number of times a particular EOI has appeared throughout the collected information, which may embody information on a popularity of the ROI.
- PG module 112 can include a number of information requests received by the PG module via a particular API; a number of information sources contributing to the computation of the EOI's placerank value; a number of occurrences or references to the EOI on the Internet, also referred to as a number of external crosswalk references (e.g.
- references to the EOI's profile pages in social network websites ); a category of the EOI (e.g., Chinese restaurant, Indian restaurant, Thai restaurant); a number of visits received by the EOI's Wikipedia page; a number of check-ins at social networking sites; a social weight of the category associated with the EOI; a number of reviews associated with the EOI; and/or a number of user-contributed reviews on social networking sites.
- the PG module 112 can also use, as a feature, the amount of information associated with an EOI (e.g., a number of data points associated with the EOI).
- EOIs with more information can correlate with more popular entities since they generally are more discussed on the web and are documented in greater detail. For example, a famous restaurant often has many reviews, advertisements, and listings, including details about the name of the chef, the number of tables, and whether the restaurant is accessible by handicapped persons. In contrast, less popular restaurants may have fewer reviews and entries, and even when there are reviews and entries, they may be less filled out, for example, with only the name and the address. The PG module 112 can learn this correlation and favor EOI with more details as more likely to be important.
- the PG module 112 can be configured to normalize the features.
- the feature normalization step can provide that features have similar ranges and prevent outliers from dominating (or biasing) the placerank value disproportionately.
- features are all normalized to a common scale.
- the features can be normalized so that that the features all have values in the range of [0, 1] (e.g., each normalized feature has a minimum value of zero, a maximum value of one, and can have any value in between those extreme values).
- the normalization can be performed using a cumulative distribution function of an exponential distribution. Parameter of the exponential distribution for the features can be set such that the mean or median of each feature is given the same normalized value, for example, 0.5.
- the PG module 112 can be configured to use the same (or a small number of) data structure type to represent generated features.
- the PG module 112 can use a data structure in accordance with the Scarecrow platform, disclosed in U.S. Provisional Patent Application No. 61/799,131, titled “SYSTEM AND METHOD FOR CROWD SOURCING DOMAIN SPECIFIC INTELLIGENCE,” filed on Mar. 15, 2013, which is herein incorporated by reference in its entirety.
- the PG module 112 can use a data structure predetermined by a person having an expertise in a particular application of a feature.
- the PG module 112 can determine, on its own, the data structure for a feature and automatically populate some or all of the fields in the data structure. For example, the PG module 112 can determine whether data from a data source is changing over time. The PG module 112 can determine that the portion of the data that does not change over time is the label (or an identifier) of a feature, and the portion of the data that does change over time is the value of the feature. Therefore, the PG module 112 can subsequently populate the data structure based on the determined label of a feature and the determined value of the feature.
- the PG module 112 is configured to generate a placerank value based on the generated features (or the normalized features).
- the PG module 112 can use a function to aggregate the values of the generated features (or the normalized features).
- the output of the function can be a raw placerank value 308 .
- the function can be configured so that popular EOIs are assigned higher placerank values compared to unpopular EOIs. For example, restaurants that receive more physical customer visits can have a higher placerank than restaurants that receive fewer physical customer visits.
- the PG module 112 is configured to compute the raw placerank value 308 by operating a function that, in part, performs a weighted combination of exponentiated feature values.
- the function for computing the raw placerank value 308 can be represented as:
- ⁇ i represents a feature weight for the i th feature f i
- ⁇ i is a feature scaling rate for the i th feature f i
- I is a set of indices referring to all features.
- the feature f i indicates the raw feature value associated with the i th feature.
- the feature weight ⁇ i indicates an importance of the i th feature f i . For example, a higher feature weight ⁇ i can be indicative of the fact that the i th feature f i is more useful in determining the placerank value compared to other features with lower feature weights.
- the feature scaling rate ⁇ i is a normalization constant.
- the feature scaling rate ⁇ i is used to map the range of the raw feature value f i to [0, 1].
- a higher scaling rate ⁇ i can be indicative of the fact that that the range of the associated raw feature value f i is small, and thus need to be amplified to be mapped to the range of [0, 1].
- a lower scaling rate ⁇ i can be indicative of the fact that that the range of the associated raw feature value f i is large, and thus need to be reduced to be mapped to the range of [0, 1], where [0, 1] refers a range starting between (and including) 0 and 1.
- ⁇ i f i can be referred to as a normalized feature value.
- the PG module 112 is configured to compute the raw placerank value 308 by operating a function that linearly combines the weighted normalized feature values.
- the function for computing the raw placerank value 308 can be represented as:
- ⁇ i represents a feature weight for the i th feature f i
- ⁇ i is the feature scaling rate
- I is a set of indices referring to the features.
- the placerank values can be scaled to the range of [0, 100] to roughly match percentiles, where [0, 100] refers a range starting between (and including) 0 and 100.
- a placerank value of 85 can be indicative of the fact that the corresponding EOI has a higher placerank value than about 85% of the EOIs. This process of producing the final placerank value is called “Percentile Normalization.”
- FIG. 4 illustrates an exemplary table illustrating placerank values of a plurality of restaurants in accordance with some embodiments.
- the function for computing the placerank values can be periodically updated and the set of placerank values can be reproduced when the function is so updated.
- One way to update the function is to re-weight underlying features using machine learning techniques. For example, during a recession, lower priced restaurants can be biased to receive higher placerank value. As another example, if a source of collected information falls in quality, the weights attributed to features from that source can be reduced. Continuing that example, an individual's online blog could be a source of features used to produce placerank values. If the person's blog rates restaurants (e.g., as “excellent” or “terrible”), the PG module 112 can extract those ratings from the blog and use them as features for the placerank computation.
- the features generated from the blog can be considered important (or given high weights) in producing placerank values. However, if the PG module 112 determines that the person's blog is no longer reliable, the importance (or weights) of features generated from that blog can be decreased.
- the PG module 112 can use machine learning techniques to automatically determine (or learn) feature weights ⁇ i for the i th feature f i .
- the process of determining the feature weights can be referred to as weight training.
- the PG module 112 can use normalized feature values ⁇ i f i in the training set to determine the feature weights ⁇ i 310 .
- the PG module 112 can be configured to use the normalized feature values ⁇ i f i and importance labels 312 to generate feature weights co, 310 , such that the features that are reliable predictors of the given importance label 312 are assigned higher weights.
- the PG module 112 can generate the entire set of feature weights ⁇ i , i ⁇ I, collectively referred to as ⁇ , using a supervised learning technique. For example, the PG module 112 can receive a labeled training set, and use the labeled training set to find the feature weights ⁇ that satisfy the following:
- ⁇ arg ⁇ min ⁇ ⁇ g ⁇ ⁇ PR - ⁇ i ⁇ I ⁇ ⁇ ( ⁇ i ) ⁇
- ⁇ refers to a placerank estimator
- PR refers to the labeled placerank value, in the training set, to be estimated from the features f i , i ⁇ I using the placerank estimator ⁇
- g is a cost function.
- the cost function g can include a linear function, a logarithm function, an exponential function, a non-linear function, or any other functions that can penalize a difference between the labeled placerank value and the placerank value estimated by the placerank estimator ⁇ .
- the PG module 112 can generate feature weights ⁇ using linear regression, non-linear regression, kernel regression, Bayesian techniques, such as Na ⁇ ve Bayesian, and/or gradient descent techniques.
- the importance labels 312 can be indicative of which features are important in determining the placerank values.
- the importance labels 312 can be indicative of 1) a popularity of an EOI and/or a feature, 2) an importance of a feature from the perspective of consumers on the Internet, 3) an importance of a feature from the perspective of critics or reviewers, and/or 4) an importance of a feature from the perspective of the associated industry.
- the importance labels 312 can be used to optimize the placerank system for a particular application (e.g., a use case). Therefore, the importance labels 312 can be added based on a user demand. For example, if a user wants to find a dentist that causes the least amount of pain, then the user can add, to the importance labels 312 , a “placerank_dentists_who_dont_hurt” label.
- the popularity of an EOI and/or a feature can be determined based on the information request feature, as discussed previously. For example, the popularity of an EOI and/or a feature can be estimated based on the number of information requests received for the EOI and/or the particular feature of the EOI.
- the importance label 312 can be updated in real-time as the rate at which the information requests for the EOI are received fluctuates over time. This training process can be done in either a batch or real-time manner, using machine learning methods such as regression, batch, mini-batch or stochastic gradient descent.
- the PG module 112 can periodically reproduce placerank values in a batch mode. For example, the PG module 112 can periodically retrieve all collected information and re-compute placerank values for EOIs. In some embodiments, the PG module 112 can continually update the placerank values in real-time as new or updated information becomes available or as the importance labels are updated. The manner in which the placerank values can be updated in a batch mode and in real time simultaneously is further described in the U.S. Provisional Patent Application No. 61/799,846, titled “SYSTEM WITH BATCH AND REAL TIME DATA PROCESSING,” supra.
- the PG module 112 can use a specific, targeted function for computing a placerank value when a general function produces poor quality.
- the PG module 112 can be configured to use a different function for computing placerank value based on the type of the placerank value, characteristics of the EOI associated with the placerank value, a type of the EOI associated with the placerank value.
- the PG module 112 can be configured to use different weights to combine features when the EOI is within a specific country, region, locality, or by industry category or sub-category.
- the PG module 112 may use a first function for producing placerank values for restaurants in New York City and may use a second function for producing placerank values for restaurants in Boston.
- the PG module 112 can be configured to use different weights to combine features when the placerank value to be computed is associated with a particular type, such as “family friendliness,” “proximity to subway stations,” or “price.”
- the PG module 112 can learn the specific, targeted function using a supervised learning technique.
- the PG module 112 can learn the specific, targeted function by learning a regression mapping (e.g., a function or a table) that maps the characteristics of the EOI or the type of the placerank value to the desired specific, targeted function or parameters of the specific, targeted function.
- the collected information of step 202 or the generated features of step 204 can be stored in an updatable database, such as a general-purpose database management system (DBMS). Maintaining the set of collected information or the generated features in such a database allows placerank values to be recomputed or updated at appropriate times. For example, after a set of placerank values are produced, it may be desirable to update the function for computing the placerank values and recompute the placerank values using the updated function.
- the DBMS can include MySQL, MariaDB, PostgreSQL, SQLite, MongoDB, Leveldb, Riak, HBase, Microsoft SQL Server, Oracle, SAP, dBASE, FoxPro, IBM DB2, LibreOffice Base and FileMaker Pro.
- the PG module 112 or the QR module 114 is configured to order search results based on placerank values. For example, when the server 102 responds to an information request from a client 106 , the PG module 112 or the QR module 114 can retrieve EOIs that are potentially relevant to a query in the information request. Then the PG module 112 or the QR module 114 can retrieve placerank values associated with the potentially relevant EOIs. Subsequently, the PG module 112 or the QR module 114 can order the potentially relevant EOIs based on the placerank values associated with the potentially relevant EOIs.
- the disclosed mechanism for computing placerank values can be extended to a variety of EOIs, including products, companies, people, services, or websites.
- FIG. 5 illustrates an interaction between a client and a server based on placerank values associated with EOIs in accordance with some embodiments.
- the server 102 can include a QR module 114 that is configured to communicate with the client 106 to provide information to the client 106 .
- the QR module 114 of the server 102 can receive, from the client 106 , an information request.
- the information request can include one or more search terms, requesting the QR module 114 to provide a list of EOIs (or any other relevant information) that satisfy (or match) the one or more search terms.
- the QR module 114 can determine EOIs (or any other relevant information) that match the one or more search queries in the information request.
- the QR module 114 can determine the EOIs based on the placerank values associated with the EOIs. For example, in response to receiving the information request, the QR module 114 can receive placerank values of entities that may satisfy the one or more search queries in the information request. Then, the QR module 114 can determine the EOIs based on the received placerank values. For example, the QR module 114 can select, as the EOIs, 10 entities associated with 10 highest placerank values.
- the QR module 114 can provide the importance label to the PG module 112 so that the PG module 112 can update the placerank values in view of the received importance label. Subsequently, the PG module 112 can provide the updated placerank values to the QR module 114 so that the QR module 114 can identify the EOIs based on the updated placerank values.
- step 3 if the PG module 112 has not ordered the determined EOIs based on the associated placerank values, the QR module 114 can optionally order (or rank) the determined EOIs based on one or more placerank values associated with the determined EOIs. And in step 4, the QR module 114 can provide the determined EOIs and the retrieved placerank values to the client 106 that requested the information.
- the PG module 112 or the QR module 114 can be configured to dynamically re-order EOIs based on one or more placerank values associated with the EOIs.
- the dynamic re-ordering mechanism can enable the server 102 to effectively order EOIs based on contextual information associated with the information request.
- the PG module 112 or the QR module 114 can be configured to bias the ordering of the EOIs based on one or more contextual conditions in which the information request was received by the server 102 .
- the contextual conditions can include time, a geographic location (e.g., a Global Positioning System data), an application that sent the information request, an identification or a profile of a user that sent the information request, and/or a client device that sent the information request.
- a geographic location e.g., a Global Positioning System data
- an application that sent the information request is a social check-in application
- the PG module 112 or the QR module 114 can be configured to rate certain types of EOIs, such as restaurants, higher than other types of EOIs, such as warehouses, since users of the social check-in application generally visit restaurants more often than warehouses.
- the bias for the dynamic re-ordering can be learned using machine learning techniques.
- the bias can be represented as a function that combines multiple placerank values (e.g.
- weights e.g. multipliers for each placerank value and/or an addition constant into a composite score.
- the function can also take into account other parameters, such as distance, for example, linearly, logarithmically, or exponentially.
- the context information can also include one or more features determined at query time.
- the combination of features determined at query time can include information associated with or that is a part of the information request.
- the PG module 112 or the QR module 114 can combine the one or more features with one or more placerank values to determine a final score for a EOI.
- the PG module 112 or the QR module 114 can then use the final score to dynamically re-order the EOIs and send the reordered EOIs to a client device that sent the information request.
- the PG module 112 or the QR module 114 can be configured to receive a location, typically the location of the device, from a client device that sent the information request.
- This location information can be represented as a location identifier, such as a Global Positioning System (GPS) coordinate or a latitude/longitude coordinate pair, and can be included in the information request.
- GPS Global Positioning System
- the PG module 112 or the QR module 114 can determine a physical distance or a travel time between the location provided by the client device and a particular EOI, and combine the distance and one or more placerank values of the particular EOI to determine a score for the particular EOI.
- the PG module 112 or the QR module 114 can repeat this process for each of the EOIs to generate a plurality of scores. Then, the PG module 112 or the QR module 114 can use the plurality of scores to reorder the EOIs, thereby taking into account the importance of an EOI and how far the EOI is from the location provided by the client device. In some cases, the PG module 112 or the QR module 114 can take into account the size of the EOI when combining the distance or the travel time with one or more placerank values. Oftentimes, a distance between an EOI and a location provided by the client device is computed based on a center of the EOI and a center of the location provided by the client device.
- the PG module 112 or the QR module 114 can be configured to take into account the size of the EOI when combining the distance or the travel time with one or more placerank values.
- the PG module 112 or the QR module 114 can be configured to use the time at which the information request is received to dynamically reorder EOIs. For example, there is a slim chance that a person is interested in going to her accountant at 1 AM, but there is a significant chance that the person is interested in going to a bar at 1 AM. Therefore, the PG module 112 or the QR module 114 can combine time information with one or more placerank values associated with a particular EOI to determine a score for the particular EOI.
- the PG module 112 or the QR module 114 repeat this process for EOIs to determine a plurality of scores for the EOIs, and use the plurality of scores to reorder the EOIs, thereby taking into account the importance of an EOI and a time at which the information request is received.
- the PG module 112 or the QR module 114 can also combine two or more of these context information features with placerank values to dynamically re-order the EOIs based on two or more of these context features.
- the PG module 112 or the QR module 114 can combine one or more of these context information features with placerank values using a combination function.
- the combination function can be a linear function, a non-linear function, a kernel function, or any other function that is capable of mapping one or more of these context information features and one or more placerank values to a final score for a particular EOI.
- the client 106 can include user equipment of a cellular network.
- the user equipment communicates with one or more radio access networks and with wired communication networks.
- the user equipment can be a cellular phone having phonetic communication capabilities.
- the user equipment can also be a smart phone providing services such as word processing, web browsing, gaming, e-book capabilities, an operating system, and a full keyboard.
- the user equipment can also be a tablet computer providing network access and most of the services provided by a smart phone.
- the user equipment operates using an operating system such as Symbian OS, iPhone OS, RIM's Blackberry, Windows Mobile, Linux, HP WebOS, and Android.
- the screen might be a touch screen that is used to input data to the mobile device, in which case the screen can be used instead of the full keyboard.
- the user equipment can also keep global positioning coordinates, profile information, or other location information.
- the client 106 also includes any platforms capable of computations. Non-limiting examples can include computers, netbooks, laptops, servers, and any equipment with computation capabilities.
- the client 106 is configured with one or more processors that process instructions and run software that may be stored in memory.
- the processor also communicates with the memory and interfaces to communicate with other devices.
- the processor can be any applicable processor such as a system-on-a-chip that combines a CPU, an application processor, and flash memory.
- the client 106 can also provide a variety of user interfaces such as a keyboard, a touch screen, a trackball, a touch pad, and/or a mouse.
- the client 106 may also include speakers and a display device in some embodiments.
- the server 102 can reside in a data center and form a node in a cloud computing infrastructure.
- the server 102 can also provide services on demand.
- a module hosting a client is capable of migrating from one server to another server seamlessly, without causing program faults or system breakdown.
- the server 102 on the cloud can be managed using a management system.
- the subject matter described herein can be implemented in digital electronic circuitry, or in computer software, firmware, or hardware, including the structural means disclosed in this specification and structural equivalents thereof, or in combinations of them.
- the subject matter described herein can be implemented as one or more computer program products, such as one or more computer programs tangibly embodied in an information carrier (e.g., in a machine-readable storage device), or embodied in a propagated signal, for execution by, or to control the operation of, data processing apparatus (e.g., a programmable processor, a computer, or multiple computers).
- a computer program (also known as a program, software, software application, or code) can be written in any form of programming language, including compiled or interpreted languages, and it can be deployed in any form, including as a stand-alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment.
- a computer program does not necessarily correspond to a file.
- a program can be stored in a portion of a file that holds other programs or data, in a single file dedicated to the program in question, or in multiple coordinated files (e.g., files that store one or more modules, sub-programs, or portions of code).
- a computer program can be deployed to be executed on one computer or on multiple computers at one site or distributed across multiple sites and interconnected by a communication network.
- processors suitable for the execution of a computer program include, by way of example, both general and special purpose microprocessors, and any one or more processor of any kind of digital computer.
- a processor will receive instructions and data from a read-only memory or a random access memory or both.
- the essential elements of a computer are a processor for executing instructions and one or more memory devices for storing instructions and data.
- a computer will also include, or be operatively coupled to receive data from or transfer data to, or both, one or more mass storage devices for storing data, e.g., magnetic, magneto-optical disks, or optical disks.
- Information carriers suitable for embodying computer program instructions and data include all focus of non-volatile memory, including by way of example semiconductor memory devices, (e.g., EPROM, EEPROM, and flash memory devices); magnetic disks, (e.g., internal hard disks or removable disks); magneto-optical disks; and optical disks (e.g., CD and DVD disks).
- semiconductor memory devices e.g., EPROM, EEPROM, and flash memory devices
- magnetic disks e.g., internal hard disks or removable disks
- magneto-optical disks e.g., CD and DVD disks
- optical disks e.g., CD and DVD disks.
- the processor and the memory can be supplemented by, or incorporated in, special purpose logic circuitry.
- the subject matter described herein can be implemented on a computer having a display device, e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor, for displaying information to the user and a keyboard and a pointing device, (e.g., a mouse or a trackball), by which the user can provide input to the computer.
- a display device e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor
- a keyboard and a pointing device e.g., a mouse or a trackball
- Other kinds of devices can be used to provide for interaction with a user as well.
- feedback provided to the user can be any form of sensory feedback, (e.g., visual feedback, auditory feedback, or tactile feedback), and input from the user can be received in any form, including acoustic, speech, or tactile input.
- modules refers to computing software, firmware, hardware, and/or various combinations thereof. At a minimum, however, modules are not to be interpreted as software that is not implemented on hardware, firmware, or recorded on a non-transitory processor readable recordable storage medium. Indeed “module” is to be interpreted to include at least some physical, non-transitory hardware such as a part of a processor or computer. Two different modules can share the same physical hardware (e.g., two different modules can use the same processor and network interface). The modules described herein can be combined, integrated, separated, and/or duplicated to support various applications.
- a function described herein as being performed at a particular module can be performed at one or more other modules and/or by one or more other devices instead of or in addition to the function performed at the particular module.
- the modules can be implemented across multiple devices and/or other components local or remote to one another. Additionally, the modules can be moved from one device and added to another device, and/or can be included in both devices.
- the subject matter described herein can be implemented in a computing system that includes a back-end component (e.g., a data server), a middleware component (e.g., an application server), or a front-end component (e.g., a client computer having a graphical user interface or a web browser through which a user can interact with an implementation of the subject matter described herein), or any combination of such back-end, middleware, and front-end components.
- the components of the system can be interconnected by any form or medium of digital data communication, e.g., a communication network. Examples of communication networks include a local area network (“LAN”) and a wide area network (“WAN”), e.g., the Internet.
- LAN local area network
- WAN wide area network
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Business, Economics & Management (AREA)
- Data Mining & Analysis (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- General Engineering & Computer Science (AREA)
- Strategic Management (AREA)
- Entrepreneurship & Innovation (AREA)
- Human Resources & Organizations (AREA)
- Software Systems (AREA)
- General Business, Economics & Management (AREA)
- Economics (AREA)
- Marketing (AREA)
- Finance (AREA)
- Development Economics (AREA)
- Accounting & Taxation (AREA)
- Mathematical Physics (AREA)
- Artificial Intelligence (AREA)
- Computing Systems (AREA)
- Tourism & Hospitality (AREA)
- Computational Linguistics (AREA)
- Evolutionary Computation (AREA)
- Game Theory and Decision Science (AREA)
- Health & Medical Sciences (AREA)
- Computer Vision & Pattern Recognition (AREA)
- Medical Informatics (AREA)
- Operations Research (AREA)
- Quality & Reliability (AREA)
- General Health & Medical Sciences (AREA)
- Primary Health Care (AREA)
- Probability & Statistics with Applications (AREA)
- Fuzzy Systems (AREA)
- Remote Sensing (AREA)
- Automation & Control Theory (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Telephonic Communication Services (AREA)
Abstract
Description
- This application is a continuation of U.S. patent application Ser. No. 14/214,309 filed Mar. 14, 2014, entitled “APPARATUS, SYSTEMS, AND METHODS FOR ANALYZING CHARACTERISTICS OF ENTITIES OF INTEREST”, which claims the benefit of the earlier filing date under 35 U.S.C. § 119(e), of:
-
- U.S. Provisional Application No. 61/799,986, filed on Mar. 15, 2013, entitled “SYSTEM FOR ANALYZING AND USING LOCATION BASED BEHAVIOR;”
- U.S. Provisional Application No. 61/800,036, filed on Mar. 15, 2013, entitled “GEOGRAPHIC LOCATION DESCRIPTOR AND LINKER;”
- U.S. Provisional Application No. 61/799,131, filed on Mar. 15, 2013, entitled “SYSTEM AND METHOD FOR CROWD SOURCING DOMAIN SPECIFIC INTELLIGENCE,”
- U.S. Provisional Application No. 61/799,846, filed Mar. 15, 2013, entitled “SYSTEM WITH BATCH AND REAL TIME DATA PROCESSING;” and
- U.S. Provisional Application No. 61/799,817, filed on Mar. 15, 2013, entitled “SYSTEM FOR ASSIGNING SCORES TO LOCATION ENTITIES.”
- This application is also related to:
-
- U.S. patent application Ser. No. 14/214,208, filed on Mar. 14, 2014, entitled “APPARATUS, SYSTEMS, AND METHODS FOR ANALYZING MOVEMENTS OF TARGET ENTITIES;”
- U.S. patent application Ser. No. 14/214,296, filed Mar. 14, 2014, now U.S. Pat. No. 9,753,965, entitled “APPARATUS, SYSTEMS, AND METHODS FOR PROVIDING LOCATION INFORMATION;”
- U.S. patent application Ser. No. 14/214,213, filed on Mar. 14, 2014, entitled “APPARATUS, SYSTEMS, AND METHODS FOR CROWDSOURCING DOMAIN SPECIFIC INTELLIGENCE,”
- U.S. patent application Ser. No. 14/214,219, filed on Mar. 14, 2014, entitled “APPARATUS, SYSTEMS, AND METHODS FOR BATCH AND REALTIME DATA PROCESSING;” and
- U.S. patent application Ser. No. 14/214,231, filed on Mar. 14, 2014, entitled “APPARATUS, SYSTEMS, AND METHODS FOR GROUPING DATA RECORDS.”
- The entire content of each of the above-referenced applications (including both the provisional applications and the non-provisional applications) is herein incorporated by reference.
- The disclosed subject matter generally relates to data processing apparatus, systems, and methods for analyzing characteristics of entities of interest.
- Online services provide useful information about an entity of interest. For example, some social networking services provide ratings for quality and price-friendliness of restaurants and coffee shops based on user reviews and/or exclusive reviews by agents. While such information can be handy and useful, it can be unreliable because the information source, from which the ratings are generated, can be unreliable. For example, reviews from certain users can be deliberately misrepresentative because those users may have other ulterior motives. Even if the information source is reliable, the information can be biased because the information is derived from biased sources or a small number of sources. When there are only few reviewers, the information has low statistical significance.
- In general, in an aspect, embodiments of the disclosed subject matter can include an apparatus. The apparatus includes a memory device that is configured to maintain information about an entity of interest, wherein the information includes internal data, external data, and server logs associated with the entity of interest. The apparatus also includes a processor, in communication with the memory device, and configured to run one or more modules. The one or modules are operable to cause the apparatus to retrieve the internal data, the external data, and the server logs about the entity of interest. generate a plurality of features based on the internal data, the external data, and the server logs, and compute a score for the entity of interest based on the plurality of features, wherein the score is indicative of an importance of the entity of interest.
- In general, in an aspect, embodiments of the disclosed subject matter can include a method for processing information relating to an entity of interest. The method includes retrieving internal data, external data, and server logs about the entity of interest, generating a plurality of features for the entity of interest based on the internal data, the external data, and the server logs, and computing a score for the entity of interest based on the plurality of features, wherein the score is indicative of an importance of the entity of interest.
- In general, in an aspect, embodiments of the disclosed subject matter can include a non-transitory computer readable medium. The non-transitory computer readable medium can include executable instructions operable to cause a data processing apparatus to retrieve internal data, external data, and server logs about the entity of interest, generate a plurality of features for the entity of interest based on the internal data, the external data, and the server logs, and compute a score for the entity of interest based on the plurality of features, wherein the score is indicative of an importance of the entity of interest.
- In any one of the embodiments disclosed herein, the apparatus, the method, or the non-transitory computer readable medium can include modules, steps, or executable instructions for receiving, from a computing device, an information request including a query, requesting the apparatus to provide information on one or more entities associated with the query, identifying at least one entity associated with the query based on at least one score associated with the at least one entity, and ordering the at least one entity based on the at least one score using a sorting mechanism prior to providing information on the at least one entity to the computing device.
- In any one of the embodiments disclosed herein, the apparatus, the method, or the non-transitory computer readable medium can include modules, steps, or executable instructions for modifying the order of the at least one entity by altering one or more scores by altering one or more scores of the at least one entity based on one or more contextual conditions associated with the information request.
- In any one of the embodiments disclosed herein, the one or more contextual conditions associated with the information request can include one or more of: a time at which the information request is received, a geographic location from which the information request is received, an application from which the information request is received, a profile of a user from which the information request is received, and/or a type of the computing device that sent the information request.
- In any one of the embodiments disclosed herein, one of the plurality of features comprises summary attributes associated with a particular characteristic of the EOI, and the apparatus, the method, or the non-transitory computer readable medium can include modules, steps, or executable instructions for formatting the internal data, external data, and server logs into structured data having a predetermined data structure, determining a subset of the structured data associated with the particular characteristic of the EOI, and generating the summary attributes of the particular characteristic of the EOI based on the subset of the structured data.
- In any one of the embodiments disclosed herein, one of the plurality of features can include an aggregate count of data items, in the internal dataset, relating to the entity of interest.
- In any one of the embodiments disclosed herein, one of the plurality of features can include an information request feature indicative of a total number of information requests, received by the apparatus, for information relating to the entity of interest.
- In any one of the embodiments disclosed herein, an information request can be associated with one of a plurality of information request types, and the information request feature can also be indicative of a total number of information requests associated with each of the plurality of information request types.
- In any one of the embodiments disclosed herein, the plurality of features can be normalized to a common scale.
- In any one of the embodiments disclosed herein, the apparatus, the method, or the non-transitory computer readable medium can include modules, steps, or executable instructions for determining an association between the external data and the internal data by matching one or more attributes of the external data to the internal data.
- In any one of the embodiments disclosed herein, the apparatus, the method, or the non-transitory computer readable medium can include modules, steps, or executable instructions for computing the score for the entity of interest by computing a weighted combination of the plurality of features associated with the EOI.
- In any one of the embodiments disclosed herein, the apparatus, the method, or the non-transitory computer readable medium can include modules, steps, or executable instructions for determining weights for the weighted combination based on importance labels indicating an importance of each of the plurality of features.
- In any one of the embodiments disclosed herein, the apparatus, the method, or the non-transitory computer readable medium can include modules, steps, or executable instructions for computing the score for the entity of interest by computing exponentiations of the plurality of features.
- Various objects, features, and advantages of the present disclosure can be more fully appreciated with reference to the following detailed description when considered in connection with the following drawings, in which like reference numerals identify like elements. The following drawings are for the purpose of illustration only and are not intended to be limiting of the disclosed subject matter, the scope of which is set forth in the claims that follow.
-
FIG. 1 illustrates a placerank client/server system in accordance with some embodiments. -
FIG. 2 shows a method for computing a placerank value of an entity of interest (EOI) in accordance with some embodiments. -
FIG. 3 illustrates a pipeline diagram for computing a placerank value of an EOI in accordance with some embodiments. -
FIG. 4 illustrates a table illustrating placerank values of a plurality of restaurants in accordance with some embodiments. -
FIG. 5 illustrates an interaction between a client and a server based on placerank values associated with EOIs in accordance with some embodiments. - The present disclosure relates to apparatus, systems, and methods for analyzing characteristics of entities of interest. In particular, the present disclosure provides a mechanism for analyzing information about entities of interest and for rating or scoring the entities of interest based on the analyzed information. The rating or the score of an entity of interest can sometimes be referred to as a placerank value of an entity of interest. In some embodiments, an “entity of interest” (EOI) can include any entity that has a physical location, such as a restaurant, a national park, a store, travel agency, or a coffee shop, or a government entity, such as a registry of motor vehicles, or any other business or non-business entity. In other embodiments, an EOI can include any other types of entities, for example, products, people, buildings, or computers.
- At a high level, a placerank value of an EOI is indicative of an importance or relevance of the EOI in view of predetermined characteristics or criteria. For example, a placerank value of an EOI can be indicative of the “family friendliness” of the EOI. In this example, a high placerank value can indicate that the associated EOI is family friendly, whereas a low placerank value can indicate that the associated EOI is not family friendly. In some embodiments, an EOI may be associated with a plurality of placerank values, each associated with particular characteristics or criteria, such as predetermined audience or a predetermined scenario. For example, a restaurant can be associated with three placerank values: placerank.foodie, placerank.social, and placerank.good_for_singles. placerank.foodie can indicate a popularity of the EOI to gourmets; placerank.social can indicate a popularity of the EOI for social events; and placerank.good_for_singles can indicate a popularity of the EOI to singles.
- Placerank values can be useful in any systems that are configured to provide EOIs in response to an information request, such as in a client/server system. For example, a client can submit, to a server, an information request including, for example, a search query: “good Chinese restaurants near Greenwich Village, N.Y.” In response to the request, the server can provide, to the client, a list of restaurants that (1) serve Chinese style food and (2) are physically located in or near Greenwich Village, N.Y. When the server provides the list of restaurants, the server can be configured to sort the restaurants using one or more placerank values associated with the restaurants. For instance, if the server maintains a “goodness” placerank value of restaurants (e.g., restaurants considered “good” are associated with a higher placerank value compared to restaurants considered “bad”,) the server can provide a list of relevant restaurants such that restaurants with higher placerank values (e.g., good restaurants) are presented before restaurants with lower placerank values (e.g., bad restaurants). Similarly, if the server maintains a “price” placerank value of restaurant (e.g., restaurants considered “inexpensive” are associated with a higher placerank value compared to restaurants considered “expensive”,) the server can provide a list of relevant restaurants such that restaurants with higher placerank values (e.g., inexpensive restaurants) are presented before restaurants with lower placerank values (e.g., expensive restaurants).
- When an EOI is associated with a plurality of placerank values, a server can use one or more of the plurality of placerank values to determine the order of the EOIs. The order of the EOIs can be further adjusted dynamically, for example, based on the specific use case or a client's request.
- Such an ordering (or ranking) of EOIs is possible regardless of whether the search query in the information request is textual or geographic, as long as EOIs are associated with a placerank value. A textual search query can include a search string, such as “Chinese Restaurants,” entered into an Internet search engine. A geographic search query can include a geographic coordinate, for example, a (longitude, latitude) coordinate such as (40.733855,−73.99386), requesting a list of all EOIs located within a given radius (e.g., 50 meters) of the geographic coordinate.
- Placerank values can also be useful in filtering search results. If a placerank value of an EOI is less than a predetermined threshold, a server can hide the EOI from the list of EOIs provided in response to an information request. This mechanism allows a server to discard or hide EOIs that are relatively unimportant (e.g., restaurants that are considered “bad” or “too expensive”).
- Placerank values can also be useful in selecting one or more mechanisms for displaying information on the client. For example, placerank values can be used to select one or more user interface elements, such as an icon or a font type, for conveying an importance of an EOI within a visual display, such as a map. The selection of an appropriate user interface element allows a client or a user to more quickly find the relevant EOI from the display, such as a map. For instance, in response to an information request for “Chinese Restaurants near Greenwich Village, N.Y.,” the server may provide, to the client, a map of Greenwich Village. On that map, the server can display Chinese Restaurants that satisfy the information request. The server can also indicate the quality of the presented Chinese restaurants, based on the “goodness” placerank values associated with these Chinese Restaurants. For example, Chinese Restaurants that are “excellent” may be designated by three stars, Chinese Restaurants that are considered “good” may be designated by two stars, Chinese Restaurants that are considered “acceptable” may be designated by one star, and Chinese Restaurants that are considered “poor” or unacceptable, may not be indicated on the map at all.
- Placerank values can also be useful as a part of an analytics system that leverages placerank values to make other conclusions about the EOI associated with the placerank values.
- Placerank values can be computed using a placerank computation mechanism. The disclosed placerank computation mechanism can include gathering information about an EOI, generating features for the EOI based on the gathered information, and generating a placerank value for the EOI based on the generated features. In particular, various features, or raw data signals, (e.g. a number of requests for that EOI's record via an application programming interface (“API”), a number of reviews or descriptions or contributions about that EOI from trusted sources (such as blogs that are considered reliable), and a number of times the EOI's Wikipedia page was viewed) are gathered from multiple information sources. Subsequently, these features are scaled and combined using a function to form the EOI's placerank value. In some embodiments, the server can select one or more of the generated features and use only the selected features to compute placerank values. This way, the server can compute placerank values tailored to a particular application.
- Unlike existing rating systems, which often only use numerical information to generate its ratings, the disclosed placerank computation mechanism can compute ratings or scores based on various information types. For example, the disclosed placerank computation mechanism can use advertisements about the EOI, textual descriptions of the EOI, which websites describe the EOI and the text on those websites about the EOI, attributes of the EOI, as well as user reviews about the EOI to determine the placerank value of the EOI. The ability to use various information types has significant benefits compared to existing rating systems because the amount of information for computing a placerank value can be significantly greater than the amount of numerical information for computing star-based numerical scores. When the disclosed placerank computation mechanism uses a user review, the disclosed placerank computation mechanism can use not just numerical ratings, but also the tone of the text in the review and the quality/reliability of the review.
- The benefit of the disclosed placerank computation mechanism, which considers a variety of information types as further described below, is that the variety of information types can provide a robust signal across many dimensions of interest, some of which may not be explicit. For example, for a social networking service to rate a place as “good for kids”, it must ask users to provide an explicit rating for that feature. In contrast, the disclosed placerank computation mechanism can estimate a value for this dimension (e.g., aspect) based on, for example, words in reviews, the websites the review links to, and/or whether the review is on a popular blog amongst mothers. Therefore, the disclosed placerank computation mechanism can allow a service provider to add new dimensions without explicitly asking reviewers to provide the information on such new dimensions.
- In addition, the disclosed placerank computation mechanism can provide a reliable signal even in the presence of bad actors seeking to increase the rating associated with their interested entities. For example, to improve a rating on a social networking service, a business owner could potentially ask friends to write reviews or pay outsiders to generate favorable reviews. In contrast, the disclosed placerank computation mechanism considers reviews across many sites, which makes the placerank computation mechanism more robust. Furthermore, the PG module also considers additional information, such as the API traffic, blogs (learning to favor trustworthy blogs), and sites that bad actors cannot collectively compromise. In some cases, significant systematic disagreements across multiple sites may even point to an EOI that is trying to game the online review system.
- The function for computing a placerank value can be adapted to a particular characteristic associated with the placerank value. In some embodiments, the adaptation of the function can be performed by using appropriate label data as input variables to the placerank computation. For example, the function for computing a placerank value can use, as an input, social labels of the EOI. The social labels can include a number of check-ins or a number of likes gathered from social networking services. This allows the function to compute a placerank value that can be useful for finding EOIs with social importance (e.g., the placerank value is higher for EOIs with more social importance.) As another example, the function for computing placerank values can use, as an input, medical labels associated with EOIs, such as contributions from the National Provider Identifier (“NPI”) registry. This allows the function to compute a placerank value that can be useful for searching medical providers (e.g., the placerank value is higher for EOIs relating to medical service providers.) In other embodiments, the adaptation of the function can be performed by training the function using appropriate label data. For example, the function can be trained using social labels so that the function can compute placerank values that are correlated with social importance. As another example, the function can be trained using medical labels so that the function can compute placerank values correlated with medical service providers.
-
FIG. 1 illustrates a diagram of a placerank client/server system in accordance with some embodiments. Thesystem 100 includes aserver 102, acommunication network 104, and one ormore client devices 106. Theserver 102 can include aprocessor 108, amemory device 110, a placerank generation (PG)module 112, a query response (QR)module 114, and one ormore interfaces 116. - The
processor 108 of theserver 102 can be implemented in hardware. Theprocessor 108 can include an application specific integrated circuit (ASIC), programmable logic array (PLA), digital signal processor (DSP), field programmable gate array (FPGA), or any other integrated circuit. Theprocessor 108 can also include one or more of any other applicable processors, such as a system-on-a-chip that combines one or more of a CPU, an application processor, and flash memory, or a reduced instruction set computing (RISC) processor. Thememory device 110 of theprocessor 108 can include a computer readable medium, flash memory, a magnetic disk drive, an optical drive, a programmable read-only memory (PROM), and/or a read-only memory (ROM). - The
PG module 112 can be configured to generate a placerank value for one or more entities of interest (EOIs). ThePG module 112 can maintain the generated placerank values in thememory device 110 or provide the generated placerank values to theQR module 114. TheQR module 114 can be configured to respond to information requests from one ormore clients 106, in batch or in real-time. In some embodiments, thePG module 112 and theQR module 114 can reside in thesame server 102. In other embodiments, thePG module 112 and theQR module 114 can reside in different servers. - In some embodiments, the
PG module 112 and/or theQR module 114 can be implemented in software stored in thenon-transitory memory device 110, such as a non-transitory computer readable medium. The software stored in thememory device 110 can run on theprocessor 108 capable of executing computer instructions or computer code. - In some embodiments, the
PG module 112 and/or theQR module 114 can be implemented in hardware using an ASIC, PLA, DSP, FPGA, or any other integrated circuit. In some embodiments, thePG module 112 and theQR module 114 can both be implemented on the same integrated circuit, such as ASIC, PLA, DSP, or FPGA, thereby forming a system on chip. - The
server 102 can include one ormore interfaces 116. The one ormore interfaces 116 provide an input and/or output mechanism to communicate internal to, and external to, theserver 102. For example, the one ormore interfaces 116 enable communication withclients 106 over thecommunication network 104. The one ormore interfaces 116 can also provide an application programming interface (API) to other servers or computers coupled to thenetwork 104 so that theserver 102 can receive information based on which placerank values can be computed. The one ormore interfaces 116 are implemented in hardware to send and receive signals in a variety of mediums, such as optical, copper, and wireless, and in a number of different protocols some of which may be non-transitory. - Although
FIG. 1 represents theserver 102 as a single server, theserver 102 can include more than one server and can be part of a cloud-computing platform. - A
client 106 can include a desktop computer, a mobile computer, a tablet computer, a cellular device, or any other computing devices having a processor and memory. Theserver 102 and the one ormore client devices 106 can communicate via thecommunication network 104. - The
communication network 104 can include the Internet, a cellular network, a telephone network, a computer network, a packet switching network, a line switching network, a local area network (LAN), a wide area network (WAN), a global area network, or any number of private networks currently referred to as an Intranet, and/or any other network or combination of networks that can accommodate data communication. Such networks may be implemented with any number of hardware and software components, transmission media and network protocols. AlthoughFIG. 1 represents thenetwork 104 as a single network, thenetwork 104 can include multiple interconnected networks listed above. -
FIG. 2 illustrates a method for computing a placerank value of an EOI in accordance with some embodiments. At a high level, thePG module 112 can be configured to compute a placerank value in three steps. Instep 202, thePG module 112 is configured to collect information about the EOI, based on which a placerank value can be computed. Instep 204, thePG module 112 is configured to generate features based on the collected information. Instep 206, thePG module 112 is configured to combine the generated features to determine the placerank value for the EOI. -
FIG. 3 illustrates a detailed pipeline diagram of the method described with respect toFIG. 2 in accordance with some embodiments. InFIG. 3 , inputs to thePG module 112 are illustrated as ovals; quantities used by thePG module 112 are illustrated as rectangles; the placerank value produced by thePG module 112 are shown in the rectangle at the bottom of the diagram; and arrows indicate how data propagates through the illustrated quantities (e.g., “Feature 1” is produced using the “Server Logs,” “Internal Data” and “External Data” inputs). - In some embodiments, as discussed with respect to
FIG. 2 , thePG module 112 is configured to compute a placerank value in three steps. Instep 202, thePG module 112 is configured to collect information about the EOI from a variety of information sources. In some, embodiments, the variety of information sources can includeserver logs 302,internal database 304 maintaining internal data associated with the EOI, andexternal database 306 maintaining external data associated with the EOI. - In some embodiments, the internal data can include previously acquired data about the EOI, and it can generally refer to data and metadata about the EOI in a local set of databases. In some cases, the internal data can be gathered or generated by employees or contractors working for the operator of the server 102 (e.g., an entity that generates the placeranks).
- In some embodiments, the external data generally refers to data that can be accessed from external databases, websites, or Application Programming Interfaces (APIs). For example, there are sites that keep track of number of page requests on Wikipedia for a particular Wikipedia page. If that page is about an EOI, such as the Eiffel Tower, and if the Wikipedia page for the EOI is popular, it can cause the
PG module 112 to provide a higher placerank value to that EOI. The external data can also include information from the Internet gathered by, for example, a web crawler that collects information on webpages, freely available datasets, or partner datasets. - In some embodiments, the server logs, for example, track all requests to a web or an API server. Some of those requests are for a specific EOI. The
PG module 112 can use the number of such requests, frequency rate, and changes in request rate as features to determine the placerank value for the specific EOI. - Working with the internal data, external data, and the server logs can be challenging because it means managing internal data along with having to connect to many external services, resolving the EOI (e.g., identifying and consolidating all data referencing a particular EOI across many services, and interpreting data in various formats. The
PG module 112 is capable of addressing these issues, as described further below. - In
step 204, thePG module 112 can be configured to generate features for the placerank computation based on the information retrieved instep 202. ThePG module 112 can generate the features based on one or more of the collected information types. AlthoughFIG. 3 illustrates using only three features, thePG module 112 can use additional features for computing the placerank value. For example, when thePG module 112 computes a placerank value for a restaurant, the “feature 1” can represent an “expense” (e.g., with more expensive restaurants receiving a higher value for this feature and less expensive restaurants receiving a lower value for this feature), the “feature 2” can represent “quality” (e.g., with better restaurants receiving a higher value for this feature), and the “feature 3” can represent “cleanliness”. ThePG module 112 can also use other features not illustrated inFIG. 3 , for example, the “child friendliness” feature (e.g., is it a restaurant that welcomes families with young children) or the “availability of valet parking” feature. - In some embodiments, the
PG module 112 can be configured to access a list of EOIs. The list of EOIs can include (1) a unique identifier of each EOI and (2) one or more features associated with the unique identifiers. In some cases, the list of EOIs can be stored in thememory device 110 in the server. In other cases, the list of EOIs can be stored in a database in communication with theserver 102. - In some embodiments, the
server 102 is configured to receive an information request for an EOI from one ormore clients 106, requesting theserver 102 to provide information about the EOI stored in an internal database. The information request can be received via a public API endpoint. In some cases, an information request can be associated with one of a plurality of information request types. The information request types can include a search request type or a direct EOI identification request type. An example of an information request associated with the search request type can be a textual string, such as “Chinese restaurants in New York.” An example of an information request associated with the direct EOI identification request type can be a textual string, such as “World Trade Center in New York.” - In some embodiments, the
PG module 112 can use the information requests to derive an information request feature for the placerank value computation. The information request feature can include one or more of (1) a total number of information requests, (2) a total number of each information request type, and/or (3) a list of origins of the information requests, such as an IP address associated with clients sending the information requests. ThePG module 112 can use a snapshot of the information request feature and its time-dependent characteristics to find time-dependent popularity of EOis. - In some embodiments, during the construction of the
internal database 304, theserver 102 can determine and maintain an aggregate count (e.g., a number) of data items, in theinternal database 304, relating to each EOI. ThePG module 112 can use the aggregate count as a feature for the placerank computation. For example, thePG module 112 can determine the total number of data items that contributed to the association between the “category” attribute of the EOI and the value “Restaurants”. ThePG module 112 can use this number of data items as a feature for social relevance. - In some embodiments, the
server 102 can associate (or link) external data in theexternal database 306 to internal data in theinternal database 304. In some cases, theserver 102 can automatically determine such association by matching certain attributes of the external data to the internal data. For example, theserver 102 can automatically determine the association between a Wikipedia page (i.e., external data) and the internal data by matching the title of the Wikipedia page to the “name” attribute of EOis in theinternal database 304. Once theserver 102 determines the association, thePG module 112 can use information in the Wikipedia page to derive a feature for the associated EOI in theinternal database 304. In some embodiments, theserver 102 may associate (or link) external data in theexternal database 306 to internal data in theinternal database 304 using the apparatus, systems, and methods as described in “APPARATUS, SYSTEMS, AND METHODS FOR GROUPING DATA RECORDS,” identified by U.S. patent application Ser. No. 14/214,231, filed on Mar. 14, 2014, referred by the Attorney Docket Number 201148-4600, the entire content of which is hereby incorporated by reference herein in its entirety. - In some embodiments, the
PG module 112 can be configured to generate features based on a record associated with the EOI. The record can include a name of the EOI, an address of the EOI, a phone number of the EOI, and/or a category of the EOI (e.g. the EOI is a restaurant or a concrete manufacturer). The record can also include a number of physical visits received by the EOI. For instance, the record can include a number of customers that visited a restaurant over a predetermined period, a number of patrons that visit a particular library, or a number of people that have their drivers' license renewed at a particular location of the registry of motor vehicles. The record can also include a number of online visits received by the EOI. For instance, the record can include a number of times a restaurant's home web page is visited by Internet users, or a number of online purchases made from a store's web page. The record of the EOI can also include an indication of whether the record associated with the EOI is complete (e.g. whether the record associated with the EOI includes an address and a phone number associated with the EOI). Because the record information can be generated directly from retrieving information associated with the EOI, the information generation from the EOI's record can be simple. - In some embodiments, the
PG module 112 can be configured to generate features from references to the EOI on the external dataset, such as the Internet and/or web pages. For example, thePG module 112 can be configured to determine how many web pages mention the EOI, how many reviews the EOI has received, an age of reviews or postings relating to the EOI, an average rating of the EOI from reviews, and/or a relative popularity of web pages and reviews mentioning the EOI. - In some embodiments, when the
PG module 112 generates a feature from a review of the EOI, thePG module 112 can use the tone of the text in the review as an additional feature. ThePG module 112 can be configured to determine the tone of the review using the steps of converting words, in the text of a review, into a data structure, and determining the tone based on the data structure. For example, in the training phase, thePG module 112 can collect one or more words and maintain a mapping of those words to certain emotions or adjectives about an entity. This allows thePG module 112 to build a mapping from words to emotions or adjectives. Subsequently, in the testing phase, thePG module 112 can gather words from the review of interest, and use the mapping to determine emotions or adjectives associated with the words. Then, thePG module 112 can accumulate the scores (e.g., a count) of those emotions or adjectives over words in the entire review to determine a tone of the review. As another example, thePG module 112 can use natural language processing techniques to parse and interpret prose about the EOI into, for example, a parse tree, and apply statistical models that consider part of speech, counterfactual elements, context, and other such information, to estimate the tone. In some embodiments, the tone extraction can be performed periodically. - In some embodiments, when the
PG module 112 generates a feature from a review of the EOI, thePG module 112 can use the quality of the review (or a website that includes the review) as an additional feature. In some cases, thePG module 112 can be configured to determine the quality of the review (or a website that includes the review) through human computation. For instance, thePG module 112 can request one or more persons to annotate whether a particular review or a particular source of a review is reliable. Human computation can be provided using a human computation engine, such as Amazon Mechanical Turk. Human computation can be unreliable, especially when the person(s) performing the human computation is unreliable. To increase the reliability of human computation, thePG module 112 can distribute the annotation task only to person(s) with high ratings from prior human computation tasks. In some embodiments, thePG module 112 can distribute the annotation task to multiple people and consolidate (e.g., average or smooth out) the annotation results from the multiple people to further improve the reliability of human computation. In some cases, thePG module 112 can be configured to automatically annotate a new data source as reliable by comparing data in the new data source to data in a known, reliable data source. If the data in the new data source agrees with the data in the known, reliable data source, then the new data source is likely reliable as well. - In some embodiments, the
PG module 112 can be configured to generate features based on references to the EOI on one or more social networking services. For instance, thePG module 112 can be configured to use a number of “likes” for the EOI, a number and/or frequency of tweets relating to the EOI, and/or a number and/or rate of check-ins. ThePG module 112 can receive the references to the EOI on one or more social networking services via a variety of communication techniques, such as application programming interface (API) calls to social networking services, including a firehose (or subset) access to Twitter. In some embodiments, thePG module 112 can download references to the EOI on one or more social networking services periodically, and update them accordingly in a local database or alocal memory device 110. The PG module can then resolve and annotate the EOI identifications using the downloaded references. In other embodiments, thePG module 112 can download references to the EOI on one or more social networking services in real-time. - In some embodiments, the
PG module 112 can be configured to generate features based on web logs and/or API logs. Theserver 102 can be configured to maintain a log of data traffic relating to the EOI, which can measure the rate of requests for a given EOI to a web server or an API server. For example, the data traffic can indicate a number of requests for a given EOI to a web server or an API server. The log can indicate a time and frequency at which a particular API was used byclients 106 to access information maintained by theserver 102. The log can also indicate an identification ofclients 106, such as an Internet Protocol (IP) address, that accessed information maintained by theserver 102. For instance, theserver 102 can maintain how many times clients/users access information relating to a particular EOI, and how many independent clients/users access information relating to a particular EOI. ThePG module 112 can parse such logs to generate features to be used for the placerank computation. For example, thePG module 112 can parse an http log, which includes the time and paths referencing certain EOIs. The http logs, as shown below, are formatted as [IP address, timestamp, used method, path, protocol, response code]. -
- 10.0.1.1--[29/Mar/2013:11:18:25-0700] “GET/EOI/SOME_ENTITY_ID1 HTTP/1.1” 200
- 10.0.1.2--[29/Mar/2013:11:17:25-0700] “GET/EOI/SOME_ENTITY_ID2 HTTP/1.1” 200
- In some embodiments, the
PG module 112 can be configured to use summary attributes of the EOI as features associated with the EOI. The summary attributes associated with the EOI can be derived from the information collected instep 202, as disclosed in U.S. Provisional Patent Application No. 61/799,846, titled “SYSTEM WITH BATCH AND REAL TIME DATA PROCESSING,” filed on Mar. 15, 2013, which is herein incorporated by reference in its entirety. For example, thePG module 112 is configured to generate summary attributes by formatting unstructured input data into structured data having a predetermined data structure. Then, thePG module 112 is configured to group the structured data into a plurality of groups, each associated with a particular EOI. Then the PG module is configured to generate a representative identifier for each group. Subsequently, thePG module 112 can generate summary attributes (or summary data) for each group based on the input data associated with the particular group for the ROI. - For example, when input data includes 5 data items associated with a restaurant A, the
PG module 112 can determine that those 5 data items are associated with the same EOI (e.g., the restaurant A), and determine summary data associated with the 5 data items. For instance, if 3 data items indicate that the restaurant A has valet parking and 2 data items indicate that the restaurant A does not have valet parking, then thePG module 112 can summarize (e.g., average or smooth out) the 5 data items using a majority voting scheme and indicate that the EOI has a valet parking. - In some embodiments, the
PG module 112 can use metadata to compute the summary attributes. The metadata can include, for example, references to (1) a source from which the input data originates, (2) a user identification that contributed the input data, and/or (3) a data on which the input data was contributed. The summary attributes can include, for example, (1) a number of data items in the collected information, (2) a list of contributing user identifications, (3) a time stamp of the collected information indicating the accuracy of the collected information, and/or (4) a number of times a particular EOI has appeared throughout the collected information, which may embody information on a popularity of the ROI. - Other features that can be used by the
PG module 112 can include a number of information requests received by the PG module via a particular API; a number of information sources contributing to the computation of the EOI's placerank value; a number of occurrences or references to the EOI on the Internet, also referred to as a number of external crosswalk references (e.g. references to the EOI's profile pages in social network websites); a category of the EOI (e.g., Chinese restaurant, Indian restaurant, Thai restaurant); a number of visits received by the EOI's Wikipedia page; a number of check-ins at social networking sites; a social weight of the category associated with the EOI; a number of reviews associated with the EOI; and/or a number of user-contributed reviews on social networking sites. - In some embodiments, the
PG module 112 can also use, as a feature, the amount of information associated with an EOI (e.g., a number of data points associated with the EOI). In some cases, EOIs with more information can correlate with more popular entities since they generally are more discussed on the web and are documented in greater detail. For example, a famous restaurant often has many reviews, advertisements, and listings, including details about the name of the chef, the number of tables, and whether the restaurant is accessible by handicapped persons. In contrast, less popular restaurants may have fewer reviews and entries, and even when there are reviews and entries, they may be less filled out, for example, with only the name and the address. ThePG module 112 can learn this correlation and favor EOI with more details as more likely to be important. - In some embodiments, the
PG module 112 can be configured to normalize the features. The feature normalization step can provide that features have similar ranges and prevent outliers from dominating (or biasing) the placerank value disproportionately. - In some cases, features are all normalized to a common scale. For example, the features can be normalized so that that the features all have values in the range of [0, 1] (e.g., each normalized feature has a minimum value of zero, a maximum value of one, and can have any value in between those extreme values). In some cases, the normalization can be performed using a cumulative distribution function of an exponential distribution. Parameter of the exponential distribution for the features can be set such that the mean or median of each feature is given the same normalized value, for example, 0.5.
- In some embodiments, the
PG module 112 can be configured to use the same (or a small number of) data structure type to represent generated features. In some embodiments, thePG module 112 can use a data structure in accordance with the Scarecrow platform, disclosed in U.S. Provisional Patent Application No. 61/799,131, titled “SYSTEM AND METHOD FOR CROWD SOURCING DOMAIN SPECIFIC INTELLIGENCE,” filed on Mar. 15, 2013, which is herein incorporated by reference in its entirety. In other words, thePG module 112 can use a data structure predetermined by a person having an expertise in a particular application of a feature. In other embodiments, thePG module 112 can determine, on its own, the data structure for a feature and automatically populate some or all of the fields in the data structure. For example, thePG module 112 can determine whether data from a data source is changing over time. ThePG module 112 can determine that the portion of the data that does not change over time is the label (or an identifier) of a feature, and the portion of the data that does change over time is the value of the feature. Therefore, thePG module 112 can subsequently populate the data structure based on the determined label of a feature and the determined value of the feature. - In
step 206, thePG module 112 is configured to generate a placerank value based on the generated features (or the normalized features). In some cases, thePG module 112 can use a function to aggregate the values of the generated features (or the normalized features). The output of the function can be araw placerank value 308. The function can be configured so that popular EOIs are assigned higher placerank values compared to unpopular EOIs. For example, restaurants that receive more physical customer visits can have a higher placerank than restaurants that receive fewer physical customer visits. - In some embodiments, the
PG module 112 is configured to compute theraw placerank value 308 by operating a function that, in part, performs a weighted combination of exponentiated feature values. For example, the function for computing theraw placerank value 308 can be represented as: -
- where ωi represents a feature weight for the ith feature fi, λi is a feature scaling rate for the ith feature fi, and I is a set of indices referring to all features. The feature fi indicates the raw feature value associated with the ith feature. The feature weight ωi indicates an importance of the ith feature fi. For example, a higher feature weight ωi can be indicative of the fact that the ith feature fi is more useful in determining the placerank value compared to other features with lower feature weights. The feature scaling rate λi is a normalization constant. In other words, the feature scaling rate λi is used to map the range of the raw feature value fi to [0, 1]. A higher scaling rate λi can be indicative of the fact that that the range of the associated raw feature value fi is small, and thus need to be amplified to be mapped to the range of [0, 1]. A lower scaling rate λi can be indicative of the fact that that the range of the associated raw feature value fi is large, and thus need to be reduced to be mapped to the range of [0, 1], where [0, 1] refers a range starting between (and including) 0 and 1. Thus, λifi can be referred to as a normalized feature value.
- In other embodiments, the
PG module 112 is configured to compute theraw placerank value 308 by operating a function that linearly combines the weighted normalized feature values. For example, the function for computing theraw placerank value 308 can be represented as: -
- where ωi represents a feature weight for the ith feature fi, λi is the feature scaling rate, and I is a set of indices referring to the features.
- Once raw placerank values are generated, they can be used to produce the final placerank value. In some embodiments, after the placerank values are computed for all EOIs, the placerank values can be scaled to the range of [0, 100] to roughly match percentiles, where [0, 100] refers a range starting between (and including) 0 and 100. For example, a placerank value of 85 can be indicative of the fact that the corresponding EOI has a higher placerank value than about 85% of the EOIs. This process of producing the final placerank value is called “Percentile Normalization.”
- In some cases, if available information is insufficient to produce a reliable placerank value for a EOI, then that EOI can be flagged as such. For example, a placerank value of −1 is reserved to indicate that the EOI is not associated with a placerank value because, for instance, there is not enough information for computing the placerank for this EOI, or, for instance, the placerank value of the EOI should not be provided to clients due to predetermined restrictions.
FIG. 4 illustrates an exemplary table illustrating placerank values of a plurality of restaurants in accordance with some embodiments. - In some embodiments, the function for computing the placerank values can be periodically updated and the set of placerank values can be reproduced when the function is so updated. One way to update the function is to re-weight underlying features using machine learning techniques. For example, during a recession, lower priced restaurants can be biased to receive higher placerank value. As another example, if a source of collected information falls in quality, the weights attributed to features from that source can be reduced. Continuing that example, an individual's online blog could be a source of features used to produce placerank values. If the person's blog rates restaurants (e.g., as “excellent” or “terrible”), the
PG module 112 can extract those ratings from the blog and use them as features for the placerank computation. As long as the person's blog is considered a reliable information source, the features generated from the blog can be considered important (or given high weights) in producing placerank values. However, if thePG module 112 determines that the person's blog is no longer reliable, the importance (or weights) of features generated from that blog can be decreased. - In some embodiments, the
PG module 112 can use machine learning techniques to automatically determine (or learn) feature weights ωi for the ith feature fi. The process of determining the feature weights can be referred to as weight training. - In some embodiments, the
PG module 112 can use normalized feature values λifi in the training set to determine the feature weights ωi 310. In particular, thePG module 112 can be configured to use the normalized feature values λifi andimportance labels 312 to generate feature weights co, 310, such that the features that are reliable predictors of the givenimportance label 312 are assigned higher weights. - In some cases, the
PG module 112 can generate the entire set of feature weights ωi, i∈I, collectively referred to as ω, using a supervised learning technique. For example, thePG module 112 can receive a labeled training set, and use the labeled training set to find the feature weights ω that satisfy the following: -
- where η refers to a placerank estimator, PR refers to the labeled placerank value, in the training set, to be estimated from the features fi, i∈I using the placerank estimator η; and g is a cost function. As discussed above, the placerank estimator η can include η(ωi)=ωiλifi or η(ωi)=ωi{1−exp{−λifi}}. The cost function g can include a linear function, a logarithm function, an exponential function, a non-linear function, or any other functions that can penalize a difference between the labeled placerank value and the placerank value estimated by the placerank estimator η. In other cases, the
PG module 112 can generate feature weights ω using linear regression, non-linear regression, kernel regression, Bayesian techniques, such as Naïve Bayesian, and/or gradient descent techniques. - The importance labels 312 can be indicative of which features are important in determining the placerank values. The importance labels 312 can be indicative of 1) a popularity of an EOI and/or a feature, 2) an importance of a feature from the perspective of consumers on the Internet, 3) an importance of a feature from the perspective of critics or reviewers, and/or 4) an importance of a feature from the perspective of the associated industry. The importance labels 312 can be used to optimize the placerank system for a particular application (e.g., a use case). Therefore, the importance labels 312 can be added based on a user demand. For example, if a user wants to find a dentist that causes the least amount of pain, then the user can add, to the importance labels 312, a “placerank_dentists_who_dont_hurt” label.
- In some embodiments, the popularity of an EOI and/or a feature can be determined based on the information request feature, as discussed previously. For example, the popularity of an EOI and/or a feature can be estimated based on the number of information requests received for the EOI and/or the particular feature of the EOI. In some embodiments, the
importance label 312 can be updated in real-time as the rate at which the information requests for the EOI are received fluctuates over time. This training process can be done in either a batch or real-time manner, using machine learning methods such as regression, batch, mini-batch or stochastic gradient descent. - In some embodiments, the
PG module 112 can periodically reproduce placerank values in a batch mode. For example, thePG module 112 can periodically retrieve all collected information and re-compute placerank values for EOIs. In some embodiments, thePG module 112 can continually update the placerank values in real-time as new or updated information becomes available or as the importance labels are updated. The manner in which the placerank values can be updated in a batch mode and in real time simultaneously is further described in the U.S. Provisional Patent Application No. 61/799,846, titled “SYSTEM WITH BATCH AND REAL TIME DATA PROCESSING,” supra. - In some embodiments, the
PG module 112 can use a specific, targeted function for computing a placerank value when a general function produces poor quality. In particular, thePG module 112 can be configured to use a different function for computing placerank value based on the type of the placerank value, characteristics of the EOI associated with the placerank value, a type of the EOI associated with the placerank value. For example, thePG module 112 can be configured to use different weights to combine features when the EOI is within a specific country, region, locality, or by industry category or sub-category. In other words, thePG module 112 may use a first function for producing placerank values for restaurants in New York City and may use a second function for producing placerank values for restaurants in Boston. As another example, thePG module 112 can be configured to use different weights to combine features when the placerank value to be computed is associated with a particular type, such as “family friendliness,” “proximity to subway stations,” or “price.” In some embodiments, thePG module 112 can learn the specific, targeted function using a supervised learning technique. For example, thePG module 112 can learn the specific, targeted function by learning a regression mapping (e.g., a function or a table) that maps the characteristics of the EOI or the type of the placerank value to the desired specific, targeted function or parameters of the specific, targeted function. - In some embodiments, the collected information of
step 202 or the generated features ofstep 204 can be stored in an updatable database, such as a general-purpose database management system (DBMS). Maintaining the set of collected information or the generated features in such a database allows placerank values to be recomputed or updated at appropriate times. For example, after a set of placerank values are produced, it may be desirable to update the function for computing the placerank values and recompute the placerank values using the updated function. In some embodiments, the DBMS can include MySQL, MariaDB, PostgreSQL, SQLite, MongoDB, Leveldb, Riak, HBase, Microsoft SQL Server, Oracle, SAP, dBASE, FoxPro, IBM DB2, LibreOffice Base and FileMaker Pro. - In some embodiments, the
PG module 112 or theQR module 114 is configured to order search results based on placerank values. For example, when theserver 102 responds to an information request from aclient 106, thePG module 112 or theQR module 114 can retrieve EOIs that are potentially relevant to a query in the information request. Then thePG module 112 or theQR module 114 can retrieve placerank values associated with the potentially relevant EOIs. Subsequently, thePG module 112 or theQR module 114 can order the potentially relevant EOIs based on the placerank values associated with the potentially relevant EOIs. - In some embodiments, the disclosed mechanism for computing placerank values can be extended to a variety of EOIs, including products, companies, people, services, or websites.
-
FIG. 5 illustrates an interaction between a client and a server based on placerank values associated with EOIs in accordance with some embodiments. Theserver 102 can include aQR module 114 that is configured to communicate with theclient 106 to provide information to theclient 106. - In
step 1, theQR module 114 of theserver 102 can receive, from theclient 106, an information request. The information request can include one or more search terms, requesting theQR module 114 to provide a list of EOIs (or any other relevant information) that satisfy (or match) the one or more search terms. - In
step 2, in response to the information request, theQR module 114 can determine EOIs (or any other relevant information) that match the one or more search queries in the information request. - In some embodiments, the
QR module 114 can determine the EOIs based on the placerank values associated with the EOIs. For example, in response to receiving the information request, theQR module 114 can receive placerank values of entities that may satisfy the one or more search queries in the information request. Then, theQR module 114 can determine the EOIs based on the received placerank values. For example, theQR module 114 can select, as the EOIs, 10 entities associated with 10 highest placerank values. - In some embodiments, if the information request from the
client 106 includes an importance label, theQR module 114 can provide the importance label to thePG module 112 so that thePG module 112 can update the placerank values in view of the received importance label. Subsequently, thePG module 112 can provide the updated placerank values to theQR module 114 so that theQR module 114 can identify the EOIs based on the updated placerank values. - In
step 3, if thePG module 112 has not ordered the determined EOIs based on the associated placerank values, theQR module 114 can optionally order (or rank) the determined EOIs based on one or more placerank values associated with the determined EOIs. And instep 4, theQR module 114 can provide the determined EOIs and the retrieved placerank values to theclient 106 that requested the information. - In some embodiments, the
PG module 112 or theQR module 114 can be configured to dynamically re-order EOIs based on one or more placerank values associated with the EOIs. The dynamic re-ordering mechanism can enable theserver 102 to effectively order EOIs based on contextual information associated with the information request. For example, thePG module 112 or theQR module 114 can be configured to bias the ordering of the EOIs based on one or more contextual conditions in which the information request was received by theserver 102. - In some embodiments, the contextual conditions can include time, a geographic location (e.g., a Global Positioning System data), an application that sent the information request, an identification or a profile of a user that sent the information request, and/or a client device that sent the information request. For example, if an application that sent the information request is a social check-in application, the
PG module 112 or theQR module 114 can be configured to rate certain types of EOIs, such as restaurants, higher than other types of EOIs, such as warehouses, since users of the social check-in application generally visit restaurants more often than warehouses. The bias for the dynamic re-ordering can be learned using machine learning techniques. The bias can be represented as a function that combines multiple placerank values (e.g. child friendly and foodie) with different weights (e.g. multipliers for each placerank value and/or an addition constant into a composite score). In some cases, the function can also take into account other parameters, such as distance, for example, linearly, logarithmically, or exponentially. - In some embodiments, the context information can also include one or more features determined at query time. In some cases, the combination of features determined at query time can include information associated with or that is a part of the information request. The
PG module 112 or theQR module 114 can combine the one or more features with one or more placerank values to determine a final score for a EOI. ThePG module 112 or theQR module 114 can then use the final score to dynamically re-order the EOIs and send the reordered EOIs to a client device that sent the information request. - For example, the
PG module 112 or theQR module 114 can be configured to receive a location, typically the location of the device, from a client device that sent the information request. This location information can be represented as a location identifier, such as a Global Positioning System (GPS) coordinate or a latitude/longitude coordinate pair, and can be included in the information request. For example, thePG module 112 or theQR module 114 can determine a physical distance or a travel time between the location provided by the client device and a particular EOI, and combine the distance and one or more placerank values of the particular EOI to determine a score for the particular EOI. ThePG module 112 or theQR module 114 can repeat this process for each of the EOIs to generate a plurality of scores. Then, thePG module 112 or theQR module 114 can use the plurality of scores to reorder the EOIs, thereby taking into account the importance of an EOI and how far the EOI is from the location provided by the client device. In some cases, thePG module 112 or theQR module 114 can take into account the size of the EOI when combining the distance or the travel time with one or more placerank values. Oftentimes, a distance between an EOI and a location provided by the client device is computed based on a center of the EOI and a center of the location provided by the client device. This can be inaccurate when the EOI is large. For instance, a football stadium is significantly large, and a distance or a travel time to the football stadium can be significantly less when the size of the football stadium is taken into account. Therefore, thePG module 112 or theQR module 114 can be configured to take into account the size of the EOI when combining the distance or the travel time with one or more placerank values. - As another example, the
PG module 112 or theQR module 114 can be configured to use the time at which the information request is received to dynamically reorder EOIs. For example, there is a slim chance that a person is interested in going to her accountant at 1 AM, but there is a significant chance that the person is interested in going to a bar at 1 AM. Therefore, thePG module 112 or theQR module 114 can combine time information with one or more placerank values associated with a particular EOI to determine a score for the particular EOI. Then, thePG module 112 or theQR module 114 repeat this process for EOIs to determine a plurality of scores for the EOIs, and use the plurality of scores to reorder the EOIs, thereby taking into account the importance of an EOI and a time at which the information request is received. - The
PG module 112 or theQR module 114 can also combine two or more of these context information features with placerank values to dynamically re-order the EOIs based on two or more of these context features. - In some embodiments, the
PG module 112 or theQR module 114 can combine one or more of these context information features with placerank values using a combination function. The combination function can be a linear function, a non-linear function, a kernel function, or any other function that is capable of mapping one or more of these context information features and one or more placerank values to a final score for a particular EOI. - In some embodiments, the
client 106 can include user equipment of a cellular network. The user equipment communicates with one or more radio access networks and with wired communication networks. The user equipment can be a cellular phone having phonetic communication capabilities. The user equipment can also be a smart phone providing services such as word processing, web browsing, gaming, e-book capabilities, an operating system, and a full keyboard. The user equipment can also be a tablet computer providing network access and most of the services provided by a smart phone. The user equipment operates using an operating system such as Symbian OS, iPhone OS, RIM's Blackberry, Windows Mobile, Linux, HP WebOS, and Android. The screen might be a touch screen that is used to input data to the mobile device, in which case the screen can be used instead of the full keyboard. The user equipment can also keep global positioning coordinates, profile information, or other location information. - The
client 106 also includes any platforms capable of computations. Non-limiting examples can include computers, netbooks, laptops, servers, and any equipment with computation capabilities. Theclient 106 is configured with one or more processors that process instructions and run software that may be stored in memory. The processor also communicates with the memory and interfaces to communicate with other devices. The processor can be any applicable processor such as a system-on-a-chip that combines a CPU, an application processor, and flash memory. Theclient 106 can also provide a variety of user interfaces such as a keyboard, a touch screen, a trackball, a touch pad, and/or a mouse. Theclient 106 may also include speakers and a display device in some embodiments. - In some embodiments, the
server 102 can reside in a data center and form a node in a cloud computing infrastructure. Theserver 102 can also provide services on demand. A module hosting a client is capable of migrating from one server to another server seamlessly, without causing program faults or system breakdown. Theserver 102 on the cloud can be managed using a management system. - Other embodiments are within the scope and spirit of the disclosed subject matter.
- The subject matter described herein can be implemented in digital electronic circuitry, or in computer software, firmware, or hardware, including the structural means disclosed in this specification and structural equivalents thereof, or in combinations of them. The subject matter described herein can be implemented as one or more computer program products, such as one or more computer programs tangibly embodied in an information carrier (e.g., in a machine-readable storage device), or embodied in a propagated signal, for execution by, or to control the operation of, data processing apparatus (e.g., a programmable processor, a computer, or multiple computers). A computer program (also known as a program, software, software application, or code) can be written in any form of programming language, including compiled or interpreted languages, and it can be deployed in any form, including as a stand-alone program or as a module, component, subroutine, or other unit suitable for use in a computing environment. A computer program does not necessarily correspond to a file. A program can be stored in a portion of a file that holds other programs or data, in a single file dedicated to the program in question, or in multiple coordinated files (e.g., files that store one or more modules, sub-programs, or portions of code). A computer program can be deployed to be executed on one computer or on multiple computers at one site or distributed across multiple sites and interconnected by a communication network.
- The processes and logic flows described in this specification, including the method steps of the subject matter described herein, can be performed by one or more programmable processors executing one or more computer programs to perform functions of the subject matter described herein by operating on input data and generating output. The processes and logic flows can also be performed by, and apparatus of the subject matter described herein can be implemented as, special purpose logic circuitry, e.g., an FPGA (field programmable gate array) or an ASIC (application-specific integrated circuit).
- Processors suitable for the execution of a computer program include, by way of example, both general and special purpose microprocessors, and any one or more processor of any kind of digital computer. Generally, a processor will receive instructions and data from a read-only memory or a random access memory or both. The essential elements of a computer are a processor for executing instructions and one or more memory devices for storing instructions and data. Generally, a computer will also include, or be operatively coupled to receive data from or transfer data to, or both, one or more mass storage devices for storing data, e.g., magnetic, magneto-optical disks, or optical disks. Information carriers suitable for embodying computer program instructions and data include all focus of non-volatile memory, including by way of example semiconductor memory devices, (e.g., EPROM, EEPROM, and flash memory devices); magnetic disks, (e.g., internal hard disks or removable disks); magneto-optical disks; and optical disks (e.g., CD and DVD disks). The processor and the memory can be supplemented by, or incorporated in, special purpose logic circuitry.
- To provide for interaction with a user, the subject matter described herein can be implemented on a computer having a display device, e.g., a CRT (cathode ray tube) or LCD (liquid crystal display) monitor, for displaying information to the user and a keyboard and a pointing device, (e.g., a mouse or a trackball), by which the user can provide input to the computer. Other kinds of devices can be used to provide for interaction with a user as well. For example, feedback provided to the user can be any form of sensory feedback, (e.g., visual feedback, auditory feedback, or tactile feedback), and input from the user can be received in any form, including acoustic, speech, or tactile input.
- The techniques described herein can be implemented using one or more modules. As used herein, the term “module” refers to computing software, firmware, hardware, and/or various combinations thereof. At a minimum, however, modules are not to be interpreted as software that is not implemented on hardware, firmware, or recorded on a non-transitory processor readable recordable storage medium. Indeed “module” is to be interpreted to include at least some physical, non-transitory hardware such as a part of a processor or computer. Two different modules can share the same physical hardware (e.g., two different modules can use the same processor and network interface). The modules described herein can be combined, integrated, separated, and/or duplicated to support various applications. Also, a function described herein as being performed at a particular module can be performed at one or more other modules and/or by one or more other devices instead of or in addition to the function performed at the particular module. Further, the modules can be implemented across multiple devices and/or other components local or remote to one another. Additionally, the modules can be moved from one device and added to another device, and/or can be included in both devices.
- The subject matter described herein can be implemented in a computing system that includes a back-end component (e.g., a data server), a middleware component (e.g., an application server), or a front-end component (e.g., a client computer having a graphical user interface or a web browser through which a user can interact with an implementation of the subject matter described herein), or any combination of such back-end, middleware, and front-end components. The components of the system can be interconnected by any form or medium of digital data communication, e.g., a communication network. Examples of communication networks include a local area network (“LAN”) and a wide area network (“WAN”), e.g., the Internet.
- The terms “a” or “an,” as used herein throughout the present application, can be defined as one or more than one. Also, the use of introductory phrases such as “at least one” and “one or more” should not be construed to imply that the introduction of another element by the indefinite articles “a” or “an” limits the corresponding element to only one such element. The same holds true for the use of definite articles.
- It is to be understood that the disclosed subject matter is not limited in its application to the details of construction and to the arrangements of the components set forth in the following description or illustrated in the drawings. The disclosed subject matter is capable of other embodiments and of being practiced and carried out in various ways. Also, it is to be understood that the phraseology and terminology employed herein are for the purpose of description and should not be regarded as limiting.
- As such, those skilled in the art will appreciate that the conception, upon which this disclosure is based, may readily be utilized as a basis for the designing of other structures, methods, and systems for carrying out the several purposes of the disclosed subject matter. It is important, therefore, that the claims be regarded as including such equivalent constructions insofar as they do not depart from the spirit and scope of the disclosed subject matter.
- Although the disclosed subject matter has been described and illustrated in the foregoing exemplary embodiments, it is understood that the present disclosure has been made only by way of example, and that numerous changes in the details of implementation of the disclosed subject matter may be made without departing from the spirit and scope of the disclosed subject matter.
Claims (21)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US18/045,431 US20230129014A1 (en) | 2013-03-15 | 2022-10-10 | Apparatus, systems, and methods for analyzing characteristics of entities of interest |
Applications Claiming Priority (8)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US201361800036P | 2013-03-15 | 2013-03-15 | |
US201361799846P | 2013-03-15 | 2013-03-15 | |
US201361799986P | 2013-03-15 | 2013-03-15 | |
US201361799817P | 2013-03-15 | 2013-03-15 | |
US201361799131P | 2013-03-15 | 2013-03-15 | |
US14/214,309 US10331631B2 (en) | 2013-03-15 | 2014-03-14 | Apparatus, systems, and methods for analyzing characteristics of entities of interest |
US16/409,776 US11468019B2 (en) | 2013-03-15 | 2019-05-11 | Apparatus, systems, and methods for analyzing characteristics of entities of interest |
US18/045,431 US20230129014A1 (en) | 2013-03-15 | 2022-10-10 | Apparatus, systems, and methods for analyzing characteristics of entities of interest |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US16/409,776 Continuation US11468019B2 (en) | 2013-03-15 | 2019-05-11 | Apparatus, systems, and methods for analyzing characteristics of entities of interest |
Publications (1)
Publication Number | Publication Date |
---|---|
US20230129014A1 true US20230129014A1 (en) | 2023-04-27 |
Family
ID=50625176
Family Applications (23)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/214,208 Active US9594791B2 (en) | 2013-03-15 | 2014-03-14 | Apparatus, systems, and methods for analyzing movements of target entities |
US14/214,296 Active 2034-05-21 US9753965B2 (en) | 2013-03-15 | 2014-03-14 | Apparatus, systems, and methods for providing location information |
US14/214,231 Active 2036-10-24 US10831725B2 (en) | 2013-03-15 | 2014-03-14 | Apparatus, systems, and methods for grouping data records |
US14/214,219 Active 2034-10-02 US9317541B2 (en) | 2013-03-15 | 2014-03-14 | Apparatus, systems, and methods for batch and realtime data processing |
US14/214,309 Active 2035-09-06 US10331631B2 (en) | 2013-03-15 | 2014-03-14 | Apparatus, systems, and methods for analyzing characteristics of entities of interest |
US14/214,213 Active 2036-02-25 US10817482B2 (en) | 2013-03-15 | 2014-03-14 | Apparatus, systems, and methods for crowdsourcing domain specific intelligence |
US15/132,228 Active 2034-07-24 US10891269B2 (en) | 2013-03-15 | 2016-04-18 | Apparatus, systems, and methods for batch and realtime data processing |
US15/420,655 Active US9977792B2 (en) | 2013-03-15 | 2017-01-31 | Apparatus, systems, and methods for analyzing movements of target entities |
US15/673,349 Active US10013446B2 (en) | 2013-03-15 | 2017-08-09 | Apparatus, systems, and methods for providing location information |
US15/960,322 Active US10255301B2 (en) | 2013-03-15 | 2018-04-23 | Apparatus, systems, and methods for analyzing movements of target entities |
US16/006,748 Active US10268708B2 (en) | 2013-03-15 | 2018-06-12 | System and method for providing sub-polygon based location service |
US16/352,664 Active US10579600B2 (en) | 2013-03-15 | 2019-03-13 | Apparatus, systems, and methods for analyzing movements of target entities |
US16/367,161 Active US10459896B2 (en) | 2013-03-15 | 2019-03-27 | Apparatus, systems, and methods for providing location information |
US16/409,776 Active 2035-01-24 US11468019B2 (en) | 2013-03-15 | 2019-05-11 | Apparatus, systems, and methods for analyzing characteristics of entities of interest |
US16/590,312 Active US10817484B2 (en) | 2013-03-15 | 2019-10-01 | Apparatus, systems, and methods for providing location information |
US16/777,869 Active US10866937B2 (en) | 2013-03-15 | 2020-01-30 | Apparatus, systems, and methods for analyzing movements of target entities |
US17/080,596 Pending US20210286776A1 (en) | 2013-03-15 | 2020-10-26 | Apparatus, systems, and methods for crowdsourcing domain specific intelligence |
US17/080,605 Active US11461289B2 (en) | 2013-03-15 | 2020-10-26 | Apparatus, systems, and methods for providing location information |
US17/093,151 Pending US20210303531A1 (en) | 2013-03-15 | 2020-11-09 | Apparatus, systems, and methods for grouping data records |
US17/120,600 Active US11762818B2 (en) | 2013-03-15 | 2020-12-14 | Apparatus, systems, and methods for analyzing movements of target entities |
US17/145,888 Pending US20210374109A1 (en) | 2013-03-15 | 2021-01-11 | Apparatus, systems, and methods for batch and realtime data processing |
US18/045,431 Pending US20230129014A1 (en) | 2013-03-15 | 2022-10-10 | Apparatus, systems, and methods for analyzing characteristics of entities of interest |
US18/368,894 Pending US20240264985A1 (en) | 2013-03-15 | 2023-09-15 | Apparatus, systems, and methods for analyzing movements of target entities |
Family Applications Before (21)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US14/214,208 Active US9594791B2 (en) | 2013-03-15 | 2014-03-14 | Apparatus, systems, and methods for analyzing movements of target entities |
US14/214,296 Active 2034-05-21 US9753965B2 (en) | 2013-03-15 | 2014-03-14 | Apparatus, systems, and methods for providing location information |
US14/214,231 Active 2036-10-24 US10831725B2 (en) | 2013-03-15 | 2014-03-14 | Apparatus, systems, and methods for grouping data records |
US14/214,219 Active 2034-10-02 US9317541B2 (en) | 2013-03-15 | 2014-03-14 | Apparatus, systems, and methods for batch and realtime data processing |
US14/214,309 Active 2035-09-06 US10331631B2 (en) | 2013-03-15 | 2014-03-14 | Apparatus, systems, and methods for analyzing characteristics of entities of interest |
US14/214,213 Active 2036-02-25 US10817482B2 (en) | 2013-03-15 | 2014-03-14 | Apparatus, systems, and methods for crowdsourcing domain specific intelligence |
US15/132,228 Active 2034-07-24 US10891269B2 (en) | 2013-03-15 | 2016-04-18 | Apparatus, systems, and methods for batch and realtime data processing |
US15/420,655 Active US9977792B2 (en) | 2013-03-15 | 2017-01-31 | Apparatus, systems, and methods for analyzing movements of target entities |
US15/673,349 Active US10013446B2 (en) | 2013-03-15 | 2017-08-09 | Apparatus, systems, and methods for providing location information |
US15/960,322 Active US10255301B2 (en) | 2013-03-15 | 2018-04-23 | Apparatus, systems, and methods for analyzing movements of target entities |
US16/006,748 Active US10268708B2 (en) | 2013-03-15 | 2018-06-12 | System and method for providing sub-polygon based location service |
US16/352,664 Active US10579600B2 (en) | 2013-03-15 | 2019-03-13 | Apparatus, systems, and methods for analyzing movements of target entities |
US16/367,161 Active US10459896B2 (en) | 2013-03-15 | 2019-03-27 | Apparatus, systems, and methods for providing location information |
US16/409,776 Active 2035-01-24 US11468019B2 (en) | 2013-03-15 | 2019-05-11 | Apparatus, systems, and methods for analyzing characteristics of entities of interest |
US16/590,312 Active US10817484B2 (en) | 2013-03-15 | 2019-10-01 | Apparatus, systems, and methods for providing location information |
US16/777,869 Active US10866937B2 (en) | 2013-03-15 | 2020-01-30 | Apparatus, systems, and methods for analyzing movements of target entities |
US17/080,596 Pending US20210286776A1 (en) | 2013-03-15 | 2020-10-26 | Apparatus, systems, and methods for crowdsourcing domain specific intelligence |
US17/080,605 Active US11461289B2 (en) | 2013-03-15 | 2020-10-26 | Apparatus, systems, and methods for providing location information |
US17/093,151 Pending US20210303531A1 (en) | 2013-03-15 | 2020-11-09 | Apparatus, systems, and methods for grouping data records |
US17/120,600 Active US11762818B2 (en) | 2013-03-15 | 2020-12-14 | Apparatus, systems, and methods for analyzing movements of target entities |
US17/145,888 Pending US20210374109A1 (en) | 2013-03-15 | 2021-01-11 | Apparatus, systems, and methods for batch and realtime data processing |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US18/368,894 Pending US20240264985A1 (en) | 2013-03-15 | 2023-09-15 | Apparatus, systems, and methods for analyzing movements of target entities |
Country Status (5)
Country | Link |
---|---|
US (23) | US9594791B2 (en) |
EP (9) | EP3876107A1 (en) |
CN (11) | CN111177125B (en) |
HK (3) | HK1224007A1 (en) |
WO (6) | WO2014145106A1 (en) |
Families Citing this family (185)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10687166B2 (en) | 2004-09-30 | 2020-06-16 | Uber Technologies, Inc. | Obtaining user assistance |
US10445799B2 (en) | 2004-09-30 | 2019-10-15 | Uber Technologies, Inc. | Supply-chain side assistance |
US8358976B2 (en) | 2006-03-24 | 2013-01-22 | The Invention Science Fund I, Llc | Wireless device with an aggregate user interface for controlling other devices |
US10213645B1 (en) * | 2011-10-03 | 2019-02-26 | Swingbyte, Inc. | Motion attributes recognition system and methods |
US9672126B2 (en) * | 2011-12-15 | 2017-06-06 | Sybase, Inc. | Hybrid data replication |
US9222777B2 (en) | 2012-09-07 | 2015-12-29 | The United States Post Office | Methods and systems for creating and using a location identification grid |
WO2014145106A1 (en) | 2013-03-15 | 2014-09-18 | Shimanovsky Boris | Apparatus, systems, and methods for grouping data records |
US9223806B2 (en) * | 2013-03-28 | 2015-12-29 | International Business Machines Corporation | Restarting a batch process from an execution point |
US9535927B2 (en) * | 2013-06-24 | 2017-01-03 | Great-Circle Technologies, Inc. | Method and apparatus for situational context for big data |
IL227480A0 (en) * | 2013-07-15 | 2013-12-31 | Bg Negev Technologies & Applic Ltd | System for characterizing geographical locations based on multi sensors anonymous data sources |
US9875321B2 (en) * | 2013-07-19 | 2018-01-23 | Salesforce.Com, Inc. | Geo-location custom indexes |
US10042911B2 (en) * | 2013-07-30 | 2018-08-07 | International Business Machines Corporations | Discovery of related entities in a master data management system |
KR101609178B1 (en) * | 2013-09-16 | 2016-04-07 | 엔에이치엔엔터테인먼트 주식회사 | Service method and system for providing reward using moving path of users |
US10191769B2 (en) | 2013-09-26 | 2019-01-29 | British Telecommunications Public Limited Company | Efficient event filter |
WO2015089659A1 (en) * | 2013-12-16 | 2015-06-25 | Inbubbles Inc. | Space time region based communications |
US20160292233A1 (en) * | 2013-12-20 | 2016-10-06 | Hewlett Packard Enterprise Development Lp | Discarding data points in a time series |
US10909117B2 (en) | 2013-12-20 | 2021-02-02 | Micro Focus Llc | Multiple measurements aggregated at multiple levels of execution of a workload |
WO2015094319A1 (en) | 2013-12-20 | 2015-06-25 | Hewlett-Packard Development Company, L.P. | Generating a visualization of a metric at a level of execution |
US9710485B2 (en) * | 2014-03-14 | 2017-07-18 | Twitter, Inc. | Density-based dynamic geohash |
US9426620B2 (en) * | 2014-03-14 | 2016-08-23 | Twitter, Inc. | Dynamic geohash-based geofencing |
PL2924589T3 (en) * | 2014-03-27 | 2017-09-29 | Kapsch Trafficcom Ag | Onboard unit and method for updating geodata therein |
US11263646B1 (en) * | 2014-03-31 | 2022-03-01 | Groupon, Inc. | Systems, apparatus, and methods of programmatically determining unique contacts |
US11586680B2 (en) * | 2014-03-31 | 2023-02-21 | International Business Machines Corporation | Fast and accurate geomapping |
US9727664B2 (en) | 2014-05-06 | 2017-08-08 | International Business Machines Corporation | Grouping records in buckets distributed across nodes of a distributed database system to perform comparison of the grouped records |
US9552559B2 (en) | 2014-05-06 | 2017-01-24 | Elwha Llc | System and methods for verifying that one or more directives that direct transport of a second end user does not conflict with one or more obligations to transport a first end user |
US10182307B2 (en) * | 2014-06-02 | 2019-01-15 | Geospock Limited | System for providing location-based social networking services to users of mobile devices |
US10586163B1 (en) | 2014-06-06 | 2020-03-10 | Mmsr, Llc | Geographic locale mapping system for outcome prediction |
US10332223B1 (en) * | 2014-06-06 | 2019-06-25 | Mmsr, Llc | Geographic locale mapping system |
US10902468B2 (en) * | 2014-06-23 | 2021-01-26 | Board Of Regents, The University Of Texas System | Real-time, stream data information integration and analytics system |
KR101881630B1 (en) * | 2014-06-24 | 2018-07-24 | 경희대학교 산학협력단 | Method and system for providing evaluation information and pattern information using data obtained from user terminal |
US10592539B1 (en) | 2014-07-11 | 2020-03-17 | Twitter, Inc. | Trends in a messaging platform |
US10601749B1 (en) * | 2014-07-11 | 2020-03-24 | Twitter, Inc. | Trends in a messaging platform |
US9817559B2 (en) * | 2014-07-11 | 2017-11-14 | Noom, Inc. | Predictive food logging |
US10318983B2 (en) * | 2014-07-18 | 2019-06-11 | Facebook, Inc. | Expansion of targeting criteria based on advertisement performance |
US10528981B2 (en) | 2014-07-18 | 2020-01-07 | Facebook, Inc. | Expansion of targeting criteria using an advertisement performance metric to maintain revenue |
US20160085832A1 (en) * | 2014-09-24 | 2016-03-24 | Richard L Lam | System and method of analyzing data using bitmap techniques |
US11562040B2 (en) * | 2014-09-25 | 2023-01-24 | United States Postal Service | Methods and systems for creating and using a location identification grid |
US10387389B2 (en) * | 2014-09-30 | 2019-08-20 | International Business Machines Corporation | Data de-duplication |
CN105528384B (en) * | 2014-10-27 | 2019-03-15 | 阿里巴巴集团控股有限公司 | The method for pushing and device of information |
US10477359B2 (en) * | 2014-12-08 | 2019-11-12 | International Business Machines Corporation | Publishing messages based on geographic area |
US9483546B2 (en) * | 2014-12-15 | 2016-11-01 | Palantir Technologies Inc. | System and method for associating related records to common entities across multiple lists |
US10380486B2 (en) * | 2015-01-20 | 2019-08-13 | International Business Machines Corporation | Classifying entities by behavior |
GB2550309A (en) * | 2015-01-27 | 2017-11-15 | Beijing Didi Infinity Tech And Dev Co Ltd | Information providing method and system for on-demand service |
US10140298B2 (en) * | 2015-02-20 | 2018-11-27 | International Business Machines Corporation | Social networking response management system |
JP5960863B1 (en) * | 2015-03-11 | 2016-08-02 | エヌ・ティ・ティ・コミュニケーションズ株式会社 | SEARCH DEVICE, SEARCH METHOD, PROGRAM, AND RECORDING MEDIUM |
US9396210B1 (en) | 2015-03-12 | 2016-07-19 | Verve Wireless, Inc. | Systems, methods, and apparatus for reverse geocoding |
CN106033510B (en) * | 2015-03-13 | 2018-12-21 | 阿里巴巴集团控股有限公司 | A kind of user equipment recognition methods and system |
EP3274935A1 (en) | 2015-03-27 | 2018-01-31 | British Telecommunications public limited company | Anomaly detection by multi-level tolerance relations |
WO2016175880A1 (en) * | 2015-04-29 | 2016-11-03 | Hewlett Packard Enterprise Development Lp | Merging incoming data in a database |
US9715695B2 (en) * | 2015-06-01 | 2017-07-25 | Conduent Business Services, Llc | Method, system and processor-readable media for estimating airport usage demand |
CN108140220A (en) * | 2015-07-03 | 2018-06-08 | 英庭私人有限公司 | Monitor the system and method that learner carries out the progress in experimental learning period |
EP3115906A1 (en) | 2015-07-07 | 2017-01-11 | Toedt, Dr. Selk & Coll. GmbH | Finding doublets in a database |
US20170039258A1 (en) * | 2015-08-05 | 2017-02-09 | Microsoft Technology Licensing, Llc | Efficient Location-Based Entity Record Conflation |
US10140327B2 (en) | 2015-08-24 | 2018-11-27 | Palantir Technologies Inc. | Feature clustering of users, user correlation database access, and user interface generation system |
US10885042B2 (en) * | 2015-08-27 | 2021-01-05 | International Business Machines Corporation | Associating contextual structured data with unstructured documents on map-reduce |
US10834042B2 (en) * | 2015-08-31 | 2020-11-10 | International Business Machines Corporation | Inference of location where each textual message was posted |
CN106557531B (en) * | 2015-09-30 | 2020-07-03 | 伊姆西Ip控股有限责任公司 | Method, apparatus and storage medium for converting complex structured objects into flattened data |
KR102119868B1 (en) * | 2015-10-20 | 2020-06-05 | 전자부품연구원 | System and method for producting promotional media contents |
US20170116285A1 (en) * | 2015-10-27 | 2017-04-27 | Microsoft Technology Licensing, Llc | Semantic Location Layer For User-Related Activity |
US20200389495A1 (en) * | 2015-10-28 | 2020-12-10 | Qomplx, Inc. | Secure policy-controlled processing and auditing on regulated data sets |
US10673887B2 (en) * | 2015-10-28 | 2020-06-02 | Qomplx, Inc. | System and method for cybersecurity analysis and score generation for insurance purposes |
US12081594B2 (en) | 2015-10-28 | 2024-09-03 | Qomplx Llc | Highly scalable four-dimensional geospatial data system for simulated worlds |
US20170236226A1 (en) * | 2015-12-03 | 2017-08-17 | Ashutosh Malaviya | Computerized systems, processes, and user interfaces for globalized score for a set of real-estate assets |
WO2017108576A1 (en) * | 2015-12-24 | 2017-06-29 | British Telecommunications Public Limited Company | Malicious software identification |
WO2017108575A1 (en) | 2015-12-24 | 2017-06-29 | British Telecommunications Public Limited Company | Malicious software identification |
US10931689B2 (en) | 2015-12-24 | 2021-02-23 | British Telecommunications Public Limited Company | Malicious network traffic identification |
US10380513B2 (en) * | 2016-03-11 | 2019-08-13 | Sap Se | Framework for classifying forms and processing form data |
EP3440565A4 (en) * | 2016-03-14 | 2019-10-09 | Rubikloud Technologies Inc. | Method and system for persisting data |
US10504032B2 (en) | 2016-03-29 | 2019-12-10 | Research Now Group, LLC | Intelligent signal matching of disparate input signals in complex computing networks |
EP3424244A4 (en) * | 2016-04-07 | 2019-09-25 | Bluedot Innovations Pty Ltd. | Application of data structures to geo-fencing applications |
US10515101B2 (en) * | 2016-04-19 | 2019-12-24 | Strava, Inc. | Determining clusters of similar activities |
CN107333232B (en) * | 2016-04-29 | 2020-02-21 | 华为技术有限公司 | Terminal positioning method and network equipment |
WO2017210582A1 (en) * | 2016-06-03 | 2017-12-07 | Babel Street, Inc. | Geospatial origin and identity based on dialect detection for text based media |
US10452414B2 (en) * | 2016-06-30 | 2019-10-22 | Microsoft Technology Licensing, Llc | Assistive technology notifications for relevant metadata changes in a document |
US10726443B2 (en) | 2016-07-11 | 2020-07-28 | Samsung Electronics Co., Ltd. | Deep product placement |
US10764077B2 (en) * | 2016-07-26 | 2020-09-01 | RAM Laboratories, Inc. | Crowd-sourced event identification that maintains source privacy |
US10157498B2 (en) * | 2016-08-18 | 2018-12-18 | Robert Bosch Gmbh | System and method for procedurally generated object distribution in regions of a three-dimensional virtual environment |
CN106326447B (en) * | 2016-08-26 | 2019-06-21 | 北京量科邦信息技术有限公司 | A kind of detection method and system of crowdsourcing web crawlers crawl data |
US10552074B2 (en) | 2016-09-23 | 2020-02-04 | Samsung Electronics Co., Ltd. | Summarized data storage management system for streaming data |
US10521477B1 (en) * | 2016-09-28 | 2019-12-31 | Amazon Technologies, Inc. | Optimized location identification |
US10885072B2 (en) * | 2016-10-25 | 2021-01-05 | International Business Machines Corporation | Spatial computing for location-based services |
US11429986B2 (en) * | 2016-11-04 | 2022-08-30 | Google Llc | Realtime busyness for places |
US10635693B2 (en) * | 2016-11-11 | 2020-04-28 | International Business Machines Corporation | Efficiently finding potential duplicate values in data |
US10585864B2 (en) | 2016-11-11 | 2020-03-10 | International Business Machines Corporation | Computing the need for standardization of a set of values |
CN106454781B (en) * | 2016-11-22 | 2020-02-28 | 北京小米移动软件有限公司 | Method and device for identifying source of communication message |
US10324993B2 (en) * | 2016-12-05 | 2019-06-18 | Google Llc | Predicting a search engine ranking signal value |
EP3545484A4 (en) | 2016-12-21 | 2020-06-10 | Engagement Labs Inc. / Laboratoires Engagement Inc. | System and method for measuring the performance of a brand and predicting its future sales |
US10575067B2 (en) | 2017-01-04 | 2020-02-25 | Samsung Electronics Co., Ltd. | Context based augmented advertisement |
US10606814B2 (en) * | 2017-01-18 | 2020-03-31 | Microsoft Technology Licensing, Llc | Computer-aided tracking of physical entities |
CN106910199B (en) * | 2017-01-23 | 2019-07-09 | 北京理工大学 | Car networking crowdsourcing method towards city space information collection |
US20180232493A1 (en) * | 2017-02-10 | 2018-08-16 | Maximus, Inc. | Case-level review tool for physicians |
US10929818B2 (en) * | 2017-02-16 | 2021-02-23 | Seoul National University R&Db Foundation | Wearable sensor-based automatic scheduling device and method |
US10565197B2 (en) | 2017-03-02 | 2020-02-18 | International Business Machines Corporation | Search performance using smart bitmap operations |
US11677757B2 (en) | 2017-03-28 | 2023-06-13 | British Telecommunications Public Limited Company | Initialization vector identification for encrypted malware traffic detection |
US10810235B1 (en) * | 2017-06-09 | 2020-10-20 | Amazon Technologies, Inc. | Efficient region identification using hierarchical geocoded information |
US11074247B2 (en) * | 2017-06-16 | 2021-07-27 | Microsoft Technology Licensing, Llc | Read and write access to sorted lists |
CN107332699A (en) * | 2017-06-22 | 2017-11-07 | 湖南机友科技有限公司 | A kind of collocation method and device of wireless group mobile phone |
CN107341220B (en) * | 2017-06-28 | 2020-05-12 | 阿里巴巴集团控股有限公司 | Multi-source data fusion method and device |
US11682045B2 (en) | 2017-06-28 | 2023-06-20 | Samsung Electronics Co., Ltd. | Augmented reality advertisements on objects |
US10762895B2 (en) | 2017-06-30 | 2020-09-01 | International Business Machines Corporation | Linguistic profiling for digital customization and personalization |
CN107330466B (en) * | 2017-06-30 | 2023-01-24 | 上海连尚网络科技有限公司 | Extremely-fast geographic GeoHash clustering method |
JP6958618B2 (en) * | 2017-07-07 | 2021-11-02 | 日本電気株式会社 | Information processing equipment, information processing methods, and programs |
CN109284952B (en) * | 2017-07-21 | 2023-04-18 | 菜鸟智能物流控股有限公司 | Method and device for positioning home region |
EP3467669A4 (en) * | 2017-07-31 | 2020-01-22 | Rakuten, Inc. | PROCESSING SYSTEM, PROCESSING DEVICE, PROCESSING METHOD, PROGRAM, AND INFORMATION RECORDING MEDIUM |
US11614952B2 (en) * | 2017-09-13 | 2023-03-28 | Imageteq Technologies, Inc. | Systems and methods for providing modular applications with dynamically generated user experience and automatic authentication |
US11657425B2 (en) * | 2017-09-29 | 2023-05-23 | Oracle International Corporation | Target user estimation for dynamic assets |
JP6800825B2 (en) * | 2017-10-02 | 2020-12-16 | 株式会社東芝 | Information processing equipment, information processing methods and programs |
US11039414B2 (en) * | 2017-11-21 | 2021-06-15 | International Business Machines Corporation | Fingerprint data pre-process method for improving localization model |
CN108062356A (en) * | 2017-11-27 | 2018-05-22 | 口碑(上海)信息技术有限公司 | Batch data processing system and method |
CA3026837A1 (en) * | 2017-12-07 | 2019-06-07 | Fifth Third Bancorp | Geospatial market analytics |
CN108052609A (en) * | 2017-12-13 | 2018-05-18 | 武汉烽火普天信息技术有限公司 | A kind of address matching method based on dictionary and machine learning |
CN108268594B (en) * | 2017-12-14 | 2021-06-22 | 北京奇艺世纪科技有限公司 | Data query method and device |
WO2019136407A1 (en) * | 2018-01-08 | 2019-07-11 | Equifax Inc. | Facilitating entity resolution, keying, and search match without transmitting personally identifiable information in the clear |
US20190333085A1 (en) * | 2018-04-25 | 2019-10-31 | International Business Machines Corporation | Identifying geographic market share |
CN108735292B (en) * | 2018-04-28 | 2021-09-17 | 四川大学 | Removable partial denture scheme decision method and system based on artificial intelligence |
WO2019211111A1 (en) * | 2018-04-30 | 2019-11-07 | Koninklijke Philips N.V. | Improved record finding using multi-party computation |
WO2019217355A1 (en) * | 2018-05-08 | 2019-11-14 | Mmodal Ip Llc | Hybrid batch and live natural language processing |
JP2019213183A (en) * | 2018-05-30 | 2019-12-12 | パナソニック インテレクチュアル プロパティ コーポレーション オブアメリカPanasonic Intellectual Property Corporation of America | Clustering method, classification method, clustering apparatus, and classification apparatus |
RU2720073C2 (en) | 2018-07-04 | 2020-04-23 | Общество С Ограниченной Ответственностью "Яндекс" | Method and electronic device for creating index of segments of polygons |
WO2020051265A1 (en) * | 2018-09-06 | 2020-03-12 | The Wireless Registry, Inc. | Systems and methods for automatic resolutions of wireless signals |
US10970281B2 (en) * | 2018-09-06 | 2021-04-06 | Sap Se | Searching for data using superset tree data structures |
EP3621002A1 (en) * | 2018-09-06 | 2020-03-11 | Koninklijke Philips N.V. | Monitoring moveable entities in a predetermined area |
WO2020053292A1 (en) | 2018-09-12 | 2020-03-19 | British Telecommunications Public Limited Company | Encryption key seed determination |
EP3623980B1 (en) | 2018-09-12 | 2021-04-28 | British Telecommunications public limited company | Ransomware encryption algorithm determination |
EP3623982B1 (en) | 2018-09-12 | 2021-05-19 | British Telecommunications public limited company | Ransomware remediation |
US11270471B2 (en) | 2018-10-10 | 2022-03-08 | Bentley Systems, Incorporated | Efficient refinement of tiles of a HLOD tree |
EP3864627A1 (en) | 2018-10-14 | 2021-08-18 | Bentley Systems, Incorporated | Conversion of infrastructure model geometry to a tile format |
CN113287153B (en) * | 2018-10-14 | 2024-07-19 | 本特利系统有限公司 | Dynamic front-end driven generation of HLOD trees |
CN112005082B (en) * | 2018-10-22 | 2024-12-03 | 谷歌有限责任公司 | Finding Locally Salient Semantic Features for Navigation and Geocoding |
CN109375923B (en) * | 2018-10-26 | 2022-05-03 | 网易(杭州)网络有限公司 | Method and device for processing change data, storage medium, processor and server |
US11468284B2 (en) * | 2018-10-26 | 2022-10-11 | MillerKnoll, Inc. | Space utilization measurement and modeling using artificial intelligence |
US11144337B2 (en) * | 2018-11-06 | 2021-10-12 | International Business Machines Corporation | Implementing interface for rapid ground truth binning |
CN111291129B (en) * | 2018-12-06 | 2024-02-02 | 浙江宇视科技有限公司 | Target person tracking method and device based on multidimensional data research and judgment |
US11126673B2 (en) * | 2019-01-29 | 2021-09-21 | Salesforce.Com, Inc. | Method and system for automatically enriching collected seeds with information extracted from one or more websites |
US10866996B2 (en) | 2019-01-29 | 2020-12-15 | Saleforce.com, inc. | Automated method and system for clustering enriched company seeds into a cluster and selecting best values for each attribute within the cluster to generate a company profile |
EP3909034A2 (en) * | 2019-02-11 | 2021-11-17 | Wejo Ltd. | System for processing geolocation event data for low-latency |
US11710034B2 (en) * | 2019-02-27 | 2023-07-25 | Intel Corporation | Misuse index for explainable artificial intelligence in computing environments |
US10585990B1 (en) * | 2019-03-15 | 2020-03-10 | Praedicat, Inc. | Live updating visualization of causation scores based on scientific article metadata |
US11461696B2 (en) * | 2019-03-26 | 2022-10-04 | Aetna Inc. | Efficacy measures for unsupervised learning in a cyber security environment |
CN110110246B (en) * | 2019-05-13 | 2021-09-07 | 北京金和网络股份有限公司 | Shop recommendation method based on geographic information grid density |
US11018953B2 (en) | 2019-06-19 | 2021-05-25 | International Business Machines Corporation | Data center cartography bootstrapping from process table data |
CN110266834B (en) * | 2019-07-29 | 2022-08-26 | 中国工商银行股份有限公司 | Area searching method and device based on internet protocol address |
US12124484B2 (en) | 2019-08-02 | 2024-10-22 | Visa International Service Association | Real-time geo-intelligent aggregation engine |
US11222083B2 (en) * | 2019-08-07 | 2022-01-11 | International Business Machines Corporation | Web crawler platform |
US11574213B1 (en) * | 2019-08-14 | 2023-02-07 | Palantir Technologies Inc. | Systems and methods for inferring relationships between entities |
CN110502579A (en) * | 2019-08-26 | 2019-11-26 | 第四范式(北京)技术有限公司 | The system and method calculated for batch and real-time characteristic |
US11408746B2 (en) * | 2019-12-04 | 2022-08-09 | Toyota Connected North America, Inc. | Systems and methods for generating attributes-based recommendations |
CN113127767B (en) * | 2019-12-31 | 2023-02-10 | 中国移动通信集团四川有限公司 | Mobile phone number extraction method and device, electronic equipment and storage medium |
CN113129406B (en) * | 2019-12-31 | 2024-03-22 | 菜鸟智能物流控股有限公司 | Data processing method and device and electronic equipment |
US11360971B2 (en) * | 2020-01-16 | 2022-06-14 | Capital One Services, Llc | Computer-based systems configured for entity resolution for efficient dataset reduction |
US11243969B1 (en) * | 2020-02-07 | 2022-02-08 | Hitps Llc | Systems and methods for interaction between multiple computing devices to process data records |
JP6810978B1 (en) * | 2020-03-16 | 2021-01-13 | 株式会社ピース企画 | Cluster generator, cluster generation method and cluster generation program |
JP6827138B1 (en) * | 2020-03-31 | 2021-02-10 | 株式会社フューチャースコープ | Flyer ordering brokerage server, leaflet ordering support server and leaflet ordering method |
CN111538917B (en) * | 2020-04-20 | 2022-08-26 | 清华大学 | Learner migration route construction method and device |
WO2021215096A1 (en) * | 2020-04-23 | 2021-10-28 | 株式会社Nttドコモ | Population extraction device |
US11297466B1 (en) | 2020-04-24 | 2022-04-05 | Allstate Insurance Company | Systems for predicting and classifying location data based on machine learning |
JP2022030253A (en) * | 2020-08-06 | 2022-02-18 | トヨタ自動車株式会社 | Information processing apparatus and program |
KR102215989B1 (en) * | 2020-08-06 | 2021-02-16 | 쿠팡 주식회사 | Electronic apparatus for providing picking information of item and method thereof |
US11995943B2 (en) | 2020-08-11 | 2024-05-28 | ScooterBug, Inc. | Methods of and systems for controlling access to networked devices provided with machine-readable codes scanned by mobile phones and computing devices |
US11790722B2 (en) | 2020-08-11 | 2023-10-17 | Best Lockers, Llc | Single-sided storage locker systems accessed and controlled using machine-readable codes scanned by mobile phones and computing devices |
US11631295B2 (en) | 2020-08-11 | 2023-04-18 | ScooterBug, Inc. | Wireless network, mobile systems and methods for controlling access to lockers, strollers, wheel chairs and electronic convenience vehicles provided with machine-readable codes scanned by mobile phones and computing devices |
US12164584B2 (en) | 2020-09-08 | 2024-12-10 | Google Llc | System and method for identifying places using contextual information |
CN112100180B (en) * | 2020-09-21 | 2022-03-04 | 北京嘀嘀无限科技发展有限公司 | Method and device for determining position range, storage medium and electronic equipment |
US20220318644A1 (en) * | 2020-10-14 | 2022-10-06 | Google Llc | Privacy preserving machine learning predictions |
US11416312B1 (en) | 2021-02-12 | 2022-08-16 | Microsoft Technology Licensing, Llc | Near-real-time data processing with partition files |
US20240185276A1 (en) * | 2021-03-25 | 2024-06-06 | Rakuten Group, Inc. | Estimation system, estimation method and program |
US12205068B2 (en) * | 2021-04-15 | 2025-01-21 | Walmart Apollo, Llc | Catchment modeling |
US11714812B2 (en) * | 2021-05-10 | 2023-08-01 | Capital One Services, Llc | System for augmenting and joining multi-cadence datasets |
US11523250B1 (en) * | 2021-05-12 | 2022-12-06 | Valassis Digital Corp. | Computer system with features for determining reliable location data using messages with unreliable location data |
US20230030245A1 (en) * | 2021-07-30 | 2023-02-02 | Here Global B.V. | Systems and methods for generating location-based information |
US12134399B2 (en) * | 2021-10-22 | 2024-11-05 | Zoox, Inc. | Drivable surface map for autonomous vehicle navigation |
US12025465B2 (en) | 2021-10-22 | 2024-07-02 | Zoox, Inc. | Drivable surface map for autonomous vehicle navigation |
US20230259815A1 (en) * | 2021-10-28 | 2023-08-17 | Google Llc | Machine learning techniques for user group based content distribution |
US12153587B1 (en) * | 2021-11-05 | 2024-11-26 | Validate Me LLC | Decision making analysis engine |
US20230168647A1 (en) * | 2021-11-29 | 2023-06-01 | Airsset Technologies Inc. | Cognitive performance determination based on indoor air quality |
CN114330574A (en) * | 2021-12-31 | 2022-04-12 | 广东泰迪智能科技股份有限公司 | Fuzzy labeling method for pattern recognition |
WO2023163892A1 (en) * | 2022-02-23 | 2023-08-31 | Nigh Technologies, Inc. | Systems, methods, and storage media for a social commerce platform |
US20230325228A1 (en) * | 2022-04-12 | 2023-10-12 | Vmware, Inc. | Process tree-based process monitoring in endpoints |
US20230384121A1 (en) * | 2022-05-25 | 2023-11-30 | GM Global Technology Operations LLC | Recommendation system for vehicle passengers |
US20240028620A1 (en) * | 2022-07-20 | 2024-01-25 | Dell Products L.P. | System and method for entity resolution using a sorting algorithm and a scoring algorithm with a dynamic thresholding |
WO2024033699A1 (en) * | 2022-08-11 | 2024-02-15 | L&T Technology Services Limited | A method and system of creating balanced dataset |
US20240126840A1 (en) * | 2022-10-14 | 2024-04-18 | Dista Technology Private Limited | Clustering method and system |
US12072845B2 (en) * | 2022-12-21 | 2024-08-27 | Microsoft Technology Licensing, Llc | Systems and methods for pair-wise delta compression |
US20240232613A1 (en) * | 2023-01-08 | 2024-07-11 | Near Intelligence Holdings, Inc. | Method for performing deep similarity modelling on client data to derive behavioral attributes at an entity level |
US20240311381A1 (en) * | 2023-03-17 | 2024-09-19 | Ab Initio Technology Llc | Using Metadata to Drive Batch and Real-Time Processing in Data Processing Systems |
Family Cites Families (244)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US584791A (en) | 1897-06-22 | Metallic fence-post | ||
US594791A (en) * | 1897-11-30 | Lantern | ||
US1897594A (en) | 1930-10-23 | 1933-02-14 | Nat Malleable & Steel Castings | Lock |
JP3433803B2 (en) | 1993-07-07 | 2003-08-04 | ヨーロピアン コンピューター − インダストリー リサーチ センター ゲーエムベーハー | Database structure |
US6026368A (en) * | 1995-07-17 | 2000-02-15 | 24/7 Media, Inc. | On-line interactive system and method for providing content and advertising information to a targeted set of viewers |
CN1231039B (en) | 1996-07-22 | 2011-08-24 | Cyva研究公司 | Personal information security and exchange tool |
US6236365B1 (en) * | 1996-09-09 | 2001-05-22 | Tracbeam, Llc | Location of a mobile station using a plurality of commercial wireless infrastructures |
US6112238A (en) * | 1997-02-14 | 2000-08-29 | Webtrends Corporation | System and method for analyzing remote traffic data in a distributed computing environment |
US6012053A (en) * | 1997-06-23 | 2000-01-04 | Lycos, Inc. | Computer system with user-controlled relevance ranking of search results |
US7921068B2 (en) | 1998-05-01 | 2011-04-05 | Health Discovery Corporation | Data mining platform for knowledge discovery from heterogeneous data types and/or heterogeneous data sources |
US6317787B1 (en) * | 1998-08-11 | 2001-11-13 | Webtrends Corporation | System and method for analyzing web-server log files |
US6184829B1 (en) | 1999-01-08 | 2001-02-06 | Trueposition, Inc. | Calibration for wireless location system |
US20030060211A1 (en) * | 1999-01-26 | 2003-03-27 | Vincent Chern | Location-based information retrieval system for wireless communication device |
BR9916993A (en) | 1999-01-29 | 2001-11-06 | Nokia Networks Oy | Process for signaling which data blocks can be combined together in an incremental redundancy communication system, and, communication system |
US6212392B1 (en) * | 1999-02-26 | 2001-04-03 | Signal Soft Corp. | Method for determining if the location of a wireless communication device is within a specified area |
US6212393B1 (en) | 1999-08-02 | 2001-04-03 | Motorola, Inc. | Method and apparatus for communication within a vehicle dispatch system |
US7096214B1 (en) | 1999-12-15 | 2006-08-22 | Google Inc. | System and method for supporting editorial opinion in the ranking of search results |
CA2298194A1 (en) | 2000-02-07 | 2001-08-07 | Profilium Inc. | Method and system for delivering and targeting advertisements over wireless networks |
US7137065B1 (en) | 2000-02-24 | 2006-11-14 | International Business Machines Corporation | System and method for classifying electronically posted documents |
US20050015486A1 (en) * | 2000-03-08 | 2005-01-20 | Thebrain Technologies Corp. | System, method and article of manufacture for organization monitoring |
US6968332B1 (en) * | 2000-05-25 | 2005-11-22 | Microsoft Corporation | Facility for highlighting documents accessed through search or browsing |
US6868410B2 (en) | 2000-06-05 | 2005-03-15 | Stephen E. Fortin | High-performance location management platform |
AU2001286145A1 (en) | 2000-07-10 | 2002-01-21 | It Masters Technologies S.A. | System and method of enterprise systems and business impact management |
WO2002010989A2 (en) * | 2000-07-31 | 2002-02-07 | Eliyon Technologies Corporation | Method for maintaining people and organization information |
US7330850B1 (en) | 2000-10-04 | 2008-02-12 | Reachforce, Inc. | Text mining system for web-based business intelligence applied to web site server logs |
US7257596B1 (en) | 2000-11-09 | 2007-08-14 | Integrated Marketing Technology | Subscription membership marketing application for the internet |
US7398271B1 (en) * | 2001-04-16 | 2008-07-08 | Yahoo! Inc. | Using network traffic logs for search enhancement |
US7089264B1 (en) | 2001-06-22 | 2006-08-08 | Navteq North America, Llc | Geographic database organization that facilitates location-based advertising |
US7082365B2 (en) | 2001-08-16 | 2006-07-25 | Networks In Motion, Inc. | Point of interest spatial rating search method and system |
US8977284B2 (en) | 2001-10-04 | 2015-03-10 | Traxcell Technologies, LLC | Machine for providing a dynamic data base of geographic location information for a plurality of wireless devices and process for making same |
US6691069B1 (en) * | 2001-10-25 | 2004-02-10 | Honeywell International Inc. | Methods and apparatus for data retrieval, storage and analysis |
US7058668B2 (en) | 2002-01-11 | 2006-06-06 | International Business Machines Corporation | System for estimating the temporal validity of location reports through pattern analysis |
US7058639B1 (en) | 2002-04-08 | 2006-06-06 | Oracle International Corporation | Use of dynamic multi-level hash table for managing hierarchically structured information |
US7177863B2 (en) * | 2002-04-26 | 2007-02-13 | International Business Machines Corporation | System and method for determining internal parameters of a data clustering program |
US6792545B2 (en) * | 2002-06-20 | 2004-09-14 | Guidance Software, Inc. | Enterprise computer investigation system |
WO2004025411A2 (en) | 2002-09-13 | 2004-03-25 | Natural Selection, Inc. | Intelligently interactive profiling system and method |
US20040141003A1 (en) * | 2003-01-21 | 2004-07-22 | Dell Products, L.P. | Maintaining a user interest profile reflecting changing interests of a customer |
JP4059088B2 (en) | 2003-01-28 | 2008-03-12 | 日本電気株式会社 | Mobile radio communication system and radio parameter control method thereof |
US20040181526A1 (en) | 2003-03-11 | 2004-09-16 | Lockheed Martin Corporation | Robust system for interactively learning a record similarity measurement |
CH703073B1 (en) | 2003-03-19 | 2011-11-15 | Roland Pulfer | Comparing models a complex system. |
US7577732B2 (en) | 2003-03-28 | 2009-08-18 | Fujitsu Limited | Information distribution service providing system |
AU2003901968A0 (en) * | 2003-04-23 | 2003-05-15 | Wolfgang Flatow | A universal database schema |
EP1482418A1 (en) * | 2003-05-28 | 2004-12-01 | Sap Ag | A data processing method and system |
US7617202B2 (en) | 2003-06-16 | 2009-11-10 | Microsoft Corporation | Systems and methods that employ a distributional analysis on a query log to improve search results |
KR100541048B1 (en) | 2003-06-16 | 2006-01-11 | 삼성전자주식회사 | Semiconductor memory device and test method of the device |
AU2003253373A1 (en) | 2003-08-01 | 2005-02-25 | Telefonaktiebolaget Lm Ericsson (Publ) | Method and apparatus for routing a service request |
US7734661B2 (en) * | 2003-08-11 | 2010-06-08 | Descisys Limited | Method and apparatus for accessing multidimensional data |
US8307109B2 (en) | 2003-08-27 | 2012-11-06 | International Business Machines Corporation | Methods and systems for real time integration services |
US7693827B2 (en) | 2003-09-30 | 2010-04-06 | Google Inc. | Personalization of placed content ordering in search results |
US20050073708A1 (en) | 2003-10-01 | 2005-04-07 | Oh Myoung-Jin | Method of reporting print option in printing system |
US20050096997A1 (en) | 2003-10-31 | 2005-05-05 | Vivek Jain | Targeting shoppers in an online shopping environment |
US8693043B2 (en) * | 2003-12-19 | 2014-04-08 | Kofax, Inc. | Automatic document separation |
CN101052944B (en) * | 2004-03-29 | 2011-09-07 | 微软公司 | System and method for refining access control for stored data in a relational database |
US7539666B2 (en) | 2004-04-06 | 2009-05-26 | International Business Machines Corporation | Method, system and program for managing geographic data stored in a database |
KR100659266B1 (en) | 2004-04-22 | 2006-12-20 | 삼성전자주식회사 | System, apparatus and method for transmitting and receiving the data coded by the low density parity check code having a variable coding rate |
KR100443483B1 (en) | 2004-04-23 | 2004-08-09 | 엔에이치엔(주) | Method and system for detecting serach terms whose popularity increase rapidly |
US7562069B1 (en) * | 2004-07-01 | 2009-07-14 | Aol Llc | Query disambiguation |
US7962465B2 (en) * | 2006-10-19 | 2011-06-14 | Yahoo! Inc. | Contextual syndication platform |
US7720652B2 (en) | 2004-10-19 | 2010-05-18 | Microsoft Corporation | Modeling location histories |
US7644077B2 (en) * | 2004-10-21 | 2010-01-05 | Microsoft Corporation | Methods, computer readable mediums and systems for linking related data from at least two data sources based upon a scoring algorithm |
US7801897B2 (en) | 2004-12-30 | 2010-09-21 | Google Inc. | Indexing documents according to geographical relevance |
JP2006221329A (en) * | 2005-02-09 | 2006-08-24 | Toshiba Corp | Behavior prediction device, behavior prediction method, and behavior prediction program |
US7779340B2 (en) | 2005-03-17 | 2010-08-17 | Jds Uniphase Corporation | Interpolated timestamps in high-speed data capture and analysis |
US8719244B1 (en) * | 2005-03-23 | 2014-05-06 | Google Inc. | Methods and systems for retrieval of information items and associated sentence fragments |
US8732175B2 (en) | 2005-04-21 | 2014-05-20 | Yahoo! Inc. | Interestingness ranking of media objects |
US8538969B2 (en) * | 2005-06-03 | 2013-09-17 | Adobe Systems Incorporated | Data format for website traffic statistics |
US7826965B2 (en) | 2005-06-16 | 2010-11-02 | Yahoo! Inc. | Systems and methods for determining a relevance rank for a point of interest |
US20070005556A1 (en) | 2005-06-30 | 2007-01-04 | Microsoft Corporation | Probabilistic techniques for detecting duplicate tuples |
GB2427791B (en) | 2005-06-30 | 2009-12-02 | Nokia Corp | Radio frequency scan |
US7831381B2 (en) * | 2005-08-04 | 2010-11-09 | Microsoft Corporation | Data engine for ranking popularity of landmarks in a geographical area |
US8150416B2 (en) * | 2005-08-08 | 2012-04-03 | Jambo Networks, Inc. | System and method for providing communication services to mobile device users incorporating proximity determination |
JP2007110785A (en) * | 2005-10-11 | 2007-04-26 | Denso Corp | Alternator for vehicle |
US7933897B2 (en) * | 2005-10-12 | 2011-04-26 | Google Inc. | Entity display priority in a distributed geographic information system |
US20070088603A1 (en) | 2005-10-13 | 2007-04-19 | Jouppi Norman P | Method and system for targeted data delivery using weight-based scoring |
US8095419B1 (en) * | 2005-10-17 | 2012-01-10 | Yahoo! Inc. | Search score for the determination of search quality |
US7346594B2 (en) * | 2005-10-18 | 2008-03-18 | International Business Machines Corporation | Classification method and system for small collections of high-value entities |
US7576754B1 (en) | 2005-10-27 | 2009-08-18 | Google Inc. | System and method for identifying bounds of a geographical area |
US7734632B2 (en) | 2005-10-28 | 2010-06-08 | Disney Enterprises, Inc. | System and method for targeted ad delivery |
JP4762693B2 (en) * | 2005-11-22 | 2011-08-31 | 株式会社日立製作所 | File server, file server log management system, and file server log management method |
US7904097B2 (en) | 2005-12-07 | 2011-03-08 | Ekahau Oy | Location determination techniques |
US7880551B2 (en) | 2005-12-29 | 2011-02-01 | The Trustees Of Columbia University In The City Of New York | Systems and methods for distributing a clock signal |
US20090005061A1 (en) | 2005-12-30 | 2009-01-01 | Trueposition, Inc. | Location quality of service indicator |
US9129290B2 (en) * | 2006-02-22 | 2015-09-08 | 24/7 Customer, Inc. | Apparatus and method for predicting customer behavior |
US7509477B2 (en) | 2006-04-12 | 2009-03-24 | Microsoft Corporation | Aggregating data from difference sources |
US8656272B2 (en) | 2006-04-28 | 2014-02-18 | Microsoft Corporation | Persisting instance-level report customizations |
US8489110B2 (en) | 2006-05-12 | 2013-07-16 | At&T Intellectual Property I, L.P. | Privacy control of location information |
US8965393B2 (en) | 2006-05-22 | 2015-02-24 | Polaris Wireless, Inc. | Estimating the location of a wireless terminal based on assisted GPS and pattern matching |
JP2008083918A (en) | 2006-09-27 | 2008-04-10 | Aisin Aw Co Ltd | Navigation device |
US8046001B2 (en) | 2006-11-17 | 2011-10-25 | Yoram Shalmon | Method of providing advertising to mobile units |
JP5029874B2 (en) * | 2006-12-28 | 2012-09-19 | 富士通株式会社 | Information processing apparatus, information processing method, and information processing program |
US7849104B2 (en) | 2007-03-01 | 2010-12-07 | Microsoft Corporation | Searching heterogeneous interrelated entities |
US8229458B2 (en) | 2007-04-08 | 2012-07-24 | Enhanced Geographic Llc | Systems and methods to determine the name of a location visited by a user of a wireless device |
US20080255862A1 (en) * | 2007-04-11 | 2008-10-16 | Bailey Gregory A | Predictive asset ranking score of property |
WO2008128133A1 (en) | 2007-04-13 | 2008-10-23 | Pelago, Inc. | Location-based information determination |
US8242959B2 (en) | 2007-04-18 | 2012-08-14 | Trueposition, Inc. | Sparsed U-TDOA wireless location networks |
US8045506B2 (en) | 2007-04-18 | 2011-10-25 | Trueposition, Inc. | Sparsed U-TDOA wireless location networks |
US8200701B2 (en) | 2007-04-19 | 2012-06-12 | Itelligence A/S | Handling of data in a data sharing system |
CN101743596B (en) | 2007-06-15 | 2012-05-30 | 皇家飞利浦电子股份有限公司 | Method and apparatus for automatically generating summaries of a multimedia file |
US20090024546A1 (en) | 2007-06-23 | 2009-01-22 | Motivepath, Inc. | System, method and apparatus for predictive modeling of spatially distributed data for location based commercial services |
JP5327497B2 (en) * | 2007-07-11 | 2013-10-30 | 日立オートモティブシステムズ株式会社 | Map data distribution system and map data update method |
KR20090025607A (en) | 2007-09-06 | 2009-03-11 | 삼성전자주식회사 | Method and device for updating metadata of content |
KR101370002B1 (en) * | 2007-09-19 | 2014-03-04 | 삼성전자주식회사 | Apparatus and method for scheduling in multi-hop relay wireless communication system |
US8892455B2 (en) | 2007-09-28 | 2014-11-18 | Walk Score Management, LLC | Systems, techniques, and methods for providing location assessments |
US7836037B2 (en) | 2007-10-04 | 2010-11-16 | Sap Ag | Selection of rows and values from indexes with updates |
US8510299B2 (en) | 2007-10-23 | 2013-08-13 | At&T Intellectual Property I, L.P. | Method and apparatus for providing a user traffic weighted search |
US9203911B2 (en) | 2007-11-14 | 2015-12-01 | Qualcomm Incorporated | Method and system for using a cache miss state match indicator to determine user suitability of targeted content messages in a mobile environment |
KR101195630B1 (en) | 2007-11-14 | 2012-10-31 | 콸콤 인코포레이티드 | Methods and systems for determining a geographic user profile to determine suitability of targeted content messages based on the profile |
US20090132469A1 (en) | 2007-11-16 | 2009-05-21 | Urban Mapping, Inc. | Geocoding based on neighborhoods and other uniquely defined informal spaces or geographical regions |
US8126881B1 (en) | 2007-12-12 | 2012-02-28 | Vast.com, Inc. | Predictive conversion systems and methods |
US7836046B2 (en) * | 2008-01-21 | 2010-11-16 | Oracle Financial Services Software Limited | Method and system for facilitating verification of an entity based on business requirements |
FR2927446B1 (en) | 2008-02-12 | 2010-05-14 | Compagnie Ind Et Financiere Dingenierie Ingenico | METHOD FOR TRACEABILITY OF AN ELECTRONIC PAYMENT TERMINAL IN CASE OF THEFT, COMPUTER PROGRAM AND CORRESPONDING TERMINAL. |
US20140040862A1 (en) * | 2008-04-03 | 2014-02-06 | Adobe Systems Incorporated | Copying Reusable Components from a Remote Source |
GB2471432A (en) | 2008-04-03 | 2010-12-29 | Icurrent Inc | Information display system based on user profile data with assisted and explicit profile modification |
US8503643B2 (en) * | 2008-05-07 | 2013-08-06 | Verizon Patent And Licensing Inc. | Location- and presence-based media session routing |
US9646078B2 (en) | 2008-05-12 | 2017-05-09 | Groupon, Inc. | Sentiment extraction from consumer reviews for providing product recommendations |
US20090287405A1 (en) | 2008-05-15 | 2009-11-19 | Garmin Ltd. | Traffic data quality |
US10163113B2 (en) * | 2008-05-27 | 2018-12-25 | Qualcomm Incorporated | Methods and apparatus for generating user profile based on periodic location fixes |
US20090299952A1 (en) * | 2008-05-27 | 2009-12-03 | Zheng Jerry | Systems and methods for automatic quality assurance of workflow reports |
US9646025B2 (en) * | 2008-05-27 | 2017-05-09 | Qualcomm Incorporated | Method and apparatus for aggregating and presenting data associated with geographic locations |
US20100023515A1 (en) * | 2008-07-28 | 2010-01-28 | Andreas Marx | Data clustering engine |
US8065315B2 (en) | 2008-08-27 | 2011-11-22 | Sap Ag | Solution search for software support |
US20100070339A1 (en) * | 2008-09-15 | 2010-03-18 | Google Inc. | Associating an Entity with a Category |
CN101350154B (en) * | 2008-09-16 | 2013-01-30 | 北京搜狐新媒体信息技术有限公司 | Method and device for sorting electronic map data |
US8224766B2 (en) | 2008-09-30 | 2012-07-17 | Sense Networks, Inc. | Comparing spatial-temporal trails in location analytics |
US8737619B2 (en) | 2008-11-07 | 2014-05-27 | Telefonaktiebolaget L M Ericsson (Publ) | Method of triggering location based events in a user equipment |
US9063226B2 (en) * | 2009-01-14 | 2015-06-23 | Microsoft Technology Licensing, Llc | Detecting spatial outliers in a location entity dataset |
US8396024B2 (en) * | 2009-01-27 | 2013-03-12 | Motorola Mobility Llc | Cooperative communications using multiple access points to improve data integrity |
US9125018B2 (en) | 2009-02-09 | 2015-09-01 | Qualcomm Incorporated | Triggered location services |
IL197168A (en) | 2009-02-22 | 2017-10-31 | Verint Systems Ltd | System and method for predicting future meetings of wireless users |
US20100217525A1 (en) * | 2009-02-25 | 2010-08-26 | King Simon P | System and Method for Delivering Sponsored Landmark and Location Labels |
US20120047087A1 (en) | 2009-03-25 | 2012-02-23 | Waldeck Technology Llc | Smart encounters |
US20120046995A1 (en) | 2009-04-29 | 2012-02-23 | Waldeck Technology, Llc | Anonymous crowd comparison |
US20100305842A1 (en) * | 2009-05-27 | 2010-12-02 | Alpine Electronics, Inc. | METHOD AND APPARATUS TO FILTER AND DISPLAY ONLY POIs CLOSEST TO A ROUTE |
US8706131B2 (en) | 2009-06-18 | 2014-04-22 | Empire Technology Development Llc | Device location prediction for mobile service optimization |
US8745065B2 (en) * | 2009-07-07 | 2014-06-03 | Google Inc. | Query parsing for map search |
US20110029853A1 (en) | 2009-08-03 | 2011-02-03 | Webtrends, Inc. | Advanced visualizations in analytics reporting |
US8423791B1 (en) * | 2009-08-07 | 2013-04-16 | Google Inc. | Location data quarantine system |
US8959070B2 (en) | 2009-09-15 | 2015-02-17 | Factual Inc. | Processes and systems for collaborative manipulation of data |
US20110087685A1 (en) * | 2009-10-09 | 2011-04-14 | Microsoft Corporation | Location-based service middleware |
WO2011046138A1 (en) | 2009-10-14 | 2011-04-21 | 株式会社エヌ・ティ・ティ・ドコモ | Positional information analysis device and positional information analysis method |
US8583584B2 (en) * | 2009-10-20 | 2013-11-12 | Google Inc. | Method and system for using web analytics data for detecting anomalies |
US8589069B1 (en) | 2009-11-12 | 2013-11-19 | Google Inc. | Enhanced identification of interesting points-of-interest |
US9176986B2 (en) * | 2009-12-02 | 2015-11-03 | Google Inc. | Generating a combination of a visual query and matching canonical document |
JP2011118777A (en) * | 2009-12-04 | 2011-06-16 | Sony Corp | Learning device, learning method, prediction device, prediction method, and program |
WO2011081912A1 (en) * | 2009-12-15 | 2011-07-07 | Mapquest, Inc. | Computer-implemented methods and systems for mult-level geographic query |
US8396490B2 (en) * | 2009-12-17 | 2013-03-12 | Pokos Communications Corp | Method and system for transmitting and receiving messages |
US8543143B2 (en) * | 2009-12-23 | 2013-09-24 | Nokia Corporation | Method and apparatus for grouping points-of-interest according to area names |
US8301639B1 (en) | 2010-01-29 | 2012-10-30 | Google Inc. | Location based query suggestion |
AU2011210695A1 (en) * | 2010-01-31 | 2012-10-11 | Stephens, James R. | Methods and systems to recognize quantitative mispricing of gaming markers |
WO2011106128A1 (en) * | 2010-02-25 | 2011-09-01 | Brennan Peter S | Location identification systems and methods |
US8346795B2 (en) * | 2010-03-10 | 2013-01-01 | Xerox Corporation | System and method for guiding entity-based searching |
US20110225288A1 (en) * | 2010-03-12 | 2011-09-15 | Webtrends Inc. | Method and system for efficient storage and retrieval of analytics data |
US8086899B2 (en) * | 2010-03-25 | 2011-12-27 | Microsoft Corporation | Diagnosis of problem causes using factorization |
JP2011214948A (en) | 2010-03-31 | 2011-10-27 | Sony Corp | Information processing apparatus, behavior prediction display method, and computer program |
US8538973B1 (en) | 2010-04-05 | 2013-09-17 | Google Inc. | Directions-based ranking of places returned by local search queries |
US8799061B1 (en) * | 2010-04-26 | 2014-08-05 | Google Inc. | Classifying users for ad targeting |
US20110295751A1 (en) * | 2010-05-27 | 2011-12-01 | Smith Micro Software, Inc. | System and method for subsidized internet access through preferred partners |
US20110307391A1 (en) * | 2010-06-11 | 2011-12-15 | Microsoft Corporation | Auditing crowd-sourced competition submissions |
JP5832432B2 (en) * | 2010-06-15 | 2015-12-16 | 株式会社ナビタイムジャパン | Navigation system, navigation method, and program |
US20110313969A1 (en) | 2010-06-17 | 2011-12-22 | Gowda Timma Ramu | Updating historic data and real-time data in reports |
US9715553B1 (en) * | 2010-06-18 | 2017-07-25 | Google Inc. | Point of interest retrieval |
US8930245B2 (en) | 2010-06-23 | 2015-01-06 | Justin Streich | Methods, systems and machines for identifying geospatial compatibility between consumers and providers of goods or services |
WO2011161303A1 (en) | 2010-06-24 | 2011-12-29 | Zokem Oy | Network server arrangement for processing non-parametric, multi-dimensional, spatial and temporal human behavior or technical observations measured pervasively, and related method for the same |
US8307006B2 (en) * | 2010-06-30 | 2012-11-06 | The Nielsen Company (Us), Llc | Methods and apparatus to obtain anonymous audience measurement data from network server data for particular demographic and usage profiles |
US20120010996A1 (en) * | 2010-07-07 | 2012-01-12 | Microsoft Corporation | Recommendations and targeted advertising based upon directions requests activity and data |
US9801095B2 (en) | 2010-07-26 | 2017-10-24 | At&T Mobility Ii Llc | Automated wireless access point resource allocation and optimization |
US8812018B2 (en) | 2010-07-28 | 2014-08-19 | Unwired Planet, Llc | System and method for predicting future locations of mobile communication devices using connection-related data of a mobile access network |
CN102142003B (en) * | 2010-07-30 | 2013-04-24 | 华为软件技术有限公司 | Method and device for providing point of interest information |
DK2415942T3 (en) | 2010-08-05 | 2013-05-27 | Iso Chemie Gmbh | Sealing tape |
WO2012036672A1 (en) | 2010-09-14 | 2012-03-22 | Empire Technology Development Llc | Prediction of mobile bandwidth and usage requirements |
US20120084280A1 (en) * | 2010-10-05 | 2012-04-05 | Horacio Ricardo Bouzas | Social network resource integration |
US8794971B2 (en) * | 2010-10-09 | 2014-08-05 | Yellowpages.Com Llc | Method and system for assigning a task to be processed by a crowdsourcing platform |
US8958822B2 (en) * | 2010-10-25 | 2015-02-17 | Alohar Mobile Inc. | Determining points of interest of a mobile user |
US8548177B2 (en) * | 2010-10-26 | 2013-10-01 | University Of Alaska Fairbanks | Methods and systems for source tracking |
CN102456055B (en) * | 2010-10-28 | 2014-11-12 | 腾讯科技(深圳)有限公司 | Method and device for retrieving interest points |
US8352604B2 (en) | 2010-10-28 | 2013-01-08 | Symbol Technologies, Inc. | Distributed propagation of data in a wireless communication network |
WO2012076192A1 (en) | 2010-12-06 | 2012-06-14 | Fraunhofer-Gesellschaft Zur Förderung Der Angewandten Forschung E.V. . | A method for operating a geolocation database and a geolocation database system |
CN102004793B (en) | 2010-12-08 | 2013-09-04 | 厦门雅迅网络股份有限公司 | POI (Point Of Interest) position inquiry index file based on grid space and information inquiry method |
US8751427B1 (en) | 2011-01-05 | 2014-06-10 | Google Inc. | Location-centric recommendation service for users |
US9251215B2 (en) | 2011-01-14 | 2016-02-02 | Hewlett Packard Enterprise Development Lp | Data staging for results of analytics |
US20120185455A1 (en) | 2011-01-14 | 2012-07-19 | Aliaksandr Hedrevich | System and method of providing search query results |
US8692667B2 (en) | 2011-01-19 | 2014-04-08 | Qualcomm Incorporated | Methods and apparatus for distributed learning of parameters of a fingerprint prediction map model |
US8635197B2 (en) | 2011-02-28 | 2014-01-21 | International Business Machines Corporation | Systems and methods for efficient development of a rule-based system using crowd-sourcing |
US10621247B2 (en) | 2011-03-03 | 2020-04-14 | Cox Communications, Inc. | Location and profile based system and service |
US9208626B2 (en) | 2011-03-31 | 2015-12-08 | United Parcel Service Of America, Inc. | Systems and methods for segmenting operational data |
WO2012142158A2 (en) | 2011-04-11 | 2012-10-18 | Credibility Corp. | Visualization tools for reviewing credibility and stateful hierarchical access to credibility |
US8983995B2 (en) * | 2011-04-15 | 2015-03-17 | Microsoft Corporation | Interactive semantic query suggestion for content search |
US9202200B2 (en) | 2011-04-27 | 2015-12-01 | Credibility Corp. | Indices for credibility trending, monitoring, and lead generation |
US8380704B1 (en) | 2011-05-04 | 2013-02-19 | Google Inc. | Coordinating different search queries using a translated query cursor |
US9451401B2 (en) | 2011-05-27 | 2016-09-20 | Qualcomm Incorporated | Application transport level location filtering of internet protocol multicast content delivery |
US20120317088A1 (en) * | 2011-06-07 | 2012-12-13 | Microsoft Corporation | Associating Search Queries and Entities |
US9122720B2 (en) | 2011-06-14 | 2015-09-01 | Microsoft Technology Licensing, Llc | Enriching database query responses using data from external data sources |
CN102843349B (en) * | 2011-06-24 | 2018-03-27 | 中兴通讯股份有限公司 | Realize the method and system, terminal and server of mobile augmented reality business |
US8463816B2 (en) | 2011-06-27 | 2013-06-11 | Siemens Aktiengesellschaft | Method of administering a knowledge repository |
US8843315B1 (en) * | 2011-06-28 | 2014-09-23 | University Of South Florida | System and method for spatial point-of-interest generation and automated trip segmentation using location data |
US8788436B2 (en) * | 2011-07-27 | 2014-07-22 | Microsoft Corporation | Utilization of features extracted from structured documents to improve search relevance |
GB201113143D0 (en) | 2011-07-29 | 2011-09-14 | Univ Ulster | Gait recognition methods and systems |
CN102955792A (en) | 2011-08-23 | 2013-03-06 | 崔春明 | Method for implementing transaction processing for real-time full-text search engine |
US9626434B2 (en) * | 2011-08-30 | 2017-04-18 | Open Text Sa Ulc | Systems and methods for generating and using aggregated search indices and non-aggregated value storage |
US8965889B2 (en) * | 2011-09-08 | 2015-02-24 | Oracle International Corporation | Bi-temporal user profiles for information brokering in collaboration systems |
US9098600B2 (en) | 2011-09-14 | 2015-08-04 | International Business Machines Corporation | Deriving dynamic consumer defined product attributes from input queries |
US9396275B2 (en) | 2011-09-15 | 2016-07-19 | Hewlett Packard Enterprise Development Lp | Geographically partitioned online search system |
US20130262479A1 (en) * | 2011-10-08 | 2013-10-03 | Alohar Mobile Inc. | Points of interest (poi) ranking based on mobile user related data |
US10149267B2 (en) | 2011-10-11 | 2018-12-04 | Match Group, Llc | System and method for matching using location information |
EP2581703B1 (en) | 2011-10-12 | 2017-05-17 | Mapquest, Inc. | Systems and methods for ranking points of interest |
US20130246595A1 (en) | 2011-10-18 | 2013-09-19 | Hugh O'Donoghue | Method and apparatus for using an organizational structure for generating, using, or updating an enriched user profile |
US20130103607A1 (en) | 2011-10-20 | 2013-04-25 | International Business Machines Corporation | Determination of Projected Carrier Assignment |
US20130267255A1 (en) | 2011-10-21 | 2013-10-10 | Alohar Mobile Inc. | Identify points of interest using wireless access points |
US8832789B1 (en) * | 2011-11-18 | 2014-09-09 | Google Inc. | Location-based virtual socializing |
US20130246175A1 (en) * | 2011-12-05 | 2013-09-19 | Qualcomm Labs, Inc. | Selectively presenting advertisements to a customer of a service based on a place movement pattern profile |
US9378287B2 (en) * | 2011-12-14 | 2016-06-28 | Patrick Frey | Enhanced search system and method based on entity ranking |
US8974303B2 (en) | 2011-12-20 | 2015-03-10 | Microsoft Technology Licensing, Llc | Ad-hoc user and device engagement platform |
US9720555B2 (en) | 2011-12-23 | 2017-08-01 | Gary SORDEN | Location-based services |
US8897803B2 (en) | 2012-01-13 | 2014-11-25 | Apple Inc. | Finding wireless network access points |
US8909255B1 (en) | 2012-02-21 | 2014-12-09 | Google Inc. | Reverse geocoder |
US9544075B2 (en) | 2012-02-22 | 2017-01-10 | Qualcomm Incorporated | Platform for wireless identity transmitter and system using short range wireless broadcast |
US8768876B2 (en) | 2012-02-24 | 2014-07-01 | Placed, Inc. | Inference pipeline system and method |
US20130227026A1 (en) | 2012-02-29 | 2013-08-29 | Daemonic Labs | Location profiles |
US8599812B2 (en) | 2012-03-26 | 2013-12-03 | Qualcomm Incorporated | Encoded wireless data delivery in a WLAN positioning system |
US9041337B2 (en) * | 2012-05-18 | 2015-05-26 | Linestream Technologies | Motion profile generator |
US8855681B1 (en) | 2012-04-20 | 2014-10-07 | Amazon Technologies, Inc. | Using multiple applications to provide location information |
US9280610B2 (en) | 2012-05-14 | 2016-03-08 | Apple Inc. | Crowd sourcing information to fulfill user requests |
US20130346347A1 (en) | 2012-06-22 | 2013-12-26 | Google Inc. | Method to Predict a Communicative Action that is Most Likely to be Executed Given a Context |
US9271110B1 (en) * | 2012-07-09 | 2016-02-23 | Sprint Communications Company L.P. | Location awareness session management and cross application session management |
JP6480334B2 (en) * | 2012-10-16 | 2019-03-06 | ブリガム・ヤング・ユニバーシティBrigham Young University | Extraction of non-periodic components from time-series waveform data sets |
US9189518B2 (en) | 2012-10-19 | 2015-11-17 | International Business Machines Corporation | Gathering index statistics using sampling |
US9736652B2 (en) | 2012-11-06 | 2017-08-15 | Intertrust Technologies Corporation | Activity recognition systems and methods |
US9600501B1 (en) | 2012-11-26 | 2017-03-21 | Google Inc. | Transmitting and receiving data between databases with different database processing capabilities |
US8489596B1 (en) | 2013-01-04 | 2013-07-16 | PlaceIQ, Inc. | Apparatus and method for profiling users |
US10235683B2 (en) * | 2014-07-18 | 2019-03-19 | PlaceIQ, Inc. | Analyzing mobile-device location histories to characterize consumer behavior |
US9119055B2 (en) * | 2013-02-06 | 2015-08-25 | Facebook, Inc. | Grouping ambient-location updates |
US9183438B1 (en) | 2013-03-14 | 2015-11-10 | Google Inc. | Systems, methods, and computer-readable media for determining a salient region of a geographic map |
US20140278838A1 (en) | 2013-03-14 | 2014-09-18 | Uber Technologies, Inc. | Determining an amount for a toll based on location data points provided by a computing device |
US9002837B2 (en) * | 2013-03-15 | 2015-04-07 | Ipar, Llc | Systems and methods for providing expert thread search results |
WO2014145106A1 (en) | 2013-03-15 | 2014-09-18 | Shimanovsky Boris | Apparatus, systems, and methods for grouping data records |
JP6507644B2 (en) | 2015-01-05 | 2019-05-08 | セイコーエプソン株式会社 | Liquid jet head and method of manufacturing the same |
US20160366547A1 (en) * | 2015-06-15 | 2016-12-15 | Microsoft Technology Licensing, Llc | Locating devices by correlating time series datasets |
US10671648B2 (en) | 2016-02-22 | 2020-06-02 | Eagle View Technologies, Inc. | Integrated centralized property database systems and methods |
CN105787055B (en) * | 2016-02-26 | 2020-04-21 | 合一网络技术(北京)有限公司 | Information recommendation method and device |
US9686646B1 (en) | 2016-09-29 | 2017-06-20 | Cars.Com, Llc | Integrated geospatial activity reporting |
US10324935B1 (en) | 2018-02-09 | 2019-06-18 | Banjo, Inc. | Presenting event intelligence and trends tailored per geographic area granularity |
US10353934B1 (en) | 2018-04-27 | 2019-07-16 | Banjo, Inc. | Detecting an event from signals in a listening area |
US10268642B1 (en) | 2018-04-27 | 2019-04-23 | Banjo, Inc. | Normalizing insufficient signals based on additional information |
US10327116B1 (en) | 2018-04-27 | 2019-06-18 | Banjo, Inc. | Deriving signal location from signal content |
-
2014
- 2014-03-14 WO PCT/US2014/029787 patent/WO2014145106A1/en active Application Filing
- 2014-03-14 CN CN202010009026.8A patent/CN111177125B/en active Active
- 2014-03-14 CN CN201480014828.0A patent/CN105556545B/en active Active
- 2014-03-14 WO PCT/US2014/029724 patent/WO2014145069A1/en active Application Filing
- 2014-03-14 EP EP21163555.2A patent/EP3876107A1/en active Pending
- 2014-03-14 CN CN201480014861.3A patent/CN105518658A/en active Pending
- 2014-03-14 CN CN201480014726.9A patent/CN105532030B/en active Active
- 2014-03-14 EP EP14725818.0A patent/EP2973039B1/en active Active
- 2014-03-14 WO PCT/US2014/029755 patent/WO2014145088A1/en active Application Filing
- 2014-03-14 EP EP14725817.2A patent/EP2976740A4/en not_active Ceased
- 2014-03-14 CN CN202111561953.1A patent/CN114240372A/en active Pending
- 2014-03-14 US US14/214,208 patent/US9594791B2/en active Active
- 2014-03-14 US US14/214,296 patent/US9753965B2/en active Active
- 2014-03-14 EP EP14727983.0A patent/EP2973245A4/en not_active Ceased
- 2014-03-14 CN CN201480014776.7A patent/CN105531698B/en active Active
- 2014-03-14 CN CN201480014842.0A patent/CN105556512B/en active Active
- 2014-03-14 CN CN201480014711.2A patent/CN105556511A/en active Pending
- 2014-03-14 EP EP14720841.7A patent/EP2973036A1/en not_active Ceased
- 2014-03-14 CN CN202210796442.6A patent/CN115130021A/en active Pending
- 2014-03-14 CN CN201910627036.5A patent/CN110222069A/en active Pending
- 2014-03-14 EP EP21194824.5A patent/EP4002252A1/en active Pending
- 2014-03-14 US US14/214,231 patent/US10831725B2/en active Active
- 2014-03-14 CN CN201910475715.5A patent/CN110191416B/en active Active
- 2014-03-14 EP EP14720407.7A patent/EP2974434A4/en not_active Ceased
- 2014-03-14 WO PCT/US2014/029737 patent/WO2014145076A2/en active Application Filing
- 2014-03-14 WO PCT/US2014/029784 patent/WO2014145104A2/en active Application Filing
- 2014-03-14 US US14/214,219 patent/US9317541B2/en active Active
- 2014-03-14 US US14/214,309 patent/US10331631B2/en active Active
- 2014-03-14 EP EP14730242.6A patent/EP2973041B1/en active Active
- 2014-03-14 US US14/214,213 patent/US10817482B2/en active Active
- 2014-03-14 WO PCT/US2014/029713 patent/WO2014145059A2/en active Application Filing
- 2014-03-14 EP EP18179405.8A patent/EP3401870A1/en not_active Ceased
-
2016
- 2016-04-18 US US15/132,228 patent/US10891269B2/en active Active
- 2016-10-20 HK HK16112108.6A patent/HK1224007A1/en unknown
- 2016-10-27 HK HK16112410.9A patent/HK1224365A1/en unknown
- 2016-10-27 HK HK16112409.2A patent/HK1224364A1/en unknown
-
2017
- 2017-01-31 US US15/420,655 patent/US9977792B2/en active Active
- 2017-08-09 US US15/673,349 patent/US10013446B2/en active Active
-
2018
- 2018-04-23 US US15/960,322 patent/US10255301B2/en active Active
- 2018-06-12 US US16/006,748 patent/US10268708B2/en active Active
-
2019
- 2019-03-13 US US16/352,664 patent/US10579600B2/en active Active
- 2019-03-27 US US16/367,161 patent/US10459896B2/en active Active
- 2019-05-11 US US16/409,776 patent/US11468019B2/en active Active
- 2019-10-01 US US16/590,312 patent/US10817484B2/en active Active
-
2020
- 2020-01-30 US US16/777,869 patent/US10866937B2/en active Active
- 2020-10-26 US US17/080,596 patent/US20210286776A1/en active Pending
- 2020-10-26 US US17/080,605 patent/US11461289B2/en active Active
- 2020-11-09 US US17/093,151 patent/US20210303531A1/en active Pending
- 2020-12-14 US US17/120,600 patent/US11762818B2/en active Active
-
2021
- 2021-01-11 US US17/145,888 patent/US20210374109A1/en active Pending
-
2022
- 2022-10-10 US US18/045,431 patent/US20230129014A1/en active Pending
-
2023
- 2023-09-15 US US18/368,894 patent/US20240264985A1/en active Pending
Also Published As
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US20230129014A1 (en) | Apparatus, systems, and methods for analyzing characteristics of entities of interest | |
US9256761B1 (en) | Data storage service for personalization system | |
US10114901B2 (en) | Systems and methods for real-time location-aware recommendations | |
US9626443B2 (en) | Searching and accessing application functionality | |
US20230113420A1 (en) | Predicting accuracy of submitted data | |
US10114898B2 (en) | Providing additional functionality with search results | |
US20150242420A1 (en) | Location-Based Searching | |
US20160188733A1 (en) | Generating Recommendations Based on Clustered Application States | |
US9396270B2 (en) | Context aware recommendation | |
US20170067748A1 (en) | Location-Based Search Refinements | |
US9852448B2 (en) | Identifying gaps in search results | |
US20170097967A1 (en) | Automated Customization of Display Component Data for Search Results | |
US20180165708A1 (en) | Notification Control based on Location, Activity, and Temporal Prediction | |
US9418076B2 (en) | System and method for determining interests from location data | |
US20140280053A1 (en) | Contextual socially aware local search | |
US10331680B2 (en) | Ranking of search results | |
US20160188684A1 (en) | Consolidating Search Results | |
CN112868003A (en) | Entity-based search system using user interactivity | |
US20160188721A1 (en) | Accessing Multi-State Search Results | |
US20170103073A1 (en) | Identifying Expert Reviewers | |
US10445326B2 (en) | Searching based on application usage | |
TW201209744A (en) | Method of recording information of merchandise visited by consumers, and searching method and server | |
US10510095B2 (en) | Searching based on a local density of entities |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: FOURSQUARE LABS, INC., NEW YORK Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:FACTUAL INC.;REEL/FRAME:062412/0503 Effective date: 20220504 Owner name: FACTUAL INC., CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNORS:MICHELS, BILL;BELL, TYLER;CHKLOVSKI, TIM;AND OTHERS;REEL/FRAME:062412/0389 Effective date: 20160219 |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: RESPONSE TO NON-FINAL OFFICE ACTION ENTERED AND FORWARDED TO EXAMINER |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: FINAL REJECTION MAILED |
|
AS | Assignment |
Owner name: WELLS FARGO BANK, NATIONAL ASSOCIATION, AS AGENT, MASSACHUSETTS Free format text: SECURITY INTEREST;ASSIGNOR:FOURSQUARE LABS, INC.;REEL/FRAME:067320/0209 Effective date: 20220713 |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: DOCKETED NEW CASE - READY FOR EXAMINATION |
|
STPP | Information on status: patent application and granting procedure in general |
Free format text: NON FINAL ACTION MAILED |