Target generation of message for digital therapeutics using generative-transformative model

By employing a generation-transformation model to generate targeted messages based on user-specific data, the messaging system addresses the limitations of existing systems, enhancing user interaction and adherence in digital therapeutics.

JP2025058808APending Publication Date: 2025-04-09CLICK THERAPEUTICS INC
View PDF 4 Cites 0 Cited by

Patent Information

Application Number
JP2023206944
Authority / Receiving Office
JP · JP
Patent Type
Applications
Current Assignee / Owner
Priority Date
2023-09-28
Filing Date
2023-12-07
Publication Date
2025-04-09

AI Technical Summary

Technical Problem

Existing messaging systems for digital therapeutics lack flexibility and scalability, failing to adapt to changing user states and preferences, leading to ineffective message delivery and reduced user adherence.

Method used

Utilizing generative artificial intelligence, specifically a generation-transformation model, to dynamically generate targeted messages based on user-specific data, including state, behavior, preferences, and feedback, ensuring content relevance and personalization.

Benefits of technology

This approach enhances user interaction and adherence by providing contextually relevant content, optimizing resource utilization, and improving the effectiveness of digital therapy regimens.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure 2025058808000001_ABST
    Figure 2025058808000001_ABST
Patent Text Reader

Abstract

To provide a system, a method, and a computer-readable medium for generating a message coping with a user's condition.SOLUTION: In a computing system, a method for generating a message includes identifying a user's condition to be coped with and one or more parameters that define a message to be presented via an application for implementing an endpoint associated with the user's condition, generating a prompt by using the condition and the one or more parameters according to a template, applying the prompt to a generative model trained using a corpus to output a message that identifies at least one activity to implement the endpoint, prompting the user to perform an activity via the application toward implementation of the endpoint and providing a message for presentation for coping with the condition.SELECTED DRAWING: Figure 6
Need to check novelty before this filing date? Find Prior Art

Description

[Technical field]

[0001] (Related Applications) This application claims the benefit of priority to U.S. patent application Ser. No. 18 / 374,483, entitled "Targeted Generation of Messages for Digital Therapeutics Using Generative Transformer Models," filed Sep. 28, 2023, which is incorporated by reference in its entirety. [Background technology]

[0002] In a network environment, a server may send messages to an end user device to provide various information to the end user. The messages may be manually created by a content provider associated with the server, or may be part of a predefined, fixed, linear message sequence selected by the server for the end user using various criteria. The predefined sequence may not be suitable for a particular application. For example, in the context of digital therapeutics, the predefined message sequence may not take into account changes to the end user's state, such as improvement or deterioration of the end user's condition, or adherence to the digital therapeutic.

[0003] Because the sequences are selected and set at the beginning of the end user's treatment regimen, the sequences may also not take into account feedback from the user in a flexible and robust manner. The static nature of the sequences and the content within the messages themselves may be particularly problematic when the messages include interactive elements with which the end user interacts as part of the treatment regimen. Furthermore, because the content of these messages may be individually and manually created, the creation of the content may be resource intensive. There may also be a lack of scalability to a broader audience while at the same time there may be insufficient specificity to a particular end user's condition. The lack of flexibility, scalability, and specificity in the manual creation of messages and the rules for selecting messages may result in wasted consumption of computing resources (e.g., processors and memory) and network bandwidth from providing ineffective messages. From a human-computer interaction (HCI) perspective, these issues may potentially lead to a lack of user interaction and lower adherence. Summary of the Invention

[0004] To address these and other challenges, messaging services may leverage generative artificial intelligence (AI) (e.g., generative transformation models) to generate messages for end users targeted to address specific conditions for digital therapeutic applications. Messages created using such generative transformation models (e.g., large-scale language models, or text-to-image models) may include content that is presented via the end user's device with the purpose of preventing, mitigating, or treating the end user's condition. The generative transformation models may be trained using general and domain-specific corpora (e.g., text or text associated with other modalities of content, including images, video, audio, or multimedia content), as well as pre-constructed messages to generate messages targeted to the end user's specific condition and rules for selecting from the pre-constructed messages. Additionally, using feedback, the models may be further fine-tuned to output message content that takes into account the behavior, preferences, and other characteristics of a particular user in facilitating a digital therapeutic therapy regimen.

[0005] In generating a message, the service may generate a prompt according to a template using information associated with a particular user and parameters that govern the generation of the content. The information may include, for example, the user's condition, state, behavior, preferences, and responses to previous messages, among others. The message definition parameters may specify, for example, the time to present the message, the difficulty setting of the message, previously generated or provided messages, among others. The prompt template may include a set of strings (e.g., words, phrases, other text) and placeholders for the insertion of information about the user and the message definition parameters. With generation, the service may apply the prompt to a generative transformation model and output the content of the message. The message may include, for example, a notice regarding the end user related to a treatment regime for a condition, or instructions for the end user to perform activities specified toward achieving an endpoint related to managing the condition, or content forming a psychoeducational lesson that provides clinical training to the end user. The message may also include the time to send or present the message.

[0006] With the output from the generative transformation model, the service may send a message including the content output by the generative transformation model for presentation on an end user device. The message may be sent or presented on the end user device at a time defined by the output content. An application executing on the end user device may present the content of the message. Upon presentation via the end user device, the message may instruct the end user to perform an activity in facilitating a digital therapeutic therapy regimen. The application on the end user device may monitor interactions by the end user with the message or the application itself. Interactions may include, for example, an indication that an identified activity has been performed, among other responses, or input of a user's reaction to the presentation of the message. Using the detected interactions, the application may generate, send, and provide a response to the messaging service.

[0007] Upon receipt, the message service may use the response from the end user device to update the generative transformation model itself. The message service may analyze the response of the end user device and generate feedback data. The feedback data may include information such as the content included in the message provided to the user and an indication of whether the user performed an activity identified in the content of the message. The feedback data may be used to update the generative transformation model itself. For example, the messaging service may use the feedback data to calculate a loss metric as a function of the feedback data and then use the loss metric to update the weights of the generative transformation model. The feedback data may also be used to generate subsequent prompts when creating messages for the end user using the generative transformation model. For example, the service may add at least a portion of the feedback data as part of the user information or message generation parameters when generating a prompt. The service may combine feedback data from any number of previously presented messages when creating prompts and inputting them into the generative transformation model.

[0008] In this way, the messaging service can iteratively and continuously take into account feedback from the presentation of messages to the end user when generating subsequent content using the generative transformation model. Compared to a predefined, fixed sequence of content as in other approaches, the incorporation of feedback data by the service can enable new generation of content that is more appropriate to the changing state and preferences of the end user. In the context of digital therapeutics, new generation of content can take into account changes in the end user's state, such as an improvement or worsening of the end user's condition, or progression through a therapeutic regimen.

[0009] Furthermore, with the use of generative transformation models, services may generate content specifically targeted to end-user conditions and states in a flexible manner, scaling content personalization to large audiences. The flexibility, scalability, and potential for specificity may optimize or reduce consumption of computing resources (e.g., processors and memory) and network bandwidth that may otherwise be wasted from providing ineffective messages. From a human-computer interaction (HCI) perspective, content generated by leveraging generative transformation models may result in higher quality of user interaction with applications. Furthermore, increased engagement may result in higher levels of user adherence with treatment regimens, thereby leading to greater potential to prevent, mitigate, or treat end-user conditions.

[0010] Aspects of the present disclosure are directed to a system, method, and computer-readable medium for providing a message targeted to address a user condition. A computing system may identify (i) a user condition to be addressed, and (ii) one or more parameters that define a message to be presented via an application toward achieving an endpoint associated with the user condition. The computing system may generate a prompt using the condition and the one or more parameters according to a template. The computing system may apply the prompt to a generative model including a plurality of weights to output a message that specifies at least one activity toward achieving the endpoint. The generative model may be established by identifying a plurality of corpora, each corpus of the plurality of corpora including a respective first dataset, applying at least a portion of each of the first datasets of each of the plurality of corpora to the generative model to generate a respective second dataset, comparing, for each of the plurality of corpora, a first distribution of tokens in at least a portion of the respective first dataset with a second distribution of tokens in the respective second dataset, and updating one or more of the plurality of weights in the generative model based on the comparison. The computing system may prompt the user, execute activities via the application toward achieving the endpoint, and provide messages for presentation of addressing conditions.

[0011] In some embodiments, the computing system may receive a response in response to the presentation of the message, the response identifying performance of an activity by the user through the application, and the computing system may determine one or more second parameters based on the response to define the message to be presented to the user.

[0012] In some embodiments, the computing system may retrieve from the database a plurality of candidate messages based on an endpoint that the user should achieve to address the condition. In some embodiments, the computing system may identify one or more parameters comprising the plurality of candidate messages to define the message to be presented. In some embodiments, the computing system may apply a prompt to the generative model to select a message from the plurality of candidate messages. In some embodiments, the generative model may be trained using a set of rules that govern the selection from the plurality of candidate messages based on at least one of (i) user behavior, (ii) user preferences, or (iii) user profile information.

[0013] In some embodiments, the computing system may apply the prompt to the generative model to generate the message. At least one of the multiple corpora used to train the generative model may include multiple data sets associated with the condition being addressed. In some embodiments, the computing system may update the generative model for the user in response to the presentation of the message using a response identifying the performance of an activity by the user through the application. In some embodiments, the computing system may apply a prompt including multiple text strings to the generative model to generate the message and include visual content. At least one of the multiple corpora used to train the generative model may include text data and visual data.

[0014] In some embodiments, the computing system may apply a second prompt to the generative model to output a second message for the lesson identifying the user's information toward achieving the endpoint. In some embodiments, the computing system using a tokenizer may convert the multiple strings of the prompt into multiple tokens used to generate the message. In some embodiments, the tokenizer may be trained using a second corpus of text data associated with the multiple conditions to be addressed and the multiple endpoints toward achieving for at least one of the multiple conditions. In some embodiments, the user may be taking a medication to address the condition in part associated with the session in which the message is provided. In some embodiments, the computing system may use a delivery model for the user to determine a time to present the message to the user. In some embodiments, the message may include at least one of a Short Messaging Service (SMS) message, a Multimedia Messaging Service (MMS) message, or an in-app message. [Brief description of the drawings]

