Embodiments of this invention relate to computing systems and software for the collection, development, analysis, and use of profile attributes.
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, in certain instances by referring to the ratings views or purchases of groups of users similar to that user.
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.
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. The term “profile” includes the electronic profile as well as some or all of the profile attributes of an electronic profile. The analysis engine may also use profile attributes from electronic profiles of other entities, such as creating a group profile based on profile attributes for a plurality of profile owning entities, For example, as will be described further below, products, services, content, organizations, people, or other items (including virtual items such as within a game, simulation or other virtual environment) that may be particularly relevant for the profile owning entity are suggested based on information in the electronic profile for the entity, information in the electronic profile for other entities, or a combination of the information. The entity may be a person or a group of people. The entity may be real or virtual. The entity may have multiple separate and distinct profiles. The entity may be a user or users of a system. The entity may also be a segment of people that share a common attribute. The entity may also be a segment of people that do or do not share a particular attribute or attributes. 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 in
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 and content viewer 137, 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, television, 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. 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 the profiling system 110 and the user device 130 may occur through any mechanism. In some embodiments, 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 user device 130 includes a content viewer 137 for viewing content, as will be described in more detail below. In some embodiments, the content viewer is an Internet browser program including but not limited to Internet Explorer, Mozilla, Safari, and Firefox. In some embodiments, the content viewer is a browser plug-in. The profile management interface 135 enables communication with the profile management system 115 to establish, augment, or otherwise manipulate profile attributes pertaining to an entity represented by a user using the user device 130. The disambiguation engine 120 may receive profile attributes supplied from the user device 130 and further process the information to reduce ambiguity, including noise and variation, 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 130b and 130c shown in
Profile attributes 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. As will be described further below, the electronic profiles may be database structures and accordingly may be stored in a database as shown in
A content provider, or other entity seeking to interact with profile owning entities, may communicate with the profiling system 110 using a provider device 145. As with the user device 130, any device with suitable processing, memory, and communication capabilities to implement a content storing interface 150, may be used. Accordingly, the provider device 145 may be implemented as, but is not limited to, a server computer, personal computer, cell phone, personal digital assistant, set-top box, television, 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, storing 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, medical information, documents, data, software code, logic (e.g., circuits, firmware), equations, 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 145b and 145c. 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 (and/or irrelevance) 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. “Relevance” as used herein broadly includes the consideration of relevancy, the lack of relevancy (i.e., irrelevance), or combinations thereof.
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 attributes 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 attributes 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
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 attributes without actually receiving the profile attributes itself. Being able to control the accessibility of the profile attributes, and knowing content providers may not obtain the information directly, entities may share a greater amount of information with the profiling system 110. Further, through the profile management system 115 and disambiguation engine 120, 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.
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 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.
Examples of electronic profiles accordingly include data structures. Any type of data structure may be used that may store the electronic profile attributes described below. In one embodiment, the electronic profile is stored in a relational database.
Information stored in an electronic profile about an entity may include, but is not limited to any combination of the following: structured and unstructured data, preferences, possessions, social connections, images, permissions, recommendation preferences, location, role and context, real or virtual personas, schedules, tasks, weblinks, passwords, data stored in databases, and information managed by other entities, such as financial information, medical history, and billing information. 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 attributes 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
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), gender (Female), and medical history. Data associated with UserID3 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, medical 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
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
Referring again to
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
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 of
Accordingly, the structure shown in
The manner of storing preferences using the tables described in
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
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, through real or virtual profiles.
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 attributes may be used. For example, an entity may authorize their profile attributes 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 attributes, and the profile attributes are not generally shared with content providers that may request scoring of their content based on the entity's profile. However, the scoring may 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, or an index is offered to the provider to correlate against network content.
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 past, present, or future location, both physical or virtual, 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 attributes and the content of electronic profiles, exemplary methods and systems for obtaining profile attributes will now be discussed. Profile attributes 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
The profile management interface 135 may take any form suitable for receiving profile attributes from a profile owning entity or their representative. In one embodiment, 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. In one embodiment, 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. In some embodiments, 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
Accordingly, profile owning entities may provide profile attributes to the profile management system 115. The profile attributes 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 attributes 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 attributes submitted by an entity may accordingly be submitted to the disambiguation engine 120 of
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, 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 attributes, it may be cumbersome to implement on a larger scale.
Accordingly, the disambiguation engine 120 may function along with an indexing engine 420 as shown in
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. In one embodiment, 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. An example of a method that may be executed by the indexing engine 420 is shown in
Proceeding with reference to
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. 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 of
Having described the indexing of documents, a process for disambiguating a preference by the disambiguation engine 120 using the indexed content store 430 is illustrated in
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. application Ser. No. ______ entitled DETERMINING RELEVANT INFORMATION FOR DOMAINS OF INTEREST, filed on February xx, 2009, which application is hereby incorporated by reference in its entirety for any purpose.
Referring back to
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 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
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. application Ser. No. ______ entitled DETERMINING RELEVANT INFORMATION FOR DOMAINS OF INTEREST, filed on February xx, 2009, which application is hereby incorporated by reference in its entirety for any purpose.
As previously mentioned, profile attributes, including preferences, can be inferred and included in the electronic profile for an entity. Various information and behavior can be used for inferring profile attributes. For example, profile attributes can be inferred from other profile attributes of an entity's electronic profile. Profile attributes may be inferred using electronic profiles, or particular preferences included in the electronic profiles, for other similar or related entities. Other information can be used as well.
Accordingly, examples of the entry of profile attributes and refinement of entered profile attributes have been described above that may facilitate the creation and storage of electronic profiles.
Referring back to
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 and search information entered by an entity. An example of operation of the analysis engine 125 to select relevant content for an entity is shown in
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 to
In other embodiments, a specific request may not be required to begin the process shown in
Referring back to
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 of
In one embodiment, the system 100 shown in
The physician can log into 802 a user account from the user device 130 to access a physician portal from which the physician can obtain information on the manufacturer's products. The user account is associated with a profile for the physician that is stored by the electronic profile storage 140 and accessed 810 by the profile management interface 135. That is, the physician is a profile owning entity, as previously discussed. Additional information may be optionally analyzed 812 as well, including but not limited to previously visited Websites, recently reviewed documents or cases, patient records, and electronic profiles for physicians having similar profile attributes (e.g., area of practice, specialty, etc.). Where a profile has not yet been created for the physician, for example, when the physician creates a new account, a profile can be created and stored for the physician 806.
The physician's profile may include, various information, for example, medical specialty, research interests, practice profile, education, location of practice, as well as many other types of information related to the physician. The profile for the physician can be developed in a manner as previously described.
In researching the drug of interest, the physician may enter search criteria in a search window available in the drug manufacturer's Website. The search criteria and the request for analysis by the analysis engine 125 is provided by the provider device 145 to the profiling system 110. Based on the search criteria and the physician's profile accessed by the profile management system 115 (as well as any additional information accessed at 812), the analysis engine 125 scores 814 the manufacturer's product information stored in the content storage 155. The results of the scoring are provided to the provider device 145. The most relevant product information, as determined by the scoring, is presented 822 on the user device 130 for selection 826 and review by the physician.
In addition to the manufacturer's product information, in response to the physician searching for product information for the particular drug of interest, and where elected by the physician to receive additional medical information, research articles, results of studies, and other publications identified by the profiling system 110 can also be presented to the physician. The analysis engine scores 830 the additional medical information based on the search criteria and the physician's profile (as well as any additional information accessed at 812) to identify the additional information that may likely be of interest to the physician.
The additional medical information of interest is provided 834 to the physician, which can then be selected 838 by the physician and viewed on the user device 130. The additional medical information can be stored in the content storage 155 in the form of the documents themselves, or in some embodiments, as links to the additional medical information, and provided to the physician as documents, links, or a combination of the two.
By providing the additional medical information to the physician in this manner, the physician's research may be enhanced through receipt of relevant information that the physician may have not otherwise been aware of or discovered through independent research.
As the physician continues to interact with the manufacturer's Website, for example, performing additional research for product information, navigating through the manufacturer's Website, selecting from the product and/or medical information presented, or some other interaction, the profile management interface 135 can optionally monitor 818 the physician's activity and update 842 the additional medical information provided to the physician by identifying medical information of greater relevancy refined by the activity. In some embodiments, the physician's profile is updated 842 with the activity so that it may be used at a later time by the profile management interface 135.
A user can visit a Website for an entity that provides information on charitable organizations. Upon logging into 902 the user account through a user device 130, the profile management interface 135 communicates with the profile management system 115 to access 910 the user's associated profile stored in the electronic profile storage 140. Where no existing profile is stored in the electronic profile storage 140, the user can create 906 a profile that is associated with the user account. The profile attribute can include, for example, interests, preferred charities or types of causes, occupation, education, and other information for creating a profile that can be used in identifying charitable organizations to which the user may have interest in donating. User profiles can be created and updated as previously discussed.
The user can use a search option available at the entity's Website to locate charitable organizations matching search criteria entered by the user, as well as relying on the user's profile attribute. In some embodiments, the search criteria and a request for analysis is provided by the provider device 145 to the profiling system 110. In some embodiments, the search criteria and request are provided by the user device 130 to the profiling system 110.
The analysis engine 125 processes the user's search criteria and profile attribute and scores 914 various charitable organizations to rank the relevancy of the organizations in an effort to identify those that may be of interest to the user. Based on the scoring, a list of charitable organizations is presented 918 to the user. Summary information associated with each of the charitable organizations can also be provided. Links to the organizations can be provided as well to facilitate research of the organizations and donation thereto. Additional information, such as links to the charitable organization as well as detailed information for the event or campaign, are retrieved by the provider device 145 and provided 922 to the user device 130 in response to selection by the user.
In some embodiments, the user's interaction with the Website, such as the entered search criteria, charitable organizations selected from the list provided, is stored by optionally updating 926 the user's profile so that the information can be used in the future by the analysis engine 125.
The body of charitable organizations that are scored represent at least a portion of the content stored in the content storage 155. The organizations are those that have created a relationship with the entity providing the Website to be included as an organization that can be offered to those visiting the Website.
As previously mentioned, in some embodiments the system provides notifications and ongoing access to of charities having events, campaigns or ongoing needs that may be of interest to the user. For example, where a charitable organization is beginning a fundraising campaign, requesting ongoing contributions or publicizing an event, and the user has elected to receive notifications of such, the system can identify those users having a profile that may have interest in receiving notice of the campaign, or event, or interest in participating in ongoing contributions, with the notification appearing for example at a church, in a retail location, or at a sports or entertainment venue, on static or dynamic signage or billboard.
The entity receives information from the charitable organization of a campaign or event that it wants to be publicized. The information from the organization is indexed 930 (
In some embodiments, the analysis engine 125 processes the indexed information and user profiles by scoring 938 the user profiles in the electronic profile storage 140 against the event/campaign information and identifying 942 those users for which the indexed information has a score greater than a threshold, or based on another explicit trigger such as a purchase at a retail shop the value amount then being rounded to the nearest dollar for the charitable contribution. For those users, it is assumed the information is relevant, and the users would have interest in receiving notification of the information, that is, notification of the campaign or event.
The analysis engine 125 returns a list of those users that are identified to likely have interest in receiving the information. The provider device 145 processes the list of users and generates 946 notices that are delivered to those identified users, for example, by electronic mail notification, an alert presented to users upon logging into their accounts, or other notification techniques.
In another embodiment, the system 100 is used for sale and/or promotion of retail items by providing suggested items in response to a search by a user, and additionally or alternatively, provide notification to users that may find new retail items of interest and associated items and data.
Where items are suggested based on search criteria entered by the user, a profile associated with the user's account is used in addition to the search criteria entered by the user. The associated profile is created 1006 by the user and stored in the electronic profile storage 140 for access by the profile management interface 135 and the profile management system 115 upon logging in 1002 by the user. The profile may include information related to the preferences, likes and dislikes, personal information, birthdays, holidays, and other information that may be used for defining a profile of the user. The user's profile can be created and modified as previously discussed.
A search option available at the retailer's Website allows the user to specify a search for items of interest. In addition to the search terms entered by the user, the user's profile is accessed 1010 used by the analysis engine 125 when scoring 1014 the retail items stored in the content storage 155. Retail items may include such items as, but not limited to, the retailer's content, promotions, advertisements, warranty information, gift cards, retailers, vendors, retail domains, retail categories, merchandise, merchandise types, and other information related to retail. Additional information, which may include but not limited to, items of previous interest to the user, user purchase history, may be optionally accessed 1012 by the analysis engine 125 and used for scoring 1014 the retail items when accessed. The analysis engine 125 provides the results of the scoring to the provider device 145, and is used by the provider device 145 to provide a list 1018 of the retailer's items to the user device 130 that are relevant to the user's search and profile, and likely of interest to the user. As previously discussed, the number of items in the list provided by the retailer to the user may be based on a score threshold and/or number of listed items. In some embodiments, the content provided to the user may be in the form of links to more information about the particular item. Additional information for a retail item can be retrieved 1022 and provided to the user upon selection.
In some embodiments, the user's interaction with the retailer's Website, such as the entered search criteria, charitable organizations selected from the list provided, is stored by optionally updating 1026 the user's profile so that the information can be used in the future by the analysis engine 125.
In some embodiments, user profiles are used by the retailer to provide users with notification of retail items that may be of interest. That is, the retailer finds users based on the content and the user profiles, and where the user has opted to receive notifications, the notifications are provided to alert the users of the content.
For example, the retailer is interested in selling retail items in inventory. The retail items are indexed 1030 (
In another embodiment of the invention, the system 100 may be used for providing retail content to a user.
The user's electronic profile stored in the electronic profile storage 140 is accessed 1050 by the analysis engine 125 to identify content stored in the content storage 155 that may be relevant, that is, of interest for purchase by the user, in accordance with at least profile attributes of the user. The content may include such items as, but not limited to, the retailer's content, promotions, advertisements, warranty information, gift cards, retailers, vendors, retail domains, retail categories, merchandise, merchandise types, and other information related to retail.
The analysis engine 125 scores 1058 the content according to at least profile attributes for the user. Additional information, for example, profile attributes of electronic profiles for other entities stored in the electronic profile storage 145, items of previous interest to the user, user purchase history, may optionally be accessed 1054 and considered by the analysis engine 125 for scoring content. The additional information is not intended to be limited to that previously described and may include other types of additional information without departing from the scope of the present invention.
Content stored in the content storage 155 is accessed through the content scoring interface 150 of the provider device 145 by the analysis engine 125 and the content items scored 1058 based on profile attributes of one or more of the electronic profiles stored in electronic profile storage 140, for example, at least some of the profile attributes of the user's electronic profile. The analysis engine 125 provides 1062 the content scoring results to the provider device 145, which is used to identify relevant content that may be of interest to the user.
Information regarding relevant content can be provided 1066 to the user on the user device 130 in response to an express request from the user. For example, the user inputs a request for content, such as suggestions for retail items of interest, and related information and promotional material, alternative items, and other information, to be provided by the provider device 145.
In an alternative embodiment, the provider device 145 automatically provides 1066 content to the user device 130. For example, the provider device 145 may provide information to the user device 130, such as a portable electronic device, based on proximity of the portable electronic device (i.e., the user) to a retail item that may be of interest (i.e., relevant based on the score) to the user. The user's location information may be determined based on various techniques, including but not limited to, location information obtained from the portable electronic device, such as a cellular phone, personal digital assistant having GPS capabilities. Other location techniques known to those ordinarily skilled in the art may be used as well without departing from the scope of the present invention. Thus, when a user carrying a portable electronic device (user device 130) that can receive content from the provider device 145 is in proximity to a retail item of interest, the user may be notified. As previously described, the content may include information for the particular retail items, such as warranties, reviews, service records, reports, information for related items of interest, promotions for the retail items, including advertisements, offers for gift cards, and other offers. Information and offers for items related to the particular retail items may be provided as well. For example, in a case where the retail item of interest is a personal computer, the information and offers provided to the user may include information and offers for computer peripherals and computer accessories.
Providing notification and information of retail content as previously described may enhance the retail experience for a user.
In another embodiment of the invention, the system 100 can be used for creating a social network, as illustrated in
With reference to
The Website can be used to create social connections for the user. In some embodiments, the user can request recommendations for social groups to join based on the user's profile. The social groups may range in size from an individual to a plurality of individuals, and may include people, entities, fragments of interest, or combinations thereof. The user may also provide search criteria that is used by the analysis engine 125 in combination with the user's profile to recommend social groups of interest. The social groups can be content stored in the content storage 155. The user request is provided to the provider device 145, which in turn generates a request for the analysis engine 125 to access 1110 the user's profile and score 1114 the social groups against the user's profile, and against the search criteria where provided. In some embodiments, the analysis engine scores social groups against the user's profile at least in part on the expertise, interest or knowledge of other people having profiles that may be relevant to user's interests. The expertise, interest or knowledge may be measured against, for example, a person's profession, occupation, publications, experience, activities, and other information that may suggest expertise of a body of knowledge. The results of the scoring are provided 1118 by the profiling system 110 to the provider device 145 so that a list of recommended social groups are provided to the user. The user can select user groups from the list to obtain 1122 more information about the selected social group.
In some embodiments, the search criteria and the selection of social groups from the list can be used to update 1126 the user's profile.
The Website may also generate and provide notifications for users having profiles stored in the electronic profile storage 140 when a new social group is created. For example, the provider device 145 provides 1130 (
The Website may also be used in some embodiments by the user to recommend other users, based on their respective profiles, to have join a social group to which the user belongs. For example, the request made by the user to the provider device 145 is provided 1150 (
As illustrated by the present example, profiles that are created, stored, and modified as previously discussed can be used by a system to create social networks. Such a system enhances social interaction among users by identifying and notifying users of social groups and the creation of social connections that are likely of interest to a user.
In other embodiments, the system 100 is used to tailor therapy for a patient.
An electronic profile for a patient (i.e., profile owning entity) is created and stored 1306 in the electronic profile storage 140. The patient's profile may include physical profile, medical history, imagery, genetic make-up, allergies, tumor or ailment profile, actual physical samples such as blood, proteins, bacteria or tumor cells, genetic receptors with associated response probabilities for a specific drug, and other information relevant to creating a tailored therapy for the patient. The patient's electronic profile may be created and updated as previously discussed.
The patient's electronic profile is accessed 1310 through the profile management system 115 by the analysis engine 125. Additional information may be optionally accessed 1312 as well. The additional information may include, but is not limited to, relevant research, medical trials, drugs, and treatment protocols.
The analysis engine 125 scores 1314 drugs and treatment protocols against the patient's profile, and additional information if accessed. The drugs and protocols are stored as content in the content storage 155 and accessed through the provider device 145. A list of drugs and protocols considered relevant to the patient according to the scoring is provided 1318 to the provider for review. Additional information related to the drug and information related to the protocols can be retrieved and provided 1322 upon selection of a listed item.
In alternative embodiments, a physician requests creation of a tailored therapy which in some instances could be a pharmaceutical drug. A user device 130 can be used by the physician to interact with the system 100. The physician can create 1306 the patient profile which is stored in the electronic profile storage 140 and request a list of relevant drugs and/or protocols based on the patient's profile. In such embodiments, the results from the analysis engine are provided 1318 to the physician for review.
The patient's electronic profile can be updated (not shown in
In another embodiment, the system 100 is used for providing information to a traveler that may be relevant. The information that is provided may enhance the travel experience for the traveler.
The user's electronic profile stored 1330 in the electronic profile storage 140 includes profile attributes related to travel plans for the user, for example, destination, schedule, itinerary, reservations, and other information from which information related to the user's travel can be gathered.
The user's electronic profile is accessed 1334 by the analysis engine 125 to identify content relevant to the user's travel plans. Examples of the content stored in the content storage 155 can include, but is not limited to, travel information, flight status information, weather information, sales and retail promotions. The analysis engine 125 scores 1342 the content according to at least profile attributes for the traveler. Additional information, for example, profile attributes of electronic profiles for other entities stored in the electronic profile storage 145, may optionally be accessed 1338 by the analysis engine 125 for scoring content. The additional information is not intended to be limited to profile attributes of electronic profiles for other entities and may include other types of additional information without departing from the scope of the present invention.
The analysis engine 125 can be invoked manually by the user, for example, by user input on the user device 130. In an alternative embodiment, the analysis engine 125 automatically, for example, based on the user's proximity to the departure location, such as the airport. The user's location information may be determined based on various techniques, including but not limited to, location information obtained from a portable electronic device, such as a cellular phone or personal digital assistant having GPS capabilities.
Content stored in the content storage 155 is accessed through the content scoring interface 150 of the provider device 145 by the analysis engine 125 and the content items scored 1342 based on profile attributes of one or more of the electronic profiles stored in electronic profile storage 140, for example, at least some of the profile attributes of the user's electronic profile.
The analysis engine 125 provides the content scoring results to the provider device 145, which is used to identify relevant content to provide 1346 to the user on the user device 130. Selectable content selected by the user may be retrieved and provided 1350 to the user for review. In some embodiments, the types of content provided to the user device 130 is determined by the content provider. In some embodiments, the electronic profile stored in the electronic profile storage 140 for the user can include preferences as to the types of content to be provided to the user device 130. For example, the user's content preference for travel information can include flight status, weather information for the destination, and offers and promotions for hotels, rental car agencies, retailers, and other businesses that the user may request or is deemed relevant by the provider.
The information previously discussed with regard to the system 100 of
The user interface 1400 includes an entry node 1410 to which level 1 (L1) nodes 1414 are connected by L1 connectors 1412. Level 2 nodes 1420 are connected to a respective L1 node 1414 by L2 connectors 1418. The entry node 1410 may depict information to which L1 and L2 nodes are related. The L1 nodes 1414 may depict information having relevance to the entry node 1410. The L2 nodes 1420 may depict information supporting the relevance of the respective L1 node. In some embodiments, the L2 nodes 1420 may depict additional information having relevance to the entry node 1410, but to a lesser extent than the respective L1 node to which the L2 node is connected. A L1 or L2 node 1414, 1420 can be selected to become a new entry node 1410. The information depicted by the L1 and L2 nodes 1414, 1420 will have relevance to the information depicted by the new entry node 1412.
Characteristics of the nodes 1410, 1414, 1420 and the connectors 1412, 1418 can convey information. For example, although not shown in the line drawing of
The size and shape of the nodes 1410, 1414, 1420 may be used to convey relativity of the information of a node to the information of other nodes, for example, number of times the information has previously been accessed, relevance of the information, quantity of information, and/or other relative characteristics of a node of information to one another. The positioning of the nodes 1410, 1414, 1420 relative to one another may be used to convey characteristics about the information of a node as well. For example, the distance of one node to another may depict relative relevance of the respective information, in some instances based on Hebbian strength of association. The length of the connectors connecting the nodes may be longer or shorter depending on the different distances. The node location within in a region, a coordinate space, range of angles, or other positional information may convey a category, class, type of information. Other characteristics of the nodes and connectors may be used to convey information as well without departing from the scope of the invention. The previously described examples are intended to be non-limiting examples.
The user interface 1400 can be used to depict and select information, as previously described. Other examples of the information that may be depicted and selected include, relationship between an entity (entry node 1410), preference attribute (L1 nodes 1412), and bodies of expert content (L2 nodes 1420), relationship between a preference attribute (entry node 1410), bodies of expert content (L1 nodes 1412), and relevant content (L2 nodes 1420), disambiguating search criteria having an initial search term (entry node 1410), suggested relevant secondary search terms (L1 nodes 1412), suggested relevant tertiary search terms (L2 nodes 1420) and suggested relevant quaternary search terms (L3 nodes, not shown).
Examples of scoring content based on the profiles of profile owning entities and identifying related relevant terms have been described above in both an example of disambiguating preference information and scoring content for selection. Examples of predictive and deterministic actions based at least in part on the electronic profiles have been described as well the calculation of a relevance number based on profile attributes 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.
This application claims the benefit of U.S. Provisional Application 61/067,162, filed Feb. 25, 2008, entitled PLATFORMS, SYSTEMS AND METHODS FOR DATA HANDLING, and is a continuation-in-part of U.S. application Ser. No. 12/334,389, filed Dec. 12, 2008, entitled ELECTRONIC PROFILE DEVELOPMENT, STORAGE, USE, AND SYSTEMS THEREFOR, which applications are hereby incorporated by reference in their entirety.
Number | Date | Country | |
---|---|---|---|
61067162 | Feb 2008 | US |
Number | Date | Country | |
---|---|---|---|
Parent | 12334389 | Dec 2008 | US |
Child | 12392908 | US |