US20130138512A1 - Electronic profile development, storage, use, and systems therefor - Google Patents
Electronic profile development, storage, use, and systems therefor Download PDFInfo
- Publication number
- US20130138512A1 US20130138512A1 US13/560,214 US201213560214A US2013138512A1 US 20130138512 A1 US20130138512 A1 US 20130138512A1 US 201213560214 A US201213560214 A US 201213560214A US 2013138512 A1 US2013138512 A1 US 2013138512A1
- Authority
- US
- United States
- Prior art keywords
- entity
- preference
- electronic
- profile
- content
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Abandoned
Links
- 238000011161 development Methods 0.000 title description 3
- 238000004458 analytical method Methods 0.000 claims description 53
- 238000000034 method Methods 0.000 claims description 41
- 238000004891 communication Methods 0.000 claims description 16
- 238000013528 artificial neural network Methods 0.000 claims description 8
- 238000004364 calculation method Methods 0.000 claims description 5
- 230000009471 action Effects 0.000 abstract description 10
- 239000013598 vector Substances 0.000 description 15
- 230000008569 process Effects 0.000 description 10
- 238000012545 processing Methods 0.000 description 6
- 230000008859 change Effects 0.000 description 4
- 230000006870 function Effects 0.000 description 4
- 230000007246 mechanism Effects 0.000 description 4
- 238000005259 measurement Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 238000010606 normalization Methods 0.000 description 3
- 238000012549 training Methods 0.000 description 3
- 241000282326 Felis catus Species 0.000 description 2
- 238000013459 approach Methods 0.000 description 2
- 230000008901 benefit Effects 0.000 description 2
- 238000005352 clarification Methods 0.000 description 2
- 238000000354 decomposition reaction Methods 0.000 description 2
- 230000003247 decreasing effect Effects 0.000 description 2
- 230000000694 effects Effects 0.000 description 2
- 241001417524 Pomacanthidae Species 0.000 description 1
- 239000008186 active pharmaceutical agent Substances 0.000 description 1
- 230000001174 ascending effect Effects 0.000 description 1
- 238000004590 computer program Methods 0.000 description 1
- 230000007423 decrease Effects 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 238000001914 filtration Methods 0.000 description 1
- 238000007689 inspection Methods 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 230000002452 interceptive effect Effects 0.000 description 1
- 230000005055 memory storage Effects 0.000 description 1
- 238000012544 monitoring process Methods 0.000 description 1
- 238000003825 pressing Methods 0.000 description 1
- 230000000135 prohibitive effect Effects 0.000 description 1
- 238000010079 rubber tapping Methods 0.000 description 1
- 238000007493 shaping process Methods 0.000 description 1
- 230000008685 targeting Effects 0.000 description 1
Images
Classifications
-
- 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
-
- 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/25—Integrating or interfacing systems involving database management systems
- G06F16/258—Data format conversion from or to a database
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/90—Details of database functions independent of the retrieved data types
- G06F16/95—Retrieval from the web
- G06F16/953—Querying, e.g. by the use of web search engines
- G06F16/9535—Search customisation based on user profiles and personalisation
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F21/00—Security arrangements for protecting computers, components thereof, programs or data against unauthorised activity
- G06F21/60—Protecting data
- G06F21/62—Protecting access to data via a platform, e.g. using keys or access control rules
- G06F21/6218—Protecting access to data via a platform, e.g. using keys or access control rules to a system of files or objects, e.g. local or distributed file system or database
- G06F21/6245—Protecting personal data, e.g. for financial or medical purposes
-
- 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/0207—Discounts or incentives, e.g. coupons or rebates
-
- 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/0269—Targeted advertisements based on user profile or attribute
Definitions
- Embodiments of this invention relate to computing systems and software for the collection, development, analysis, and use of profile information.
- location based services receive location information from a user's mobile device and identify nearby businesses, gas stations, or ATMs. Other location-relevant information may be provided as well, such as local weather reports. However, the information is selected based only on the user's location. The system has no way of knowing if any of the identified businesses or facts are more relevant for the particular user than any other.
- contextual advertising systems may provide an advertisement for a web page based in part on a target word in the web page. These systems have no way of knowing if the advertisement is actually relevant to the user viewing the web page—the advertisement is chosen simply because it matches a target word on the web page.
- Some systems decide what products may be desirable for a user based on ratings of other similar products provided by the user. For example, some recommendation services receive limited user ratings, or implicit ratings based on views or purchases, of a certain kind of product—books or movies for example—and recommend other books or movies that the user may like based on similarity to items favorably rated, such as authors, themes, actors, directors, genres, and the like.
- Location based systems, contextual advertising, and recommendation systems are forced to decide what things may be relevant to them on the basis of the limited known information about a user. These systems may not achieve a high success rate of delivering information that is truly relevant to the user because the recommendations are based on limited available information explicitly shared with the system.
- the system does not know any other information about the user, including information collected by or shared with other systems. These systems, however, may allow the user to have control over their personal information. That is, the user has shared only a limited amount of personal information with the system.
- FIG. 1 is a schematic diagram of a system according to an embodiment of the present invention.
- FIG. 2 is a schematic illustration of a conceptual database schema for an electronic profile according to an embodiment of the present invention.
- FIG. 3 is a schematic illustration of a profile management interface operating in a browser window of a display according to an embodiment of the present invention.
- FIG. 4 is a flowchart illustrating operation of a disambiguation engine according to an embodiment of the present invention.
- FIG. 5 is a flowchart illustrating operation of an indexing engine according to an embodiment of the present invention.
- FIG. 6 is a flowchart illustrating operation of a disambiguation engine according to an embodiment of the present invention.
- FIG. 7 is a flowchart illustrating operation of an analysis engine according to an embodiment of the present invention.
- FIG. 8 is a schematic illustration of a user interface according to an embodiment of the present invention.
- FIG. 9 is a schematic illustration of a user interface according to an embodiment of the present invention.
- FIG. 10 is a schematic illustration of a user interface according to an embodiment of the present invention.
- Embodiments of the invention provide a profiling system that may obtain, expand, manage, store, and use electronic profiles.
- Electronic profiles described herein include data structures containing information about an entity, all or a portion of which may be used as input to an analysis engine that may take a predictive or deterministic action based in part on the electronic profile.
- an entity may control the use of all or portions of their electronic profile, allowing it to be used in part or completely to score and select content responsive to requests from particular entities.
- the analysis engine uses information from the electronic profile to take a predictive or deterministic action, for example, as will be described further below, suggesting products, services, content, organizations, people, or other items that may be particularly relevant for the profile owning entity.
- the entity may be a person or a group of people.
- the entity may also be a segment of people that share a common attribute.
- the entity may also be a thing such as, but not limited to, a product, place or item of content.
- a profiling system 110 includes a profile management system 115 , a disambiguation engine 120 , and an analysis engine 125 . These individual components will be discussed further below.
- the profiling system 110 generally includes a processor and memory to store computer readable instructions that may cause the processor to implement the functionalities of the profile management system 115 , disambiguation engine 120 , and analysis engine 125 described below.
- One or more of these engines may be implemented on a server or other computer or computing device. Although shown as a unitary system, the profiling system 110 may be implemented as distributed across a plurality of computing devices, with portions of the processing performed by each of the devices.
- a user device 130 which may be implemented as any device with suitable processing, memory, and communication capabilities to implement a profile management interface 135 , is in communication with the profiling system 110 .
- the user device 130 may accordingly be, but is not limited to, a personal computer, kiosk, cell phone, personal digital assistant, television set-top box, or music player.
- the user device 130 may be specific to a single user, or may be used by multiple users, such as in the case of a publicly accessible workstation or kiosk.
- the user need not be a physical person, but may be a representative of a group of people, or may be another automated process or computer program performing a profile entry functionality. Communication between the profiling system 110 and the user device 130 may occur through any mechanism.
- the profiling system 110 may be implemented completely or partially as a web service that may communicate with the user device 130 over the Internet using http, in either a secure or unsecured manner, as desired.
- the profile management interface 135 enables communication with the profile management system 115 to establish, augment, or otherwise manipulate profile information pertaining to an entity represented by a user using the user device 130 .
- the disambiguation engine 120 may receive profile information supplied from the user device 130 and further process the information to reduce ambiguity in the information provided, as will be described further below. The processing to reduce ambiguity may occur dynamically through interaction with the user device. Any number of user devices may be in communication with the profiling system 110 , including the user devices 130 b and 130 c shown in FIG. 1 .
- Profile information received from the user device 130 and other sources is processed by the profile management system 115 and disambiguation engine 120 to generate electronic profiles that are stored in the electronic profile storage 140 .
- the electronic profiles may be database structures and accordingly may be stored in a database as shown in FIG. 1 .
- any type of electronic storage may be used to store electronic profiles and the profiles may be stored in any number of distinct storage locations, and individual profiles may be distributed across a plurality of storage locations. Electronic profiles will be discussed in greater detail below.
- a content provider may communicate with the profiling system 110 using a provider device 145 .
- a provider device 145 may be implemented as, but is not limited to, a server computer, personal computer, cell phone, personal digital assistant, or kiosk.
- the provider device 145 may communicate with the profiling system 110 in any manner, wired or wireless.
- the provider device 145 is in communication with content storage 155 .
- the content storage 155 is any suitable electronic memory storage that contains information the provider may want to share with one or more profile owning entities.
- the content storage 155 may be, but is not limited to, news or entertainment content, such as text files or media files, databases, advertisements, social contacts, customer relationship management information, enterprise resource management information, catalog data, inventory, images, movies, charity information, sports information, or combinations of these types of information.
- Any number of provider devices may be in communication with the profiling system 110 including the provider devices 145 b and 145 c .
- the additional provider devices may have their own associated content storage, or may be in communication with the content storage 155 .
- the provider device 145 implements a content scoring interface 150 that may be implemented as a processor and a memory storing computer readable instructions causing the processor to implement the content scoring interface functionality described.
- Content scoring will be described further below, but as a general overview, the content scoring interface 150 makes some or all of the content in content storage 155 accessible to the analysis engine 125 .
- the analysis engine 125 may then score content items based on one or more of the electronic profiles stored in electronic profile storage 140 .
- the output of this process may be provided to the content scoring interface 150 in a variety of ways, including numerical scores assigned to content in the content storage 155 based on its relevance to the electronic profile or profiles consulted, or a ranked list of content in the content storage 155 listed in ascending or descending relevance order, or an indication of content items having a relevance score above or below a threshold relevance score.
- An entity may communicate profile information to the profiling system 110 through the profile management interface 135 in communication with the profile management system 115 .
- the profile management system 115 and the disambiguation engine 120 may refine and expand the profile information provided.
- An electronic profile of the entity is stored in electronic profile storage 140 . While a single electronic profile storage 140 location is shown in FIG. 1 , the electronic profile may in some embodiments be distributed across a plurality of storage locations, including across a plurality of storage locations associated with different physical electronic devices that may be used by an entity. Accordingly, in some embodiments, only a portion of the entity's profile may be located on the electronic profile storage 140 .
- the entity may then request information from a provider.
- the user device 130 is shown as communicating with the provider device 145 . While the entity and the provider may communicate in some embodiments, as shown in FIG. 1 , using the same devices containing the profile management interface 135 and the content scoring interface 150 , in other embodiments, the entity and the provider may communicate using different devices.
- the provider device 145 through the content scoring interface 150 requests an analysis from the analysis engine 125 .
- the analysis engine 125 accesses the entity's electronic profile stored in electronic profile storage 140 and, provided the entity has chosen to allow all or a portion of its profile information to be used responsive to a request from the provider, scores the content in the content storage 155 in accordance with the accessed electronic profile.
- the resultant scores are provided to the provider device 145 through the content scoring interface 150 . Having received the scores, the provider may then communicate content to the entity based on the scores.
- the profiling system 110 may serve as a trusted intermediary between an entity and a content provider.
- the content provider receives an analysis of its content based on an entity's profile information without actually receiving the profile information itself. Being able to control the accessibility of the profile information, and knowing content providers may not obtain the information directly, entities may share a greater amount of information with the profiling system 110 .
- the electronic profiles may be more structured while being easily created than those created purely through freeform user input.
- the disambiguation engine 120 may suggest related terms for addition to an entity's profile, that the entity may confirm or deny.
- Electronic profiles described herein include data structures containing information about an entity, all or a portion of which may be used as input to an analysis engine that may take a predictive or deterministic action based in part on the electronic profile.
- recall electronic profiles may be stored in the electronic profile storage 140 and used by the analysis engine 125 to identify content that may be relevant to the entity associated with the electronic profile.
- the electronic profile is stored in a relational database.
- FIG. 2 illustrates a portion of a conceptual database schema 200 for an electronic profile according to an embodiment of the present invention.
- the database schema 200 is organized as a star schema, but other organizations may be employed in other embodiments.
- the schema 200 includes several tables relating aspects of the electronic profile to one another that provide information about the entity owning the electronic profile.
- the database constructed according to the schema 200 may be stored on generally any suitable electronic storage medium.
- portions of an electronic profile may be distributed amongst several electronic storage media, including among storage media associated with different electronic devices used by an entity.
- Information stored in an electronic profile about an entity may include, but is not limited to any combination of the following: data, preferences, possessions, social connections, images, permissions, recommendation preferences, location, role and context. These aspects of an entity may be used in any combination by an analysis engine to take predictive or deterministic action as generally described above. Examples of aspects of profile information included in the electronic profile 200 will now be described further.
- the electronic profile represented by the schema 200 includes data about an entity in a user table 201 . While the term ‘user’ is used in FIG. 2 to describe tables and other aspects of the profile, the term is not meant to restrict profiles to individuals or human representatives.
- the information contained in an electronic profile is generally information about an entity associated with the electronic profile, which may also be referred to as the entity owning the electronic profile.
- the entity may be a person or a group of people.
- the entity may also be a segment of people that share a common attribute.
- the entity may also be a thing such as, but not limited to, a product, place, business, or item of content.
- the entity may be a segment of things that share a common attribute.
- the term ‘user’ in FIG. 2 simply refers to the entity associated with the profile.
- the table 201 may include a column for each type of data. For example, data associated with UserID 1 includes name (‘Bob Smith’), address (555 Park Lane), age (35), and gender (Male) of the entity. Data associated with UserID 2 includes height (5′10′′), weight (180), and gender (Female). Data associated with UserID 2 includes financial information and an address (329 Whistle Way). Data about an entity stored in the user table 201 may generally include factual or demographic information such as, but not limited to, height, address, clothing sizes, contact information, financial information, credit card number, ethnicity, weight, and gender. Any combination of data types may be stored. The user table 201 also includes a user ID 203 .
- the user ID may be generated by a system generating or using the electronic profile, or may be associated with or identical to a user ID already owned by the profile owning entity, such as an email account or other existing account of the entity.
- Each entity having an electronic profile may have a corresponding user table, such as the user table 201 , stored in the electronic profile storage 140 of FIG. 1 .
- Preferences of an entity may also be stored in the entity's electronic profile. Preferences generally refer to subjective associations between the entity and various words that may represent things, people, or groups. Each preference of an individual represents that association—“I like cats,” for example, may be one preference. Preferences may be stored in any suitable manner. In the schema of FIG. 2 , preferences are stored by use of the user preferences table 210 , the user preference terms table 220 , the preference terms table 230 , and the preference qualifiers table 240 , which will be described further below. The four tables used to represent preference in FIG. 2 is exemplary only, and preferences may be stored in other ways in other embodiments such that a profile owning entity is associated with their preferences.
- the user preferences table 210 includes userIDs 203 of entities having profiles in the electronic profile storage 140 and lists individual preference IDs 211 associated with each userID.
- the UserID 1 is associated with SPORTS-PREFERENCE 1 and SPORTS_TRAVEL_PREFERENCE 1 in the example shown in FIG. 2 .
- the user preferences table 210 may generally include a list of multiple user IDs known to the profiling system and a list of individual preference IDs associated with the userIDs. In this manner, an entity's preferences may be associated with the data related to the entity. Generally, any string may be used to represent a preference ID.
- qualifier IDs 212 are included in the user preference table 210 that are used to record an association with terms contained in the preference. The qualifiers will be discussed further below.
- Each preference ID has an associated entry in a user preference terms table 220 .
- the user preference terms table 220 contains a list of term IDs associated with each user preference ID.
- the preference ID SPORTS_PREFERENCE 1 is shown associated with TermID 1 and TermID 2 . Any string may generally be used to represent the term IDs.
- Each TermID in turn is associated with an entry in a preference term table 230 .
- the preference term table 230 lists the actual terms represented by the TermID.
- a term may generally be any string and is generally a unit of meaning, which may be one or more words, or other representation.
- the preference terms table 230 indicates the TermID 1 is associated with the term Major League Baseball. Although only one term is shown associated with the TermID 1 , any number of terms may be so associated.
- an entity may be associated with preferences that ultimately contain one or more terms.
- An entity's preferences may include a scale of likes, dislikes, or both of the entity.
- an entity's preferences may include information about what the entity is or is not, does or does not do in certain circumstances.
- each preference may be associated with one or more qualifiers, as indicated by an association between the preference ID and a qualifier ID in the user preferences table 210 .
- a term associated with each qualifier ID is then stored in a preference qualifiers table 240 .
- Qualifiers describe the relationship of the preference terms to the profile owning entity.
- qualifiers include ‘like’ and ‘dislike’ to describe a positive or negative association with a preference, respectively.
- Other qualifiers may be used including ‘when’, ‘when not’, ‘never’, ‘always’, ‘does’, ‘does not’, ‘is’, and ‘is not’ to make more complex associations between preference words and the profile owning entity.
- the qualifier QualID 1 represents the association ‘like’ and, QualID 2 represents the association ‘dislike’.
- SPORTS_PREFERENCE 1 indicates UserID 1 likes Major League Baseball and the Seattle Mariners.
- SPORTS_PREFERENCE 2 indicates UserID 1 likes Fenway Park.
- UserID 2 has SPORTS_PREFERENCE 2 , which indicates UserID 2 dislikes Major League Baseball and the New York Yankees.
- UserID 3 has SPORTS_PREFERENCE 3 , which indicates UserID 3 likes Derek Jeter.
- any data structure may be used to encode an electronic profile of an entity.
- a profile may be represented and optionally stored as a vector or index.
- the vector may uniquely identify an entity associated with the profile.
- the profile vector may represent a plurality of axes, each axis representing a term, word, or user device, and the vector include bits associated with each term, word, and user device to be included in the profile.
- Possessions of the entity may include things the entity owns or has access to including, but not limited to, gaming systems, cell phones, computers, cars, clothes, bank or other accounts, subscriptions, and cable or other service providers.
- Social connections of the entity may include, but are not limited to, connections to friends, family, neighbors, co-workers, organizations, membership programs, information about the entity's participation in social networks such as Facebook, Myspace, or LinkedIn, or businesses an entity is affiliated with.
- Permissions for accessing all or a portion of the electronic profile are described further below but may include an indication of when an entity's profile information may be used.
- an entity may authorize their profile information to be used by the profiling system responsive only to requests from certain entities, and not responsive to requests from other entities.
- the permissions may specify when, how, how often, or where the profiling system may access the entity's profile responsive to a request from a specific entity, or type of entity.
- an entity may specify that sports websites may obtain information about content relevant to the entity's profile, but that banks may not.
- the profiling system has direct access to the stored profile information, and the profile information is not generally shared with content providers that may request scoring of their content based on the entity's profile. However, the scoring may only be undertaken in some embodiments when the entity has granted permission for their profile to be used to provide information to the particular content provider.
- Recommendation preferences may include whether the entity would like or accept recommendations for additional information to be added to their electronic profile, or for data or possessions.
- the recommendation preferences may specify which entities may make recommendations for the electronic profile owning entity and under what conditions.
- Location information of the entity may include a current location determined in a variety of levels of granularity such as, but not limited to, GPS coordinate, country, state, city, region, store name, church, hotel, restaurant, airport, other venue, street address, or virtual location.
- location information may be obtained by analyzing an IP address associated with an entity.
- Roles of the entity may include categorizations of the entity's relationships to others or things including, but not limited to, father, mother, daughter, son, friend, worker, brother, sister, sports fan, movie fan, wholesaler, distributor, retailer, and virtual persona (such as in a gaming environment or other site).
- Context of the entity may include an indication of activities or modes of operation of the entity, including what the entity is doing in the past, present, or future, such as shopping, searching, working, driving, or processes the entity is engaged in such as purchasing a vacation.
- all or a portion of the electronic profile may be used as an input to an analysis engine.
- the profile of a segment sharing one or more common attributes with the individual may be used as input to the analysis engine instead of or in addition to the individual's profile.
- the profile of a segment may also be used to select content that may be relevant for that segment of entities, and pass content to entities that share one or more attributes with the segment.
- Profile information may generally be obtained from any source, including from a representative of the profile owning entity, other individuals, or from collecting data about the profile owning entity as they interact with other electronic systems.
- profile information may be directly entered by a profile owning entity or their representative from the user device 130 using the profile management interface 135 .
- the profile management interface 135 may take any form suitable for receiving profile information from a profile owning entity or their representative.
- the profile management interface 135 includes an application operating on the user device 130 .
- the application on the user device 130 may communicate with the profiling system 110 .
- the disambiguation engine, analysis engine, or both may be implemented as an application programming interface (API), and the application operating on the user device 130 may call one or more APIs operated by the profiling system 110 .
- the application on the user device 130 that is in communication with the profiling system 110 operates in an Internet browser window, and one embodiment of the profile management interface 135 is shown in FIG. 3 operating in a browser window of a display 305 of the user device.
- a profile owning entity, or a representative of that entity, may enter profile information into the preference entry field 310 .
- the entity Prior to entering information, the entity may have identified themselves to the profiling system by, for example, entering a username, password, or both, or other methods of authentication may be used including identification of one or more user devices and their context associated with the entity.
- the entity When entering profile information into the preference entry field 310 , the entity may also select a qualifier associated with the profile information using a qualifier selector 308 .
- the qualifier selector 308 which may be unique for the entity in some embodiments, may include a drop-down menu, buttons depicting different qualifiers, or other mechanisms.
- the qualifier selector 308 may include a button for ‘Like’ and one for ‘Dislike’ so an entity could specify that they like or dislike the terms they provide in the preference entry field 310 .
- the entity may submit the entered profile information to the profile management system 115 of the profiling system 110 in FIG. 1 .
- Information may be submitted, for example, by pressing an enter key, or clicking on an enter button displayed in the browser window 302 .
- the information may be communicated to the profile management system 115 using any suitable communication protocol, including http.
- profile owning entities may provide profile information to the profile management system 115 .
- the profile information may be directly captured—“I like cats” in the case of a preference, or “I am a father” in the case of a role.
- the provided profile information may be ambiguous, such as “I like the giants.” It may be unclear whether the profile owning entity intends to indicate a preference for the New York Giants, the San Francisco Giants, or large people.
- the profile information submitted by an entity may accordingly be submitted to the disambiguation engine 120 of FIG. 1 .
- the disambiguation engine 120 may provide a list of relevant terms that may be displayed in the disambiguation selection area 320 of FIG. 3 .
- An entity may then select the relevant terms from the disambiguation list for addition to the profile being managed.
- an entity may select or otherwise indicate, such as by right-clicking, one or more terms displayed anywhere in the browser window, or more generally displayed by the user device, that a term should be added to the entity's profile.
- embodiments of a profiling system may identify an action of the entity and automatically add a related term to the electronic profile of the entity.
- relevant content may be displayed in the content area 330 .
- the content area 330 may not be provided on a same screen with the profile management interface 135 , and in some embodiments the content area 330 need not be on the same user device. That is, while profile information may be entered or revised on one device, content displayed or provided based on that profile information may be provided on a different device in some embodiments.
- the disambiguation engine 120 functions to select terms, based on preference information input by an entity, that may also be relevant to the entity and may be considered for addition to the entity's electronic profile.
- the disambiguation engine 120 may simply provide a list of all known terms containing the entity's input. For example, if the entity entered “giants,” a dictionary or sports listing of all phrases or teams containing the word “giants” may be provided. While this methodology may accurately capture additional profile information, it may be cumbersome to implement on a larger scale.
- the disambiguation engine 120 may function along with an indexing engine 420 as shown in FIG. 4 .
- the indexing engine 420 accesses one or more content sources 410 to analyze the content stored in the accessed content sources 410 and generate an indexed content store 430 .
- the indexed content store 430 may include indexing information stored along with the content from the content sources 410 , or may include only index records related to the content in the content sources 410 .
- the index information generally includes information about the relative frequency of terms in the content from the content sources 410 . In this manner, as will be described further below, terms may be identified that frequently appear along with a query term, or in a same pattern as a query table.
- the disambiguation engine 120 may then access the indexed content store 430 to more efficiently identify terms related to preferences expressed by an entity.
- the expressed preference may be stored in one storage location, or distributed across multiple storage locations.
- the indexing engine 420 may generally use any methodology to index documents from the content sources 410 .
- the indexing engine 420 generally includes a processor and memory encoded with computer readable instructions causing the processor to implement one or more of the functionalities described.
- the processor and memory may in some embodiments be shared with those used to implement the disambiguation engine, analysis engine, or combinations thereof.
- a vector space representation of documents from the content sources 410 may be generated by the indexing engine 420 .
- a vector representation of each document may be generated containing elements representing each term in the group of terms represented by all documents in the content sources 410 used.
- the vector may include a term frequency—inverse document frequency measurement for the term.
- FIG. 5 An example of a method that may be executed by the indexing engine 420 is shown in FIG. 5 .
- FIG. 5 An example of a method that may be executed by the indexing engine 420 is shown in FIG. 5 .
- an indexed content store 430 may be created specific to a particular category.
- the indexed content store may be generalized to one or more categories.
- the indexing performed by the indexing engine 420 will be specific to the category of information, and may in some cases enable greater relevance matching than querying a general content store.
- the indexing engine may receive a list of category specific expert content 512 .
- the expert content may, for example, include a group of content in a particular category that may be considered representative of content in the category (using, for example, the Wikipedia Commons data set, or any other collection of information regarding a particular category).
- the indexing engine locates the category specific content in the list over the Internet or other digital source of category-specific content 510 .
- the source of category specific content 510 may be located in a single storage medium, or distributed among several storage mediums accessible to the indexing engine over the Internet or other communication mechanisms.
- the indexing engine extracts the text 514 from the expert content and may perform a variety of filtering procedures such as word normalization, dictionary look-up and common English term removal 516 .
- word normalization tenses or variations of the same word are grouped together.
- dictionary look-up meanings of words can be extracted.
- common English term removal common words such as ‘and’ or ‘the’ may be removed and not further processed.
- Grammar, sentence structure, paragraph structure, and punctuation may also be discarded.
- the indexing engine may then perform vector space word-frequency decomposition 518 of the extracted text from each document.
- the use of the term document herein is not meant to limit the processing of actual text documents. Rather, the term document refers to each content unit accessed by the indexing engine, such as a computer file, and may have generally any length.
- each document may be rated based on the term frequency (TF) of the document.
- TF term frequency
- the term frequency describes the proportion of terms in the document that are unique.
- the term frequency may be calculated by the number of times the term appears in the document divided by the number of unique terms in the document.
- a vector of term frequencies may be generated by the indexing engine to describe each document, the vector having elements representing a term frequency for each term contained in the entire content store analyzed.
- the vector representing each document may also contain an inverse document frequency (IDF) measure, that reflects how often the term is used across all documents in the content store, and therefore a measure of how distinctive the term may be to specific documents.
- IDF inverse document frequency
- the IDF may be calculated as the log of the number of documents containing the term divided by the number of documents in the content store.
- TF-IDF term frequency-inverse document frequency
- D KL may also be included in a vector representation of a document.
- D KL may provide a measure of how close a document is to a query—generally, how much common information there is between the query and the document.
- D KL is a measure of a distance between two different probability distributions—one representing the distribution of query terms, and the other representing the distribution of terms in the document.
- D KL may be calculated as:
- the distribution of terms in the document may be a vector with entries for each term in a content store, where the entries are weighted according to the frequency of each term in the document.
- the distribution of query terms may be a vector with entries for each term in a content store, where the entries are weighted according to the frequency of each term in the query.
- the indexed content store 430 of FIG. 5 contains one or more content indexes representing a measure of the importance of various terms to each analyzed document.
- FIG. 6 a process for disambiguating a preference by the disambiguation engine 120 using the indexed content store 430 is illustrated in FIG. 6 .
- An entity declares 610 a preference, for example by entry into the preference entry field 310 of FIG. 3 .
- the disambiguation engine 120 selects an expert content store 612 to query using the declared preference.
- the selection may be made in a variety of ways. In some embodiments, a single content store is used and no selection need be made.
- the disambiguation engine 120 receives contextual information about the entity entering preference information, and the contextual information is used to select the expert content store. For example, in one embodiment, the disambiguation engine receives information that the entity entering profile information is doing so from a sports-related website, and accordingly, an expert sports content store may be selected.
- Documents in the expert content store are rated 614 , as described above, based on their relevance to individual terms.
- the rating is conducted once the preference is entered, while in others, the already stored vectors containing the measurements are accessed.
- a set of most relevant documents to the expressed preference may be identified.
- the most relevant documents may be identified by calculating a relevance number for each document based on the preference terms.
- a relevance number represents the relevancy of each document to the preference, using the entered preference terms.
- Embodiments of the relevance number use a 0-100 scale, and may accommodate a multi-term preference. In other embodiments, other scales or ranges may be used for the relevance number including 0-10, or negative numbers may be used.
- Negative relative numbers may be used in some embodiments to express scores relative to profile aspects an entity has provided a negative grammar for, such as ‘dislike’ or ‘not’.
- the relevance number for a single term may generally be calculated as a normalized TF.IDF value. In one embodiment, the calculation may be made by subtracting a minimum TF.IDF value for all terms in the indexed content store from the TF.IDF value of the term and dividing the result by the difference between the maximum TF.IDF value for all terms in the indexed content store in the minimum TF.IDF value for all terms in the indexed content store. For multiple terms in a preference, the relevance number of each document may be given as:
- NTerms is the number of terms in the query.
- the relevance number accordingly is a sum of the relevance numbers for each term in the query, divided by the number of terms.
- the relevance number represents a normalization of term-by-term relevance scores for individual terms.
- the relevance number is based in part on the TF-IDF value for that term, but may be normalized with the maximum and minimum TF-IDF values for that term across all documents in a content store or other set.
- the relevance number calculated as above is accordingly a number between 0 and 100.
- the Kullback-Leibler Divergence, D KL may also be used as a relevance number to score content items from a content store, or across multiple content stores. In the case of D KL , a lower D KL number indicates a more relevant content item (as it may indicate the information space between the item and the preference is small).
- relevance numbers or the method for calculating relevance numbers may be modified in a variety of ways as the profiling system operates.
- the relevance numbers may be modified through entity feedback or other learning methodologies including neural networks. For example, relevance numbers as calculated above may be used to develop a set of neural network weights that may be used to initialize a neural network that may refine and learn techniques for generating or modifying relevance values.
- the neural network may be trained on a set of training cases, that may be developed in any of a variety of ways, including by using entity selection of a document to set a target value of a resultant relevance number.
- error functions may be generated between a desired outcome (such as a training case where an entity or administrator specifies the relevance score, or a situation in operation where entity feedback indicates a particular relevance score) and a calculated relevance number.
- the error function may be used to modify the neural network or other system or method used to calculate the relevance number.
- the computation of relevance numbers, and in some embodiments, the relevance numbers themselves may change as the profiling system interacts with content items and entities. For example, a relevance value for a content item may be increased if entity feedback indicates the content item is of greater or lesser relevance.
- the entity feedback may be explicit, such as indicating a degree of relevance the entity would assign to the content item, or implicit, such as by identifying multiple entities have selected the content item or responded to the content item to a degree that indicates the relevance number should be higher, or lower, than that assigned by the profiling system.
- Entity feedback may also include feedback obtained by monitoring the activity, selections, or both of one or more entities without necessarily receiving intentional feedback from the entity. Examples of neural networks, entity feedback modification, and other computer learning techniques usable with embodiments of the present invention are described in co-pending U.S. Provisional Application 61/122,282, entitled “Determining relevant information for domains of interest,” filed Dec. 12, 2008, which application is hereby incorporated by reference in its entirety for any purpose.
- the set of significantly relevant documents may be identified by setting a threshold relevance number, or by setting a fixed number of results, and selecting that number of results in relevance number order, regardless of the absolute value of the relevance number.
- the most relevant documents are selected by identifying a place in a relevance-ranked list of documents where a significant change in relevance score occurs between consecutive results. So, if, for example, there are documents with relevance numbers of 90, 89, 87, 85, 82, 80, 60, 59, 58 . . . then a threshold relevance number of 80 may be selected because it occurs prior to the relatively larger twenty-point relevance drop to the next document.
- the disambiguation engine may determine the most distinctive related key words 616 in those documents.
- the most relevant keywords may be determined by weighting the highest TF.IDF terms in the documents by the relevance number of the document in which they appear, and taking a sum of that product over all the documents for each term.
- the terms having results over a threshold, or a fixed number of highest resulting terms, may be selected by the disambiguation engine as most distinctive related keywords 616 .
- These selected keywords may be presented to the entity to determine if the keyword is useful 620 . For example, the keywords may be listed in the disambiguation selection area 320 of FIG. 3 .
- the preference entering entity may find that one or more of the identified keywords helps to refine the preference they have entered, or for other reasons should be included in their electronic profile, and may indicate the keyword should be added 622 to their preference.
- the disambiguation engine may further continue the disambiguation operation by repeating the process shown in FIG. 6 using the added preference terms. If keywords are not identified as belonging to an entity's preference, the declared preference is stored 624.
- the information contained in an entity's electronic profile may be used by the analysis engine 125 to take a predictive or deterministic action.
- a variety of predictive or deterministic actions may be taken by the analysis engine 125 based in part on information contained in an entity's electronic profile.
- Products, things, locations, or services may be selected and suggested, described, or presented to an entity based on information contained in the entity's electronic profile.
- other entities may be notified of a possible connection to or interest in an entity based on their electronic profile.
- Content on a website browsed by an entity may be modified in accordance with their profile in some embodiments.
- the content modification may include the ordering or ranking of content in the display, highlighting of content, shaping of content, or combinations thereof.
- the profiling system 110 may also generate or assist in the provider device generating a notification, alert, email, message, or other correspondence for the entity based on its profile. Accordingly, the analysis engine may take action for the entity or for third parties based on the entity's profile information. In one embodiment, which will be described further below, the analysis engine 125 selects content for presentation to the entity based on their electronic profile.
- the analysis engine 125 accesses 710 one or more aspects, such as a preference, in an entity's electronic profile. In some embodiments, a single stored preference is accessed, in some embodiments selected preferences may be accessed, and in some embodiments all stored preferences may be accessed. In some embodiments, other aspects of the profile may be accessed instead of or in addition to one or more preferences.
- the analysis engine 125 may access an entity's electronic profile responsive to a request from the entity or a third party, such as the provider device 145 in FIG. 1 , to provide relevant information for the entity.
- the selection of which preferences associated with an entity to access may in some embodiments be made according to the context of the request for analysis. For example, if the request comes from a sports content provider, one or more sports-related preferences may be accessed. In other embodiments, multiple preferences may be accessed and the context of the request or of the entity may alter the manner in which the relevance number is computed. For example, in some embodiments a total relevance number is calculated by summing individual relevance numbers calculated using a respective preference. A weighted sum may also be taken, with the weight accorded to each individual relevance number based on the preference with which it is associated. Accordingly, an entity's context, which may be stored in the entity's electronic profile, may determine the weighting of individual preferences in calculating a relevance number.
- the analysis engine 125 may alternatively or in addition select entities having profiles, or portions of profiles, most relevant to a particular set of content. For example, referring back to FIG. 1 , the provider device 145 may communicate an indication of selected content, or all content, from the content storage 155 . The analysis engine 125 may then score one or more electronic profiles 140 (or aspects of those profiles) based on the content, as generally outlined above. The analysis engine 125 may then report to the provider device 145 a selection of entity profiles that may be relevant to the content provided by the provider device, or report back an aspect of profiles that are relevant.
- the analysis engine may indicate particular entities that are relevant to the content, or an aspect of those entities—such as reporting that entities who like horses or sports appear to be relevant to the content provided by the provider device 145 . This may aid the provider in targeting their content more effectively or preparing mailings or other communications to users.
- electronic profiles are only utilized when the profile specifies it may be used to conduct analysis for the provider.
- a specific request may not be required to begin the process shown in FIG. 7 .
- the analysis engine 125 may select 712 one or more content indices for analysis based on a context in which the analysis 125 is operating. In some embodiments, the content index or indices to use may already be known, or there may only be one, in which case the selection 712 may not be necessary.
- the context surrounding the request for analysis may allow the analysis engine 125 to select one or more content indices for analysis. For example, if the provider device 145 of FIG. 1 is a sports online service provider, the analysis engine 125 may select a sports related content index. Or if the provider, such as the provider device 145 , requests analysis of a specific content store, such as the content in storage 155 of FIG. 1 , the analysis engine may select an index associated with the content in storage 155 .
- the analysis engine scores 714 content in the selected indices based on the accessed preferences.
- the scoring process may occur in any manner, including a manner that allows the analysis engine to evaluate content items based on terms in the stored preference.
- the scoring process includes assigning a relevance number to content items based on the preference as described above with reference to FIG. 6 and the document rating 614 performed during preference disambiguation.
- the content items are simply scored and further analysis of relevant terms within the document may not be done, as was done during preference disambiguation. Examples and techniques for content scoring usable with embodiments of the present application are described in co-pending U.S. Provisional Application 61/122,282 entitled “Determining relevant information for domains of interest,” filed Dec. 12, 2008, which application is incorporated herein by reference in its entirety for any purpose.
- content items in the selected indices may be scored by calculating a relevance number using the term(s) in the accessed electronic profile preference. Relevant content may then be selected 716 in a similar manner to the selection of documents and terms for the disambiguation of preferences described above. That is, content may be selected having a relevance number over a threshold, or a fixed number of highest rated content items may be selected, or all content items preceding a sharp decline in relevance number may be selected.
- the selected content items, their ratings, or both may then be transmitted to the provider device 145 of FIG. 1 or, in some embodiments, directly to the user device 130 .
- the selected content items may be displayed in the content area 330 of the user device display shown in FIG. 3 .
- the provider device, user device, or both may handle received content in accordance with its relevance number and may, for example, display the content differently or at a different time based on its relevance.
- the relevance number need not be used to select content, but may be used to change the way one or more content items are handled by the user device or provider device.
- Selected content items may be displayed using other interfaces, and may be arranged according to their relevance number.
- content items identified by the analysis engine may be displayed to the entity in order of increasing or decreasing relevance.
- An embodiment of a user interface 800 to display relevant content to a user is shown in FIG. 8 .
- the user interface 800 is displayed on a touch screen display 840 of the user device 130 , shown in FIG. 8 implemented as a handheld device.
- the user interface 800 displays a plurality of content items 810 - 838 . Each item may include a picture, text, a link to further content represented by the picture or text, or combinations thereof.
- the content items are positioned within the user interface 800 according to their relevance to the entity's profile.
- the user interface contains content items positioned to appear as though they were laid on a surface of a sphere, although the display 840 may be flat.
- the content items are arranged such that they are placed a distance from a center of the user interface 800 that corresponds to their relevance number. That is, content items may have decreasing relevance according to their angular distance from a center of the user interface 800 .
- the center content item 810 may be a content item having a highest identified relevance number, while content items 820 , 816 , 830 , and 812 have next highest relevance numbers, content items 836 , 826 , 822 , and 832 have the next highest relevance numbers, and content items 834 , 824 , 828 , and 838 have the next highest.
- the user interface 800 may be interactive, such that a user may select a line of content items either in longitude or latitude by, for example, touching the line. Once selected, the user may scroll across latitude or longitude. Further relevant content (not shown in FIG. 8 ) may accordingly be rotated into view.
- the user interface 800 may also be used to disambiguate preference information, as generally described above.
- a user entered preference term may appear as the item 810 .
- Related keywords identified by the disambiguation engine 120 according to an embodiment of the process shown in FIG. 6 may be displayed in the locations shown by items 812 - 838 , again generally placed at an angular distance determined by their relevance to the item 810 .
- successive bands of displayed content or disambiguation terms refine the relevance in different ways.
- the item 810 corresponds to an entity expressed preference term.
- Related keywords identified according to the term 810 may be placed in the latitude band of 810 , such as 820 , 830 , and others which may not be shown.
- the next latitude band including items 832 , 812 , and 822 may be generated by identifying relevant keywords using two terms. For example, a relevant keyword may be displayed as item 832 using both the term at item 810 and at item 830 to query a content store.
- different latitude or longitude bands may correspond to different categories of information.
- baseball may be shown at item 810 .
- Different names of baseball players may accordingly be displayed at items 812 , 814 , 816 , and 818 while different names of baseball teams may be displayed at items 822 , 824 , 826 , and 828 .
- the term shown at item 822 may be determined by relevance to multiple terms including the term at positions 810 and 812 . Accordingly, if the player “Alex Rodriguez” appears at item 812 , the team that player plays for (the Yankees) may appear at item 822 .
- a user may then select any latitude or longitude band and rotate it to bring additional options into the display area.
- the entity viewing the user interface 800 determines any of the displayed preference disambiguation terms to be relevant to their preference, they may so indicate, by for example, touching or tapping the relevant item, and it may be added to the entity's preference as described above with reference to FIG. 6 .
- the user interface 800 may include items displayed as though arranged on a plurality of nested spheres. The different spheres may contain different categories of relevant keywords. So, for example, the names of baseball players may be displayed at all item positions shown in FIG. 8 while another sphere—larger or smaller in radius than the illustrated sphere—displays the names of baseball teams.
- FIGS. 9 and 10 Another embodiment of a user profile management interface is shown in FIGS. 9 and 10 . Again, the embodiment is shown implemented on the user device 130 , shown as a hand held device having the touch screen display 840 .
- the user device 130 displays a preference entry field 910 and may also display terms associated with two stored preferences 920 and 930 .
- the stored preference 920 includes terms Babe, ruth, grand jury, barry, magowan, bonds, and record.
- the stored preference 930 includes terms Seattle Mariners, Seattle, and Mariners.
- An entity may enter terms for a new preference by entering terms into the preference entry field 910 . As an example, an entity may enter the term ‘Dodgers’ into the preference entry field 910 .
- a clarification view may then be displayed by the user device 130 , as shown in FIG. 10 .
- the clarification view includes terms 1010 identified by the disambiguation engine as possibly being relevant to the expressed term. Accordingly, the terms run, score, pitching, hit, Los Angeles, los, and angeles, are displayed by the user device 130 in FIG. 10 .
- An entity may select any of these terms as relating to their profile, and transmit them to the profiling system for inclusion in the entity's profile. For example, the entity may select Los Angeles and pitching.
- a stored profile may then be created containing the terms Dodgers, Los Angeles, and pitching.
- additional terms may be displayed by the user device 130 that are determined by the disambiguation engine to be relevant on the basis of all terms entered thusfar.
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Business, Economics & Management (AREA)
- Databases & Information Systems (AREA)
- General Physics & Mathematics (AREA)
- Physics & Mathematics (AREA)
- Accounting & Taxation (AREA)
- Development Economics (AREA)
- Finance (AREA)
- Strategic Management (AREA)
- General Engineering & Computer Science (AREA)
- Game Theory and Decision Science (AREA)
- General Business, Economics & Management (AREA)
- Marketing (AREA)
- Economics (AREA)
- Entrepreneurship & Innovation (AREA)
- Data Mining & Analysis (AREA)
- Bioethics (AREA)
- Health & Medical Sciences (AREA)
- General Health & Medical Sciences (AREA)
- Medical Informatics (AREA)
- Computer Hardware Design (AREA)
- Computer Security & Cryptography (AREA)
- Software Systems (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Information Transfer Between Computers (AREA)
- Management, Administration, Business Operations System, And Electronic Commerce (AREA)
Abstract
Description
- This application is a divisional of pending U.S. patent application Ser. No. 12/334,389, filed Dec. 12, 2008, entitled “ELECTRONIC PROFILE DEVELOPMENT, STORAGE, USE, AND SYSTEMS THEREFOR”, which application claims the benefit of U.S. Provisional Application 61/067,162, filed Feb. 25, 2008, entitled “PLATFORMS, SYSTEMS, AND METHODS FOR DATA HANDLING”. These applications are incorporated herein by reference, in their entirety, for any purpose.
- Embodiments of this invention relate to computing systems and software for the collection, development, analysis, and use of profile information.
- Current systems for providing content items to users vary in their approach to user information, for example, in their ability to obtain meaningful information about their users and the extent to which their users control access to and use of their own information.
- Some systems simply decide what may be appropriate for or desirable for users based on a single known data point about the user. For example, location based services receive location information from a user's mobile device and identify nearby businesses, gas stations, or ATMs. Other location-relevant information may be provided as well, such as local weather reports. However, the information is selected based only on the user's location. The system has no way of knowing if any of the identified businesses or facts are more relevant for the particular user than any other.
- Some systems guess what may be appropriate or desirable for users based on a single action. For example, contextual advertising systems may provide an advertisement for a web page based in part on a target word in the web page. These systems have no way of knowing if the advertisement is actually relevant to the user viewing the web page—the advertisement is chosen simply because it matches a target word on the web page. Some systems decide what products may be desirable for a user based on ratings of other similar products provided by the user. For example, some recommendation services receive limited user ratings, or implicit ratings based on views or purchases, of a certain kind of product—books or movies for example—and recommend other books or movies that the user may like based on similarity to items favorably rated, such as authors, themes, actors, directors, genres, and the like.
- Location based systems, contextual advertising, and recommendation systems, are forced to decide what things may be relevant to them on the basis of the limited known information about a user. These systems may not achieve a high success rate of delivering information that is truly relevant to the user because the recommendations are based on limited available information explicitly shared with the system. The system does not know any other information about the user, including information collected by or shared with other systems. These systems, however, may allow the user to have control over their personal information. That is, the user has shared only a limited amount of personal information with the system.
- Other systems may make more intelligent recommendations for users based on more detailed information about the user, but these systems may suffer from user privacy problems. For example, deep packet inspection technologies can analyze information sent to and from a user on a broadband network. By inspecting all information sent or received by a user over time, the Internet service provider can develop a clearer picture of the user and what may be relevant to them. However, this approach raises serious privacy concerns because the user may not know that their personal information is being collected, and does not control to whom the information is provided.
- These previous systems also suffer from being proprietary to the particular website or electronic service accessed. For example, web sites such as Facebook, Ticketmaster, and ESPN, maintain some profile information associated with their users. However, the profile information stored by the user at one site is generally inaccessible to others, depriving the user of its benefit as they travel to other websites. Allowing one site to share information with others again raises privacy concerns. It often may be prohibitive for one system to obtain the necessary user consent to share profile information with another system.
-
FIG. 1 is a schematic diagram of a system according to an embodiment of the present invention. -
FIG. 2 is a schematic illustration of a conceptual database schema for an electronic profile according to an embodiment of the present invention. -
FIG. 3 is a schematic illustration of a profile management interface operating in a browser window of a display according to an embodiment of the present invention. -
FIG. 4 is a flowchart illustrating operation of a disambiguation engine according to an embodiment of the present invention. -
FIG. 5 is a flowchart illustrating operation of an indexing engine according to an embodiment of the present invention. -
FIG. 6 is a flowchart illustrating operation of a disambiguation engine according to an embodiment of the present invention. -
FIG. 7 is a flowchart illustrating operation of an analysis engine according to an embodiment of the present invention. -
FIG. 8 is a schematic illustration of a user interface according to an embodiment of the present invention. -
FIG. 9 is a schematic illustration of a user interface according to an embodiment of the present invention. -
FIG. 10 is a schematic illustration of a user interface according to an embodiment of the present invention. - Certain details are set forth below to provide a sufficient understanding of embodiments of the invention. However, it will be clear to one skilled in the art that embodiments of the invention may be practiced without various of these particular details. In some instances, well-known computer system components, network architectures, control signals, and software operations have not been shown in detail in order to avoid unnecessarily obscuring the described embodiments of the invention.
- Embodiments of the invention provide a profiling system that may obtain, expand, manage, store, and use electronic profiles. Electronic profiles described herein include data structures containing information about an entity, all or a portion of which may be used as input to an analysis engine that may take a predictive or deterministic action based in part on the electronic profile. As will be described below, an entity may control the use of all or portions of their electronic profile, allowing it to be used in part or completely to score and select content responsive to requests from particular entities. The analysis engine uses information from the electronic profile to take a predictive or deterministic action, for example, as will be described further below, suggesting products, services, content, organizations, people, or other items that may be particularly relevant for the profile owning entity. The entity may be a person or a group of people. The entity may also be a segment of people that share a common attribute. The entity may also be a thing such as, but not limited to, a product, place or item of content.
- An example of a
system 100 according to an embodiment of the present invention is shown inFIG. 1 . Aprofiling system 110 includes aprofile management system 115, adisambiguation engine 120, and ananalysis engine 125. These individual components will be discussed further below. Theprofiling system 110 generally includes a processor and memory to store computer readable instructions that may cause the processor to implement the functionalities of theprofile management system 115,disambiguation engine 120, andanalysis engine 125 described below. One or more of these engines may be implemented on a server or other computer or computing device. Although shown as a unitary system, theprofiling system 110 may be implemented as distributed across a plurality of computing devices, with portions of the processing performed by each of the devices. - A
user device 130, which may be implemented as any device with suitable processing, memory, and communication capabilities to implement aprofile management interface 135, is in communication with theprofiling system 110. Theuser device 130 may accordingly be, but is not limited to, a personal computer, kiosk, cell phone, personal digital assistant, television set-top box, or music player. Theuser device 130 may be specific to a single user, or may be used by multiple users, such as in the case of a publicly accessible workstation or kiosk. In some embodiments, the user need not be a physical person, but may be a representative of a group of people, or may be another automated process or computer program performing a profile entry functionality. Communication between theprofiling system 110 and theuser device 130 may occur through any mechanism. In some embodiments, theprofiling system 110 may be implemented completely or partially as a web service that may communicate with theuser device 130 over the Internet using http, in either a secure or unsecured manner, as desired. Theprofile management interface 135 enables communication with theprofile management system 115 to establish, augment, or otherwise manipulate profile information pertaining to an entity represented by a user using theuser device 130. Thedisambiguation engine 120 may receive profile information supplied from theuser device 130 and further process the information to reduce ambiguity in the information provided, as will be described further below. The processing to reduce ambiguity may occur dynamically through interaction with the user device. Any number of user devices may be in communication with theprofiling system 110, including theuser devices FIG. 1 . - Profile information received from the
user device 130 and other sources is processed by theprofile management system 115 anddisambiguation engine 120 to generate electronic profiles that are stored in theelectronic profile storage 140. As will be described further below, the electronic profiles may be database structures and accordingly may be stored in a database as shown inFIG. 1 . However, any type of electronic storage may be used to store electronic profiles and the profiles may be stored in any number of distinct storage locations, and individual profiles may be distributed across a plurality of storage locations. Electronic profiles will be discussed in greater detail below. - A content provider, or other entity seeking to interact with profile owning entities, may communicate with the
profiling system 110 using aprovider device 145. As with theuser device 130, any device with suitable processing, memory, and communication capabilities to implement acontent storing interface 150, may be used. Accordingly, theprovider device 145 may be implemented as, but is not limited to, a server computer, personal computer, cell phone, personal digital assistant, or kiosk. Theprovider device 145 may communicate with theprofiling system 110 in any manner, wired or wireless. - The
provider device 145 is in communication withcontent storage 155. Thecontent storage 155 is any suitable electronic memory storage that contains information the provider may want to share with one or more profile owning entities. Thecontent storage 155 may be, but is not limited to, news or entertainment content, such as text files or media files, databases, advertisements, social contacts, customer relationship management information, enterprise resource management information, catalog data, inventory, images, movies, charity information, sports information, or combinations of these types of information. Any number of provider devices may be in communication with theprofiling system 110 including theprovider devices content storage 155. - The
provider device 145 implements acontent scoring interface 150 that may be implemented as a processor and a memory storing computer readable instructions causing the processor to implement the content scoring interface functionality described. Content scoring will be described further below, but as a general overview, thecontent scoring interface 150 makes some or all of the content incontent storage 155 accessible to theanalysis engine 125. Theanalysis engine 125 may then score content items based on one or more of the electronic profiles stored inelectronic profile storage 140. The output of this process may be provided to thecontent scoring interface 150 in a variety of ways, including numerical scores assigned to content in thecontent storage 155 based on its relevance to the electronic profile or profiles consulted, or a ranked list of content in thecontent storage 155 listed in ascending or descending relevance order, or an indication of content items having a relevance score above or below a threshold relevance score. - An overview of the use of the
system 100 according to an embodiment of the invention is now described, although further details are provided below. An entity may communicate profile information to theprofiling system 110 through theprofile management interface 135 in communication with theprofile management system 115. Theprofile management system 115 and thedisambiguation engine 120 may refine and expand the profile information provided. An electronic profile of the entity is stored inelectronic profile storage 140. While a singleelectronic profile storage 140 location is shown inFIG. 1 , the electronic profile may in some embodiments be distributed across a plurality of storage locations, including across a plurality of storage locations associated with different physical electronic devices that may be used by an entity. Accordingly, in some embodiments, only a portion of the entity's profile may be located on theelectronic profile storage 140. The entity may then request information from a provider. InFIG. 1 , theuser device 130 is shown as communicating with theprovider device 145. While the entity and the provider may communicate in some embodiments, as shown inFIG. 1 , using the same devices containing theprofile management interface 135 and thecontent scoring interface 150, in other embodiments, the entity and the provider may communicate using different devices. On receiving a request for information from an entity, theprovider device 145 through thecontent scoring interface 150 requests an analysis from theanalysis engine 125. Theanalysis engine 125 accesses the entity's electronic profile stored inelectronic profile storage 140 and, provided the entity has chosen to allow all or a portion of its profile information to be used responsive to a request from the provider, scores the content in thecontent storage 155 in accordance with the accessed electronic profile. The resultant scores are provided to theprovider device 145 through thecontent scoring interface 150. Having received the scores, the provider may then communicate content to the entity based on the scores. - In this manner, the
profiling system 110 may serve as a trusted intermediary between an entity and a content provider. The content provider receives an analysis of its content based on an entity's profile information without actually receiving the profile information itself. Being able to control the accessibility of the profile information, and knowing content providers may not obtain the information directly, entities may share a greater amount of information with theprofiling system 110. Further, through theprofile management system 115 anddisambiguation engine 120, the electronic profiles may be more structured while being easily created than those created purely through freeform user input. Thedisambiguation engine 120 may suggest related terms for addition to an entity's profile, that the entity may confirm or deny. - Having described an overview of an example of a
system 100 according to the present invention, examples of electronic profiles will now be discussed. Electronic profiles described herein include data structures containing information about an entity, all or a portion of which may be used as input to an analysis engine that may take a predictive or deterministic action based in part on the electronic profile. For example, recall electronic profiles may be stored in theelectronic profile storage 140 and used by theanalysis engine 125 to identify content that may be relevant to the entity associated with the electronic profile. - Examples of electronic profiles accordingly include data structures. Any type of data structure may be used that may store the electronic profile information described below. In one embodiment, the electronic profile is stored in a relational database.
FIG. 2 illustrates a portion of aconceptual database schema 200 for an electronic profile according to an embodiment of the present invention. Thedatabase schema 200 is organized as a star schema, but other organizations may be employed in other embodiments. Theschema 200 includes several tables relating aspects of the electronic profile to one another that provide information about the entity owning the electronic profile. The database constructed according to theschema 200 may be stored on generally any suitable electronic storage medium. In some embodiments, portions of an electronic profile may be distributed amongst several electronic storage media, including among storage media associated with different electronic devices used by an entity. - Information stored in an electronic profile about an entity may include, but is not limited to any combination of the following: data, preferences, possessions, social connections, images, permissions, recommendation preferences, location, role and context. These aspects of an entity may be used in any combination by an analysis engine to take predictive or deterministic action as generally described above. Examples of aspects of profile information included in the
electronic profile 200 will now be described further. - The electronic profile represented by the
schema 200 includes data about an entity in a user table 201. While the term ‘user’ is used inFIG. 2 to describe tables and other aspects of the profile, the term is not meant to restrict profiles to individuals or human representatives. The information contained in an electronic profile is generally information about an entity associated with the electronic profile, which may also be referred to as the entity owning the electronic profile. The entity may be a person or a group of people. The entity may also be a segment of people that share a common attribute. The entity may also be a thing such as, but not limited to, a product, place, business, or item of content. The entity may be a segment of things that share a common attribute. The term ‘user’ inFIG. 2 simply refers to the entity associated with the profile. -
Data 202 about the entity stored in the user table 201. The table 201 may include a column for each type of data. For example, data associated with UserID1 includes name (‘Bob Smith’), address (555 Park Lane), age (35), and gender (Male) of the entity. Data associated with UserID2 includes height (5′10″), weight (180), and gender (Female). Data associated with UserID2 includes financial information and an address (329 Whistle Way). Data about an entity stored in the user table 201 may generally include factual or demographic information such as, but not limited to, height, address, clothing sizes, contact information, financial information, credit card number, ethnicity, weight, and gender. Any combination of data types may be stored. The user table 201 also includes auser ID 203. The user ID may be generated by a system generating or using the electronic profile, or may be associated with or identical to a user ID already owned by the profile owning entity, such as an email account or other existing account of the entity. Each entity having an electronic profile may have a corresponding user table, such as the user table 201, stored in theelectronic profile storage 140 ofFIG. 1 . - Preferences of an entity may also be stored in the entity's electronic profile. Preferences generally refer to subjective associations between the entity and various words that may represent things, people, or groups. Each preference of an individual represents that association—“I like cats,” for example, may be one preference. Preferences may be stored in any suitable manner. In the schema of
FIG. 2 , preferences are stored by use of the user preferences table 210, the user preference terms table 220, the preference terms table 230, and the preference qualifiers table 240, which will be described further below. The four tables used to represent preference inFIG. 2 is exemplary only, and preferences may be stored in other ways in other embodiments such that a profile owning entity is associated with their preferences. - Referring again to
FIG. 2 , the user table 201 of an entity is associated with a user preferences table 210. The user preferences table 210 includesuserIDs 203 of entities having profiles in theelectronic profile storage 140 and listsindividual preference IDs 211 associated with each userID. For example, the UserID1 is associated with SPORTS-PREFERENCE1 and SPORTS_TRAVEL_PREFERENCE1 in the example shown inFIG. 2 . Although shown as including only afew user IDs 203, the user preferences table 210 may generally include a list of multiple user IDs known to the profiling system and a list of individual preference IDs associated with the userIDs. In this manner, an entity's preferences may be associated with the data related to the entity. Generally, any string may be used to represent a preference ID. Also included in the user preference table 210 arequalifier IDs 212 that are used to record an association with terms contained in the preference. The qualifiers will be discussed further below. - Each preference ID has an associated entry in a user preference terms table 220. The user preference terms table 220 contains a list of term IDs associated with each user preference ID. In
FIG. 2 , for example, the preference ID SPORTS_PREFERENCE1 is shown associated with TermID1 and TermID2. Any string may generally be used to represent the term IDs. Each TermID in turn is associated with an entry in a preference term table 230. The preference term table 230 lists the actual terms represented by the TermID. A term may generally be any string and is generally a unit of meaning, which may be one or more words, or other representation. As shown inFIG. 2 , the preference terms table 230 indicates the TermID1 is associated with the term Major League Baseball. Although only one term is shown associated with the TermID1, any number of terms may be so associated. - Accordingly, as described above, an entity may be associated with preferences that ultimately contain one or more terms. However, the relationship between the entity and the terms has not yet been described. An entity's preferences may include a scale of likes, dislikes, or both of the entity. Further an entity's preferences may include information about what the entity is or is not, does or does not do in certain circumstances. In the
schema 200 ofFIG. 2 , each preference may be associated with one or more qualifiers, as indicated by an association between the preference ID and a qualifier ID in the user preferences table 210. A term associated with each qualifier ID is then stored in a preference qualifiers table 240. Qualifiers describe the relationship of the preference terms to the profile owning entity. Examples of qualifiers include ‘like’ and ‘dislike’ to describe a positive or negative association with a preference, respectively. Other qualifiers may be used including ‘when’, ‘when not’, ‘never’, ‘always’, ‘does’, ‘does not’, ‘is’, and ‘is not’ to make more complex associations between preference words and the profile owning entity. As shown inFIG. 2 , the qualifier QualID1 represents the association ‘like’ and, QualID2 represents the association ‘dislike’. - Accordingly, the structure shown in
FIG. 2 encodes two preferences for an entity represented by UserID1. SPORTS_PREFERENCE1 indicates UserID1 likes Major League Baseball and the Seattle Mariners. SPORTS_PREFERENCE2 indicates UserID1 likes Fenway Park. Similarly, UserID2 has SPORTS_PREFERENCE2, which indicates UserID2 dislikes Major League Baseball and the New York Yankees. UserID3 has SPORTS_PREFERENCE3, which indicates UserID3 likes Derek Jeter. - The manner of storing preferences using the tables described in
FIG. 2 may aid in efficient storage and analysis by allowing, for example, multiple termIDs to be associated with multiple user preference IDs without requiring storing the individual terms multiple times in theprofile storage 140 ofFIG. 1 . Instead, multiple associations may be made between the termID and multiple user preferences. However, as discussed, generally, any data structure may be used to encode an electronic profile of an entity. In some embodiments, a profile may be represented and optionally stored as a vector or index. The vector may uniquely identify an entity associated with the profile. For example, the profile vector may represent a plurality of axes, each axis representing a term, word, or user device, and the vector include bits associated with each term, word, and user device to be included in the profile. - Further information regarding an entity may be stored in an entity's electronic profile including possessions, images, social connections, permissions, recommendation preferences, location, roles, and context. Although not shown in
FIG. 2 , these further aspects may be stored as additional star tables associated with the central user table 201. Possessions of the entity may include things the entity owns or has access to including, but not limited to, gaming systems, cell phones, computers, cars, clothes, bank or other accounts, subscriptions, and cable or other service providers. - Social connections of the entity may include, but are not limited to, connections to friends, family, neighbors, co-workers, organizations, membership programs, information about the entity's participation in social networks such as Facebook, Myspace, or LinkedIn, or businesses an entity is affiliated with.
- Permissions for accessing all or a portion of the electronic profile are described further below but may include an indication of when an entity's profile information may be used. For example, an entity may authorize their profile information to be used by the profiling system responsive only to requests from certain entities, and not responsive to requests from other entities. The permissions may specify when, how, how often, or where the profiling system may access the entity's profile responsive to a request from a specific entity, or type of entity. For example, an entity may specify that sports websites may obtain information about content relevant to the entity's profile, but that banks may not. As generally described above, only the profiling system has direct access to the stored profile information, and the profile information is not generally shared with content providers that may request scoring of their content based on the entity's profile. However, the scoring may only be undertaken in some embodiments when the entity has granted permission for their profile to be used to provide information to the particular content provider.
- Recommendation preferences may include whether the entity would like or accept recommendations for additional information to be added to their electronic profile, or for data or possessions. The recommendation preferences may specify which entities may make recommendations for the electronic profile owning entity and under what conditions.
- Location information of the entity may include a current location determined in a variety of levels of granularity such as, but not limited to, GPS coordinate, country, state, city, region, store name, church, hotel, restaurant, airport, other venue, street address, or virtual location. In some embodiments location information may be obtained by analyzing an IP address associated with an entity.
- Roles of the entity may include categorizations of the entity's relationships to others or things including, but not limited to, father, mother, daughter, son, friend, worker, brother, sister, sports fan, movie fan, wholesaler, distributor, retailer, and virtual persona (such as in a gaming environment or other site).
- Context of the entity may include an indication of activities or modes of operation of the entity, including what the entity is doing in the past, present, or future, such as shopping, searching, working, driving, or processes the entity is engaged in such as purchasing a vacation.
- As will be described further below, all or a portion of the electronic profile may be used as an input to an analysis engine. In some embodiments, there may be insufficient data about an individual to have a meaningful output of the analysis engine based on their electronic profile. Accordingly, in some embodiments the profile of a segment sharing one or more common attributes with the individual may be used as input to the analysis engine instead of or in addition to the individual's profile. The profile of a segment may also be used to select content that may be relevant for that segment of entities, and pass content to entities that share one or more attributes with the segment.
- Having described exemplary mechanisms for storing profile information and the content of electronic profiles, exemplary methods and systems for obtaining profile information will now be discussed. Profile information may generally be obtained from any source, including from a representative of the profile owning entity, other individuals, or from collecting data about the profile owning entity as they interact with other electronic systems. In some embodiments, referring back to
FIG. 1 , profile information may be directly entered by a profile owning entity or their representative from theuser device 130 using theprofile management interface 135. - The
profile management interface 135 may take any form suitable for receiving profile information from a profile owning entity or their representative. In one embodiment, theprofile management interface 135 includes an application operating on theuser device 130. The application on theuser device 130 may communicate with theprofiling system 110. In one embodiment, the disambiguation engine, analysis engine, or both may be implemented as an application programming interface (API), and the application operating on theuser device 130 may call one or more APIs operated by theprofiling system 110. In some embodiments, the application on theuser device 130 that is in communication with theprofiling system 110 operates in an Internet browser window, and one embodiment of theprofile management interface 135 is shown inFIG. 3 operating in a browser window of adisplay 305 of the user device. A profile owning entity, or a representative of that entity, may enter profile information into thepreference entry field 310. Prior to entering information, the entity may have identified themselves to the profiling system by, for example, entering a username, password, or both, or other methods of authentication may be used including identification of one or more user devices and their context associated with the entity. When entering profile information into thepreference entry field 310, the entity may also select a qualifier associated with the profile information using aqualifier selector 308. Thequalifier selector 308, which may be unique for the entity in some embodiments, may include a drop-down menu, buttons depicting different qualifiers, or other mechanisms. For example, thequalifier selector 308 may include a button for ‘Like’ and one for ‘Dislike’ so an entity could specify that they like or dislike the terms they provide in thepreference entry field 310. The entity may submit the entered profile information to theprofile management system 115 of theprofiling system 110 inFIG. 1 . Information may be submitted, for example, by pressing an enter key, or clicking on an enter button displayed in the browser window 302. The information may be communicated to theprofile management system 115 using any suitable communication protocol, including http. - Accordingly, profile owning entities may provide profile information to the
profile management system 115. The profile information may be directly captured—“I like cats” in the case of a preference, or “I am a father” in the case of a role. However, in some instances, the provided profile information may be ambiguous, such as “I like the giants.” It may be unclear whether the profile owning entity intends to indicate a preference for the New York Giants, the San Francisco Giants, or large people. - The profile information submitted by an entity may accordingly be submitted to the
disambiguation engine 120 ofFIG. 1 . As will be described further below, thedisambiguation engine 120 may provide a list of relevant terms that may be displayed in thedisambiguation selection area 320 ofFIG. 3 . An entity may then select the relevant terms from the disambiguation list for addition to the profile being managed. Alternatively or in addition, an entity may select or otherwise indicate, such as by right-clicking, one or more terms displayed anywhere in the browser window, or more generally displayed by the user device, that a term should be added to the entity's profile. Alternatively or in addition, embodiments of a profiling system may identify an action of the entity and automatically add a related term to the electronic profile of the entity. After processing by theanalysis engine 125, which will be described further below, relevant content may be displayed in thecontent area 330. In some embodiments, thecontent area 330 may not be provided on a same screen with theprofile management interface 135, and in some embodiments thecontent area 330 need not be on the same user device. That is, while profile information may be entered or revised on one device, content displayed or provided based on that profile information may be provided on a different device in some embodiments. - Accordingly, the
disambiguation engine 120 functions to select terms, based on preference information input by an entity, that may also be relevant to the entity and may be considered for addition to the entity's electronic profile. In one embodiment, thedisambiguation engine 120 may simply provide a list of all known terms containing the entity's input. For example, if the entity entered “giants,” a dictionary or sports listing of all phrases or teams containing the word “giants” may be provided. While this methodology may accurately capture additional profile information, it may be cumbersome to implement on a larger scale. - Accordingly, the
disambiguation engine 120 may function along with anindexing engine 420 as shown inFIG. 4 . Generally, theindexing engine 420 accesses one ormore content sources 410 to analyze the content stored in the accessedcontent sources 410 and generate an indexedcontent store 430. Although shown as separate storage, the indexedcontent store 430 may include indexing information stored along with the content from thecontent sources 410, or may include only index records related to the content in the content sources 410. The index information generally includes information about the relative frequency of terms in the content from the content sources 410. In this manner, as will be described further below, terms may be identified that frequently appear along with a query term, or in a same pattern as a query table. Thedisambiguation engine 120 may then access the indexedcontent store 430 to more efficiently identify terms related to preferences expressed by an entity. The expressed preference may be stored in one storage location, or distributed across multiple storage locations. - The
indexing engine 420 may generally use any methodology to index documents from the content sources 410. Theindexing engine 420 generally includes a processor and memory encoded with computer readable instructions causing the processor to implement one or more of the functionalities described. The processor and memory may in some embodiments be shared with those used to implement the disambiguation engine, analysis engine, or combinations thereof. In one embodiment, a vector space representation of documents from thecontent sources 410 may be generated by theindexing engine 420. A vector representation of each document may be generated containing elements representing each term in the group of terms represented by all documents in thecontent sources 410 used. The vector may include a term frequency—inverse document frequency measurement for the term. An example of a method that may be executed by theindexing engine 420 is shown inFIG. 5 .FIG. 5 further demonstrates an example in which an indexedcontent store 430 may be created specific to a particular category. In some embodiments, however, the indexed content store may be generalized to one or more categories. However, in embodiments where the indexedcontent store 430 is specific to a single category of information, it may be advantageous to provide several content stores (which may be physically stored in the same or different media), each containing indexed content for a specific category. In this manner, the indexing performed by theindexing engine 420 will be specific to the category of information, and may in some cases enable greater relevance matching than querying a general content store. - Proceeding with reference to
FIG. 5 , the indexing engine may receive a list of categoryspecific expert content 512. The expert content may, for example, include a group of content in a particular category that may be considered representative of content in the category (using, for example, the Wikipedia Commons data set, or any other collection of information regarding a particular category). The indexing engine locates the category specific content in the list over the Internet or other digital source of category-specific content 510. The source of categoryspecific content 510 may be located in a single storage medium, or distributed among several storage mediums accessible to the indexing engine over the Internet or other communication mechanisms. - The indexing engine extracts the
text 514 from the expert content and may perform a variety of filtering procedures such as word normalization, dictionary look-up and commonEnglish term removal 516. During word normalization, tenses or variations of the same word are grouped together. During dictionary look-up, meanings of words can be extracted. During common English term removal, common words such as ‘and’ or ‘the’ may be removed and not further processed. Grammar, sentence structure, paragraph structure, and punctuation may also be discarded. The indexing engine may then perform vector space word-frequency decomposition 518 of the extracted text from each document. The use of the term document herein is not meant to limit the processing of actual text documents. Rather, the term document refers to each content unit accessed by the indexing engine, such as a computer file, and may have generally any length. - During the decomposition, each document may be rated based on the term frequency (TF) of the document. The term frequency describes the proportion of terms in the document that are unique. The term frequency may be calculated by the number of times the term appears in the document divided by the number of unique terms in the document. A vector of term frequencies may be generated by the indexing engine to describe each document, the vector having elements representing a term frequency for each term contained in the entire content store analyzed.
- The vector representing each document may also contain an inverse document frequency (IDF) measure, that reflects how often the term is used across all documents in the content store, and therefore a measure of how distinctive the term may be to specific documents. The IDF may be calculated as the log of the number of documents containing the term divided by the number of documents in the content store.
- Accordingly, a term frequency-inverse document frequency (“TF-IDF”) score for a term and a document within may be determined by multiplying the term frequency value for the term in the document and the inverse document frequency score for the term in the content store. In this manner, terms having a high TF-IDF score may be more representative of the document, content store, or both, than those having a low TF-IDF score (which may be ubiquitous terms throughout the content store such as the term ‘the’ or ‘and’).
- In some embodiments, a Kullback-Leibler Divergence, DKL may also be included in a vector representation of a document. DKL may provide a measure of how close a document is to a query—generally, how much common information there is between the query and the document. DKL is a measure of a distance between two different probability distributions—one representing the distribution of query terms, and the other representing the distribution of terms in the document. DKL may be calculated as:
-
- where p is the distribution of terms in the document, q is the distribution of query terms, and i represents each term. The distribution of terms in the document may be a vector with entries for each term in a content store, where the entries are weighted according to the frequency of each term in the document. The distribution of query terms may be a vector with entries for each term in a content store, where the entries are weighted according to the frequency of each term in the query.
- Accordingly, using TF-IDF, Kullback-Leibler Divergence, other methods of document relevance measurements, or combinations thereof, the indexed
content store 430 ofFIG. 5 contains one or more content indexes representing a measure of the importance of various terms to each analyzed document. - Having described the indexing of documents, a process for disambiguating a preference by the
disambiguation engine 120 using the indexedcontent store 430 is illustrated inFIG. 6 . An entity declares 610 a preference, for example by entry into thepreference entry field 310 ofFIG. 3 . Thedisambiguation engine 120 then selects anexpert content store 612 to query using the declared preference. The selection may be made in a variety of ways. In some embodiments, a single content store is used and no selection need be made. In other embodiments, thedisambiguation engine 120 receives contextual information about the entity entering preference information, and the contextual information is used to select the expert content store. For example, in one embodiment, the disambiguation engine receives information that the entity entering profile information is doing so from a sports-related website, and accordingly, an expert sports content store may be selected. - Documents in the expert content store are rated 614, as described above, based on their relevance to individual terms. In some embodiments, the rating is conducted once the preference is entered, while in others, the already stored vectors containing the measurements are accessed. A set of most relevant documents to the expressed preference may be identified. The most relevant documents may be identified by calculating a relevance number for each document based on the preference terms. A relevance number represents the relevancy of each document to the preference, using the entered preference terms. Embodiments of the relevance number use a 0-100 scale, and may accommodate a multi-term preference. In other embodiments, other scales or ranges may be used for the relevance number including 0-10, or negative numbers may be used. Negative relative numbers may be used in some embodiments to express scores relative to profile aspects an entity has provided a negative grammar for, such as ‘dislike’ or ‘not’. The relevance number for a single term may generally be calculated as a normalized TF.IDF value. In one embodiment, the calculation may be made by subtracting a minimum TF.IDF value for all terms in the indexed content store from the TF.IDF value of the term and dividing the result by the difference between the maximum TF.IDF value for all terms in the indexed content store in the minimum TF.IDF value for all terms in the indexed content store. For multiple terms in a preference, the relevance number of each document may be given as:
-
- NTerms is the number of terms in the query. The relevance number accordingly is a sum of the relevance numbers for each term in the query, divided by the number of terms. In this manner, the relevance number represents a normalization of term-by-term relevance scores for individual terms. In this manner, the relevance number is based in part on the TF-IDF value for that term, but may be normalized with the maximum and minimum TF-IDF values for that term across all documents in a content store or other set. The relevance number calculated as above is accordingly a number between 0 and 100. The Kullback-Leibler Divergence, DKL, may also be used as a relevance number to score content items from a content store, or across multiple content stores. In the case of DKL, a lower DKL number indicates a more relevant content item (as it may indicate the information space between the item and the preference is small).
- While in some embodiments, the calculation of relevance numbers may not change over time as the profiling system operates, in some embodiments relevance numbers or the method for calculating relevance numbers, may be modified in a variety of ways as the profiling system operates. The relevance numbers may be modified through entity feedback or other learning methodologies including neural networks. For example, relevance numbers as calculated above may be used to develop a set of neural network weights that may be used to initialize a neural network that may refine and learn techniques for generating or modifying relevance values. The neural network may be trained on a set of training cases, that may be developed in any of a variety of ways, including by using entity selection of a document to set a target value of a resultant relevance number. During training, or during operation of the profiling system, error functions may be generated between a desired outcome (such as a training case where an entity or administrator specifies the relevance score, or a situation in operation where entity feedback indicates a particular relevance score) and a calculated relevance number. The error function may be used to modify the neural network or other system or method used to calculate the relevance number. In this manner, the computation of relevance numbers, and in some embodiments, the relevance numbers themselves, may change as the profiling system interacts with content items and entities. For example, a relevance value for a content item may be increased if entity feedback indicates the content item is of greater or lesser relevance. The entity feedback may be explicit, such as indicating a degree of relevance the entity would assign to the content item, or implicit, such as by identifying multiple entities have selected the content item or responded to the content item to a degree that indicates the relevance number should be higher, or lower, than that assigned by the profiling system. Entity feedback may also include feedback obtained by monitoring the activity, selections, or both of one or more entities without necessarily receiving intentional feedback from the entity. Examples of neural networks, entity feedback modification, and other computer learning techniques usable with embodiments of the present invention are described in co-pending U.S. Provisional Application 61/122,282, entitled “Determining relevant information for domains of interest,” filed Dec. 12, 2008, which application is hereby incorporated by reference in its entirety for any purpose.
- Referring back to
FIG. 6 , the set of significantly relevant documents may be identified by setting a threshold relevance number, or by setting a fixed number of results, and selecting that number of results in relevance number order, regardless of the absolute value of the relevance number. In some embodiments, the most relevant documents are selected by identifying a place in a relevance-ranked list of documents where a significant change in relevance score occurs between consecutive results. So, if, for example, there are documents with relevance numbers of 90, 89, 87, 85, 82, 80, 60, 59, 58 . . . then a threshold relevance number of 80 may be selected because it occurs prior to the relatively larger twenty-point relevance drop to the next document. - After the most relevant documents have been selected, the disambiguation engine may determine the most distinctive related
key words 616 in those documents. The most relevant keywords may be determined by weighting the highest TF.IDF terms in the documents by the relevance number of the document in which they appear, and taking a sum of that product over all the documents for each term. The terms having results over a threshold, or a fixed number of highest resulting terms, may be selected by the disambiguation engine as most distinctiverelated keywords 616. These selected keywords may be presented to the entity to determine if the keyword is useful 620. For example, the keywords may be listed in thedisambiguation selection area 320 ofFIG. 3 . The preference entering entity may find that one or more of the identified keywords helps to refine the preference they have entered, or for other reasons should be included in their electronic profile, and may indicate the keyword should be added 622 to their preference. The disambiguation engine may further continue the disambiguation operation by repeating the process shown inFIG. 6 using the added preference terms. If keywords are not identified as belonging to an entity's preference, the declared preference is stored 624. - Examples of systems and methods for identifying relevant terms and indexing that may be used to implement disambiguation and indexing engines in accordance with embodiments of the present invention are described in co-pending U.S. Provisional Application 61/122,282 entitled, “Determining relevant information for domains of interest,” filed Dec. 12, 2008, which application is hereby incorporated by reference in its entirety for any purpose.
- Accordingly, examples of the entry of profile information and refinement of entered profile information have been described above that may facilitate the creation and storage of electronic profiles. Referring back to
FIG. 1 , the information contained in an entity's electronic profile may be used by theanalysis engine 125 to take a predictive or deterministic action. A variety of predictive or deterministic actions may be taken by theanalysis engine 125 based in part on information contained in an entity's electronic profile. Products, things, locations, or services may be selected and suggested, described, or presented to an entity based on information contained in the entity's electronic profile. In other embodiments, other entities may be notified of a possible connection to or interest in an entity based on their electronic profile. Content on a website browsed by an entity may be modified in accordance with their profile in some embodiments. The content modification may include the ordering or ranking of content in the display, highlighting of content, shaping of content, or combinations thereof. Theprofiling system 110 may also generate or assist in the provider device generating a notification, alert, email, message, or other correspondence for the entity based on its profile. Accordingly, the analysis engine may take action for the entity or for third parties based on the entity's profile information. In one embodiment, which will be described further below, theanalysis engine 125 selects content for presentation to the entity based on their electronic profile. - An example of operation of the
analysis engine 125 to select relevant content for an entity is shown inFIG. 7 . Theanalysis engine 125 accesses 710 one or more aspects, such as a preference, in an entity's electronic profile. In some embodiments, a single stored preference is accessed, in some embodiments selected preferences may be accessed, and in some embodiments all stored preferences may be accessed. In some embodiments, other aspects of the profile may be accessed instead of or in addition to one or more preferences. Theanalysis engine 125 may access an entity's electronic profile responsive to a request from the entity or a third party, such as theprovider device 145 inFIG. 1 , to provide relevant information for the entity. The selection of which preferences associated with an entity to access may in some embodiments be made according to the context of the request for analysis. For example, if the request comes from a sports content provider, one or more sports-related preferences may be accessed. In other embodiments, multiple preferences may be accessed and the context of the request or of the entity may alter the manner in which the relevance number is computed. For example, in some embodiments a total relevance number is calculated by summing individual relevance numbers calculated using a respective preference. A weighted sum may also be taken, with the weight accorded to each individual relevance number based on the preference with which it is associated. Accordingly, an entity's context, which may be stored in the entity's electronic profile, may determine the weighting of individual preferences in calculating a relevance number. - In addition to selecting relevant content for a user based on their electronic profile, in some embodiments the
analysis engine 125 may alternatively or in addition select entities having profiles, or portions of profiles, most relevant to a particular set of content. For example, referring back toFIG. 1 , theprovider device 145 may communicate an indication of selected content, or all content, from thecontent storage 155. Theanalysis engine 125 may then score one or more electronic profiles 140 (or aspects of those profiles) based on the content, as generally outlined above. Theanalysis engine 125 may then report to the provider device 145 a selection of entity profiles that may be relevant to the content provided by the provider device, or report back an aspect of profiles that are relevant. For example, the analysis engine may indicate particular entities that are relevant to the content, or an aspect of those entities—such as reporting that entities who like horses or sports appear to be relevant to the content provided by theprovider device 145. This may aid the provider in targeting their content more effectively or preparing mailings or other communications to users. As above, in some embodiments, electronic profiles are only utilized when the profile specifies it may be used to conduct analysis for the provider. - In other embodiments, a specific request may not be required to begin the process shown in
FIG. 7 . Theanalysis engine 125 may select 712 one or more content indices for analysis based on a context in which theanalysis 125 is operating. In some embodiments, the content index or indices to use may already be known, or there may only be one, in which case theselection 712 may not be necessary. In other embodiments, the context surrounding the request for analysis may allow theanalysis engine 125 to select one or more content indices for analysis. For example, if theprovider device 145 ofFIG. 1 is a sports online service provider, theanalysis engine 125 may select a sports related content index. Or if the provider, such as theprovider device 145, requests analysis of a specific content store, such as the content instorage 155 ofFIG. 1 , the analysis engine may select an index associated with the content instorage 155. - Referring back to
FIG. 7 , the analysis engine scores 714 content in the selected indices based on the accessed preferences. The scoring process may occur in any manner, including a manner that allows the analysis engine to evaluate content items based on terms in the stored preference. In one embodiment, the scoring process includes assigning a relevance number to content items based on the preference as described above with reference toFIG. 6 and thedocument rating 614 performed during preference disambiguation. However, in this case, the content items are simply scored and further analysis of relevant terms within the document may not be done, as was done during preference disambiguation. Examples and techniques for content scoring usable with embodiments of the present application are described in co-pending U.S. Provisional Application 61/122,282 entitled “Determining relevant information for domains of interest,” filed Dec. 12, 2008, which application is incorporated herein by reference in its entirety for any purpose. - Accordingly, content items in the selected indices may be scored by calculating a relevance number using the term(s) in the accessed electronic profile preference. Relevant content may then be selected 716 in a similar manner to the selection of documents and terms for the disambiguation of preferences described above. That is, content may be selected having a relevance number over a threshold, or a fixed number of highest rated content items may be selected, or all content items preceding a sharp decline in relevance number may be selected. The selected content items, their ratings, or both may then be transmitted to the
provider device 145 ofFIG. 1 or, in some embodiments, directly to theuser device 130. The selected content items may be displayed in thecontent area 330 of the user device display shown inFIG. 3 . The provider device, user device, or both, may handle received content in accordance with its relevance number and may, for example, display the content differently or at a different time based on its relevance. In some embodiments, accordingly, the relevance number need not be used to select content, but may be used to change the way one or more content items are handled by the user device or provider device. - Selected content items may be displayed using other interfaces, and may be arranged according to their relevance number. For example, content items identified by the analysis engine may be displayed to the entity in order of increasing or decreasing relevance. An embodiment of a
user interface 800 to display relevant content to a user is shown inFIG. 8 . Theuser interface 800 is displayed on atouch screen display 840 of theuser device 130, shown inFIG. 8 implemented as a handheld device. Theuser interface 800 displays a plurality of content items 810-838. Each item may include a picture, text, a link to further content represented by the picture or text, or combinations thereof. The content items are positioned within theuser interface 800 according to their relevance to the entity's profile. The user interface contains content items positioned to appear as though they were laid on a surface of a sphere, although thedisplay 840 may be flat. In one embodiment, the content items are arranged such that they are placed a distance from a center of theuser interface 800 that corresponds to their relevance number. That is, content items may have decreasing relevance according to their angular distance from a center of theuser interface 800. - Accordingly, the
center content item 810 may be a content item having a highest identified relevance number, whilecontent items content items content items user interface 800 may be interactive, such that a user may select a line of content items either in longitude or latitude by, for example, touching the line. Once selected, the user may scroll across latitude or longitude. Further relevant content (not shown inFIG. 8 ) may accordingly be rotated into view. - The
user interface 800 may also be used to disambiguate preference information, as generally described above. A user entered preference term may appear as theitem 810. Related keywords identified by thedisambiguation engine 120 according to an embodiment of the process shown inFIG. 6 may be displayed in the locations shown by items 812-838, again generally placed at an angular distance determined by their relevance to theitem 810. In some embodiments, successive bands of displayed content or disambiguation terms refine the relevance in different ways. For example, in one embodiment, theitem 810 corresponds to an entity expressed preference term. Related keywords identified according to theterm 810 may be placed in the latitude band of 810, such as 820, 830, and others which may not be shown. The next latitudeband including items item 832 using both the term atitem 810 and atitem 830 to query a content store. - Similarly or in addition, different latitude or longitude bands may correspond to different categories of information. For example, if an entity expressed preference term is ‘baseball’, baseball may be shown at
item 810. Different names of baseball players may accordingly be displayed atitems items item 822 may be determined by relevance to multiple terms including the term atpositions item 812, the team that player plays for (the Yankees) may appear atitem 822. As described above, a user may then select any latitude or longitude band and rotate it to bring additional options into the display area. If the entity viewing theuser interface 800 determines any of the displayed preference disambiguation terms to be relevant to their preference, they may so indicate, by for example, touching or tapping the relevant item, and it may be added to the entity's preference as described above with reference toFIG. 6 . In other embodiments, theuser interface 800 may include items displayed as though arranged on a plurality of nested spheres. The different spheres may contain different categories of relevant keywords. So, for example, the names of baseball players may be displayed at all item positions shown inFIG. 8 while another sphere—larger or smaller in radius than the illustrated sphere—displays the names of baseball teams. - Another embodiment of a user profile management interface is shown in
FIGS. 9 and 10 . Again, the embodiment is shown implemented on theuser device 130, shown as a hand held device having thetouch screen display 840. In a first view, theuser device 130 displays apreference entry field 910 and may also display terms associated with two storedpreferences preference 920 includes terms Babe, ruth, grand jury, barry, magowan, bonds, and record. The storedpreference 930 includes terms Seattle Mariners, Seattle, and Mariners. An entity may enter terms for a new preference by entering terms into thepreference entry field 910. As an example, an entity may enter the term ‘Dodgers’ into thepreference entry field 910. A clarification view may then be displayed by theuser device 130, as shown inFIG. 10 . The clarification view includesterms 1010 identified by the disambiguation engine as possibly being relevant to the expressed term. Accordingly, the terms run, score, pitching, hit, Los Angeles, los, and angeles, are displayed by theuser device 130 inFIG. 10 . An entity may select any of these terms as relating to their profile, and transmit them to the profiling system for inclusion in the entity's profile. For example, the entity may select Los Angeles and pitching. A stored profile may then be created containing the terms Dodgers, Los Angeles, and pitching. In other embodiments, following the selection, additional terms may be displayed by theuser device 130 that are determined by the disambiguation engine to be relevant on the basis of all terms entered thusfar. - Examples of scoring content based on user preferences and identifying related relevant keywords have been described above in both an example of disambiguating preference information and scoring content for selection. The calculation of a relevance number based on preference terms was described.
- From the foregoing it will be appreciated that, although specific embodiments of the invention have been described herein for purposes of illustration, various modifications may be made without deviating from the spirit and scope of the invention.
Claims (25)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US13/560,214 US20130138512A1 (en) | 2008-02-25 | 2012-07-27 | Electronic profile development, storage, use, and systems therefor |
Applications Claiming Priority (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
US6716208P | 2008-02-25 | 2008-02-25 | |
US12/334,389 US8255396B2 (en) | 2008-02-25 | 2008-12-12 | Electronic profile development, storage, use, and systems therefor |
US13/560,214 US20130138512A1 (en) | 2008-02-25 | 2012-07-27 | Electronic profile development, storage, use, and systems therefor |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/334,389 Division US8255396B2 (en) | 2008-02-25 | 2008-12-12 | Electronic profile development, storage, use, and systems therefor |
Publications (1)
Publication Number | Publication Date |
---|---|
US20130138512A1 true US20130138512A1 (en) | 2013-05-30 |
Family
ID=40512368
Family Applications (5)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/334,389 Expired - Fee Related US8255396B2 (en) | 2008-02-25 | 2008-12-12 | Electronic profile development, storage, use, and systems therefor |
US12/334,416 Abandoned US20090216639A1 (en) | 2008-02-25 | 2008-12-12 | Advertising selection and display based on electronic profile information |
US12/392,900 Expired - Fee Related US8402081B2 (en) | 2008-02-25 | 2009-02-25 | Platform for data aggregation, communication, rule evaluation, and combinations thereof, using templated auto-generation |
US13/560,214 Abandoned US20130138512A1 (en) | 2008-02-25 | 2012-07-27 | Electronic profile development, storage, use, and systems therefor |
US13/762,138 Abandoned US20130151570A1 (en) | 2008-02-25 | 2013-02-07 | Platform for data aggregation, communication, rule evaluation, and combinations thereof, using templated auto-generation |
Family Applications Before (3)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US12/334,389 Expired - Fee Related US8255396B2 (en) | 2008-02-25 | 2008-12-12 | Electronic profile development, storage, use, and systems therefor |
US12/334,416 Abandoned US20090216639A1 (en) | 2008-02-25 | 2008-12-12 | Advertising selection and display based on electronic profile information |
US12/392,900 Expired - Fee Related US8402081B2 (en) | 2008-02-25 | 2009-02-25 | Platform for data aggregation, communication, rule evaluation, and combinations thereof, using templated auto-generation |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
US13/762,138 Abandoned US20130151570A1 (en) | 2008-02-25 | 2013-02-07 | Platform for data aggregation, communication, rule evaluation, and combinations thereof, using templated auto-generation |
Country Status (6)
Country | Link |
---|---|
US (5) | US8255396B2 (en) |
EP (7) | EP2260409A1 (en) |
JP (1) | JP5429498B2 (en) |
CN (1) | CN102067119B (en) |
CA (2) | CA2716432C (en) |
WO (2) | WO2009108724A2 (en) |
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130046623A1 (en) * | 2011-08-17 | 2013-02-21 | Telefonaktiebolaget L M Ericsson (Publ) | Method For Providing a Recommendation, Recommender System, and Recommender Computer Program Product |
US8909583B2 (en) | 2011-09-28 | 2014-12-09 | Nara Logics, Inc. | Systems and methods for providing recommendations based on collaborative and/or content-based nodal interrelationships |
US9009088B2 (en) | 2011-09-28 | 2015-04-14 | Nara Logics, Inc. | Apparatus and method for providing harmonized recommendations based on an integrated user profile |
US10467677B2 (en) | 2011-09-28 | 2019-11-05 | Nara Logics, Inc. | Systems and methods for providing recommendations based on collaborative and/or content-based nodal interrelationships |
US10789526B2 (en) | 2012-03-09 | 2020-09-29 | Nara Logics, Inc. | Method, system, and non-transitory computer-readable medium for constructing and applying synaptic networks |
US11151617B2 (en) | 2012-03-09 | 2021-10-19 | Nara Logics, Inc. | Systems and methods for providing recommendations based on collaborative and/or content-based nodal interrelationships |
US11727249B2 (en) | 2011-09-28 | 2023-08-15 | Nara Logics, Inc. | Methods for constructing and applying synaptic networks |
Families Citing this family (154)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7493553B1 (en) * | 1998-12-29 | 2009-02-17 | Intel Corporation | Structured web advertising |
US9330189B2 (en) | 2005-10-26 | 2016-05-03 | Cortica, Ltd. | System and method for capturing a multimedia content item by a mobile device and matching sequentially relevant content to the multimedia content item |
US10607355B2 (en) | 2005-10-26 | 2020-03-31 | Cortica, Ltd. | Method and system for determining the dimensions of an object shown in a multimedia content item |
US10949773B2 (en) | 2005-10-26 | 2021-03-16 | Cortica, Ltd. | System and methods thereof for recommending tags for multimedia content elements based on context |
US11386139B2 (en) | 2005-10-26 | 2022-07-12 | Cortica Ltd. | System and method for generating analytics for entities depicted in multimedia content |
US10387914B2 (en) | 2005-10-26 | 2019-08-20 | Cortica, Ltd. | Method for identification of multimedia content elements and adding advertising content respective thereof |
US8312031B2 (en) | 2005-10-26 | 2012-11-13 | Cortica Ltd. | System and method for generation of complex signatures for multimedia data content |
US9396435B2 (en) | 2005-10-26 | 2016-07-19 | Cortica, Ltd. | System and method for identification of deviations from periodic behavior patterns in multimedia content |
US9235557B2 (en) | 2005-10-26 | 2016-01-12 | Cortica, Ltd. | System and method thereof for dynamically associating a link to an information resource with a multimedia content displayed in a web-page |
US9646005B2 (en) | 2005-10-26 | 2017-05-09 | Cortica, Ltd. | System and method for creating a database of multimedia content elements assigned to users |
US11032017B2 (en) | 2005-10-26 | 2021-06-08 | Cortica, Ltd. | System and method for identifying the context of multimedia content elements |
US11216498B2 (en) | 2005-10-26 | 2022-01-04 | Cortica, Ltd. | System and method for generating signatures to three-dimensional multimedia data elements |
US11604847B2 (en) | 2005-10-26 | 2023-03-14 | Cortica Ltd. | System and method for overlaying content on a multimedia content element based on user interest |
US9466068B2 (en) | 2005-10-26 | 2016-10-11 | Cortica, Ltd. | System and method for determining a pupillary response to a multimedia data element |
US8326775B2 (en) | 2005-10-26 | 2012-12-04 | Cortica Ltd. | Signature generation for multimedia deep-content-classification by a large-scale matching system and method thereof |
US11019161B2 (en) | 2005-10-26 | 2021-05-25 | Cortica, Ltd. | System and method for profiling users interest based on multimedia content analysis |
US9191626B2 (en) | 2005-10-26 | 2015-11-17 | Cortica, Ltd. | System and methods thereof for visual analysis of an image on a web-page and matching an advertisement thereto |
US9489431B2 (en) | 2005-10-26 | 2016-11-08 | Cortica, Ltd. | System and method for distributed search-by-content |
US9286623B2 (en) | 2005-10-26 | 2016-03-15 | Cortica, Ltd. | Method for determining an area within a multimedia content element over which an advertisement can be displayed |
US10380623B2 (en) | 2005-10-26 | 2019-08-13 | Cortica, Ltd. | System and method for generating an advertisement effectiveness performance score |
US10848590B2 (en) | 2005-10-26 | 2020-11-24 | Cortica Ltd | System and method for determining a contextual insight and providing recommendations based thereon |
US10742340B2 (en) | 2005-10-26 | 2020-08-11 | Cortica Ltd. | System and method for identifying the context of multimedia content elements displayed in a web-page and providing contextual filters respective thereto |
US11620327B2 (en) | 2005-10-26 | 2023-04-04 | Cortica Ltd | System and method for determining a contextual insight and generating an interface with recommendations based thereon |
US9218606B2 (en) | 2005-10-26 | 2015-12-22 | Cortica, Ltd. | System and method for brand monitoring and trend analysis based on deep-content-classification |
US9639532B2 (en) | 2005-10-26 | 2017-05-02 | Cortica, Ltd. | Context-based analysis of multimedia content items using signatures of multimedia elements and matching concepts |
US9747420B2 (en) | 2005-10-26 | 2017-08-29 | Cortica, Ltd. | System and method for diagnosing a patient based on an analysis of multimedia content |
US9558449B2 (en) | 2005-10-26 | 2017-01-31 | Cortica, Ltd. | System and method for identifying a target area in a multimedia content element |
US10733326B2 (en) | 2006-10-26 | 2020-08-04 | Cortica Ltd. | System and method for identification of inappropriate multimedia content |
US20090216563A1 (en) * | 2008-02-25 | 2009-08-27 | Michael Sandoval | Electronic profile development, storage, use and systems for taking action based thereon |
US8255396B2 (en) * | 2008-02-25 | 2012-08-28 | Atigeo Llc | Electronic profile development, storage, use, and systems therefor |
EP2260373A4 (en) * | 2008-02-25 | 2016-08-03 | Atigeo Llc | Determining relevant information for domains of interest |
US8161036B2 (en) * | 2008-06-27 | 2012-04-17 | Microsoft Corporation | Index optimization for ranking using a linear model |
US8171031B2 (en) * | 2008-06-27 | 2012-05-01 | Microsoft Corporation | Index optimization for ranking using a linear model |
US8645936B2 (en) * | 2009-09-30 | 2014-02-04 | Zynga Inc. | Apparatuses, methods and systems for an a API call abstractor |
US20110119312A1 (en) * | 2009-11-15 | 2011-05-19 | Arjun Chopra | System and method for automated scalability of n-tier computer applications |
US9244533B2 (en) * | 2009-12-17 | 2016-01-26 | Microsoft Technology Licensing, Llc | Camera navigation for presentations |
US8843465B2 (en) * | 2010-01-29 | 2014-09-23 | Google Inc. | Distributing content |
CA2798481A1 (en) | 2010-05-06 | 2011-11-10 | Atigeo Llc | Systems, methods, and computer readable media for security in profile utilizing systems |
GB2494597A (en) * | 2010-06-04 | 2013-03-13 | Ad Dynamo Internat Pty Ltd | Online advertising system and a method of operating the same |
EP2398210B1 (en) * | 2010-06-17 | 2016-11-16 | Huawei Technologies Co., Ltd. | Targeted mobile advertising via user proxy at femto AP |
US10216393B2 (en) | 2010-07-30 | 2019-02-26 | International Business Machines Corporation | Efficiently sharing user selected information with a set of determined recipients |
TW201205307A (en) | 2010-07-30 | 2012-02-01 | Ibm | Method, apparatus and computer program product for efficiently sharing information |
US8555332B2 (en) | 2010-08-20 | 2013-10-08 | At&T Intellectual Property I, L.P. | System for establishing communications with a mobile device server |
US8438285B2 (en) | 2010-09-15 | 2013-05-07 | At&T Intellectual Property I, L.P. | System for managing resources accessible to a mobile device server |
US8504449B2 (en) | 2010-10-01 | 2013-08-06 | At&T Intellectual Property I, L.P. | Apparatus and method for managing software applications of a mobile device server |
US8516039B2 (en) * | 2010-10-01 | 2013-08-20 | At&T Intellectual Property I, L.P. | Apparatus and method for managing mobile device servers |
US8989055B2 (en) | 2011-07-17 | 2015-03-24 | At&T Intellectual Property I, L.P. | Processing messages with a device server operating in a telephone |
US9015093B1 (en) | 2010-10-26 | 2015-04-21 | Michael Lamport Commons | Intelligent control with hierarchical stacked neural networks |
US8775341B1 (en) | 2010-10-26 | 2014-07-08 | Michael Lamport Commons | Intelligent control with hierarchical stacked neural networks |
US9392316B2 (en) | 2010-10-28 | 2016-07-12 | At&T Intellectual Property I, L.P. | Messaging abstraction in a mobile device server |
MX2013006108A (en) * | 2010-11-29 | 2013-10-01 | Jingit Llc | Engagement and payment processing platform. |
US9066123B2 (en) | 2010-11-30 | 2015-06-23 | At&T Intellectual Property I, L.P. | System for monetizing resources accessible to a mobile device server |
US8683349B2 (en) * | 2010-12-31 | 2014-03-25 | Verizon Patent And Licensing Inc. | Media content user interface systems and methods |
US20120173327A1 (en) * | 2011-01-03 | 2012-07-05 | International Business Machines Corporation | Promoting, delivering and selling information to intranet users |
US20120174038A1 (en) * | 2011-01-05 | 2012-07-05 | Disney Enterprises, Inc. | System and method enabling content navigation and selection using an interactive virtual sphere |
US8661327B1 (en) * | 2011-01-06 | 2014-02-25 | Intuit Inc. | Method and system for automated insertion of relevant hyperlinks into social media-based communications |
US20120233250A1 (en) * | 2011-03-11 | 2012-09-13 | International Business Machines Corporation | Auto-updatable document parts within content management systems |
US9338215B2 (en) * | 2011-03-14 | 2016-05-10 | Slangwho, Inc. | Search engine |
US8732569B2 (en) | 2011-05-04 | 2014-05-20 | Google Inc. | Predicting user navigation events |
US9342280B2 (en) | 2011-05-27 | 2016-05-17 | Microsoft Technology Licesning, LLC | Travel log for manipulation of content |
US8788711B2 (en) * | 2011-06-14 | 2014-07-22 | Google Inc. | Redacting content and inserting hypertext transfer protocol (HTTP) error codes in place thereof |
US9769285B2 (en) | 2011-06-14 | 2017-09-19 | Google Inc. | Access to network content |
US8745212B2 (en) | 2011-07-01 | 2014-06-03 | Google Inc. | Access to network content |
US8650139B2 (en) * | 2011-07-01 | 2014-02-11 | Google Inc. | Predicting user navigation events |
US8566696B1 (en) | 2011-07-14 | 2013-10-22 | Google Inc. | Predicting user navigation events |
US8744988B1 (en) | 2011-07-15 | 2014-06-03 | Google Inc. | Predicting user navigation events in an internet browser |
US9146909B2 (en) * | 2011-07-27 | 2015-09-29 | Qualcomm Incorporated | Web browsing enhanced by cloud computing |
US20130031076A1 (en) * | 2011-07-28 | 2013-01-31 | Kikin, Inc. | Systems and methods for contextual searching of semantic entities |
US8849819B2 (en) * | 2011-08-05 | 2014-09-30 | Deacon Johnson | System and method for controlling and organizing metadata associated with on-line content |
US8782117B2 (en) * | 2011-08-24 | 2014-07-15 | Microsoft Corporation | Calling functions within a deterministic calling convention |
US9430439B2 (en) | 2011-09-09 | 2016-08-30 | Facebook, Inc. | Visualizing reach of posted content in a social networking system |
US20130066711A1 (en) * | 2011-09-09 | 2013-03-14 | c/o Facebook, Inc. | Understanding Effects of a Communication Propagated Through a Social Networking System |
US8600921B2 (en) | 2011-09-15 | 2013-12-03 | Google Inc. | Predicting user navigation events in a browser using directed graphs |
US8655819B1 (en) | 2011-09-15 | 2014-02-18 | Google Inc. | Predicting user navigation events based on chronological history data |
US9104664B1 (en) | 2011-10-07 | 2015-08-11 | Google Inc. | Access to search results |
US9584579B2 (en) | 2011-12-01 | 2017-02-28 | Google Inc. | Method and system for providing page visibility information |
US20130145273A1 (en) * | 2011-12-02 | 2013-06-06 | Research In Motion Limited | Methods and devices for configuring a web browser based on an other party's profile |
JP5814772B2 (en) * | 2011-12-15 | 2015-11-17 | ヤフー株式会社 | Advertisement determination system, advertisement determination method and program |
US8793235B2 (en) | 2012-01-19 | 2014-07-29 | Google Inc. | System and method for improving access to search results |
AU2013213683B2 (en) * | 2012-03-10 | 2013-11-07 | Evado Holdings Pty Ltd | A method and system of application development for multiple device client platforms |
KR20130106519A (en) * | 2012-03-20 | 2013-09-30 | 삼성전자주식회사 | Method and apparatus for managing history of web-browser |
US8935368B2 (en) * | 2012-04-16 | 2015-01-13 | International Business Machines Corporation | Data collection from networked devices |
US9946792B2 (en) | 2012-05-15 | 2018-04-17 | Google Llc | Access to network content |
US8843518B2 (en) * | 2012-07-17 | 2014-09-23 | Verizon Patent And Licensing Inc. | Method and apparatus for establishing a connection with known individuals |
CN103581111B (en) * | 2012-07-20 | 2017-12-12 | 腾讯科技(深圳)有限公司 | A kind of communication means and system |
US8887239B1 (en) | 2012-08-08 | 2014-11-11 | Google Inc. | Access to network content |
US20140047319A1 (en) * | 2012-08-13 | 2014-02-13 | Sap Ag | Context injection and extraction in xml documents based on common sparse templates |
US20140078054A1 (en) * | 2012-09-14 | 2014-03-20 | Dan Zacharias GÄRDENFORS | Display control device and system |
US20140089092A1 (en) * | 2012-09-27 | 2014-03-27 | Livingsocial, Inc. | Client-Based Deal Filtering and Display |
US9141722B2 (en) | 2012-10-02 | 2015-09-22 | Google Inc. | Access to network content |
US10215434B2 (en) | 2012-11-07 | 2019-02-26 | Think Automatic, LLC | Adaptive trigger sequencing for site control automation |
WO2014124318A1 (en) * | 2013-02-08 | 2014-08-14 | Interdigital Patent Holdings, Inc. | METHOD AND APPARATUS FOR INCORPORATING AN INTERNET OF THINGS (IoT) SERVICE INTERFACE PROTOCOL LAYER IN A NODE |
CN104021124B (en) * | 2013-02-28 | 2017-11-03 | 国际商业机器公司 | Methods, devices and systems for handling web data |
US9374411B1 (en) * | 2013-03-21 | 2016-06-21 | Amazon Technologies, Inc. | Content recommendations using deep data |
US10387409B2 (en) | 2013-06-06 | 2019-08-20 | International Business Machines Corporation | QA based on context aware, real-time information from mobile devices |
US20150095261A1 (en) | 2013-09-30 | 2015-04-02 | The Toronto-Dominion Bank | Systems and methods for administering investment portfolios based on transaction data |
CA2865864A1 (en) * | 2013-09-30 | 2015-03-30 | The Toronto-Dominion Bank | Systems and methods for administering investment portfolios based on information consumption |
WO2015064072A1 (en) | 2013-10-30 | 2015-05-07 | パナソニックIpマネジメント株式会社 | Information provision system, specific-information generation device, and specific-information generation method |
CN104679753B (en) * | 2013-11-26 | 2019-02-26 | 腾讯科技(深圳)有限公司 | A kind of method for pushing and device of message |
US10162877B1 (en) * | 2013-12-17 | 2018-12-25 | VCE IP Holding Company LLC | Automated compilation of content |
US20150215257A1 (en) * | 2014-01-26 | 2015-07-30 | Linda Allan Mosquera | Customizing communications |
US10789300B2 (en) | 2014-04-28 | 2020-09-29 | Red Hat, Inc. | Method and system for providing security in a data federation system |
GB2527323B (en) * | 2014-06-18 | 2016-06-15 | Ibm | Runtime protection of web services |
US10438229B1 (en) * | 2014-06-30 | 2019-10-08 | Groupon, Inc. | Systems and methods for providing dimensional promotional offers |
US10104049B2 (en) * | 2014-09-12 | 2018-10-16 | Vmware, Inc. | Secure distributed publish/subscribe system |
US20160105525A1 (en) * | 2014-10-08 | 2016-04-14 | Sears Brands, L.L.C. | Member profiles and associated systems, methods, and media |
CN104376406B (en) * | 2014-11-05 | 2019-04-16 | 上海计算机软件技术开发中心 | A kind of enterprise innovation resource management and analysis method based on big data |
US11126598B1 (en) * | 2014-11-06 | 2021-09-21 | Ab Initio Technology Llc | Techniques for performing lifecycle operations on a data store |
FR3030079B1 (en) * | 2014-12-10 | 2024-07-26 | Univ De Toulon | MEANS FOR DETERMINING A LEVEL OF RELEVANCE OF A RESOURCE IN AN INFORMATION PROCESSING SYSTEM |
WO2016183555A1 (en) | 2015-05-14 | 2016-11-17 | Walleye Software, LLC | Dynamic updating of query result displays |
US10366108B2 (en) * | 2015-06-26 | 2019-07-30 | Sri International | Distributional alignment of sets |
WO2016207308A1 (en) * | 2015-06-26 | 2016-12-29 | British Telecommunications Public Limited Company | Digital content provision |
US10223742B2 (en) * | 2015-08-26 | 2019-03-05 | Google Llc | Systems and methods for selecting third party content based on feedback |
US9552200B1 (en) | 2015-09-18 | 2017-01-24 | ReactiveCore LLC | System and method for providing supplemental functionalities to a computer program via an ontology instance |
US9335991B1 (en) | 2015-09-18 | 2016-05-10 | ReactiveCore LLC | System and method for providing supplemental functionalities to a computer program via an ontology instance |
US9372684B1 (en) * | 2015-09-18 | 2016-06-21 | ReactiveCore LLC | System and method for providing supplemental functionalities to a computer program via an ontology instance |
US9864598B2 (en) | 2015-09-18 | 2018-01-09 | ReactiveCore LLC | System and method for providing supplemental functionalities to a computer program |
US11157260B2 (en) | 2015-09-18 | 2021-10-26 | ReactiveCore LLC | Efficient information storage and retrieval using subgraphs |
US11276006B2 (en) | 2015-10-02 | 2022-03-15 | Outlier AI, Inc. | System, apparatus, and method to identify intelligence using a data processing platform |
WO2017060795A1 (en) * | 2015-10-07 | 2017-04-13 | Koninklijke Philips N.V. | Device, system, and method for determining information relevant to a clinician |
AU2016361450A1 (en) * | 2015-11-23 | 2018-06-07 | Lucell Pty Ltd (Acn 78 609 013 185) | Value assessment and alignment device, method and system |
US10411946B2 (en) * | 2016-06-14 | 2019-09-10 | TUPL, Inc. | Fixed line resource management |
US10231076B1 (en) * | 2016-09-16 | 2019-03-12 | Wells Fargo Bank, N.A. | Systems and methods for providing contextual recommendations |
CN106709232A (en) * | 2016-11-09 | 2017-05-24 | 洛阳晶云信息科技有限公司 | Display method used for electronic medical record system, data entry method used for electronic medical record system, and medical record template revision method used for electronic medical record system |
US10257128B2 (en) * | 2016-11-28 | 2019-04-09 | Microsoft Technology Licensing, Llc | Presenting messages to participants based on neighborhoods |
US10552180B2 (en) | 2016-12-07 | 2020-02-04 | Vmware, Inc. | Methods, systems, and apparatus to trigger a workflow in a cloud computing environment |
US11481239B2 (en) | 2016-12-07 | 2022-10-25 | Vmware, Inc. | Apparatus and methods to incorporate external system to approve deployment provisioning |
US10152356B2 (en) | 2016-12-07 | 2018-12-11 | Vmware, Inc. | Methods and apparatus for limiting data transferred over the network by interpreting part of the data as a metaproperty |
WO2018130304A1 (en) * | 2017-01-13 | 2018-07-19 | Huawei Technologies Co., Ltd. | Aggregation platform, requirement owner, and methods thereof |
JP2018156149A (en) * | 2017-03-15 | 2018-10-04 | オムロン株式会社 | Medication supporting device, method and program |
US20180276704A1 (en) * | 2017-03-27 | 2018-09-27 | Jpmorgan Chase Bank, N.A. | Systems and methods for using internet service co-branded financial instruments |
US11514517B2 (en) | 2017-04-24 | 2022-11-29 | Consumer Direct, Inc. | Scenario gamification to provide improved mortgage and securitization |
US11232489B2 (en) | 2017-04-24 | 2022-01-25 | Consumer Direct, Inc. | Scenario gamification to provide actionable elements and temporally appropriate advertising |
US11321402B2 (en) * | 2017-05-05 | 2022-05-03 | Microsoft Technology Licensing, Llc. | Index storage across heterogenous storage devices |
US10198469B1 (en) | 2017-08-24 | 2019-02-05 | Deephaven Data Labs Llc | Computer data system data source refreshing using an update propagation graph having a merged join listener |
US11386175B2 (en) * | 2017-09-28 | 2022-07-12 | Sharp Kabushiki Kaisha | Content recommendation apparatus, method of content recommendation, and content recommendation system |
KR102486236B1 (en) * | 2017-12-26 | 2023-01-09 | 삼성전자주식회사 | Apparatus and method for network function virtualization in wireless communication system |
FR3083949B1 (en) * | 2018-07-16 | 2021-08-06 | Ismart | PROCESS FOR RELIABILITY OF A COMMUNICATION BETWEEN AT LEAST ONE REMOTE SERVER AND ONE SERVER, BY AUTOMATIC MATCHING OF REFERENCE DATA |
US11853371B1 (en) * | 2018-07-31 | 2023-12-26 | Meta Platforms, Inc. | Logging information describing a type of event occurring in a mobile application received via an SDK incorporated into mobile application code of the mobile application |
US11823041B1 (en) * | 2018-08-30 | 2023-11-21 | Alarm.Com Incorporated | Extending learning of artificial intelligent systems |
US11533387B2 (en) * | 2018-11-30 | 2022-12-20 | Cerner Innovation, Inc. | Interface engine architecture |
AU2020100309B4 (en) * | 2019-03-20 | 2020-09-24 | Parametric Systems Pty Ltd | Techniques for Controlling Interaction with an Application Database |
CN109903143A (en) * | 2019-03-27 | 2019-06-18 | 深圳市活力天汇科技股份有限公司 | A kind of flight recommended method based on customer consumption level |
WO2021046510A1 (en) * | 2019-09-06 | 2021-03-11 | Outlier AI, Inc. | Systems and methods for intelligence delivery |
US10719374B1 (en) * | 2019-09-17 | 2020-07-21 | Capital One Services, Llc | Application programming interface generator using database metadata |
US11243979B1 (en) * | 2019-11-26 | 2022-02-08 | Amazon Technologies, Inc. | Asynchronous propagation of database events |
US11449407B2 (en) | 2020-05-28 | 2022-09-20 | Bank Of America Corporation | System and method for monitoring computing platform parameters and dynamically generating and deploying monitoring packages |
US20220051322A1 (en) * | 2020-08-17 | 2022-02-17 | Bonaire Software Solutions, Llc | System and method for creating and managing a data attribute condition trigger matrix |
US11704168B2 (en) * | 2021-04-14 | 2023-07-18 | Adobe Inc. | Templates for mapping data events to API calls |
US11861425B2 (en) * | 2021-05-19 | 2024-01-02 | Red Hat, Inc. | Runtime mapping of asynchronous application programming interface messaging topics and schemas |
US11809443B2 (en) * | 2021-07-19 | 2023-11-07 | Sap Se | Schema validation with support for ordering |
US11741093B1 (en) | 2021-07-21 | 2023-08-29 | T-Mobile Usa, Inc. | Intermediate communication layer to translate a request between a user of a database and the database |
KR102369960B1 (en) * | 2021-07-30 | 2022-03-04 | 쿠팡 주식회사 | Electronic apparatus for providing information based on existence of a user account and method thereof |
JP7418877B1 (en) | 2023-03-13 | 2024-01-22 | 株式会社テクロス | information processing equipment |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5873076A (en) * | 1995-09-15 | 1999-02-16 | Infonautics Corporation | Architecture for processing search queries, retrieving documents identified thereby, and method for using same |
Family Cites Families (95)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
KR940001563B1 (en) * | 1985-01-21 | 1994-02-24 | 가부시끼가이샤 히다찌세이사꾸쇼 | Rule base system |
US5794210A (en) * | 1995-12-11 | 1998-08-11 | Cybergold, Inc. | Attention brokerage |
JPH10222540A (en) * | 1996-12-04 | 1998-08-21 | N T T Data Tsushin Kk | Document search method, apparatus and recording medium |
US6807537B1 (en) * | 1997-12-04 | 2004-10-19 | Microsoft Corporation | Mixtures of Bayesian networks |
US6385602B1 (en) * | 1998-11-03 | 2002-05-07 | E-Centives, Inc. | Presentation of search results using dynamic categorization |
US20050257400A1 (en) | 1998-11-06 | 2005-11-24 | Microsoft Corporation | Navigating a resource browser session |
DE19901908A1 (en) * | 1999-01-19 | 1999-09-23 | Joachim Zuckarelli | Method for visualizing search results for search queries with two linked search concepts |
US6829770B1 (en) * | 1999-02-23 | 2004-12-07 | Microsoft Corporation | Object connectivity through loosely coupled publish and subscribe events |
US6434556B1 (en) * | 1999-04-16 | 2002-08-13 | Board Of Trustees Of The University Of Illinois | Visualization of Internet search information |
US7181438B1 (en) * | 1999-07-21 | 2007-02-20 | Alberti Anemometer, Llc | Database access system |
US6587876B1 (en) * | 1999-08-24 | 2003-07-01 | Hewlett-Packard Development Company | Grouping targets of management policies |
US7734680B1 (en) * | 1999-09-30 | 2010-06-08 | Koninklijke Philips Electronics N.V. | Method and apparatus for realizing personalized information from multiple information sources |
US6453347B1 (en) | 1999-10-29 | 2002-09-17 | Mcafee.Com, Inc. | Active marketing based on client computer configurations |
EP1272942A4 (en) * | 2000-02-10 | 2008-09-10 | Involve Technology Inc | System for creating and maintaining a database of information utilizing user opinions |
US6560590B1 (en) * | 2000-02-14 | 2003-05-06 | Kana Software, Inc. | Method and apparatus for multiple tiered matching of natural language queries to positions in a text corpus |
US6636246B1 (en) * | 2000-03-17 | 2003-10-21 | Vizible.Com Inc. | Three dimensional spatial user interface |
US6581072B1 (en) * | 2000-05-18 | 2003-06-17 | Rakesh Mathur | Techniques for identifying and accessing information of interest to a user in a network environment without compromising the user's privacy |
US20020184401A1 (en) * | 2000-10-20 | 2002-12-05 | Kadel Richard William | Extensible information system |
US6961731B2 (en) * | 2000-11-15 | 2005-11-01 | Kooltorch, L.L.C. | Apparatus and method for organizing and/or presenting data |
US7356530B2 (en) * | 2001-01-10 | 2008-04-08 | Looksmart, Ltd. | Systems and methods of retrieving relevant information |
US20020143961A1 (en) * | 2001-03-14 | 2002-10-03 | Siegel Eric Victor | Access control protocol for user profile management |
US20030061292A1 (en) * | 2001-03-23 | 2003-03-27 | Mark Underseth | System and method for providing an interface for com-compliant applications to communicate with embedded systems |
JP2002318820A (en) * | 2001-04-19 | 2002-10-31 | Aloka Co Ltd | Medical treatment information providing system |
US6968551B2 (en) * | 2001-06-11 | 2005-11-22 | John Hediger | System and user interface for generation and processing of software application installation instructions |
US20020198943A1 (en) * | 2001-06-20 | 2002-12-26 | David Zhuang | Web-enabled two-way remote messaging facility |
US20030229507A1 (en) | 2001-07-13 | 2003-12-11 | Damir Perge | System and method for matching donors and charities |
US20040128508A1 (en) * | 2001-08-06 | 2004-07-01 | Wheeler Lynn Henry | Method and apparatus for access authentication entity |
US7133862B2 (en) * | 2001-08-13 | 2006-11-07 | Xerox Corporation | System with user directed enrichment and import/export control |
US7257817B2 (en) * | 2001-10-16 | 2007-08-14 | Microsoft Corporation | Virtual network with adaptive dispatcher |
US20030154129A1 (en) * | 2002-02-12 | 2003-08-14 | Capital One Financial Corporation | Methods and systems for marketing comparable products |
US7076558B1 (en) * | 2002-02-27 | 2006-07-11 | Microsoft Corporation | User-centric consent management system and method |
JP2003256318A (en) * | 2002-02-27 | 2003-09-12 | Nec Corp | System, method, and program for distributing advertisement |
US20030204496A1 (en) * | 2002-04-29 | 2003-10-30 | X-Mine, Inc. | Inter-term relevance analysis for large libraries |
US7149733B2 (en) * | 2002-07-20 | 2006-12-12 | Microsoft Corporation | Translation of object queries involving inheritence |
US7191182B2 (en) * | 2002-07-20 | 2007-03-13 | Microsoft Corporation | Containment hierarchy in a database system |
US7398269B2 (en) * | 2002-11-15 | 2008-07-08 | Justsystems Evans Research Inc. | Method and apparatus for document filtering using ensemble filters |
EP1586058A1 (en) | 2003-01-24 | 2005-10-19 | BRITISH TELECOMMUNICATIONS public limited company | Searching apparatus and methods |
JP2004348241A (en) * | 2003-05-20 | 2004-12-09 | Hitachi Ltd | Information providing method, server and program |
US7296022B2 (en) * | 2003-07-14 | 2007-11-13 | Microsoft Corporation | Method and system for accessing a network database as a web service |
US20050043989A1 (en) * | 2003-08-19 | 2005-02-24 | Shifrin Daniel G. | System and method of facilitating content delivery to a user |
US7490286B2 (en) * | 2003-09-25 | 2009-02-10 | International Business Machines Corporation | Help option enhancement for interactive voice response systems |
US20050222989A1 (en) * | 2003-09-30 | 2005-10-06 | Taher Haveliwala | Results based personalization of advertisements in a search engine |
US20050071328A1 (en) * | 2003-09-30 | 2005-03-31 | Lawrence Stephen R. | Personalization of web search |
US8639520B2 (en) * | 2003-10-06 | 2014-01-28 | Cerner Innovations, Inc. | System and method for creating a visualization indicating relationships and relevance to an entity |
US20060106793A1 (en) * | 2003-12-29 | 2006-05-18 | Ping Liang | Internet and computer information retrieval and mining with intelligent conceptual filtering, visualization and automation |
US7716223B2 (en) * | 2004-03-29 | 2010-05-11 | Google Inc. | Variable personalization of search results in a search engine |
US20050223368A1 (en) * | 2004-03-30 | 2005-10-06 | Tonic Solutions, Inc. | Instrumented application for transaction tracing |
WO2006001008A2 (en) * | 2004-06-24 | 2006-01-05 | Amir Lavi | System for facilitating search over a network |
US7827176B2 (en) * | 2004-06-30 | 2010-11-02 | Google Inc. | Methods and systems for endorsing local search results |
EP1800228A1 (en) * | 2004-09-27 | 2007-06-27 | Browster, Inc. | Method and apparatus for enhanced browsing |
US7516122B2 (en) * | 2004-12-02 | 2009-04-07 | Computer Associates Think, Inc. | System and method for implementing a management component that exposes attributes |
US7428533B2 (en) * | 2004-12-06 | 2008-09-23 | Yahoo! Inc. | Automatic generation of taxonomies for categorizing queries and search query processing using taxonomies |
US7818350B2 (en) * | 2005-02-28 | 2010-10-19 | Yahoo! Inc. | System and method for creating a collaborative playlist |
US8185523B2 (en) * | 2005-03-18 | 2012-05-22 | Search Engine Technologies, Llc | Search engine that applies feedback from users to improve search results |
US20090327259A1 (en) * | 2005-04-27 | 2009-12-31 | The University Of Queensland | Automatic concept clustering |
US20060277248A1 (en) * | 2005-05-12 | 2006-12-07 | Baxter Eugene E | Configuration-based application architecture using XML/XSLT |
US7627599B2 (en) | 2005-05-20 | 2009-12-01 | Palo Alto Research Center Incorporated | Method, apparatus, and program product for visualizing tree structured information |
US7984058B2 (en) * | 2005-06-02 | 2011-07-19 | Genius.Com Incorporated | Database query construction and handling |
JP2008545200A (en) * | 2005-06-28 | 2008-12-11 | チョイスストリーム インコーポレイテッド | Method and apparatus for a statistical system for targeting advertisements |
US8140529B2 (en) * | 2005-07-28 | 2012-03-20 | International Business Machines Corporation | Method and apparatus for autonomically regulating information transfer when accessing database resources |
US20070038608A1 (en) | 2005-08-10 | 2007-02-15 | Anjun Chen | Computer search system for improved web page ranking and presentation |
US20080009268A1 (en) * | 2005-09-14 | 2008-01-10 | Jorey Ramer | Authorized mobile content search results |
EP3703058A1 (en) | 2005-11-29 | 2020-09-02 | Children's Hospital Medical Center | A method of selecting a medication for a patient |
US7620725B2 (en) * | 2005-12-05 | 2009-11-17 | About Us, Inc. | Metadata collection within a trusted relationship to increase search relevance |
US8713142B2 (en) * | 2005-12-12 | 2014-04-29 | Verizon Business Global Llc | Profile-based user access to a network management system |
CN100481077C (en) * | 2006-01-12 | 2009-04-22 | 国际商业机器公司 | Visual method and device for strengthening search result guide |
US7730209B2 (en) * | 2006-01-18 | 2010-06-01 | Microsoft Corporation | Efficient dispatch of messages based on message headers |
WO2007092615A2 (en) * | 2006-02-09 | 2007-08-16 | Monosphere Inc. | Storage capacity planning |
US7779004B1 (en) * | 2006-02-22 | 2010-08-17 | Qurio Holdings, Inc. | Methods, systems, and products for characterizing target systems |
US20070225995A1 (en) * | 2006-03-17 | 2007-09-27 | Moore Barrett H | Method and Security Modules for an Incident Deployment and Response System for Facilitating Access to Private Civil Security Resources |
US7647314B2 (en) * | 2006-04-28 | 2010-01-12 | Yahoo! Inc. | System and method for indexing web content using click-through features |
US20080040219A1 (en) | 2006-08-09 | 2008-02-14 | Jeff Kim | Proximity-based wireless advertising system |
US20080046313A1 (en) * | 2006-08-17 | 2008-02-21 | Shuwei Chen | Methods and apparatus for serving relevant advertisements using web browser bars |
US7801901B2 (en) * | 2006-09-15 | 2010-09-21 | Microsoft Corporation | Tracking storylines around a query |
CN101611401B (en) | 2006-10-20 | 2012-10-03 | 苹果公司 | Personal music recommendation mapping |
TWI340340B (en) * | 2006-12-01 | 2011-04-11 | Inst Information Industry | User interface apparatus, method, application program, and computer readable medium thereof |
US8515809B2 (en) * | 2006-12-12 | 2013-08-20 | International Business Machines Corporation | Dynamic modification of advertisements displayed in response to a search engine query |
US20080162537A1 (en) * | 2006-12-29 | 2008-07-03 | Ebay Inc. | Method and system for utilizing profiles |
US20080263022A1 (en) * | 2007-04-19 | 2008-10-23 | Blueshift Innovations, Inc. | System and method for searching and displaying text-based information contained within documents on a database |
US7644098B2 (en) * | 2007-04-24 | 2010-01-05 | Yahoo! Inc. | System and method for identifying advertisements responsive to historical user queries |
KR100926878B1 (en) * | 2007-06-01 | 2009-11-16 | 엔에이치엔비즈니스플랫폼 주식회사 | Method and system for providing advertisement and method, and system for collecting training data with regard to providing advertisement |
BRPI0812392A2 (en) | 2007-06-12 | 2015-07-21 | Facebook Inc | System and methods of accessing and sharing user profile data between social networking website and third party application server |
US8769407B2 (en) * | 2007-07-31 | 2014-07-01 | International Business Machines Corporation | Pointing help system |
US8229730B2 (en) * | 2007-08-31 | 2012-07-24 | Microsoft Corporation | Indexing role hierarchies for words in a search index |
US20090094093A1 (en) * | 2007-10-05 | 2009-04-09 | Yahoo! Inc. | System for selecting advertisements |
US9594784B2 (en) * | 2007-10-19 | 2017-03-14 | Oracle International Corporation | Push-model based index deletion |
US8775391B2 (en) * | 2008-03-26 | 2014-07-08 | Zettics, Inc. | System and method for sharing anonymous user profiles with a third party |
WO2009081393A2 (en) | 2007-12-21 | 2009-07-02 | Semantinet Ltd. | System and method for invoking functionalities using contextual relations |
EP2260373A4 (en) * | 2008-02-25 | 2016-08-03 | Atigeo Llc | Determining relevant information for domains of interest |
US20090216563A1 (en) * | 2008-02-25 | 2009-08-27 | Michael Sandoval | Electronic profile development, storage, use and systems for taking action based thereon |
US8255396B2 (en) * | 2008-02-25 | 2012-08-28 | Atigeo Llc | Electronic profile development, storage, use, and systems therefor |
US8364659B2 (en) * | 2008-05-14 | 2013-01-29 | Enpulz, L.L.C. | Network server employing client favorites information and profiling |
US8849870B2 (en) * | 2008-06-26 | 2014-09-30 | Nokia Corporation | Method, apparatus and computer program product for providing context triggered distribution of context models |
CN102326144B (en) * | 2008-12-12 | 2015-06-17 | 阿迪吉欧有限责任公司 | Providing recommendations using information determined for domains of interest |
CA2798481A1 (en) * | 2010-05-06 | 2011-11-10 | Atigeo Llc | Systems, methods, and computer readable media for security in profile utilizing systems |
-
2008
- 2008-12-12 US US12/334,389 patent/US8255396B2/en not_active Expired - Fee Related
- 2008-12-12 US US12/334,416 patent/US20090216639A1/en not_active Abandoned
-
2009
- 2009-02-25 EP EP09714729A patent/EP2260409A1/en not_active Withdrawn
- 2009-02-25 EP EP09714387A patent/EP2260408A2/en not_active Withdrawn
- 2009-02-25 EP EP20130166494 patent/EP2624153A1/en not_active Withdrawn
- 2009-02-25 EP EP20130166481 patent/EP2624151A1/en not_active Withdrawn
- 2009-02-25 US US12/392,900 patent/US8402081B2/en not_active Expired - Fee Related
- 2009-02-25 CA CA2716432A patent/CA2716432C/en not_active Expired - Fee Related
- 2009-02-25 CN CN200980114379.6A patent/CN102067119B/en not_active Expired - Fee Related
- 2009-02-25 EP EP20110150913 patent/EP2354982A1/en not_active Ceased
- 2009-02-25 WO PCT/US2009/035181 patent/WO2009108724A2/en active Application Filing
- 2009-02-25 JP JP2010547868A patent/JP5429498B2/en not_active Expired - Fee Related
- 2009-02-25 WO PCT/US2009/035197 patent/WO2009108732A2/en active Application Filing
- 2009-02-25 CA CA2805391A patent/CA2805391C/en not_active Expired - Fee Related
- 2009-02-25 EP EP20130166675 patent/EP2626798A1/en not_active Withdrawn
- 2009-02-25 EP EP20130166490 patent/EP2624152A1/en not_active Withdrawn
-
2012
- 2012-07-27 US US13/560,214 patent/US20130138512A1/en not_active Abandoned
-
2013
- 2013-02-07 US US13/762,138 patent/US20130151570A1/en not_active Abandoned
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5873076A (en) * | 1995-09-15 | 1999-02-16 | Infonautics Corporation | Architecture for processing search queries, retrieving documents identified thereby, and method for using same |
Non-Patent Citations (2)
Title |
---|
Papineni, "Why Inverse Document Frequency?", Proceedings of the second meeting of the North American Chapter of the Assn. for Computational Linguistics on Language Technologies, Assn. for Computational Linguistics, 2001 * |
Rouse, "Relational Database", SearchSQLServer, April 2006, on line at searchsqlserver.techtarget.com/definition/relational-database * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20130046623A1 (en) * | 2011-08-17 | 2013-02-21 | Telefonaktiebolaget L M Ericsson (Publ) | Method For Providing a Recommendation, Recommender System, and Recommender Computer Program Product |
US8909583B2 (en) | 2011-09-28 | 2014-12-09 | Nara Logics, Inc. | Systems and methods for providing recommendations based on collaborative and/or content-based nodal interrelationships |
US9009088B2 (en) | 2011-09-28 | 2015-04-14 | Nara Logics, Inc. | Apparatus and method for providing harmonized recommendations based on an integrated user profile |
US9449336B2 (en) | 2011-09-28 | 2016-09-20 | Nara Logics, Inc. | Apparatus and method for providing harmonized recommendations based on an integrated user profile |
US10423880B2 (en) | 2011-09-28 | 2019-09-24 | Nara Logics, Inc. | Systems and methods for providing recommendations based on collaborative and/or content-based nodal interrelationships |
US10467677B2 (en) | 2011-09-28 | 2019-11-05 | Nara Logics, Inc. | Systems and methods for providing recommendations based on collaborative and/or content-based nodal interrelationships |
US11651412B2 (en) | 2011-09-28 | 2023-05-16 | Nara Logics, Inc. | Systems and methods for providing recommendations based on collaborative and/or content-based nodal interrelationships |
US11727249B2 (en) | 2011-09-28 | 2023-08-15 | Nara Logics, Inc. | Methods for constructing and applying synaptic networks |
US10789526B2 (en) | 2012-03-09 | 2020-09-29 | Nara Logics, Inc. | Method, system, and non-transitory computer-readable medium for constructing and applying synaptic networks |
US11151617B2 (en) | 2012-03-09 | 2021-10-19 | Nara Logics, Inc. | Systems and methods for providing recommendations based on collaborative and/or content-based nodal interrelationships |
Also Published As
Publication number | Publication date |
---|---|
US8255396B2 (en) | 2012-08-28 |
CN102067119A (en) | 2011-05-18 |
CA2805391C (en) | 2013-10-22 |
EP2624151A1 (en) | 2013-08-07 |
EP2626798A1 (en) | 2013-08-14 |
EP2354982A1 (en) | 2011-08-10 |
WO2009108724A2 (en) | 2009-09-03 |
EP2260409A1 (en) | 2010-12-15 |
CN102067119B (en) | 2016-04-27 |
US20090216750A1 (en) | 2009-08-27 |
CA2805391A1 (en) | 2009-09-03 |
JP2011513819A (en) | 2011-04-28 |
US20090216639A1 (en) | 2009-08-27 |
US8402081B2 (en) | 2013-03-19 |
JP5429498B2 (en) | 2014-02-26 |
US20100023952A1 (en) | 2010-01-28 |
CA2716432A1 (en) | 2009-09-03 |
EP2624153A1 (en) | 2013-08-07 |
EP2624152A1 (en) | 2013-08-07 |
WO2009108724A9 (en) | 2010-01-21 |
EP2260408A2 (en) | 2010-12-15 |
CA2716432C (en) | 2014-05-06 |
WO2009108732A3 (en) | 2009-11-05 |
US20130151570A1 (en) | 2013-06-13 |
WO2009108732A2 (en) | 2009-09-03 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US8255396B2 (en) | Electronic profile development, storage, use, and systems therefor | |
US20090216563A1 (en) | Electronic profile development, storage, use and systems for taking action based thereon | |
US9633116B2 (en) | Endorsing local search results | |
US9985923B2 (en) | Mobile social interaction | |
RU2463654C2 (en) | Aggregating and searching profile data from different services | |
US9177063B2 (en) | Endorsing search results | |
Zhuang et al. | When recommendation meets mobile: contextual and personalized recommendation on the go | |
US10528574B2 (en) | Topical trust network | |
US20110035329A1 (en) | Search Methods and Systems Utilizing Social Graphs as Filters | |
US20150317398A1 (en) | Presenting non-suggested content items to a user of a social network account | |
US20150242750A1 (en) | Asymmetric Rankers for Vector-Based Recommendation | |
US20160335683A1 (en) | Rating System and Method | |
KR20070099709A (en) | Symbol index based user matching method and system | |
Gu et al. | CAMF: context aware matrix factorization for social recommendation | |
KR102552849B1 (en) | Apparatus and method for recommending contents | |
US20230224540A1 (en) | Systems and methods for generating a personality profile based on user data from different sources | |
Chen | A Personalized Recommendation Method for Ancient Chinese Literary Works Based on a Collaborative Filtering Algorithm | |
ZHUANG et al. | When Recommendation Meets Mobile: Contextual and Personalised Recommendation on the Go.(2011) |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
AS | Assignment |
Owner name: VENTURE LENDING & LEASING VII, INC., CALIFORNIA Free format text: SECURITY INTEREST;ASSIGNOR:ATIGEO LLC;REEL/FRAME:033654/0499 Effective date: 20140815 Owner name: VENTURE LENDING & LEASING VI, INC., CALIFORNIA Free format text: SECURITY INTEREST;ASSIGNOR:ATIGEO LLC;REEL/FRAME:033654/0499 Effective date: 20140815 |
|
AS | Assignment |
Owner name: ATEGEO CORPORATION, WASHINGTON Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:ATIGEO LLC;REEL/FRAME:035667/0888 Effective date: 20150515 |
|
AS | Assignment |
Owner name: ATIGEO CORPORATION, WASHINGTON Free format text: CORRECTIVE ASSIGNMENT TO CORRECT THE NAME OF THE RECEIVING PARTY PREVIOUSLY RECORDED AT REEL: 035667 FRAME: 0888. ASSIGNOR(S) HEREBY CONFIRMS THE ASSIGNMENT;ASSIGNOR:ATIGEO LLC;REEL/FRAME:040236/0554 Effective date: 20150515 |
|
AS | Assignment |
Owner name: VERITONE ALPHA, INC., CALIFORNIA Free format text: ASSIGNMENT OF ASSIGNORS INTEREST;ASSIGNOR:ATIGEO CORPORATION;REEL/FRAME:046302/0883 Effective date: 20171219 |
|
STCB | Information on status: application discontinuation |
Free format text: ABANDONED -- FAILURE TO RESPOND TO AN OFFICE ACTION |