[0015] The foregoing and other objects, aspects, features, and advantages of the present disclosure will become more apparent and be better understood by reference to the following description considered in conjunction with the accompanying drawings. [Figure 1] FIG. 1 illustrates a block diagram of a system for generating messages targeted to address a user's condition, in accordance with an exemplary embodiment. [Diagram 2] FIG. 2 illustrates a block diagram for a process of training a generative transformation model in a system for generating targeted messages according to an exemplary embodiment. [Diagram 3]FIG. 3 illustrates a block diagram for a process of applying prompts to a generative transformation model that generates a message in a system for generating targeted messages according to an exemplary embodiment. [Figure 4] FIG. 4 illustrates a block diagram for a process of sending a message to a user device in a system for generating targeted messages according to an exemplary embodiment. [Diagram 5] FIG. 5 illustrates a block diagram for a process of updating a generative transformation model in a system for generating targeted messages according to an exemplary embodiment. [Figure 6] FIG. 6 depicts a flow diagram of a method for generating messages targeted to address a user's condition, according to an exemplary embodiment. [Figure 7] FIG. 7 is a block diagram of a server system and a client computing system in accordance with an exemplary embodiment. DETAILED DESCRIPTION OF THE PREFERRED EMBODIMENTS

[0016] For purposes of reading the following description of the various embodiments, the following listing of sections of this specification and their respective contents may be helpful.

[0017] Section A describes systems and methods for providing targeted messages to address a user's condition.

[0018] Section B describes network and computing environments that may be useful in implementing the embodiments described herein.

[0019] A. Systems and methods for providing targeted messages to address a user's condition 1, a block diagram of a system 100 for generating messages targeted to address a user's condition is depicted. In overview, the system 100 may include at least one session management service 105 and user devices 110A-N (hereinafter generally referred to as user devices 110) communicatively coupled to one another via at least one network 115. At least one of the user devices 110 (e.g., the first user device 110A as depicted) may include at least one application 120. The application 120 may include or provide at least one user interface 125 having one or more user interface (UI) elements 130A-N (hereinafter generally referred to as UI elements 130). The session management system 105 may include, among other things, at least one model trainer 140, at least one prompt generator 145, at least one message generator 150, at least one session handler 155, at least one feedback handler 160, and at least one generative transformation model 165. The session management system 105 may include, or have access to, at least one database 135. The database 135 may store, maintain, or otherwise include, among other things, one or more user profiles 170A-N (hereinafter generally referred to as user profiles 170), one or more messages 175A-N (hereinafter generally referred to as messages 175), one or more rules 180A-N (hereinafter generally referred to as rules 180), and one or more templates 185A-N (hereinafter generally referred to as templates 185). The functionality of the application 120 on the user device 110 may be executed in part on the session management system 105, or vice versa.

[0020] In further detail, the session management system 105 (generally and sometimes referred to herein as a messaging service) may be any computing device that includes one or more processors coupled with memory and software and is capable of performing the various processes and tasks described herein. The session management system 105 may communicate with one or more user devices 110 and a database 135 via a network 115. The session management service 105 may be located, located, or otherwise associated with at least one computer system. The computer system may correspond to a data center, a branch office, or a site where one or more computers corresponding to the session management system 105 are located.

[0021] Within the session management system 105, the model trainer 140 may train, improve, or update a generative transformation model 165 associated with sessions initiated by users of the application 120. The prompt generator 145 may generate prompts using the state and one or more parameters derived from one or more templates 185. The message generator 150 may generate messages 175 by feeding the prompts to the generative transformation model 165. The session handler 155 may provide messages 175 associated with sessions initiated by users of the application 120 on respective user devices 110. The feedback handler 160 may generate feedback and update the generative transformation model 165 using responses from the user devices 110.

[0022] The generative transformation model 165 may receive input in the form of a set of strings (e.g., from a text input) and output content in one or more modalities (e.g., in the form of text strings, audio content, images, videos, or multimedia content). The generative transformation model 165 may be a machine learning model according to a transformer model (e.g., a generative pre-trained model or a bidirectional encoder representation from a transformer). The generative transformation model 165 may be a large-scale language model (LLM), a text-to-image model, a text-to-audio model, or a text-to-video model, among others. In some embodiments, the generative transformation model 165 may be part of the session management system 105 (e.g., as depicted). In some embodiments, the generative transformation model 165 may be part of a server separate from and in communication with the session management system 105 via the network 115.

[0023] The generative transformation model 165 may include a set of weights arranged across a set of layers according to a transformer architecture. Under the architecture, the generative transformation model 165 may include, among others, at least one tokenization layer (sometimes referred to herein as a tokenizer), at least one input embedding layer, at least one positional encoder, at least one encoder stack, at least one decoder stack, and at least one output layer interconnected with each other (e.g., via forward, backward, or skip connections). In some embodiments, the generative transformation layer 165 may lack an encoder stack (e.g., in the case of a decoder-only architecture) or a decoder stack (e.g., in the case of an encoder-only model architecture). The tokenization layer may convert raw input in the form of a set of strings into a corresponding set of word vectors (also referred to herein as tokens or vectors) in an n-dimensional feature space. The input embedding layer may generate a set of embeddings using the set of word vectors. Each embedding may be a lower dimensional representation of the corresponding word vector and may capture semantic and syntactic information of the string associated with the word vector. The positional encoder may generate a positional encoding of each input embedding as a function of the position of the corresponding word vector in the input set of strings or by extension of the string.

[0024] Continuing, in the generative transformation model 165, the encoder stack may include a set of encoders. Each encoder may include, among other things, at least one attention layer and at least one feedforward layer. The attention layer (e.g., a multi-head self-attention layer) may calculate an attention score for each input embedding, indicating the degree of attention the embedding should focus on, and generate a weighted sum of the set of input embeddings. The feedforward layer may apply a linear transform with a nonlinear activation (e.g., a rectified linear unit (ReLU)) to the output of the attention layer. The output may be fed to another encoder in the encoder stack of the generative transformation layer 165. When an encoder is a terminal encoder in the encoder stack, the output may be fed to the decoder stack.

[0025] The decoder stack may include, among others, at least one attention layer, at least one encoder-decoder attention layer, and at least one feedforward layer. In the decoder stack, the attention layer (e.g., a multi-head self-attention layer) may calculate an attention score for each output embedding (e.g., an embedding generated from a target or expected output). The encoder-decoder attention layer may combine inputs from an attention layer in the decoder stack with an output from one of the encoders in the encoder stack and may calculate an attention score from the combined input. The feedforward layer may apply a linear transform with a nonlinear activation (e.g., a rectified linear unit (ReLU)) to the output of the encoder-decoder attention layer. The output of the decoder may be fed to another decoder in the decoder stack. When the decoder is a terminal decoder in the decoder stack, the output may be fed to the output layer.

[0026] The output layer of the generative transformation model 165 may include, among others, at least one linear layer and at least one activation layer. The linear layer may be a fully connected layer that performs a linear transformation on the output from the decoder stack and calculates the score of the token. The activation layer may apply an activation function (e.g., softmax, sigmoid, or rectified linear unit) to the output of the linear function to convert the score of the token into a probability (or distribution). The probability may represent the likelihood of occurrence for the output token given the input token. The output layer may use the probability to select an output token (e.g., the output text, image, audio, video, or at least a portion of the multimedia content that has the highest probability). Repeating this over the set of input tokens, the resulting set of output tokens may be used to form the output of the overall generative transformation model 165. Although described herein primarily in terms of the transformation model, the session management system 105 may use other machine learning models to generate and output content.

[0027] The user device 110 (sometimes referred to herein as an end-user computing device) may be any computing device that includes one or more processors coupled with memory and software and is capable of performing the various processes and tasks described herein. The user device 110 may communicate with the session management system 105 and the database 135 via the network 115. The user device 110 may be a smartphone, other mobile phone, tablet computer, wearable computing device (e.g., smart watch, glasses), or laptop computer. The user device 110 may be used to access the application 120. In some embodiments, the application 120 may be downloaded (e.g., via a digital distribution platform) and installed on the user device 110. In some embodiments, the application 120 may be a web application having resources accessible via the network 115.

[0028] The application 120 executing on the user device 110 may be a digital therapeutic application and may provide a session (sometimes referred to herein as a therapy session) to address at least one condition of the user. The user's condition may include, for example, chronic pain (e.g., associated with or including arthritis, migraines, fibromyalgia, back pain, Lyme disease, endometriosis, repetitive stress injury, irritable bowel syndrome, inflammatory bowel disease, and cancer pain), skin pathology (e.g., atopic dermatitis, psoriasis, self-injury dermatosis, and eczema), cognitive disorders (e.g., mild cognitive impairment (MCI), Alzheimer's disease, multiple sclerosis, schizophrenia, etc.), mental illness (e.g., affective disorder, bipolar disorder, obsessive-compulsive disorder, borderline personality disorder, and attention-deficit / hyperactivity disorder), substance use disorder (e.g., opioid use disorder, alcohol use disorder, tobacco use disorder, or hallucinogen disorder), and other illnesses (e.g., narcolepsy, tumors), among others.

[0029] The user may be at least partially simultaneously taking medication to address a condition while being provided with a session via the application 120. For example, if the medication is for pain, the user may be taking, among other things, acetaminophen, a nonsteroidal anti-inflammatory drug composition, an antidepressant, an antiepileptic drug, or other composition. For skin pathology, the user may be taking, among other things, a steroid, an antihistamine, or a topical antiseptic. For cognitive impairment, the user may be taking, among other things, a cholinesterase inhibitor or memantine. In the case of narcolepsy, the user may be taking, among other things, a stimulant or an antidepressant. The user of the application 120 may also participate in other psychotherapies for these conditions.

[0030] The application 120 may include, present, or otherwise provide a user interface 125 including one or more user interface elements 130A-N (hereinafter generally referred to as UI elements 130) to a user of the user device 110 according to a configuration on the application 120. The UI elements 130 may correspond to visual components of the user interface 125, such as command buttons, text boxes, checkboxes, radio buttons, menu items, and sliders, among others. In some embodiments, the application 120 may be a digital therapeutic application and may provide sessions (sometimes referred to herein as therapeutic sessions) via the user interface 125 toward achieving an endpoint for a user (sometimes referred to herein as a patient, person, or subject). The endpoint may be, for example, completion of a session, a physical or mental goal of the user, completion of a medication regimen, or an endpoint indicated by a physician or user.

[0031] The database 135 may store and maintain various resources and data associated with the session management system 105 and the applications 120. The database 135 may include a database management system (DBMS) to arrange and organize data maintained thereon as user profiles 170, messages 175, rules 180, and templates 185, among other things. The database 135 may communicate with the session management system 105 and one or more user devices 110 via the network 115. While performing various operations, the session management system 105 and the applications 120 may access the database 135 and retrieve identified data therefrom. The session management system 105 and the applications 120 may also write data onto the database 135 from performing such operations.

