AI-assisted schedule planner
A data processing system implements receiving, via a first software application on a client device, a call requesting a schedule to be generated for a user by a generative model. The system further implements identifying online and/or offline data source(s) indicating activities specific to the user, the online and/or offline data source(s) including software application(s) within a workspace; constructing a first prompt by a prompt construction unit as an input to the generative model, the prompt construction unit constructing the first prompt by appending the activities and context data to an instruction string, the instruction string comprising instructions to the generative model to schedule the activities based on the context data, and to assign the scheduled activities into the schedule, the context data being associated with the user and/or the activities; providing the schedule to the client device; and causing a user interface of the client device to present the schedule.
1 . A data processing system comprising:
a processor; and
a machine-readable storage medium storing executable instructions that, when executed, cause the processor alone or in combination with other processors to perform operations of:
receiving, via a chat interface or a plug-in of a first software application on a client device of a user, a call requesting a schedule to be generated for the user by a generative language model;
identifying one or more online data sources, one or more offline data sources, or a combination thereof indicating a plurality of activities specific to the user, the one or more online data sources, the one or more offline data sources, or the combination thereof including one or more second software applications within a workspace, wherein the first software application is a stand-alone software application, or a component of one of the one or more second software applications or another application;
constructing a first prompt by a prompt construction unit as an input to the generative language model, the prompt construction unit constructing the first prompt by appending the activities and context data to an instruction string, the instruction string comprising natural language instructions to the generative language model to:
concurrently assign the activities into a plurality time slots in the schedule based on the context data, and
parse a description of the activities to infer an identification of an application to open on a user interface of the client device before a respective time slot set for a respective activity among the activities in the schedule, the context data including the description of the activities;
providing as an input the first prompt to the generative language model and receiving as an output the schedule and the identification of the application from the generative language model;
providing the output to the client device;
causing the user interface of the client device to present the schedule; and
automatically opening the application on the user interface of the client device before the respective time slot for the user to complete the respective activity,
wherein the processor is embedded in the client device or a server connecting to the client device via a network.
2 . The data processing system of claim 1 , wherein the instruction string comprises natural language instructions to the generative language model to:
infer from at least one of the activities or the context data at least one of a user role, a deadline, or an importance level per activity; and
prioritize the activities based on at least one of the user role, the deadline, the importance level.
3 . The data processing system of claim 1 , wherein the generative language model is a large language model,
wherein the instruction string comprises natural language instructions to the large language model to infer one or more suggested actions for the user to take to complete a respective activity in the schedule, the one or more suggested actions include context and relevant documentation to assist the user to complete the respective activity, and
wherein causing the user interface to present the schedule comprises causing the user interface to present the schedule with the one or more suggested actions.
4 . The data processing system of claim 1 , wherein the machine-readable storage medium further includes instructions configured to cause the processor alone or in combination with other processors to perform operations of:
receiving, via the user interface, a user request for an alternative schedule to be generated for the user;
constructing a second prompt by the prompt construction unit further based on one or more prompt engineering parameters, wherein the one or more prompt engineering parameters comprise temperature, top-p, presence penalty, or a combination thereof, and the one or more prompt engineering parameters are pre-determined for the generative language model or received via the user interface in conjunction with the user request;
providing the alternative schedule to the client device; and
causing the user interface to present the alternative schedule.
5 . The data processing system of claim 1 , wherein the machine-readable storage medium further includes instructions configured to cause the processor alone or in combination with other processors to perform operations of:
in response to at least one of one or more notifications, or sensor data received from the client device, determining that at least one of the activities in the schedule has been updated within one of the first application and the one or more second software applications or the schedule; and
synchronizing, based on the determining, the at least one updated activity in the other one of the first software application and the one or more second software applications or the schedule.
6 . The data processing system of claim 5 , wherein the synchronizing further comprises:
synchronizing the other one of the first software application and the one or more second software applications or the schedule in real-time or nearly real-time with the determining.
7 . The data processing system of claim 5 , wherein the machine-readable storage medium further includes instructions configured to cause the processor alone or in combination with other processors to perform operations of:
constructing a third prompt by the prompt construction unit as an input to the generative language model, the prompt construction unit constructing the third prompt by appending the at least one updated activity and additional context data associated with the at least one updated activity to another instruction string, the another instruction string comprising natural language instructions to the generative language model to re-schedule the activities based on the additional context data, and to assign the re-scheduled activities into another schedule;
providing the another schedule to the client device; and
causing the user interface to present the another schedule.
8 . The data processing system of claim 5 , wherein the at least one updated activity includes at least one of adding a new activity, deleting one of the activities, one or more location changes, one or more scheduling time changes, or one or more context changes.
9 . The data processing system of claim 1 , wherein the context data includes whether a respective activity can be rescheduled or not, and the instruction string comprises natural language instructions to the generative language model to:
assign the respective activity with a respective fixed time slot thereof, when determining the respective activity cannot be rescheduled, and
assign the respective activity based on a flexible time frame or no time frame, when determining the respective activity can be rescheduled.
10 . The data processing system of claim 1 , wherein the machine-readable storage medium further includes instructions configured to cause the processor alone or in combination with other processors to perform operations of:
causing a presentation of the schedule in a calendar-based view depicting one or more calendar entries of the activities in the user interface, and
wherein the context data comprises one or more preferences associated with the user, at least one of one or more of the first application and the one or more second software applications, one or more locations, or one or more scheduling times associated with the activities, or a combination thereof.
11 . The data processing system of claim 1 , wherein the instruction string comprises natural language instructions to the generative language model to:
extract or infer, from at least one of the activities, or the context data, additional characteristics of the activities, the additional characteristics including at least one of a task assigned to or by the user, an entity assigned the task, a time point when the task was assigned, criticality of the task, a work amount of the task, a number of tasks dependent on the task, importance of a project including the task to the entity, a number of times mentioning the task, or whether the task can be broken down into subtasks and allotted to different time slots; and
prioritize the activities further based on the additional characteristics.
12 . The data processing system of claim 1 , wherein the call is triggered upon activation of the first software application or by a fourth prompt input via the user interface of the client device,
wherein the one or more second software applications include a plurality of software applications comprising at least one of a word processing application, a presentation application, a note taking application, a text editing application, an email application, a spreadsheet application, a desktop publishing application, a digital drawing application, a task management application, or a communications application, and
wherein the schedule includes entries of activities across the plurality of software applications.
13 . A method comprising:
receiving, by a processor via a chat interface or a plug-in of a first software application on a client device of a user, a call requesting a schedule to be generated for the user by a generative language model;
identifying one or more online data sources, one or more offline data sources, or a combination thereof indicating a plurality of activities specific to the user, the one or more online data sources, the one or more offline data sources, or the combination thereof including one or more second software applications within a workspace, wherein the first software application is a stand-alone software application, or a component of one of the one or more second software applications or another application;
constructing a first prompt by a prompt construction unit as an input to the generative language model, the prompt construction unit constructing the first prompt by appending activities and context data to an instruction string, the instruction string comprising comprising natural language instructions to the generative language model to:
concurrently assign the activities into a plurality time slots in the schedule based on the context data, and
parse a description of the activities to infer an identification of an application to open on a user interface of the client device before a respective time slot set for a respective activity among the activities in the schedule, the context data including the description of the activities;
providing as an input the first prompt to the generative language model and receiving as an output the schedule and the identification of the application from the generative language model;
providing the output to the client device;
causing the user interface of the client device to present the schedule; and
automatically opening the application on the user interface of the client device before the respective time slot for the user to complete the respective activity,
wherein the processor is embedded in the client device or a server connecting to the client device via a network.
14 . The method of claim 13 , wherein the instruction string comprises natural language instructions to the generative language model to:
infer from at least one of the activities or the context data at least one of a user role, a deadline, or an importance level per activity; and
prioritize the activities based on at least one of the user role, the deadline, the importance level.
15 . The method of claim 13 , wherein the generative language model is a large language model,
wherein the instruction string comprises natural language instructions to the large language model to infer one or more suggested actions for the user to take to complete a respective activity in the schedule, the one or more suggested actions include context and relevant documentation to assist the user to complete the respective activity, and
wherein causing the user interface to present the schedule comprises causing the user interface to present the schedule with the one or more suggested actions.
16 . A non-transitory computer readable medium on which are stored instructions that, when executed, cause a programmable device to perform functions of:
receiving, via a chat interface or a plug-in of a first software application on a client device of a user, a call requesting a schedule to be generated for the user by a generative language model;
identifying one or more online data sources, one or more offline data sources, or a combination thereof indicating a plurality of activities specific to the user, the one or more online data sources, the one or more offline data sources, or the combination thereof including one or more second software applications within a workspace, wherein the first software application is a stand-alone software application, or a component of one of the one or more second software applications or another application;
constructing a first prompt by a prompt construction unit as an input to the generative language model, the prompt construction unit constructing the first prompt by appending the activities and context data to an instruction string, the instruction string comprising natural language instructions to the generative language model to:
concurrently assign the activities into a plurality time slots in the schedule based on the context data, and
parse a description of the activities to infer an identification of an application to open on a user interface of the client device before a respective time slot set for a respective activity among the activities in the schedule, the context data including the description of the activities;
providing as an input the first prompt to the generative language model and receiving as an output the schedule and the identification of the application from the generative language model;
providing the output to the client device;
causing the user interface of the client device to present the schedule; and
automatically opening the application on the user interface of the client device before the respective time slot for the user to complete the respective activity,
wherein the programmable device is embedded in the client device or a server connecting to the client device via a network.
17 . The non-transitory computer readable medium of claim 16 , wherein the instruction string comprises natural language instructions to the generative language model to:
infer from at least one of the activities or the context data at least one of a user role, a deadline, or an importance level per activity; and
prioritize the activities based on at least one of the user role, the deadline, the importance level.
18 . The non-transitory computer readable medium of claim 16 , wherein the generative language model is a large language model,
wherein the instruction string comprises natural language instructions to the large language model to infer one or more suggested actions for the user to take to complete a respective activity in the schedule, the one or more suggested actions include context and relevant documentation to assist the user to complete the respective activity, and
wherein causing the user interface to present the schedule comprises causing the user interface to present the schedule with the one or more suggested actions.
19 . The data processing system of claim 1 , wherein the context data includes that the respective activity can be divided into sub-activities and allotted to different time slots, and the instruction string comprises instructions to the generative language model to:
divide the respective activity into sub-activities; and
schedule the sub-activities to different time slots in the schedule,
wherein causing the user interface to present the schedule comprises causing the user interface to present the schedule with the sub-activities in the different time slots.
20 . The data processing system of claim 1 , wherein the context data includes a priority order of the one or more online data sources, the one or more offline data sources, or a combination thereof, and the instruction string comprises instructions to the generative language model to:
assign activities of a high priority data source with fixed time slots, when determining the respective activity cannot be rescheduled;
schedule the activities of the high priority data source to the fixed time slots;
assign activities of a low priority data source based on a flexible time frame or no time frame; and
schedule the activities of the low priority data source to open time slots in the schedule.