Traditionally, consumers of healthcare products select a particular product that treats a particular condition. The condition may be a skin condition, such as acne or dandruff, a hair condition, a phase of life such as menopause, skin aging, and so forth. Oftentimes, the condition is self-diagnosed by the consumer and the particular healthcare product is selected based on an advertisement, word of mouth, or selection in store or online. However, the self-diagnosis may not be correct and/or may not take into account the root cause of a particular symptom or symptoms, and the selected product may not be the most effective product for the root cause of the symptom.
This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used as an aid in determining the scope of the claimed subject matter.
In one example, a computer-implemented method is provided. The method includes generating a plurality of clusters; generating, for a new user, a profile; associating the generated profile into a cluster of the plurality of clusters; and generating, by a machine learning (ML) model, a recommendation for the user based on the associated cluster.
In another example, an apparatus is provided. The apparatus includes a user interface (UI); a memory; an image capturing device configured to capture a facial scan of a user; and a processor coupled to the memory configured to: control the UI to present a questionnaire; receive, via the UI, a response to the questionnaire; generate a profile associated with the user based on the received responses to the questionnaire and the captured facial scan; associate the generated profile into a cluster of a plurality of clusters; and execute, a machine learning (ML) model to generate a recommendation for the user based on the associated cluster.
In another example, a computer-readable storage media is provided. The computer-readable storage media stores instructions that, when executed by a processor, cause the processor to generate a plurality of clusters, each cluster of the generated plurality of clusters including at least a set of variables for users included in the cluster, the set related to at least one of gender, age, skin tone, acne marks, acne frequency, a lesion score, or a body distribution score; generate, for a new user, a profile, the generated profile including at least one variable of the set of variables; associate the generated profile into a cluster of the plurality of clusters; and executing a machine learning (ML) model to generate a recommendation for the user based on the associated cluster.
Other technical features may be readily apparent to one skilled in the art from the following figures, descriptions, and claims.
The present description will be better understood from the following detailed description read in light of the accompanying drawings, wherein:
Corresponding reference characters indicate corresponding parts throughout the drawings. In
The various implementations and examples will be described in detail with reference to the accompanying drawings. Wherever possible, the same reference numbers will be used throughout the drawings to refer to the same or like parts. References made throughout this disclosure relating to specific examples and implementations are provided solely for illustrative purposes but, unless indicated to the contrary, are not meant to limit all examples.
As described herein, identification of a particular condition, such as acne, skin aging, or dandruff, is traditionally performed by a consumer via self-diagnosis, which may fail to take into account an underlying cause of the symptom. Moreover, treatment typically involves treatment of the condition without addressing the underlying cause of the symptom. For example, a consumer may identify a condition, such as acne, and select a particular product that treats acne without a full understanding of why the acne presents, the most effective product to treat the acne, or other or different products that treat an underlying cause of the acne. Moreover, over time a consumer may default to the selection of a previously selected product that was effective at a previous time, but due to changes in the consumer's age, lifestyle, environment, and so forth may no longer be the most effective product to treat the same condition. Current solutions fail to adequately take into account underlying causes of various symptoms in order to recommend an optimal product or lifestyle adjustment, as well as fail to address evolving aspects of a consumer's profile.
Accordingly, aspects of the present disclosure provide systems and methods for generating a personal profile for a consumer, identifying one or more underlying causes of one or more conditions, and generating, using artificial intelligence (AI), holistic product and/or lifestyle recommendations to address the one or more conditions. In some examples, the recommendations are updated over time to incorporate feedback regarding the implementation of a recommendation, a change in the condition or the profile of the consumer, and so forth. The systems and methods described herein operate in an unconventional manner by collecting data from various sources and in various formats for a new profile, converting the collected data into a standardized format, generating clusters of similar profiles and associating the new profile with a particular cluster, determining an expected health outcome for the profiles in the cluster and identifying an associated intervention, and generating a recommendation that, when applied, implements the intervention to address the expected health outcome. The present disclosure therefore provides numerous technical effects, including an improved data structure that stores the converted data originally collected from multiple sources that facilitates improved retrieval of the information, an improved recommendation engine that implements a trained machine learning model to optimizes the content delivered, i.e., the generated recommendation, to a consumer based on specific historical user characteristics, taking into account changes in the consumer's profile over time.
For example, the present disclosure provides a profile generator that generates a profile for a consumer. The profile includes variables related to consumer data including, but not limited to, gender, age, a lesion score, a skin tone, whether the consumer has acne marks/scars, a frequency of acne, and a body distribution score. A cluster generator generates a cluster of similar profiles. Similar profiles are profiles that have a determined similarity to be above a similarity threshold based on the values of the variables. A recommendation engine generates a health outcome for a particular cluster, identifies an intervention for the health outcome, and generates a recommendation including the intervention. The recommendation is provided to the consumer. In some examples, the recommendation engine receives feedback regarding the provided recommendation and is updated, based on the received feedback, to improve further recommendations. In some examples, the cluster into which a particular profile is associated changes over time. For example, as a consumer's age, lesion score, acne frequency, or body distribution score changes, such as based on the implementation of a recommended intervention, the profile is more closely associated with a different cluster. The recommendation engine then generates an updated recommendation based on the new cluster.
Various examples described here provide a proactive application, or kit, to deliver physical interventions that will change health outcomes. In some examples, the application is an aspect of one or more bundled products that includes the application, content, and a gamified journey point system.
In some examples, the cluster a particular profile is associated with changes over time. For example, as a consumer's age changes, recommendations are implemented that change the profile of the consumer, and so forth, the profile transitions from one cluster to another over time. This is referred to as a personal trajectory. Accordingly, aspects of the present disclosure enable a journey for a consumer to identify causes of health outcomes, such as acne, gut health, etc., and the reasoning behind those causes, as well as what traits and characteristics a consumer may be prone to, and provides recommendations that include interventions to understand how to address and mitigate negative traits and characteristics and enhance positive traits and characteristics.
As described herein, various examples of the present application provide a technical solution to the inherently technical problem of identifying similarities between digital profiles and associating a newly generated profile with a group of existing profiles based at least in part on digital image analysis, and further detecting changes to a profile over time in order to maintain association of the profile with the closest group of existing profiles. This solution provides at least two technical advantages, including reducing the consumption of computing resources over existing solutions that begin a new categorization process of a user each time an update is made to a user's profile, and generating and implementing an improved set of indexes to facilitate the retrieval of the profile and/or cluster information of a user for the generation of a user recommendation.
The system 100 includes a computing device 102, a network 134, and a user device 136. The computing device 102 represents any device executing computer-executable instructions 106 (e.g., as application programs, operating system functionality, or both) to implement the operations and functionality associated with the computing device 102. The computing device 102 in some examples includes a mobile computing device or any other portable device. A mobile computing device includes, for example but without limitation, a mobile telephone, laptop, tablet, computing pad, netbook, gaming device, and/or portable media player. The computing device 102 can also include less-portable devices such as servers, desktop personal computers, kiosks, or tabletop devices. Additionally, the computing device 102 can represent a group of processing units or other computing devices.
In some examples, the computing device 102 includes at least one processor 108, a memory 104 that includes the computer-executable instructions 106, and a user interface device 110. The processor 108 includes any quantity of processing units and is programmed to execute the computer-executable instructions 106. The computer-executable instructions 106 are performed by the processor 108, performed by multiple processors within the computing device 102, or performed by a processor external to the computing device 102. In some examples, the processor 108 is programmed to execute computer-executable instructions 106 such as those illustrated in the figures described herein, such as
The memory 104 includes any quantity of media associated with or accessible by the computing device 102. In some examples, the memory 104 is internal to the computing device 102. In other examples, the memory 104 is external to the computing device 102 or both internal and external to the computing device 102. For example, the memory 104 can include both a memory component internal to the computing device 102 and a memory component external to the computing device 102. The memory 104 stores data, such as one or more applications 107. The applications 107, when executed by the processor 108, operate to perform various functions on the computing device 102. The applications 107 can communicate with counterpart applications or services, such as web services accessible via the network 134. In an example, the applications 107 represent server-side services of an application executing in a cloud, such as a cloud server.
In some examples, the application 107 is an application for generating an acne profile of a consumer and generating a recommendation for one or more products and/or lifestyle changes to treat the acne. In some examples, the application 107 is an application for generating a hair profile of a consumer and generating a recommendation for one or more products and/or lifestyle changes to care for the hair of the consumer. In some examples, the application 107 is an application for assisting a user experiencing a particular phase of life, such as menopause, and generating a recommendation for one or more products and/or lifestyle changes to address symptoms believed to be caused by the particular phase of life.
In some examples, such as where the application 107 is an application for generating the acne profile and associated recommendation or recommendations, the application 107 further includes image analysis for analyzing an image or images captured by the image capturing device 152. For example, the application 107 may perform specialized image analysis particular to the application 107. Where the application 107 generates an acne profile, the specialized image analysis includes executing a machine learning (ML) or artificial intelligence (AI) based tool to identify and analyze existing acne, blemishes or scars related to historical cases of acne, and so forth. Results from the analyzed image may be used as a variable by the profile generator 120 to generate a profile for the user and place the profile for the user in an existing cluster.
The user interface device 110 includes a graphics card for displaying data to a user and receiving data from the user. The user interface device 110 can also include computer-executable instructions, for example a driver, for operating the graphics card. Further, the user interface device 110 can include a display, for example a touch screen display or natural user interface, and/or computer-executable instructions, for example a driver, for operating the display. The user interface device 110 can also include one or more of the following to provide data to the user or receive data from the user: speakers, a sound card, a camera, a microphone, a vibration motor, one or more accelerometers, a BLUETOOTH® communication module, global positioning system (GPS) hardware, and a photoreceptive light sensor. In a non-limiting example, the user inputs commands or manipulates data by moving the computing device 102 in one or more ways.
The computing device 102 further includes a communications interface device 112. The communications interface device 112 includes a network interface card and/or computer-executable instructions, such as a driver, for operating the network interface card. Communication between the computing device 102 and other devices, such as but not limited to the user device 136, can occur using any protocol or mechanism over any wired or wireless connection.
The computing device 102 further includes a data storage device 114 for storing data, such as, but not limited to one or more profiles 116, clusters 118, and/or interventions 119. The data 114 can be data received from the user device 136 and/or data received, retrieved, or obtained by one or more of the profile generator 120, cluster generator 122, and recommendation engine 124. The profile(s) 116 includes at least one profile for a particular consumer, including data values regarding variables for the consumer. In some examples, the profile, data values, and variables depend on the type of application, or applications, 107 executed on the computing device 102. For example, where the application 107 is a skin health application, the variables may include, but are not limited to, gender, age, a lesion score, a skin tone, whether the consumer has acne marks/scars, a frequency of acne, and a body distribution score. In some examples, one or more scores, such as the lesion score, body distribution score, and so forth, are assigned a color, such as green, red, orange, yellow, etc., rather than a quantified score. Each profile 116 corresponds to a different consumer and is generated by the profile generator 120. The cluster(s) 118 includes at least one cluster that includes a selected set of profiles 116 that have a similarity score above a similarity threshold. Each cluster 118 is generated by the cluster generator 122. The intervention(s) 119 include interventions, as described below, approved for treatment of various health outcomes, such as products, lifestyle adjustments, or a combination of these.
The data storage device 114 can include one or more different types of data storage devices, such as, for example, one or more rotating disks drives, one or more solid state drives (SSDs), and/or any other type of data storage device. The data storage device 114 in some non-limiting examples includes a redundant array of independent disks (RAID) array. In other examples, the data storage device 114 includes a database. The data storage device 114, in this example, is included within the computing device 102, attached to the computing device 102, plugged into the computing device 102, or otherwise associated with the computing device 102. In other examples, the data storage device 114 includes a remote data storage accessed by the computing device 102 via the network 134, such as a remote data storage device, a data storage in a remote data center, or a cloud storage.
The computing device 102 further includes a profile generator 120. In some examples, the profile generator 120 is an example of a specialized processor, or processing unit, implemented on the processor 108. The profile generator 120 generates a profile for a consumer based on data received from the consumer, such as data input on the external device 136 and transmitted to the computing device 102. For example, the profile generator 120 receives raw data from the consumer in various data formats, i.e., textual formats, numerical formats, etc., and converts, or transforms, the received data into a standardized data format. The standardized data is stored in the data storage device 114 as the profile 116.
The computing device 102 further includes a cluster generator 122. In some examples, the cluster generator 122 is an example of a specialized processor, or processing unit, implemented on the processor 108. The cluster generator 122 generates a cluster that includes at least two profiles. To generate a cluster, the cluster generator 122 determines the similarity between a particular profile and each additional profile. In some examples, a profile is added to a particular cluster when the profile has a similarity threshold with the other profiles that are included in the cluster that reaches or exceeds a similarity threshold. The similarity threshold may be a threshold percentage of data values of the profiles that are the same or similar, a threshold number of the data values that are the same, one or more particular values that are the same, or any other suitable threshold for determining similarity. In some examples, the cluster generator 122 generates a persona, or phenotype, associated with each generated cluster. The generated persona includes an artificial profile that represents the data values of the profiles in the cluster.
The computing device 102 further includes a recommendation engine 124. In some examples, the recommendation engine 124 is an example of a specialized processor, or processing unit, implemented on the processor 108. The recommendation engine 124 generates one or more recommendations based on the consumer profile and/or the cluster to which the consumer profile belongs. The recommendation engine 124 generates a recommendation based on the type of system 100 to which the recommendation engine 124 belongs. For example, where the system 100 is a system for generating acne profiles and recommendations, the recommendation engine 124 generates a recommendation for addressing acne. Where the system 100 is a system for generating menopausal profiles and recommendations, the recommendation engine 124 generates a recommendation for addressing menopausal symptoms.
The recommendation engine 124 includes a health outcome identifier 126, an intervention identifier 128, a recommendation generator 130, and a feedback receiver 132. The health outcome identifier 126 identifies a health outcome associated with a particular cluster. In some examples, the health outcomes include a condition, such as acne, dandruff, menopause, and so forth, and a degree, or severity, such as high, mild, widespread, contained, and so forth. In other words, a health outcome may be widespread acne, low dandruff, and so forth. In some examples, the health outcome further includes a frequency, such as often, occasional, etc. In some examples, health outcome further includes additional detail, such as an anticipated underlying cause of the health outcome, such as inflammatory, clogged pores, genetic, environmental, and so forth. In some examples, the identified health outcomes are stored as a value of the cluster 118 in the data storage device 114.
The intervention identifier 128 identifies a particular intervention that, when applied, are anticipated to alleviate or mitigate the identified health outcome based on research data, clinical data, and so forth. Various examples of an intervention include a product, a combination of two or more products, a lifestyle adjustment, a combination of two or more lifestyle adjustments, a combination of at least one product and at least one lifestyle adjustment, and so forth. In some examples, the interventions are stored in the data storage device 114 as interventions 119 crossed reference with health outcomes. In some examples, the interventions 119 are ranked according to an anticipated outcome. For example, an intervention 119 having a greater likelihood of a positive outcome is ranked higher than an intervention 119 having a lower likelihood of a positive outcome. In another example, an intervention 119 having a greater potential effect is ranked higher than an intervention having a lower potential effect.
The recommendation generator 130 generates a recommendation for a consumer associated with a particular profile. In examples where the intervention identifier 128 identifies one potential intervention, the generated recommendation includes the intervention 119 identified by the intervention identifier 128 and instructions for implementation of the identified intervention 119. In examples where multiple potential interventions are identified, the recommendation generator 130 generates a recommendation that includes the highest ranked intervention 119 or a set of the highest ranked interventions. In some examples, the recommendation generator 130 selects an intervention 119 or interventions 119 based on weighing a likelihood of engagement and compliance with the intervention, severity of the health outcome, and immune/holistic health. For example, where a severity of the health outcome is low, the recommendation generator 130 may place a higher weight on engagement and compliance to treat a less severe condition, in contrast to an example where the severity of the health outcome is higher and a greater weight is placed on immune/holistic health that lends toward a stronger intervention that otherwise may have a lower engagement or compliance.
For example, Table 1 illustrates an example of different interventions having scores for different holistic health effects, engagement and compliance (i.e., “adopted”), a mean benefit, and a projected benefit.
In some examples, an intervention includes a particular product, such as an acne product, and a lifestyle adjustment. The generated recommendation includes instructions for implementing the intervention, such as a quantity of the acne product to be applied a set number of times per day or per week. For example, the generated recommendation includes the use of two products, a facial cleanser and a moisturizing product, and instructions to use the two products including for the consumer to wash their face, apply a particular amount of the facial cleanser, directly after applying the facial cleanser, applying a particular amount of the moisturizer, waiting a predetermined time, and then applying an additional product, such as a sun protection factor (SPF) product, to avoid acne marks and scarring. It should be understood that this example of a recommendation is presented for illustration only and should not be construed as limiting. Various examples of a generated recommendation are possible without departing from the scope of the present disclosure. In some examples, recommendations for a particular product or products includes a link to a website where the recommended product is available for purchase by the consumer.
The feedback receiver 132 receives feedback regarding a generated recommendation. In some examples, the feedback is received via the user interface device 110. In other examples, the feedback is received via the communications interface device 112 from an external device, such as a user device 136, of the consumer that implements the generated recommendation. The received feedback includes one or more indications regarding the success, failure, and/or viability of the generated recommendation. In the example above where the generated recommendation includes the facial cleanser and moisturizing product and associated instructions, the feedback may be that the generated recommendation resulted in positive results, e.g., reduced acne, negative results, e.g., no change in acne or increased acne, or non-viability, such as the generated recommendation was difficult to implement due to complex instructions, too much time was required to correctly follow the instructions, and so forth. In some examples, feedback is received through the completion of a user survey, where a consumer provides scaled ratings for various elements of the recommendation, such as a scale of one to ten, one to five, and so forth. In other examples, feedback is received based on user data that maps whether the recommended product was purchased through the provided link, whether the recommended product was purchased at a later time, whether the recommended product was purchased multiple times, and so forth. In these examples, the feedback receiver 132 analyzes the received feedback and provides the analyzed feedback to the recommendation generator 130.
Based on the received feedback, the recommendation generator 130 is updated based on the received feedback. For example, positive feedback is used to reinforce the generated recommendation, while negative feedback or feedback that a recommendation is non-viable is implemented so that a future recommendation for the consumer and/or other profiles in the same cluster as the consumer includes a different product, different combination of products, different instructions for implementing the product or products, and so forth.
In some examples, the received feedback is further used by the profile generator 120 to update the profile. For example, feedback received that indicates a lower level of acne automatically updates the profile for the consumer to reflect the lowered level of acne. In some examples, based on the updated profile, the cluster generator 122 re-clusters the updated profile based on the updated information. For example, the cluster generator 122 re-clusters the updated profile into a new cluster that includes other profiles with similar acne levels. Based on the updated cluster for the profile, the recommendation generator 130 generates an updated recommendation for the consumer to reflect the updated profile and cluster, including but not limited to a product, a combination of two or more products, a lifestyle adjustment, a combination of two or more lifestyle adjustments, a combination of at least one product and at least one lifestyle adjustment, and so forth, where the products and lifestyle adjustments may be the same or different than the originally recommendation products or lifestyle adjustments, respectively.
The user device 136 is another example of a computing device, separate from and external of the computing device 102. In some examples, the user device 136 includes a mobile computing device or any other portable device. A mobile computing device includes, for example but without limitation, a mobile telephone, laptop, tablet, computing pad, netbook, gaming device, and/or portable media player. The user device 136 can also include less-portable devices such as servers, desktop personal computers, kiosks, or tabletop devices. Additionally, the user device 136 can represent a group of processing units or other computing devices.
In some examples, the user device 136 includes at least one processor 142, a memory 138 that includes the computer-executable instructions 140, and a user interface device 144. The processor 142 includes any quantity of processing units and is programmed to execute the computer-executable instructions 140. The computer-executable instructions 140 are performed by the processor 142, performed by multiple processors 142 within the user device 136, or performed by a processor 142 external to the user device 136. In some examples, the processor 142 is programmed to execute computer-executable instructions 140 such as those illustrated in the figures described herein, such as
The memory 138 includes any quantity of media associated with or accessible by the user device 136. In some examples, the memory 138 is internal to the user device 136. In other examples, the memory 138 is external to the user device 136 or both internal and external to the user device 136. For example, the memory 138 can include both a memory component internal to the user device 136 and a memory component external to the user device 136. The memory 138 stores data, such as one or more applications 150. The applications 150, when executed by the processor 142, operate to perform various functions on the user device 136. The applications can communicate with counterpart applications or services, such as web services accessible via the network 134. In an example, the applications represent downloaded client-side applications that correspond to server-side services executing in a cloud, such as a cloud server.
In some examples, the application 150 may be an example of the application 107. In other words, where the application 150 is an application for generating the acne profile and associated recommendation or recommendations, the application 150 further includes image analysis for analyzing an image or images captured by the image capturing device 152. For example, the application 150 may perform specialized image analysis particular to the application 150. Where the application 150 generates an acne profile, the specialized image analysis includes executing a ML or AI based tool to identify and analyze existing acne, blemishes or scars related to historical cases of acne, and so forth. Results from the analyzed image may be used as a variable by the profile generator 120 to generate a profile for the user and place the profile for the user in an existing cluster.
The user interface device 144 includes a graphics card for displaying data to a user and receiving data from the user. The user interface device 144 can also include computer-executable instructions, for example a driver, for operating the graphics card. Further, the user interface device 144 can include a display, for example a touch screen display or natural user interface, and/or computer-executable instructions, for example a driver, for operating the display. The user interface device 144 can also include one or more of the following to provide data to the user or receive data from the user: speakers, a sound card, a camera, a microphone, a vibration motor, one or more accelerometers, a BLUETOOTH® communication module, global positioning system (GPS) hardware, and a photoreceptive light sensor. In a non-limiting example, the user inputs commands or manipulates data by moving the user device 136 in one or more ways.
In some examples, the user interface device 144 is configured to launch and display a visualization of the application 150, such as illustrated in
The user device 136 further includes a communications interface device 146. The communications interface device 146 includes a network interface card and/or computer-executable instructions, such as a driver, for operating the network interface card. Communication between the user device 136 and other devices, such as but not limited to the computing device 102, can occur using any protocol or mechanism over any wired or wireless connection.
The user device 136 further includes a data storage device 148 for storing data, such as, but not limited to user provided data associated with a profile 116 of a consumer who is the user of the user device 136. The data can be data received via the user interface device 144 and/or data received, retrieved, or obtained from the computing device 102.
The data storage device 148 can include one or more different types of data storage devices, such as, for example, one or more rotating disks drives, one or more solid state drives (SSDs), and/or any other type of data storage device. The data storage device 148 in some non-limiting examples includes a redundant array of independent disks (RAID) array. In other examples, the data storage device 148 includes a database. The data storage device 148, in this example, is included within the user device 136, attached to the user device 136, plugged into the user device 136, or otherwise associated with the user device 136. In other examples, the data storage device 148 includes a remote data storage accessed by the user device 136 via the network 134, such as a remote data storage device, a data storage in a remote data center, or a cloud storage.
The user device 136 further includes an image capturing device 152. In some examples, the image capturing device 152 is a camera operable to capture still images and/or video of a consumer's skin. In some examples, the captured images and/or video is used by the recommendation engine 124 to enhance the generated recommendation, as described herein. For example, the captured images and/or video is included in the profile 116 of the user stored in the data storage device 114 and used to provide objective detail regarding the consumer's skin, in comparison to subjective detail that is provided by the user, for example in response to a questionnaire.
The system 200 includes a cluster generator 202. In some examples, the cluster generator 202 is an example of the cluster generator 122 illustrated in
The cluster generator 202 implements a clustering algorithm, or set of algorithms, to determine the similarity between a particular profile and each additional profile. In some examples, a profile is added to a particular cluster, or a new cluster is generated, when the profile has a similarity threshold with the other profiles that are included in the cluster that reaches or exceeds a similarity threshold. The similarity threshold may be a threshold percentage of data values of the profiles that are the same or similar, a threshold number of the data values that are the same, one or more particular values that are the same, or any other suitable threshold for determining similarity.
In examples where the cluster generator 202 initially generates clusters, the cluster generator 202 identifies one or more identifying features of a persona of the cluster. The persona is an artificial profile that represents the data values of the profiles in the cluster. For example, a persona for a first cluster includes males ages 28-32 with medium lesion scores. The cluster generator 202 identifies profiles that match aspects of the persona and then separates those profiles into one or more clusters based on additional factors. In this example, a first cluster 208a is generated for profiles of males ages 28-32 with medium lesion scores and an acne frequency of “often”, a second cluster 208b is generated for profiles of males ages 28-32 with medium lesion scores and an acne frequency of “sometimes”, and a third cluster 208n is generated for profiles of males ages 28-32 with medium lesion scores and an acne frequency of “rare”. A first persona 210 is associated with the first cluster 208a, a second persona 212 is associated with the second cluster 208b, and a third persona 214 is associated with the third cluster 208n. It should be understood that the present example is presented for illustration only. In various examples, various clusters are generated based on a variety of different factors without departing from the scope of the present disclosure. In particular, eight example clusters are presented in Table 2 below.
Accordingly, the architectural structure of the clusters 208 and personas 210-214 provide an improved set of indexes that are stored in the data storage device 114 that facilitate improved retrieval by one or more elements of the recommendation engine 124. Improving the retrieval of data associated with one or more clusters 208 and/or one or more personas 210-214 enables more effective association of a new profile with an existing cluster as well as more effective re-association of an existing profile with a different cluster based on new data being received. The retrieval of the data is improved by storing the clusters 208, i.e., the clusters 118, in the data storage device 114 with the associated personas 210-214 embedded with the clusters 208, which reduces the consumption of computing resources required to associate an updated profile with a new cluster. Clusters 208 may be stored with in the data storage device 114 with tags indicating similarities between different clusters 208 so that the cluster generator 202 may identify a new cluster, or set of new clusters, with a high probability for an updated profile to be associated with. This in turn enables the cluster generator 122 to learn, over time, that particular changes to profiles in a particular cluster 208 historically lead to the profile being associated with a particular new cluster. This results in a reduced consumption of computing resources for associating an existing profile with a new cluster based on new data being received.
In examples where the cluster generator 202 receives a new or updated profile to include in an existing cluster, the cluster generator 202 executes a clustering algorithm to compare the received profile to other profiles in different clusters. In some examples, the profile is added to the cluster with which the received profile has the highest similarity score. In other examples, the highest similarity score is compared to a similarity threshold to determine whether the profile is similar enough to the profiles of the closest cluster to be included in the cluster. Where the similarity score is equal to or exceeds the similarity threshold, the profile is added to the cluster. Where the similarity score is less than the similarity threshold, the profile is not similar enough to the profiles in the cluster to be included and the cluster generator 202 generates a new cluster for the profile.
In some examples, the cluster generator 202 implements a two-stage process to strategically prune a feature space for biological features, given that data may include a high variety of features, some of which are highly correlated with a particular condition, such as acne, and others which are less associated with the particular condition. The two-stage process includes i) a hierarchical feature collapse, and ii) a selection of top features by performing a principal component analysis (PCA). In the hierarchical feature collapse, the cluster generator 202 groups features together are more similar to one another, reflecting the strength of similarity between the features on a vertical axis. The number of resulting feature clusters is determined based on where the threshold on the vertical axis is cut. Features with a maximum variance are taken in the scenario where there are multiple elements in the feature cluster. In some examples, a more aggressive threshold is taken to further collapse the feature space. In other examples, a more conservative threshold is taken so as to only eliminate highly redundant features.
PCA is an unsupervised machine learning method to partition the variability in the data on non-overlapping axes consisting of linear combinations of the features such that the first few axes account for the most variability. The data is normalized by centering and scaling the data, which improves how informative the PCA. Otherwise, some features on a larger scale may dominate the axes. In some examples, a first number of features, such as the first then features in the first three principal components, are selected to identify the top features.
In some examples, the clusters generated by the cluster generator 202 are generated and output as a visualization, such as a heatmap. For visualization of the clusters, the biological dataset is scaled by a maximum feature importance for each of the features across the first three principal components. This effectively weights the raw data by the amount of variability the feature accounts for in the biological dataset and thus provides a better visual representation. In some examples, the clusters are visualized as clouds of like individuals as opposed to discrete clusters, given the continuous nature of the biological data, such as the number of lesions, age, outbreak frequency, and so forth. In some examples, an additional model is used to further cluster the data. For example, a partition around medoids (PAM) may be selected, which is robust to outliers, stable, fast, and capable of handling different data types. Various performance metrics, such as the Silhouette index, Calinski-Harabasz, or any other suitable clustering performance metrics, may be used to determine cluster size. As the biology underlying acne is continuous, literal interpretation of these discrete clustering metrics is inappropriate. Instead, using them as guidelines for a range of k may provide more informative clustering and analysis. The choice of k is determined based on a balance between visually inspecting the plots of these metrics over k and marketing bandwidth for acne personalization. The generated heatmap may then display the features by cluster, where color intensity corresponds to more extreme values, a first color corresponds to higher values, and a second color corresponds to lower values.
In summary, the cluster generator 202 performs the clustering by performing a hierarchical feature collapse to remove redundant features, taking top PCA features as selected features, scaling the PCA visualization by weights of top features, applying an additional model, such as PAM, to cluster the scaled data of selected features, choosing a value k by using various performance metrics such as the Silhouette index, Calinski-Harabasz, or other marketing resource constraints, and re-clustering with an optimal k value and using the cluster labels for analysis.
In some examples, certain biological features, also referred to herein as inclusion features, are included in the feature space utilized by the cluster generator 202 due to healthcare providers or practitioners considering them particularly pertinent to the particular condition or removed from the feature space utilized by the cluster generator 202 due to healthcare providers or practitioners considering them not particularly relevant to the particular condition. In some examples, the biological feature model includes upweighted features to emphasize a particular feature or features. In some examples, the biological feature model further includes skin conditions, such as atopic dermatitis, psoriasis, and so forth, in addition to the inclusion features described herein.
In some examples, the cluster generator 202 further clusters behavior determined to relate specifically to the particular condition in question, such as acne. To do so, the cluster generator 202 i) correlates biological and behavior features, ii) for each mapped biological feature, identifies behavioral features that map to the biological feature above a set threshold, iii) uses the highest mapped behaviors for a cluster, and iv) applies the clustering process described herein for the various factors except for the behavioral feature collapse, as feature filtering has already been performed. For example, the cluster generator 202 correlates the biological and behavioral features and identifies which behavioral features have the highest correlations to biological features, which then serve as reasonable proxies for underlying acne biology. The heatmap of the correlation between biological and behavioral features shows that the behavioral features are meaningfully clustered by the biology. In other words, there are clear groupings of behavioral questions/themes, which provides positive feedback of the clustering approach. Although in some examples the absolute correlation between the biological and behavioral features may be relatively low, this signal is meaningful as real-world correlations, particularly with humans, tend to be much weaker and harder to measure than lab controlled experiments.
In some examples, the behavioral model is combined with the biological model to develop a single model that models the dependence of the biological and behavioral features. In this example, a lighter hierarchical feature collapse is performed, as the feature space dramatically expands with the feature union. Using this reduced feature set, the same set of clustering procedures are performed as discussed herein, with the exception of the PCA feature selection stage, which is performed separately in the individual models.
As described herein, the recommendation engine 124 generates one or more recommendations based on the consumer profile and/or the cluster to which the consumer profile belongs.
Based on the received inputs, the recommendation engine 124 generates a recommendation that includes at least one intervention, such as intervention A, intervention B, intervention C, intervention D, and so forth that, when implemented, addresses an anticipated health outcome for the consumer. As described herein, an intervention include a product, a combination of two or more products, a lifestyle adjustment, a combination of two or more lifestyle adjustments, a combination of at least one product and at least one lifestyle adjustment, and so forth.
The timeline 400 illustrates a combination of health trajectories, user goals, engagement, and motivation, rankings, and models over time. As time progresses, a consumer's goals, engagement, and motivation, rankings may change. In addition, the cluster in which the profile of the consumer is placed may change based on the consumer's changing age, updates to the consumer's profile such as an acne frequency or lesion score being reduced over time due to the implementation of a recommended intervention or interventions, and so forth.
As shown in
In particular,
The computer-implemented method 800 begins by the profile generator 120 generating a plurality of profiles 116 in operation 802. As described herein, the profile generator 120 generates a separate profile 116 for each respective consumer based on data received from the consumer, such as data input on the external device 136 and transmitted to the computing device 102. Each newly generated profile 116 is stored in the data storage device 114.
In operation 804, the cluster generator 122 identifies a plurality of generated profiles 116. In some examples, the cluster generator 122 identifies the plurality of generated profiles 116 automatically as the profile is generated. In other examples, the cluster generator 122 identifies the plurality of generated profiles 116 in response to a trigger event, such as a time of day occurring. For example, the cluster generator 122 identifies the plurality of generated profiles 116 at a regular interval, such as the same time each day, once a week, once every two weeks, and so forth.
In operation 806, the cluster generator 122 identifies a value for each variable in each profile 116. As described herein, variables for the consumer include, but are not limited to, gender, age, a lesion score, a skin tone, whether the consumer has acne marks/scars, a frequency of acne, and a body distribution score. A value is a value of a particular variable. For example, a value for the variable of gender includes male, female, or not specified. A value for the variable of age includes the numerical age of the consumer.
In operation 808, the cluster generator 122 determines that two profiles 116 are similar. In some examples, the cluster generator 202 implements a clustering algorithm to determine the similarity between a particular profile and each additional profile. For example, the cluster generator 202 identifies one or more identifying features of a persona of the cluster. The cluster generator 202 then identifies profiles that match aspects of the persona and then separates those profiles into one or more clusters based on additional factors. In operation 810, generates the cluster 118 including the determined two profiles 116. The generated cluster 118 is stored in the data storage device 114.
In operation 812, the profile generator 120 generates a new profile for a new user. For example, as illustrated in
In operation 814, the cluster generator 122 associates the newly generated profile 116 with an existing cluster 118. For example, the cluster generator 202 executes a clustering algorithm to compare the received profile to other profiles in different clusters. In some examples, the profile is added to the cluster with which the received profile has the highest similarity score. In other examples, the highest similarity score is compared to a similarity threshold to determine whether the profile is similar enough to the profiles of the closest cluster to be included in the cluster. Where the similarity score is equal to or exceeds the similarity threshold, the profile is added to the cluster. Where the similarity score is less than the similarity threshold, the profile is not similar enough to the profiles in the cluster to be included and the cluster generator 202 generates a new cluster for the profile. The cluster 118 is updated in the data storage device 114 to include the newly generated profile 116.
In operation 816, the health outcome identifier 126 identifies a health outcome associated with the cluster 118 in which the newly generated profile 116 was included. In some examples, the health outcomes include a condition, such as acne, dandruff, and so forth, and a degree, or severity, such as high, mild, widespread, contained, and so forth. In other words, a health outcome may be widespread acne, low dandruff, and so forth. In some examples, the health outcome further includes a frequency, such as often, occasional, etc. In some examples, health outcome further includes additional detail, such as an anticipated underlying cause of the health outcome, such as inflammatory, clogged pores, genetic, environmental, and so forth. In some examples, the identified health outcomes are stored as a value of the cluster 118 in the data storage device 114.
In operation 818, the intervention identifier 128 identifies an intervention that has a likelihood to address the determined health outcome. For example, the intervention identifier 128 identifies a particular intervention that, when applied, are anticipated to alleviate or mitigate the identified health outcome based on research data, clinical data, and so forth. Various examples of an intervention include a product, a combination of two or more products, a lifestyle adjustment, a combination of two or more lifestyle adjustments, a combination of at least one product and at least one lifestyle adjustment, and so forth. In some examples, the interventions are stored in the data storage device 114 as interventions 119 crossed reference with health outcomes.
In operation 820, the recommendation generator 130 generates a recommendation for the profile 116, including the identified intervention 119. The generated recommendation includes the intervention 119 identified by the intervention identifier 128 and instructions for implementation of the identified intervention 119. In some examples, an intervention includes a particular product, such as an acne product, and a lifestyle adjustment. The generated recommendation includes instructions for implementing the intervention, such as a quantity of the acne product to be applied a set number of times per day or per week. For example, the generated recommendation includes the use of two products, a facial cleanser and a moisturizing product, and instructions to use the two products including for the consumer to wash their face, apply a particular amount of the facial cleanser, directly after applying the facial cleanser, applying a particular amount of the moisturizer, waiting a predetermined time, and then applying an additional product, such as a sun protection factor (SPF) product, to avoid acne marks and scarring. In some examples, the generated feedback is transmitted to the user device 136 and presented to the consumer, for example as illustrated in
In operation 822, the feedback receiver 132 determines whether feedback has been received regarding the generated and presented recommendation. Received feedback may include one or more indications regarding the success, failure, and/or viability of the generated recommendation. In an example where the generated recommendation includes the facial cleanser and moisturizing product and associated instructions, as illustrated in
In examples where feedback is received, in operation 824 the cluster generator 122 analyzes the received feedback and determines whether changes to the profile 116 result in the profile 116 remaining in the cluster 118. For example, the cluster generator 122 repeats the process described in operation 814 and then determines whether the profile 116 is still most similar to the initial cluster 118 or a new cluster 118. In examples where the changes to the profile 116 do not result in a significant enough change for the profile to move to a different cluster, i.e., the profile 116 remains in the same cluster 118, the computer-implemented method 800 terminates. In examples where the changes to the profile 116 do result in a significant enough change for the profile to move to a different cluster, the computer-implemented method 800 proceeds to operation 826 and the cluster generator 122 associates the profile with a new cluster 118. Then, in operation 828, the recommendation generator 130 generates an updated recommendation for the profile 116 based on the profile 116 being associated with the new cluster 118. The updated recommendation is presented to the consumer, such as via the user device 136, and the computer-implemented method 800 returns to operation 822 to determine whether feedback is received regarding the updated recommendation.
Computing device 900 includes a bus 920 that directly or indirectly couples the following devices: computer-storage memory 902, one or more processors 908, one or more presentation components 910, I/O ports 914, I/O components 916, a power supply 918, and a network component 912. While computing device 900 is depicted as a seemingly single device, multiple computing devices 900 may work together and share the depicted device resources. For example, memory 902 may be distributed across multiple devices, and processor(s) 908 may be housed with different devices.
Bus 920 represents what may be one or more busses (such as an address bus, data bus, or a combination thereof). Although the various blocks of
In some examples, memory 902 includes computer-storage media in the form of volatile and/or nonvolatile memory, removable or non-removable memory, data disks in virtual environments, or a combination thereof. Memory 902 may include any quantity of memory associated with or accessible by computing device 900. Memory 902 may be internal to computing device 900 (as shown in
Processor(s) 908 may include any quantity of processing units that read data from various entities, such as memory 902 or I/O components 916 and may include CPUs and/or GPUs. Specifically, processor(s) 908 are programmed to execute computer-executable instructions for implementing aspects of the disclosure. The instructions may be performed by the processor, by multiple processors within computing device 900, or by a processor external to client computing device 900. In some examples, processor(s) 908 are programmed to execute instructions such as those illustrated in the in the accompanying drawings. Moreover, in some examples, processor(s) 908 represent an implementation of analog techniques to perform the operations described herein. For example, the operations may be performed by an analog client computing device 900 and/or a digital client computing device 900. Presentation component(s) 910 present data indications to a user or other device. Exemplary presentation components include a display device, speaker, printing component, vibrating component, etc. One skilled in the art will understand and appreciate that computer data may be presented in a number of ways, such as visually in a graphical user interface (GUI), audibly through speakers, wirelessly between computing devices 900, across a wired connection, or in other ways. I/O ports 914 allow computing device 900 to be logically coupled to other devices including I/O components 916, some of which may be built in. Example I/O components 916 include, for example but without limitation, a microphone, joystick, game pad, satellite dish, scanner, printer, wireless device, etc.
Computing device 900 may operate in a networked environment via network component 912 using logical connections to one or more remote computers. In some examples, network component 912 includes a network interface card and/or computer-executable instructions (e.g., a driver) for operating the network interface card. Communication between computing device 900 and other devices may occur using any protocol or mechanism over any wired or wireless connection. In some examples, network component 912 is operable to communicate data over public, private, or hybrid (public and private) using a transfer protocol, between devices wirelessly using short range communication technologies (e.g., near-field communication (NFC), Bluetooth™ branded communications, or the like), or a combination thereof. Network component 912 communicates over wireless communication link 922 and/or a wired communication link 922 a to a cloud resource 924 across network 926. Various different examples of communication links 922 and 922a include a wireless connection, a wired connection, and/or a dedicated link, and in some examples, at least a portion is routed through the internet.
Although described in connection with an example computing device 900, examples of the disclosure are capable of implementation with numerous other general-purpose or special-purpose computing system environments, configurations, or devices. Examples of well-known computing systems, environments, and/or configurations that may be suitable for use with aspects of the disclosure include, but are not limited to, smart phones, mobile tablets, mobile computing devices, personal computers, server computers, hand-held or laptop devices, multiprocessor systems, gaming consoles, microprocessor-based systems, set top boxes, programmable consumer electronics, mobile telephones, mobile computing and/or communication devices in wearable or accessory form factors (e.g., watches, glasses, headsets, or earphones), network PCs, minicomputers, mainframe computers, distributed computing environments that include any of the above systems or devices, virtual reality (VR) devices, augmented reality (AR) devices, mixed reality devices, holographic device, and the like. Such systems or devices may accept input from the user in any way, including from input devices such as a keyboard or pointing device, via gesture input, proximity input (such as by hovering), and/or via voice input.
Examples of the disclosure may be described in the general context of computer-executable instructions, such as program modules, executed by one or more computers or other devices in software, firmware, hardware, or a combination thereof. The computer-executable instructions may be organized into one or more computer-executable components or modules. Generally, program modules include, but are not limited to, routines, programs, objects, components, and data structures that perform particular tasks or implement particular abstract data types. Aspects of the disclosure may be implemented with any number and organization of such components or modules. For example, aspects of the disclosure are not limited to the specific computer-executable instructions or the specific components or modules illustrated in the figures and described herein. Other examples of the disclosure may include different computer-executable instructions or components having more or less functionality than illustrated and described herein. In examples involving a general-purpose computer, aspects of the disclosure transform the general-purpose computer into a special-purpose computing device when configured to execute the instructions described herein.
By way of example and not limitation, computer readable media comprise computer storage media and communication media. Computer storage media include volatile and nonvolatile, removable and non-removable memory implemented in any method or technology for storage of information such as computer readable instructions, data structures, program modules, or the like. Computer storage media are tangible and mutually exclusive to communication media. Computer storage media are implemented in hardware and are non-transitory, i.e., exclude carrier waves and propagated signals. Computer storage media for purposes of this disclosure are not signals per se. Exemplary computer storage media include hard disks, flash drives, solid-state memory, phase change random-access memory (PRAM), static random-access memory (SRAM), dynamic random-access memory (DRAM), other types of random-access memory (RAM), read-only memory (ROM), electrically erasable programmable read-only memory (EEPROM), flash memory or other memory technology, compact disk read-only memory (CD-ROM), digital versatile disks (DVD) or other optical storage, magnetic cassettes, magnetic tape, magnetic disk storage or other magnetic storage devices, or any other non-transmission medium that may be used to store information for access by a computing device. In contrast, communication media typically embody computer readable instructions, data structures, program modules, or the like in a modulated data signal such as a carrier wave or other transport mechanism and include any information delivery media.
In some examples, a computer-implemented method includes generating a plurality of clusters; generating, for a new user, a profile; associating the generated profile into a cluster of the plurality of clusters; and generating, by a machine learning (ML) model, a recommendation for the user based on the associated cluster.
In some examples, an apparatus includes a user interface (UI); a memory; an image capturing device configured to capture a facial scan of a user; and a processor coupled to the memory configured to: control the UI to present a questionnaire; receive, via the UI, a response to the questionnaire; generate a profile associated with the user based on the received responses to the questionnaire and the captured facial scan; associate the generated profile into a cluster of a plurality of clusters; and execute, a machine learning (ML) model to generate a recommendation for the user based on the associated cluster.
In some examples, a computer-readable storage media stores instructions that, when executed by a processor, cause the processor to generate a plurality of clusters, each cluster of the generated plurality of clusters including at least a set of variables for users included in the cluster, the set related to at least one of gender, age, skin tone, acne marks, acne frequency, a lesion score, or a body distribution score; generate, for a new user, a profile, the generated profile including at least one variable of the set of variables; associate the generated profile into a cluster of the plurality of clusters; and executing a machine learning (ML) model to generate a recommendation for the user based on the associated cluster.
Further examples for generating a recommendation for a user are described herein.
Various examples further include one or more of the following:
The order of execution or performance of the operations in examples of the disclosure illustrated and described herein is not essential, and may be performed in different sequential manners in various examples. For example, it is contemplated that executing or performing a particular operation before, contemporaneously with, or after another operation is within the scope of aspects of the disclosure. When introducing elements of aspects of the disclosure or the examples thereof, the articles “a,” “an,” “the,” and “said” are intended to mean that there are one or more of the elements. The terms “comprising,” “including,” and “having” are intended to be inclusive and mean that there may be additional elements other than the listed elements. The term “exemplary” is intended to mean “an example of.” The phrase “one or more of the following: A, B, and C” means “at least one of A and/or at least one of B and/or at least one of C.”
Having described aspects of the disclosure in detail, it will be apparent that modifications and variations are possible without departing from the scope of aspects of the disclosure as defined in the appended claims. As various changes could be made in the above constructions, products, and methods without departing from the scope of aspects of the disclosure, it is intended that all matter contained in the above description and shown in the accompanying drawings shall be interpreted as illustrative and not in a limiting sense.
This application claims priority under 35 U.S.C. § 119 (e) to U.S. Provisional Application No. 63/593,865 filed on Sep. 22, 2023, the contents of which is incorporated herein by reference in its entirety.
Number | Date | Country | |
---|---|---|---|
63539865 | Sep 2023 | US |