[0032] On the database 135, each user profile 170 (sometimes referred to herein as a user account, user information, or subject profile) may store and maintain information about a user of the application 120 via the user device 110. Each user profile 170 may be associated with or correspond to a respective user of the application 120. The user profile 170 may identify various information about the user, such as a user identifier, a condition being addressed, information about sessions conducted by the user (e.g., activities or lessons completed), message preferences, user characteristic information, and a progress state in addressing the condition (e.g., completion of an endpoint). The information about the session may include various parameters of previous sessions performed by the user and may be initially null. The message preferences may include therapy preferences and user input preferences, such as a type of message preferred or timing of messages. The message preferences may also include preferences determined by the session management system 105, such as the type of message to which the user may respond. The progress may be initially set to a starting value (e.g., null or "0") and may correspond to the alleviation, mitigation, or treatment of the condition. The user profile 170 may be continually updated by the application 120 and the session management system 105.

[0033] In some embodiments, the user profile 170 may identify or include information regarding a treatment regimen undertaken by the user, such as the type of treatment (e.g., therapy, medication, or psychotherapy), duration (e.g., day, week, or year), and frequency (e.g., daily, weekly, quarterly, yearly), among others. The user profile 170 may include an activity log of at least one of messages provided to the user, interactions by the user identifying the performance of the particular user, and responses from user devices 110 associated with the user, among others. The user profile 170 may be stored and maintained in the database 135 using one or more files (e.g., extensible markup language (XML), comma-separated values ​​(CSV) delimited text files, or structured query language (SQL) files). The user profile 170 may be iteratively updated as the user performs additional sessions or responds to additional messages 175.

[0034] Each message 175 may identify or include information to be presented via the user device 110. The messages 175 may be in any form, such as short message / messaging service (SMS), multimedia messaging service (MMS), or instructions to display via the application 120 via the UI element 130 of the user interface 125 (e.g., in-application message), among others. The information in the messages 175 may include reminders to perform tasks of the session. The messages 175 may be delivered periodically, such as daily, weekly, or monthly, among others. The messages 175 may be derived from a library of pre-generated psychotherapy messages or a library of pre-generated engagement (reminder) messages. The messages 175 may include reminders for the subject to complete a therapy session, take medication, or complete tasks of the regimen. The messages 175 may be individualized based on the user's activity, adherence, or performance with respect to the regimen. The messages 175 may also include mechanisms for responding, such as links, chat boxes, or displays that respond to the message. For example, when presented via application 120, the contents of message 175 may be presented via one or more UI elements 130 with which the user may interact.

[0035] The message 175 may include an activity for the user to perform or a lesson in which the user is involved. The message 175 identifying the activity to be performed may identify one or more interactive elements with which the user may interact and indicate or record the performance of the activity via the application 120 toward achieving the endpoint. The message 175 for the lesson may include information for the user to consume (e.g., by viewing or reading) toward achieving the endpoint. The information may include digital therapeutic content to be presented to the user. For example, the message 175 may include educational content that explains to the user the relationship between exercise and mental health. In some embodiments, the information for the message 175 may identify a set of activities toward achieving the endpoint. In some embodiments, the message 175 for the lesson may include interactive elements with which the user may interact and navigate through the information or perform the activity. In some embodiments, the message 175 for the lesson may lack interactive elements and indicate the performance of the activity via the application 120.

[0036] Message 175 may include content of any modality, such as text, images, audio, video, or multimedia content, among others, or any combination thereof. Message 175 may be stored and maintained in database 135 using one or more files. For example, with respect to text, message 175 may be stored as a text file (TXT), a rich text file (RTF), an extensible markup language (XML), and a hypertext markup language (HTTP), among others. With respect to images, message 175 may be stored as a joint photographic experts' group (JPEG) format, a portable network graphics (PNG) format, a graphics interchange format (GIF), or a scalable vector graphics (SVG), among others. With respect to audio, message 175 may be stored as a waveform audio file (WAV), a motion picture experts group format (e.g., MP3 and MP4), and Ogg Vorbis (OGG), among others. For video, messages 175 may be stored as Motion Picture Experts Group formats (e.g., MP3 and MP4), QuickTime Movie (MOV), and Windows Movie Video (WMV), among others. For multimedia content, messages 175 may be Audio Video Interleave (AVI), Motion Picture Experts Group formats (e.g., MP3 and MP4), QuickTime Movie (MOV), and Windows Movie Video (WMV), among others. Messages 175 may be associated with metadata, such as a description of the content or information contained in message 175.

[0037] Each rule 180 may specify, identify, or otherwise prescribe logic to select or identify one of the messages 175 for presentation to the user. The logic specified by the rules 180 may be derived from, among other things, user behavior, user preferences, or profile information of a given user. For example, the rules 180 may prescribe the selection of a particular message 175 for a user with schizophrenia when the time is between 8:00 AM and 10:00 AM. User behavior may include, for example, a type of activity performed by the user, as identified in an activity log associated with the user, as identified in the user profile 170. User preferences may correspond to a type of message preferred by the user, as identified in the user profile 170. The profile information may include other data points about the user that are used to select the message 175, such as the course of treatment, difficulty, or stage on the path to achieving an endpoint, among other things. The rules 180 may be used by the session management service 105 to select and provide the message 175 to the end user at the user device 110. The rules 180 may be used to provide the generative transformation model 165 with base knowledge of the domain in which it is used. The base knowledge of the domain may correspond to information for a particular digital therapeutic regimen, such as information about the application 120 and the conditions addressed via the application 120, including chronic pain, skin pathology, cognitive disorders, mental health conditions, or substance use disorders, among others. The rules 180 may be used to train or fine-tune the generative transformation model 165 in outputting the content of the message. The rules 180 may be derived and validated from clinical trials to provide a variety of contexts for the generative transformation model 165 to generate the desired message.

[0038] Each template 185 may specify, identify, or otherwise define, among other strings, a set of strings with one or more placeholders that are inserted using the input. The templates 185 may be used to write, create, or generate prompts that are applied to the generative transformation model 165 and output. The placeholders may specify, or otherwise define, a contribution area within each template 185. Each contribution area may be filled with parameters that define the input for a given user and the message to be presented to the end user depending on the respective state. As an example, a template 185 may indicate, "Given a smoker, age __. He has been smoking for __ years. He has finished __ lessons. He has only smoked for the past __ days. Can you help me with a __ message encouraging him to finish the next lesson and not smoke today?" The templates 185 may be stored and maintained in the database 135 using one or more files (e.g., a text file (TXT), a rich text file (RTF), an extensible markup language (XML), a comma separated values ​​(CSV) delimited text file, or a structured query language (SQL) file).

[0039] Referring now to FIG. 2, a block diagram for a process 200 of training a generative transformation model in the system 100 for generating targeted messages is depicted. The process 200 may include or correspond to operations performed in the system 100 to train the generative transformation model 165. Under the process 200, the model trainer 140 executing on the session management system 105 may search for, receive, or identify a set of corpora 205A-N (hereinafter referred to as corpora 205). Each corpus 205 may identify or include a set of text. In some embodiments, at least one of the corpora 205 may be a generalized data set. For example, the generalized text of the corpus 205 may be obtained from a large, unstructured set of text without a focus on a specific knowledge domain. In some embodiments, at least one of the corpora 205 may include a knowledge domain-specific data set. The knowledge domain-specific dataset may include a set of strings that identify a set of conditions to be addressed (e.g., associated indications such as skin pathologies atopic dermatitis, eczema, psoriasis, etc.) and another set of strings that define a set of endpoints (e.g., completing an activity and taking a medication) for at least one of the conditions. For example, corpus 205 may include a set of text obtained from clinical studies, medical journals, or web pages that describes a particular condition associated with a user (e.g., schizophrenia, multiple sclerosis, or eczema) and a set of activities to perform that may help alleviate or treat the condition. Knowledge domain-specific text may also be obtained from at least a subset of messages 175 on database 135.

[0040] In some embodiments, at least one of the corpora 205 may include associations between text and content in another modality, such as images, audio, video, or multimedia content, among others. The associations between text and content in other modalities may be from generalized sources. For example, the generalized sources of the corpora 205 may be obtained from large, predefined corpora that identify associations between words and images. The associations between text and content in other modalities may be from knowledge domain specific sources. For example, the associations of the corpora 205 may be obtained from clinical studies, medical journals, or web pages of text and content in other modalities.

[0041] Model trainer 140 may access database 135 and retrieve, obtain, or otherwise identify data to be used to train generative transformation model 165. In some embodiments, model trainer 140 may retrieve or identify one or more user profiles 170 from database 135. From each user profile 170, model trainer 140 may extract or identify information about a given user, such as a user identifier, the condition being addressed, information about sessions conducted by the user, message preferences, demographic information of the user, and progress in addressing the condition. In some embodiments, model trainer 140 may retrieve or identify a set of rules 180 from database 135. As discussed above, each rule 180 may specify a selection of messages 175 based on user behavior, user preferences, or profile information of a given user.

[0042] In some embodiments, model trainer 140 may retrieve or identify a set of messages 175 stored in database 135. From each message 175, model trainer 140 may extract or identify the content (e.g., text, images, audio, or multimedia content) presented via the message 175. In some embodiments, model trainer 140 may access database 135 and retrieve or identify a set of responses by users to previously provided messages 175 (or feedback data derived therefrom). Each response may specify or identify the performance of an activity by the user via application 120 in response to the presentation of the corresponding message 175. For example, the response may include, among other things, an indication of whether the user performed the identified activity, an indication of a favorable reaction to the message 175, one or more interactions in response to the presentation of the message 175 (e.g., user interactions via UI element 130 or a hyperlink included in the message 175), and a timestamp identifying the performance of the response.

[0043] Using the data retrieved from database 135, model trainer 140 may produce, write, or otherwise generate at least one additional corpus 205 that trains generative transformation model 165. In some embodiments, model trainer 140 may insert, include, or otherwise add the data retrieved from database 135 to one or more sets of corpus 205. The generated corpus 205 may include, among other things, at least a portion of user profile 170, at least a portion of messages 175, at least a portion of rules 180, or at least a portion of responses, or any combination thereof. In some embodiments, model trainer 140 may generate corpus 205 using information extracted from user profile 170. For example, the corpus 205 generated in part using information from the user profile 170 may include, among other things, a set of strings describing a user's condition (e.g., an indication or fault addressed via the application 120) or state (e.g., progress in completing an activity or lesson), messages 175 provided to the user, and the effectiveness of the messages 175 regarding alleviating the condition.

[0044] In some embodiments, model trainer 140 may generate corpus 205 using messages 175. For example, corpus 205 generated using messages 175 may include associations between user states that messages 175 are intended to address and content within messages 175 themselves. In some embodiments, model trainer 140 may generate corpus 205 using rules 180. For example, corpus 205 generated in part using rules 180 may include a textual explanation of the logic prescribed by rules 180 to select messages 175. In some embodiments, model trainer 140 may generate corpus 205 using responses from users. For example, corpus 205 generated in part using responses may include a set of strings that identify the content of messages 175 and an indication, when presented with messages 175, of whether the user performed the identified activity.

[0045] With the identification, the model trainer 140 may use the set of corpora 205 to establish or train the generative transformation model 165. In some embodiments, the model trainer 140 may initialize the generative transformation model 165. For example, the model trainer 140 may instantiate the generative transformation model 165 by assigning random values ​​to weights in the layers. In some embodiments, the model trainer 140 may use the set of corpora 205 to fine-tune a pre-trained generative transformation model 165 (e.g., ChatGPT, DALL-E2, and the Stable Diffusion model). To train or fine-tune, the model trainer 140 may define, select, or otherwise identify at least a portion of each corpus 205 as a source set and at least a portion of each corpus 205 as a destination set. In some embodiments, the corpora 205 may be identified or include definitions of source sets and destination sets. The source sets may be used as inputs to the generative transformation model 165 to generate outputs that are compared against the destination set. The portions of each corpus 205 may at least partially overlap and may correspond to a subset of the text strings in the corpus 205. For example, when the corpus 205 includes text from messages 175 related to a particular condition, the input set may correspond to a text description of the condition, and the output set may correspond to text strings of an activity to perform, a lesson to engage in, a reminder to take medication, or a notification to perform a particular activity, among others. The portions of the corpus 205 that correspond to the input and destination sets may lack overlap. For example, when the corpus 205 includes an association between text and images, the portion of the corpus 205 used as an input may correspond to the text, and the portion of the corpus 205 used as a destination may correspond to the image associated with the text.

[0046] For each corpus 205, the model trainer 140 may feed or apply the source set strings from the corpus 205 to the generative transformation model 165. In applying, the model trainer 140 may process the input strings according to a set of layers in the generative transformation model 165. As discussed above, the generative transformation model 165 may include, among others, a tokenization layer, an input embedding layer, a positional encoder, an encoder stack, a decoder stack, and an output layer. The model trainer 140 may use the tokenizer layer of the generative transformation model 165 to process the input strings (words or phrases in alphanumeric form) of the source set and generate a set of word vectors for the input set. Each word vector may be a vector representation of at least one corresponding string in an n-dimensional feature space (e.g., using a word embedding table). The model trainer 140 may apply the set of word vectors to the input embedding layer to generate a corresponding set of embeddings. The model trainer 140 may identify the position of each string in the set of strings of the source set. Along with the identification, model trainer 140 may apply a positional encoder to the position of each string to generate a positional encoding of each embedding that corresponds to the string, and expand the embeddings.

[0047] Model trainer 140 may apply the set of embeddings along with the corresponding set of positional encodings generated from the input set of corpus 205 to the encoder stack of generative transformation model 165. When applying, model trainer 140 may process the set of embeddings along with the corresponding set of positional encodings according to the layers of each encoder in the encoder block (e.g., attention layers and feedforward layers). From the processing, model trainer 140 may generate another set of embeddings and feed forward to the encoders in the encoder stack. Model trainer 140 may then feed the output of the encoder stack to the decoder stack.

[0048] Together, model trainer 140 may use a separate tokenizer layer of generative transformation model 165 to process destination set data (e.g., text, image, audio, video, or multimedia content) and generate a set of destination set word vectors. The destination set data may be of the same modality as the source set of corpus 205 or may be of a different modality than the source set of corpus 205. Each word vector may be a vector representation of at least one corresponding string in an n-dimensional feature space (e.g., using a word embedding table). Model trainer 140 may apply the set of word vectors to an input embedding layer to generate a corresponding set of embeddings. Model trainer 140 may identify the position of each string in the set of strings of the target set. Along with the identification, model trainer 140 may apply a positional encoder to the position of each string to generate a positional encoding of each embedding corresponding to the string and extend the embeddings.

[0049] Model trainer 140 may apply the set of embeddings along with the corresponding set of positional encodings generated from the destination set of corpus 205 to the decoder stack of generative transformation model 165. Model trainer 140 may also combine the output of the encoder stack in processing through the decoder stack. In applying, model trainer 140 may process the set of embeddings along with the corresponding set of positional encodings according to the layer of each decoder in the decoder block (e.g., attention layer, encoder-decoder attention layer, feedforward layer). Model trainer 140 may combine the output from the encoder with the input of the encoder-decoder attention layer in the decoder block. From the processing, model trainer 140 may generate an output set of embeddings, which may be fed forward to the output layer.

[0050] Subsequently, the model trainer 140 may feed the output from the decoder block to the output layer of the generative transformation layer 165. In feeding, the model trainer 140 may process the embeddings from the decoder block according to the linear and activation layers of the output layer. Along with the processing, the model trainer 140 may calculate a probability for each embedding. The probability may represent the likelihood of occurrence for the output given the input token. Based on the probability, the model trainer 140 may select the output token (e.g., at least a portion of the output text, image, audio, video, or multimedia content having the highest probability) and form, generate, or otherwise generate the output 210. The output 210 may include, among others, text content, image content, audio content, video content, or multimedia content, or any combination thereof. The output 210 may be of the same modality as the target set of the corpus 205. Although described primarily in terms of a transformer model architecture, other architectures may be used for the generative transformation model 165 to output content.

[0051] Along with the generation, the model trainer 140 may compare the output 210 from the generative transformation model 165 to a destination set of the corpus 205 used to generate the output 210. The comparison may be between the probabilities (or distributions) of various tokens for the content from the output 210 (e.g., words for the text output) and the probabilities of the tokens in the target set of the corpus 205. For example, the model trainer 140 may determine and compare the difference between the probability distribution of the output 210 and the target set of the corpus 205. The probability distribution may identify the probability of each candidate token in the output 210 or the tokens in the target set of the corpus 205. Based on the comparison, the model trainer 140 may calculate, determine, or otherwise generate a loss metric. The loss metric may indicate the degree of deviation of the output 210 from the expected output as defined by the target set of the corpus 205 used to generate the output 210. The loss metric may be calculated according to any number of loss functions, such as norm loss (e.g., L1 or L2), mean squared error (MSE), quadratic loss, cross entropy loss, or Huber loss, among others.

[0052] In some embodiments, model trainer 140 may determine a loss metric for output 210 based on data retrieved from database 135. In determining, model trainer 140 may compare the content of output 210 to message 175 and calculate a similarity. The similarity may measure, correspond to, or indicate, for example, semantic similarity (e.g., using a knowledge map when comparing between the text of message 175 and output 210), visual similarity (e.g., using a pixel-to-pixel value comparison when comparing between an image or frame of a video of message 175 and output 210), or phonetic similarity (e.g., using a correlation or cosine similarity measure between the audio of message 175 and output 210). The loss metric may be, among other things, a function of the similarity, rules 180, or a response indicating whether the user responded to the message 175 to which output 210 is compared. Generally, the higher the loss metric, the more likely the generated output message may deviate from preferences established by a given user or by devising one of the rules 180. Conversely, the lower the loss metric, the less likely the generated output message is to deviate from the preferences established by a given user and conform to one or more of the rules 180. The loss metric may be calculated to train the generative transformation model 165 to generate output content for messages that have a higher probability of engagement by the user.

[0053] Using the loss metric, the model trainer 140 may update one or more weights in the set of layers of the generative transformation model 165. The weight updates may be according to backpropagation and an optimization function (sometimes referred to herein as an objective function) having one or more parameters (e.g., learning rate, momentum, weight decay, and number of iterations). The optimization function may specify one or more parameters for which the weights of the generative transformation model 165 are updated. The optimization function may be according to stochastic gradient descent and may include, for example, adaptive moment estimation (Adam), implicit update (ISGD), and adaptive gradient algorithms (AdaGrad), among others. The model trainer 140 may iteratively train the generative transformation model 165 until convergence. Upon convergence, the model trainer 140 may store and maintain a set of weights for the set of layers of the generative transformation model 165 for use in the inference phase.

[0054] 3, a block diagram for a process 300 of applying a prompt to a generative transformation model to generate a message in the system 100 for generating targeted messages is depicted. The process 300 may include or correspond to operations performed in the system 100 to generate a message using the generative transformation model 165. Under the process 300, the prompt generator 145 executing on the session management system 105 may search, retrieve, or otherwise identify a user profile 170 from the database 135. The user profile 170 may be for a given user associated with the user device 110 to which the newly generated message is to be provided for presentation. From the user profile 170, the prompt generator 145 may extract or identify the condition to be addressed. The prompt generator 145 may also identify, among other things, a user identifier (e.g., name), information about sessions conducted by the user, activity logs, message preferences, user characteristic information, and progress in addressing the condition. In some embodiments, the prompt generator 145 may identify a user's activity log associated with the user profile 170 .

[0055] In some embodiments, the prompt generator 145 may access the database 135 and retrieve or identify one or more messages 175. The prompt generator 145 may select one or more messages 175 based on information identified from the user profile 170, such as an endpoint that the user should achieve to address the condition. For example, the prompt generator 145 may identify a subset of messages 175 related to a smoking condition and an endpoint of performing a walking exercise, as identified from the user profile 170. In some embodiments, the prompt generator 145 may retrieve or identify at least one rule 180 from the database 135. The prompt generator 145 may select at least one rule 180 based on information identified from the user profile 170. For example, the prompt generator 145 may identify a rule for selecting a message 175 that identifies that the user has a condition of an affective disorder, is three weeks into a treatment regimen, and is of moderate difficulty.

[0056] In conjunction, the prompt generator 145 may search, select, or otherwise identify at least one template 185 from the database 135. Identification of the template 185 from the set of templates 185 is based on information from the user profile 170, such as the condition being addressed, the activity log, characteristics of the user, a user identifier, message preferences, information about sessions performed by the user, and progress in addressing the condition, among others. In some embodiments, the prompt generator 145 may select the template 185 based on training of the generative transformation model 165. When the generative transformation model 165 is trained on the general corpus 205, the prompt generator 145 may select a template 185 that includes a placeholder for the message 175. When the generative transformation model 165 is trained on the knowledge domain-specific corpus 205, the prompt generator 145 may identify a template 185 that lacks a placeholder for the message 175.

[0057] With the identification, the prompt generator 145 may write, produce, or otherwise generate at least one prompt 305 using information from the user profile 170 and one or more parameters according to the template 185. The parameters may be used to govern the generation of the message presented to the user. The prompt generator 145 may determine or identify the parameters using the messages 175 or the rules 180, among others. In some embodiments, the prompt generator 145 may include at least a portion of the content of the messages 175 (e.g., text, images, audio, video, or multimedia content) as part of the parameters. For example, the prompt generator 145 may use content from a set of messages 175 as part of the parameters used to generate a new message. The parameters may identify the set of messages 175 as candidate messages to select from to generate a new message. In some embodiments, the prompt generator 145 may specify as part of the parameters the logic for selection as defined in the rules 180 for selecting the messages 175. For example, the prompt generator 145 may identify the time to present the message 175 from the rules 180 .

[0058] When generating, the prompt generator 145 may append, insert, or otherwise include information from the user profile 175 and one or more parameters into placeholders with the template 185. As discussed above, the template 185 may include a set of defined strings and one or more placeholders to be inserted between the strings for input to the generative transformation model 165. The strings may correspond to predefined, fixed text included as part of the input prompt for the generative transformation model 165. The template 185 may define at least one placeholder as a location where information from the user profile 175 should be inserted and at least one other placeholder as a location where one or more parameters to define the message should be inserted. The prompt generator 145 may parse the template 185 to find or identify the placeholders therein. For each placeholder, when the placeholder specifies that at least a portion of information from user profile 170 should be inserted, prompt generator 145 may include the portion of information from user profile 170 in the placeholder. When the placeholder specifies that at least a portion of one or more parameters should be inserted, prompt generator 145 may include the portion of the one or more parameters in the placeholder of template 185. By traversing through template 185 and inserting data into the placeholders, prompt generator 145 may form and build prompt 305.

[0059] The prompt 305 may include a set of strings 310A-N (hereafter generally referred to as strings 310A-N) that may be fed to the message generator 150 to generate a message for a given user. The set of strings 310 may be a combination of a set of predefined strings originally included in the template 185, as well as information from the user profile 170 and one or more parameters that govern the generation of a new message. For example, the user profile 170 may define a user with chronic migraines that are to be addressed, and the user's activity log may identify that the user drank 96 mL of water, ate two meals a day, and had five migraines in the past two months. A prompt 305 generated with this user profile 170 might have a set of strings 310 including "Consider a chronic migraine sufferer who drank 96 mL of water today and ate two meals today. She is progressing well through lessons A, B, C, and D, reducing her headaches to 5 in the past 2 months. Can you help me generate a message to have her finish the lesson (lesson E) and continue to monitor her intake?" Upon completion, prompt generator 145 may communicate, pass, or otherwise provide prompt 305 to message generator 150.

[0060] Along with generating, the message generator 150 may feed or apply the prompts 305 to the generative transformation model 165. In applying, the message generator 150 may process the set of strings 310 of the prompts 305 using a set of layers of the generative transformation model 165. As discussed above, the generative transformation model 165 may include, among others, a tokenization layer, an input embedding layer, a positional encoder, an encoder stack, a decoder stack, and an output layer. The message generator 150 may process the input strings 310 of the prompts 305 (words or phrases in alphanumeric form) using the tokenization layer of the generative transformation model 165 to generate a set of word vectors (sometimes referred to herein as word tokens or tokens) for the input set. Each word vector may be a vector representation of at least one corresponding string 310 in an n-dimensional feature space (e.g., using a word embedding table). The message generator 150 may apply the set of word vectors to the input embedding layer to generate a corresponding set of embeddings. The message generator 150 may identify the position of each string within the set of strings 310 of the prompt 305. With this identification, the message generator 150 may apply a positional encoder to the position of each string to generate a positional encoding for each embedding that corresponds to the string and expand the embedding.

[0061] The message generator 150 may apply the set of embeddings along with the corresponding set of positional encodings generated from the input set of the corpus 205 to the encoder stack of the generative transformation model 165. When applying, the message generator 150 may process the set of embeddings along with the corresponding set of positional encodings according to the layers of each encoder in the encoder block (e.g., attention layers and feedforward layers). From the processing, the message generator 150 may generate another set of embeddings and feed forward to the encoders in the encoder stack. The message generator 150 may then feed the output of the encoder stack to the decoder stack.

[0062] Together, the message generator 150 may input a starting input (sometimes referred to herein as a starting token) using a separate tokenizer layer of the generative transformation model 165 to generate one or more word vectors. Each word vector may be a vector representation of at least one corresponding string in an n-dimensional feature space (e.g., using a word embedding table). The message generator 150 may apply the set of word vectors to the input embedding layer to generate a corresponding set of embeddings. The message generator 150 may identify the position of each string within the set of strings of the target set. Along with the identification, the message generator 150 may apply a positional encoder to the position of each string to generate a positional encoding of each embedding corresponding to the string, and generate the embeddings.

[0063] The message generator 150 may apply the set of embeddings with a corresponding set of positional encodings generated from the decoder stack of the generative transformation model 165. The message generator 150 may also combine the output of the encoder stack in processing through the decoder stack. In applying, the message generator 150 may process the set of embeddings with the corresponding set of positional encodings according to the layer of each decoder in the decoder block (e.g., attention layer, encoder-decoder attention layer, feedforward layer). The message generator 150 may combine the output from the encoder with the input of the encoder-decoder attention layer in the decoder block. From the processing, the message generator 150 may generate an output set of embeddings, which may be fed forward to the output layer.

[0064] Subsequently, the message generator 150 may feed the output from the decoder block to the output layer of the generative transformation layer 165. In feeding, the message generator 150 may process the embeddings from the decoder block according to the linear layer and the activation layer of the output layer. Along with the processing, the message generator 150 may calculate the probability of each embedding. The probability may represent the likelihood of occurrence of the output given the input token. Based on the probability, the message generator 150 may select the output token (e.g., at least a portion of the output text, image, audio, video, or multimedia content having the highest probability) and form, produce, or otherwise generate at least a portion of the message 175'. The message generator 150 may repeat the process described above using the layers of the generative transformation model 165 to form the entirety of the message 175'. The message 175' output by the generative transformation model 165 may include, among others, text content, image content, audio content, video content, or multimedia content, or any combination thereof.

[0065] From the application, the message generator 150 may produce or generate a new message 175' from the generative transformation model 165. The message 175' may identify at least one activity toward achieving the endpoint and addressing the user's condition. For example, the prompt 305 may indicate, "Consider a chronic migraine sufferer who drank 96 mL of water today and ate two meals today. He has made satisfactory progress through lessons A, B, C, and D, reducing his headaches to 5 in the past two months. Can you help me generate a message to have him finish the lesson (lesson E) and continue to monitor his intake?" The generated message 175' may indicate, "Hello! How are you? You consumed 96 mL of water today and ate two meals today! Well done! Since following lessons A, B, C, and D, you have only had 5 migraines in the past 2 months. Keep reaching your water and calorie intake goals and get past these migraines! Remember to keep working through lesson E. Keep it up!" In some embodiments, the message 175' may be for a lesson and may specify information for presentation to the user. For example, the message 175' may include an explanation regarding the impact of water and calorie intake on migraines. The message 175' may include new content and may differ from the content included in the stored message 175 on the database 135, which may be created manually.

[0066] In some embodiments, when applying the prompt 305, the message generator 150 may identify or select at least one of the messages 175' from the set of messages 175 included in the string 310 of the prompt 305. The prompt 305 used to select one of the set of messages 175 may include the content of each message 175 as one of the parameters. For example, the prompt 305 may indicate: "Considering that Tom has not smoked for three days, can you help me choose the best message to encourage Tom not to smoke from the following? (A) Congratulations on your achievement so far. Keep it up. (B) Three days in a row is great, when you feel the need to smoke, keep disciplined. (C) How are you feeling today? Distractions are a great way to not feel the urge to smoke." By applying the prompt 305, the message generator 150 may process the string 310 of the prompt 305 and select one of the candidate set of messages 175 as the message 175'.

[0067] In some embodiments, the message 175' generated by the generative transformation model 165 may include, among other things, text content, image content, audio content, video content, or multimedia content, or any combination thereof. For example, the presentation of the message 175' may include an image of a smiley face to further encourage the user to complete the goal. Additionally, the message 175' may include, among other things, a video clip of a loved one, a motivational speaker, a medical professional, an influencer, or a therapist, or any combination thereof. Additionally, the multimedia content of the message 175' (e.g., a video podcast, an audio slideshow, or an animated video, among other things) may educate the user regarding the user's condition, encourage the user, or entertain the user of the application 120.

[0068] Along with generation, message generator 150 may store and maintain an association between message 175' and user on database 135. The association may use one or more data structures (e.g., an array, a matrix, a list, a table, a heap, or a tree) stored on database 135. The association may be between message 175' and a user profile 170 associated with the user to whom message 175' is to be provided. Message generator 150 may generate multiple messages 175' prior to provision and presentation to a user associated with user profile 170.

[0069] 4, a block diagram for a process 400 for sending a message to a user device 110 in the system 100 for generating targeted messages is depicted. The process 400 may include or correspond to operations performed in the system 100 to perform a session in which a message is provided to a user device and a response is collected from the user device. Under the process 400, a session handler 155 executing on the session management system 105 may send, transmit, or otherwise provide a message 175' to a user device 110 associated with a user 405. For a user 405, the session handler 155 may access the database 135 and retrieve or identify a user profile 170 of the user 405 of an application 120 on the user device 110. From the user profile 170, the session manager 155 may determine or identify a respective message 175' for the user 405 and send the message 175' to the user device 110 for the application 120.

[0070] In some embodiments, the session handler 155 may receive a request from the user device 110 to be provided with a new message. The request may be generated by the application 120 in response to an interaction by the user 405, requesting a new message. The request may identify information about the user 405, such as a user identifier (e.g., a username or account identifier), authentication credentials, a device identifier, a network address, among other things. The session handler 155 may use the information received from the application 120 to locate a user profile 170 for each of the users 405. Along with identifying the user profile 170, the session handler 155 may identify one or more messages 175′ associated with the user profile 170.

[0071] In some embodiments, the session handler 155 may calculate, identify, or otherwise determine a time to send the message 175′ to the user device 110. In some embodiments, the session handler 155 may use a delivery model for the user 405. The delivery model may define a set of times to send one or more messages 175′ for presentation via the user device 110. When the current time corresponds to one of the times defined by the delivery model, the session handler 155 may determine to provide the message 175′ at the current time. In some embodiments, the session handler 155 may use a user profile 170 to determine a time to send the message 175′. The user profile 170 may identify message preferences of the user 405, such as a time to send the message 175′ to the user device 110. When the current time meets the message preferences (e.g., within the time preferences), the session handler 155 may determine to send the message 175′ to the user device 110.

[0072] To send, the session handler 155 may generate and send at least one instruction to the user device 110 for presenting the message 175'. The instruction may include the contents of the message 175' or an identifier for the message 175'. In some embodiments, the instruction may be a code, a data packet, or a control for presenting the message to the user 405. The instruction may include processing instructions for display of the message 175' on the application 120 via the UI element 130 of the user interface 125 (e.g., as an in-application message). The instruction may also include instructions for the user 405 to execute in connection with the session. For example, the instruction may display the message 175' instructing the user 405 to perform a particular activity associated with the session. In some embodiments, the instruction may follow a messaging protocol, such as Short Message Service (SMS) or Multimedia Messaging Service (MMS). The instruction may identify the user device 110 sending the message 175' (e.g., using a phone number or network address) as well as the contents of the message 175' in the payload. Upon generation, the session handler 155 may transmit the instructions to the user device 110 over the network 115 .

[0073] Upon receipt, user device 110 may render, display, or otherwise present message 175' via a display. For example, when message 175' is delivered according to a messaging protocol (e.g., SMS and MMS), user device 110 may invoke a messaging application (e.g., application 120 or another application) to present message 175'. The messaging application may include a user interface (e.g., similar to user interface 125) to display the contents of message 175'. In some embodiments, application 120 (e.g., a digital therapeutic application) on user device 110 may render, display, or otherwise present message 175' via user interface 125. For example, instructions for message 175' may specify, identify, or prescribe the layout (e.g., position, size, and color) of individual UI elements 130 when message 175' is presented via user interface 125 of application 120.

[0074] Along with the presentation, the user device 110 may monitor at least one interaction 410 by the user 405 in response to the presentation of the message 175'. In some embodiments, the user device 110 may use a messaging application to monitor interactions 410 with the message 175' as it is presented via a display of the user device 110. For example, the messaging application may have an event listener that monitors for click events on links that are part of the message 175' when presented. In some embodiments, the application 120 on the user device 110 may monitor one or more interactions 410 by the user 405 with UI elements 130 of the user interface 125 in response to the presentation of the message 175'. The interactions 410 may be simultaneous with the presentation of the message 175'. For example, the interactions 410 may correspond to an interaction that plays a video clip included in the message 175' via a play button on the application 120. In some embodiments, the interactions 410 may be subsequent to the presentation of the message 175' on the user device 110. For example, the interactions 410 may correspond to a set of user interactions subsequent to the presentation of the message 175' that induces the user 405 to perform a specified activity and record the completion of the specified activity. The interactions 410 may also include data (e.g., text) entered by the user 405 in response to the prompts of the message 175'.

[0075] Upon detection of the interaction 410, the user device 110 may output, produce, or generate at least one response 415 for transmission to the session management system 105. The response 415 may indicate, include, or otherwise identify performance of an activity by the user 405 via the user device 110 in response to the presentation of the message 175'. In some embodiments, the application 120 on the user device 110 may use the detected interaction 410 to generate the response 415. The response 415 may identify, among other information, an event associated with the interaction 410, a timestamp for the presentation of the message 175', a timestamp for the event, and an identifier for the user 405 for the performance of the activity by the user 405. The response 415 may also include data entered by the user 405 via the user interface 125 of the application 120. In some embodiments, the application 120 may maintain a timer that tracks the time elapsed since the presentation of the message 175'. When the elapsed time exceeds the time limit, the application 120 may generate a response 415 indicating no user interaction with the message 175'. Upon generation, the application 120 may provide, transmit, or otherwise send the response 415 to the session management system 105.

[0076] 5, a block diagram for a process 500 for updating a generative transformation model in the system 100 for generating targeted messages is depicted. The process 500 may include or correspond to operations to derive feedback data collected from the response 415 and update the generative transformation model 165. Under the process 500, a feedback handler 160 executing on the session management system 105 may retrieve, identify, or otherwise receive the response 415 from the user device 110. Upon receipt, the feedback handler 160 may parse the response 415 and extract or identify information contained therein. From the response 415, the feedback handler 160 may determine or identify the performance of an activity by the user 405 via the user device 110 (or application 120) in response to the presentation of the message 175'. The feedback handler 160 may identify whether the user 405 performed the identified activity or an interaction 410 associated with the activity. In some embodiments, the feedback handler 160 may identify the event associated with the performance of the activity, a timestamp for the event, data entered by the user 405, and other information included in the response 415.

[0077] Based on the response 415, the feedback handler 160 may produce, create, or otherwise generate feedback data 505. In some embodiments, the feedback handler 160 may generate the feedback data 505 for a subsequent generation of the message 175' by the generative transformation model 165. In some embodiments, the feedback data 505 may identify or include information used as one or more parameters that define a subsequent message that is generated and presented for the user 405. For example, for the subsequent message 175', the prompt generator 145 may insert the feedback data 505 into a specified placeholder in the template 185 to generate and feed a new prompt 305 to the generative transformation model 165. The feedback data 505 may indicate or include whether the user 405 responded to the presentation of the message 175' and the time of the response. Upon generation, the feedback handler 160 may store and maintain an association between the feedback data 505 and the user profile 170 on the database 135 .

[0078] In some embodiments, the feedback handler 160 may generate feedback data 505, including information used to update the weights of the generative transformation model 165. In some embodiments, the feedback handler 160 may generate the feedback data 505 in a format similar to the corpus 205 described above. The feedback data 505 may be generated to include the content of the message 175' and information from the responses 415 from the user 405. In some embodiments, the feedback handler 160 may identify or calculate, generate, or otherwise determine a corresponding performance metric and include it as part of the feedback data 505. The performance metric may indicate the degree to which the presented message 175' elicits interaction. In general, more interactions with a variant of the message 175' may result in a higher performance metric. In contrast, less or no interaction with the message 175' when presented may result in a lower performance metric. Upon generation, the feedback handler 160 may include the performance metrics and the contents of the message 175 ′ in the feedback data 505 .

[0079] In some embodiments, feedback handler 160 may apply sentiment analysis to information included in response 415 (e.g., data entered by user 405) to generate a performance metric. Sentiment analysis may be performed using natural language processing (NLP) techniques, such as lexicon analysis of words related to sentiment, support vector machines (SVM), linear regression, or Naive Bayesian models, among others. Feedback handler 160 may apply sentiment analysis algorithms to response 415 to recognize, detect, or otherwise identify the sentiment of user 405 regarding the presented message 175'. Sentiment may include, among others, positive, negative, or neutral indications, for example. Using the identified sentiment, feedback handler 160 may assign a value to the performance metric. For example, when the sentiment is positive, feedback handler 160 may assign a high value. When the sentiment is negative, feedback handler 160 may assign a low value. When the sentiment is neutral, feedback handler 160 may assign a neutral value.

[0080] The model trainer 140 may use the feedback data 505 to modify, adjust, or otherwise update the weights of the generative transformation model 165. The feedback data 505 may be aggregated across multiple responses 415 from a user 405 or from multiple users 405. In general, the model trainer 140 may update the weights to credit the generation of messages 175' with high performance metrics and penalize the output of messages 175' with low performance metrics. Training or fine-tuning the generative transformation model 165 using the feedback data 505 may be similar to training or fine-tuning using a set of corpora 205 described above. To train, the model trainer 140 may define, select, or otherwise identify at least a portion of each feedback data 505 as a source set and at least a portion of each feedback data 505 as a destination set. The source sets may be used as inputs to the generative transformation model 165 to generate outputs that are compared against the destination set. The portions of each feedback data 505 may at least partially overlap and may correspond to a subset of the text strings in the feedback data 505 .

[0081] The model trainer 140 may feed or apply the strings of the source set from the feedback data 505 to the generative transformation model 165. In applying, the model trainer 140 may process the input strings according to a set of layers of the generative transformation model 165. As discussed above, the generative transformation model 165 may include, among others, a tokenization layer, an input embedding layer, a positional encoder, an encoder stack, a decoder stack, and an output layer. The model trainer 140 may use the tokenizer layer of the generative transformation model 165 to process the input strings of the source set (words or phrases in alphanumeric form) and generate a set of word vectors for the input set. Each word vector may be a vector representation of at least one corresponding string in an n-dimensional feature space (e.g., using a word embedding table). The model trainer 140 may apply the set of word vectors to the input embedding layer to generate a set of corresponding embeddings. The model trainer 140 may identify the position of each string in the set of strings of the source set. Along with the identification, model trainer 140 may apply a positional encoder to the position of each string to generate a positional encoding of each embedding that corresponds to the string, and expand the embeddings.

[0082] Model trainer 140 may apply the set of embeddings along with the corresponding set of positional encodings generated from the input set of feedback data 505 to the encoder stack of generative transformation model 165. In applying, model trainer 140 may process the set of embeddings along with the corresponding set of positional encodings according to the layers of each encoder in the encoder block (e.g., attention layers and feedforward layers). From the processing, model trainer 140 may generate another set of embeddings and feed forward to the encoders in the encoder stack. Model trainer 140 may then feed the output of the encoder stack to the decoder stack.

[0083] Together, the model trainer 140 may use a separate tokenizer layer of the generative transformation model 165 to process the destination set data (e.g., text, images, audio, video, or multimedia content) and generate a set of destination set word vectors. The destination set data may be of the same modality as the source set of the feedback data 505 or may be of a different modality than the source set of the feedback data 505. Each word vector may be a vector representation of at least one corresponding string in an n-dimensional feature space (e.g., using a word embedding table). The model trainer 140 may apply the set of word vectors to an input embedding layer to generate a corresponding set of embeddings. The model trainer 140 may identify the position of each string in the set of strings of the target set. Along with the identification, the model trainer 140 may apply a positional encoder to the position of each string to generate a positional encoding of each embedding corresponding to the string and expand the embeddings.

[0084] The model trainer 140 may apply the set of embeddings along with the corresponding set of positional encodings generated from the destination set of feedback data 505 to the decoder stack of the generative transformation model 165. The model trainer 140 may also combine the output of the encoder stack in processing through the decoder stack. In applying, the model trainer 140 may process the set of embeddings along with the corresponding set of positional encodings according to the layer of each decoder in the decoder block (e.g., attention layer, encoder-decoder attention layer, feedforward layer). The model trainer 140 may combine the output from the encoder with the input of the encoder-decoder attention layer in the decoder block. From the processing, the model trainer 140 may generate an output set of embeddings to be fed forward to the output layer.

[0085] Subsequently, the model trainer 140 may feed the output from the decoder block to the output layer of the generative transformation layer 165. In feeding, the model trainer 140 may process the embeddings from the decoder block according to the linear and activation layers of the output layer. Along with the processing, the model trainer 140 may calculate a probability for each embedding. The probability may represent the likelihood of occurrence for the output given the input token. Based on the probability, the model trainer 140 may select the output token (e.g., at least a portion of the output text, image, audio, video, or multimedia content having the highest probability) and form, produce, or otherwise generate the output 510. The output 510 may include, among others, text content, image content, audio content, video content, or multimedia content, or any combination thereof. The output 510 may be of the same modality as the target set of the feedback data 505.

[0086] Along with the generation, the model trainer 140 may compare the output 510 from the generative transformation model 165 to a destination set of feedback data 505 used to generate the output 510. The comparison may be between the probabilities (or distributions) of various tokens for the content from the output 510 (e.g., words for text output) and the probabilities of the tokens in the target set of feedback data 505. For example, the model trainer 140 may determine the difference between the probability distribution of the output 510 and the target set of feedback data 505. The probability distribution may identify the probability of each candidate token in the output 510 or the token in the target set. Based on the comparison, the model trainer 140 may calculate, determine, or otherwise generate a loss metric. The loss metric may indicate the degree of deviation of the output 510 from an expected output as defined by the target set of feedback data 505 used to generate the output 510. The loss metric may be calculated according to any number of loss functions, such as norm loss (e.g., L1 or L2), mean squared error (MSE), quadratic loss, cross entropy loss, and Huber loss, among others.

[0087] In some embodiments, the model trainer 140 may determine a loss metric for the output 510 based on the performance measures determined for each message 175'. In determining, the model trainer 140 may compare the content of the output 510 to the messages 175 and calculate a similarity. The similarity may measure, correspond to, or indicate, for example, semantic similarity (e.g., using a knowledge map when comparing between the text of the message 175' and the output 510), visual similarity (e.g., using a pixel-to-pixel value comparison when comparing between an image or frame of a video of the message 175' and the output 510), or phonetic similarity (e.g., using a correlation or cosine similarity measure between the audio of the message 175' and the output 510). The loss metric may be a function of the similarity and the performance measures, among others. In general, the higher the loss metric, the more the generated output 510 may deviate from a message 175' with a higher performance metric and approach a message 175' with a lower performance metric. Conversely, the lower the loss metric, the more similar the generated output 510 may be to a message 175' with a higher performance metric and the more deviant it may be from a message 175' with a lower performance metric. The loss metric may be calculated to train the generative transformation model 165 to generate output content for messages that have a higher probability of engagement by users.

[0088] Using the loss metric, the model trainer 140 may update one or more weights in the set of layers of the generative transformation model 165. The weight updates may be according to backpropagation and an optimization function (sometimes referred to herein as an objective function) having one or more parameters (e.g., learning rate, momentum, weight decay, and number of iterations). The optimization function may specify one or more parameters for which the weights of the generative transformation model 165 are updated. The model trainer 140 may iteratively train the generative transformation model 165 until convergence. Upon convergence, the model trainer 140 may store and maintain the set of weights for the set of layers of the generative transformation model 165 for use.

[0089] In this way, the session management service 105 can iteratively and continuously consider responses 415 from the presentation of messages 175' to the user 405 to improve the generation of new content for subsequent messages 175'. Compared to predefined, fixed sequences of content, the incorporation of feedback data 505 can enable new generation of messages 175' that are more targeted to and related to the changing state (e.g., progress in managing a condition) and preferences of the user 405. In the context of digital therapeutics, new generation of messages 175' can take into account changes to usage, such as an improvement or worsening of the end user's condition, or progress through a treatment regimen. With the use of the generative transformation model 165, content can be generated specifically to target the user 405 in a flexible manner, allowing content personalization to be scaled to large audiences. The flexibility, scalability, and specificity possibilities may optimize or mitigate the consumption of computing resources (e.g., processor and memory) and network bandwidth that may otherwise be wasted by providing ineffective content. From a human-computer interaction (HCI) perspective, content generated by leveraging the generative transformation model 165 may result in a higher quality of interaction by the user 405 with the user device 110. Furthermore, increased engagement may result in a higher level of adherence of the user 405 with a treatment regimen. Higher adherence may lead to a greater possibility of preventing, mitigating, or treating the end-user's condition.

[0090] 6, a method 600 for training a generative transformation model 165 based on responses to messages sent to a user device 110 is depicted. The method 600 may be implemented or performed using any of the components detailed herein, such as the session management service 105, the user device 110, and the database 135, among others. Under the method 600, a computing system (e.g., the session management system 105 or the user device 110, or both) may train a generative model (e.g., the generative transformation model 165) (605). The computing system may identify parameters (610). The computing system may create a prompt (e.g., the prompt 305) according to a template (e.g., the template 185) (615). The computing system may apply the prompt to the generative model (e.g., the generative transformation model 165) and generate an output message (e.g., the message 175') (620). The computing system may provide (625) an output message to a user device (e.g., user device 110) via an application (e.g., application 120). The message may be displayed on a user interface (e.g., user interface 125) using a user interface element (e.g., UI element 130). The computing system may receive a response (e.g., response 415) from a user (e.g., user 405) via an interaction (e.g., interaction 410) with the application on the user device (630). The computing system may use the response (635) to generate feedback data (e.g., feedback data 505). The computing system may use the feedback data to train a generative model and repeat the functionality from step (605).

[0091] (B. Network and Computing Environment) Various operations described herein may be implemented on a computer system. FIG. 7 shows a simplified block diagram of a representative server system 700, a client computing system 714, and a network 726 that can be used to implement certain embodiments of the present disclosure. In various embodiments, the server system 700 or a similar system may implement the services or servers described herein or portions thereof. The client computing system 714 or a similar system may implement the clients described herein. The system 100 described herein may be like the server system 700. The server system 700 may have a modular design incorporating multiple modules 702 (e.g., blades in a blade server embodiment), two modules 702 are shown, but any number may be provided. Each module 702 may include a processing unit 704 and local storage 706.

[0092] Processing unit 704 may include a single processor, which may have one or more cores, or multiple processors. In some embodiments, processing unit 704 may include a general-purpose primary processor as well as one or more special-purpose co-processors, such as a graphics processor, digital signal processor, etc. In some embodiments, some or all of processing unit 704 may be implemented using customized circuitry, such as an application specific integrated circuit (ASIC) or a field programmable gate array (FPGA). In some embodiments, such integrated circuits execute instructions stored on the circuitry itself. In other embodiments, processing unit 704 may execute instructions stored in local storage 706. Any combination of any type of processor may be included in processing unit 704.

[0093] The local storage 706 may include volatile storage media (e.g., DRAM, SRAM, SDRAM, etc.) and / or non-volatile storage media (e.g., magnetic or optical disks, flash memory, etc.). The storage media incorporated in the local storage 706 may be fixed, removable, or upgradeable, as desired. The local storage 706 may be physically or logically divided into various sub-units, such as a system memory, a read-only memory (ROM), and a permanent storage device. The system memory may be a volatile read-write memory, such as a read-write memory device, or a dynamic random access memory. The system memory may store some or all of the instructions and data required by the processing unit 704 at execution time. The ROM may store static data and instructions required by the processing unit 704. The permanent storage device may be a non-volatile read-write memory device that may store instructions and data even when the module 702 is powered down. The term "storage medium" as used herein includes any medium on which data can be stored indefinitely (subject to overwriting, electrical interruption, power loss, etc.), and does not include carrier waves and transitory electronic signals propagated wirelessly or over wired connections.

[0094] In some embodiments, local storage 706 may store one or more software programs executed by processing unit 704, such as an operating system and / or programs that implement various server functions, such as the functions of system 100 or any other system described herein, or any other server associated with system 100 or any other system described herein.

[0095] In general, "software" refers to sequences of instructions that, when executed by the processing unit 704, cause the server system 700 (or portions thereof) to perform various operations, and thus define one or more specific machine embodiments that execute and perform the operations of the software programs. The instructions may be stored as firmware residing in a read-only memory and / or as program code stored in a non-volatile storage medium that may be read into a volatile working memory for execution by the processing unit 704. The software may be implemented as a single program or a collection of separate programs or program modules that interact as desired. From the local storage 706 (or non-local storage, described below), the processing unit 704 may retrieve program instructions to execute and data to process and perform the various operations described above.

[0096] In some server systems 700, multiple modules 702 may be interconnected via a bus or other interconnect 708 to form a local area network that supports communication between the modules 702 and other components of the server system 700. The interconnect 708 may be implemented using a variety of technologies, including server racks, hubs, routers, etc.

[0097] A wide area network (WAN) interface 710 may provide data communication capabilities between a local area network (e.g., via interconnect 708) and a network 726, such as the Internet. Other technologies may be used to communicatively couple the server system to the network 726, including wired technologies (e.g., Ethernet, IEEE 802.3 standard) and / or wireless technologies (e.g., Wi-Fi, IEEE 802.11 standard).

[0098] In some embodiments, the local storage 706 is intended to provide working memory for the processing unit 704, providing fast access to programs and / or data being processed while reducing traffic on the interconnect 708. Storage for larger amounts of data may be provided on a local area network by one or more mass storage subsystems 712, which may be connected to the interconnect 708. The mass storage subsystems 712 may be based on magnetic, optical, semiconductor, or other data storage media. Direct attached storage, storage area networks, network attached storage, etc. may be used. Any data store or other collection of data described herein as generated, consumed, or maintained by a service or server may be stored in the mass storage subsystem 712. In some embodiments, additional data storage resources may be accessible (potentially with increased latency) via the WAN interface 710.

[0099] The server system 700 may operate in response to requests received via the WAN interface 710. For example, one of the modules 702 may implement a monitoring function and assign discrete tasks to other modules 702 in response to received requests. Work allocation techniques may be used. Once a request is processed, results may be returned to the requester via the WAN interface 710. Generally, such operations may be automated. Additionally, in some embodiments, the WAN interface 710 may connect multiple server systems 700 together to provide a scalable system capable of managing large volumes of activity. Other techniques for managing server systems and server farms (collections of cooperating server systems) may be used, including dynamic resource allocation and reallocation.

[0100] The server system 700 may interact with various user-owned or user-operated devices over a wide area network such as the Internet. One example of a user-operated device is shown in FIG. 7 as a client computing system 714. The client computing system 714 may be implemented as a consumer device, such as, for example, a smartphone, other mobile phone, tablet computer, wearable computing device (e.g., smart watch, glasses), desktop computer, laptop computer, etc. For example, the client computing system 714 may communicate over a WAN interface 720. The client computing system 714 may include computer components such as a processing unit 716, a storage device 718, a network interface 720, a user input device 722, and a user output device 724. The client computing system 714 may be a computing device implemented in various form factors, such as a desktop computer, a laptop computer, a tablet computer, a smartphone, other mobile computing device, a wearable computing device, etc.

[0101] The processing unit 716 and storage device 718 may be similar to the processing unit 704 and local storage 706 described above. Appropriate devices may be selected based on the requirements placed on the client computing system 714. For example, the client computing system 714 may be implemented as a "thin" client having limited processing capabilities or as a high-powered computing device. The client computing system 714 may be provided with executable program code by the processing unit 716 to enable various interactions with the server system 700.

[0102] Network interface 720 may provide a connection to a network 726, such as a wide area network (e.g., the Internet) to which WAN interface 710 of server system 700 is also connected. In various embodiments, network interface 720 may include a wired interface (e.g., Ethernet) and / or a wireless interface implementing various RF data communication standards, such as Wi-Fi, Bluetooth, or cellular data network standards (e.g., 3G, 4G, LTE, etc.).

[0103] User input device 722 may include any device (or devices) by which a user may provide signals to client computing system 714. Client computing system 714 may interpret the signals as indicating a user request or information. In various embodiments, user input device 722 may include at least one of a keyboard, a touchpad, a touchscreen, a mouse or other pointing device, a scroll wheel, a click wheel, a dial, a button, a switch, a keypad, a microphone, and the like.

[0104] The user output devices 724 may include any device by which the client computing system 714 may provide information to a user. For example, the user output devices 724 may include inter-display images generated by or delivered to the client computing system 714. Displays may incorporate a variety of image generating technologies, e.g., liquid crystal displays (LCDs), light emitting diode (LED) displays including organic light emitting diodes (OLEDs), projection systems, cathode ray tubes (CRTs), etc., along with supporting electronics (e.g., digital-to-analog or analog-to-digital converters, signal processors, etc.). Some embodiments may include devices such as touch screens that function as both input and output devices. In some embodiments, other user output devices 724 may be provided in addition to or instead of a display. Examples include indicator lights, speakers, tactile "display" devices, printers, etc.

[0105] Some embodiments include electronic components, such as a microprocessor, storage, memory, etc., that store computer program instructions on a computer-readable storage medium. Many of the features described herein may be implemented as a process specified as a set of program instructions encoded on a computer-readable storage medium. When one or more processing devices execute these program instructions, they cause the processing device to perform various operations indicated in the program instructions. Examples of program instructions or computer code include machine code, such as produced by a compiler, and files containing higher level code that are executed by a computer, electronic component, or microprocessor using an interpreter. Through suitable programming, the processing devices 704 and 716 may provide various functionality for the server system 700 and the client computing system 714, including any functionality described herein as being performed by a server or client, or other functionality.

[0106] It will be understood that the server system 700 and the client computing system 714 are exemplary and that variations and modifications are possible. Computer systems used in connection with embodiments of the present disclosure may have other characteristics not specifically described herein. Additionally, while the server system 700 and the client computing system 714 are described with reference to certain blocks, it should be understood that these blocks are defined for convenience of description and are not intended to imply a particular physical arrangement of component parts. For example, different blocks may be, but are not required to be, in the same facility, in the same server rack, or on the same motherboard. Additionally, the blocks need not correspond to physically different components. The blocks may be configured to perform various operations, for example, by programming a processor and providing appropriate control circuitry, and the various blocks may or may not be reconfigurable depending on how the initial configuration is obtained. The embodiments of the present disclosure may be realized in a variety of apparatuses, including electronic devices implemented using any combination of circuitry and software.

[0107] Although the present disclosure has been described with respect to specific embodiments, those skilled in the art will recognize that numerous variations are possible. The embodiments of the present disclosure may be implemented using a variety of computer systems and communication technologies, including but not limited to the specific examples described herein. The embodiments of the present disclosure may be implemented using any combination of dedicated components and / or programmable processors and / or other programmable devices. The various processes described herein may be implemented on the same processor or different processors, in any combination. Where a component is described as being configured to perform a particular operation, such configuration may be realized, for example, by designing an electronic circuit that performs the operation, by programming a programmable electronic circuit (such as a microprocessor) that performs the operation, or by any combination thereof. Furthermore, while the embodiments described above may refer to specific hardware and software components, those skilled in the art will understand that different combinations of hardware and / or software components may also be used, and that a particular operation described as being implemented in hardware may also be implemented in software, or vice versa.

[0108] A computer program incorporating various features of the present disclosure may be encoded and stored on a variety of computer-readable storage media. Suitable storage media include magnetic disks or tapes, optical storage media such as compact disks (CDs) or digital versatile disks (DVDs), flash memory, and other non-transitory media. A computer-readable medium encoded with the program code may be packaged with a compatible electronic device, or the program code may be provided separately from the electronic device (e.g., via internet download or as a separately packaged computer-readable storage medium).

[0109] Therefore, although the disclosure has been described in terms of specific embodiments, it will be understood that the disclosure is intended to cover all modifications and equivalents that fall within the scope of the following claims.

Claims

1. 1. A method of providing a targeted message to address a user's condition, comprising: Identifying, by a computing system, one or more parameters that define (i) a state of a user to be addressed and (ii) a message to be presented via an application toward implementing an endpoint associated with the state of the user; generating, by the computing system, a prompt using the state and the one or more parameters according to a template; applying, by the computing system, the prompt to a generative model including a plurality of weights to output a message identifying at least one activity toward achieving the endpoint, the generative model comprising: identifying a plurality of corpora, each corpus of the plurality of corpora including a respective first data set; applying at least a portion of the respective first dataset of each of the plurality of corpora to the generative model to generate a respective second dataset; comparing, for each of the plurality of corpora, a first distribution of tokens in at least the portion of the respective first data set with a second distribution of tokens in the respective second data set; and updating one or more of the weights in the generative model based on the comparison. said applying being established by by the computing system, prompting the user to perform the activity via the application toward achieving the endpoint and providing the message for presentation addressing the condition. A method comprising:

2. receiving, by the computing system, a response identifying performance of the activity by the user via the application in response to the presentation of the message; determining, by the computing system, one or more second parameters based on the response to define the message to be presented to the user; The method of claim 1 further comprising:

3. retrieving, by the computing system, from a database a number of candidate messages based on the endpoint that the user should implement to address the condition; identifying the one or more parameters further comprises identifying the one or more parameters comprising the plurality of candidate messages to define the message to be presented; and applying the prompt further comprises applying the prompt to the generative model to select the message from the plurality of candidate messages. The method of claim 1 , further comprising said searching.

4. 2. The method of claim 1 , wherein the generative model is trained using a set of rules that govern selection from a plurality of candidate messages based on at least one of: (i) user behavior; (ii) user preferences; or (iii) user profile information.

5. 2. The method of claim 1 , wherein applying the prompt further comprises applying the prompt to the generative model to generate the message, wherein at least one of the multiple corpora used to train the generative model includes a multiple datasets associated with the condition being addressed.

6. 2. The method of claim 1, further comprising: updating, by the computing system, in response to the presentation of the message, the generative model for the user using a response identifying performance of the activity by the user via the application.

7. 2. The method of claim 1 , wherein applying the prompt further comprises applying the prompt, the prompt including a plurality of text strings, to the generative model to generate the message and including visual content, wherein at least one of the plurality of corpora used to train the generative model includes textual data and visual data.

8. 10. The method of claim 1, further comprising applying, by the computing system, a second prompt to the generative model to output a second message for a lesson identifying information for the user toward achieving the endpoint.

9. The method of claim 1 , further comprising: determining, by the computing system, a time to present the message to the user using a delivery model for the user.

10. 10. The method of claim 1, wherein the user is taking a medication to address the condition in part associated with the session to which the message is provided, and the message comprises at least one of a Short Messaging Service (SMS) message, a Multimedia Messaging Service (MMS) message, or an in-app message.

11. 1. A system for providing targeted messages to address a user's condition, comprising: Identifying one or more parameters that define (i) a state of a user to be addressed, and (ii) a message to be presented via an application toward implementing an endpoint associated with said state of said user; generating a prompt using a state and the one or more parameters according to a template; applying the prompt to a generative model including a plurality of weights to output a message identifying at least one activity toward achieving the endpoint, the generative model comprising: identifying a plurality of corpora, each corpus of the plurality of corpora including a respective first data set; applying at least a portion of the respective first dataset of each of the plurality of corpora to the generative model to generate a respective second dataset; comparing, for each of the plurality of corpora, a first distribution of tokens in at least the portion of the respective first data set with a second distribution of tokens in the respective second data set; and updating one or more of the weights in the generative model based on the comparison. said applying being established by prompting the user to perform the activity via the application toward achieving the endpoint and providing the message for presentation addressing the condition; one or more processors coupled to the memory configured to Including, the system.

12. The one or more processors: receiving a response in response to the presentation of the message identifying performance of the activity by the user via the application; determining one or more second parameters based on the response to define the message to be presented to the user; The system of claim 11 , further configured to:

13. The one or more processors retrieving from a database a number of candidate messages based on the endpoint that the user should implement to address the condition; identifying the one or more parameters comprising the plurality of candidate messages to define the message to be presented; applying the prompt to the generative model to select the message from the plurality of candidate messages; The system of claim 11 , further configured to:

14. 12. The system of claim 11, wherein the generative model is trained using a set of rules that govern selection from the plurality of candidate messages based on at least one of: (i) user behavior; (ii) user preferences; or (iii) user profile information.

15. 12. The system of claim 11, wherein the one or more processors are further configured to apply the prompt to the generative model to generate the message, wherein at least one of a plurality of corpora used to train the generative model includes a plurality of datasets associated with a condition to be addressed.

16. 12. The system of claim 11, wherein the one or more processors are further configured to: in response to the presentation of the message, update the generative model for the user using a response identifying performance of the activity by the user via the application.

17. 12. The system of claim 11, wherein the one or more processors are further configured to apply the prompt, which includes a plurality of text strings, to the generative model to generate the message and include visual content, wherein at least one of the plurality of corpora used to train the generative model includes textual data and visual data.

18. 12. The system of claim 11, wherein the one or more processors are further configured to: apply a second prompt to the generative model to output a second message for a lesson identifying information for the user toward achieving the endpoint.

19. 12. The system of claim 11, wherein the one or more processors are further configured to: determine a time to present the message to the user using a delivery model for the user.

20. 12. The system of claim 11, wherein the user is taking medication to address the condition in part associated with the session to which the message is provided, and the message comprises at least one of a Short Messaging Service (SMS) message, a Multimedia Messaging Service (MMS) message, or an in-app message.

Citation Information

Patent Citations

  • Systems and methods for multimodal generative machine learning

    JP2019512758A

  • System for assisting in providing template treatment parameters for ablation treatment

    JP2022506906A

  • Deep parameter learning for code synthesis

    JP2023047335A

  • Machine-learning for state determination and prediction

    US20200004583A1