Scheduling tasks based on cyber-physical-social context
Patent Information
- Application Number
- CN202180020679.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Priority Date
- 2020-03-13
- Filing Date
- 2021-03-01
- Publication Date
- 2026-09-11
- Estimated Expiration
- 2041-03-01
AI Technical Summary
此外,由于人类活动动态的噪声环境方面,标识任务具有挑战性
[0004]本文描述的系统和方法基于网络活动、物理活动和社交活动收集任务的上下文。CPS上下文基于从CPS活动传感器收集的CPS活动数据,CPS活动数据包括以下一项或多项:网络上下文特征、物理上下文特征、和社交上下文特征。基于所生成的CPS上下文和与CPS上下文相关联的一个或多个注释来标识任务。注释可以由用户提供。经训练的CPS上下文模型允许将所标识的任务分类到一个类别中。一旦所标识的任务具有一个类别,则可以将其与具有相同类别的一个或多个任务分组在一起,并且该任务组可以一起被调度。
Smart Images

Figure CN115427992B_ABST
Abstract
Description
Background Technology
[0001] Intelligent assistants offer people a useful way to manage many of their tasks, including personal and work-related activities. In recent years, there has been increasing attention on the application of these assistants in the workplace to empower employees. While these assistants have the potential to help people complete work tasks (at work, at home, or on the go), their penetration in the workplace is limited, and task support is confined to low-level tasks such as controlling devices, seeking information, or entertainment. Particularly in the work environment, intelligent assistants are primarily used for basic tasks such as voice dictation, calendar management, and customer / employee support. Recently, the influence of network, physical, and social behaviors has been used to analyze indoor information-seeking activities. However, these studies do not focus on the work tasks themselves, including the influence of task attributes (network, physical, or social factors), or the support that intelligent assistants can provide to help employees complete tasks. Furthermore, task identification is challenging due to the dynamic and noisy aspects of human activity. Unreliable or subjective annotations and spontaneous human actions in daily life can lead to inaccurate human task identification. To improve intelligent assistants' understanding of work tasks, it is necessary to be able to accurately identify tasks and then efficiently schedule them based on commonalities between tasks.
[0002] It is with regard to these and other general considerations that the various aspects disclosed herein have been made. Similarly, while relatively specific problems may be discussed, it should be understood that the examples are not limited to solving specific problems identified elsewhere in the background or this disclosure. Summary of the Invention
[0003] According to this disclosure, the above or other problems can be solved by generating a network-physical-social (CPS) context model based on the collected task context and generating a set of expected tasks based on the CPS context model, so as to improve the productivity of performing expected tasks.
[0004] The system and method described in this paper collect task context based on network activity, physical activity, and social activity. The CPS context is based on CPS activity data collected from CPS activity sensors, which includes one or more of the following: network context features, physical context features, and social context features. Tasks are identified based on the generated CPS context and one or more annotations associated with it. Annotations can be provided by the user. A trained CPS context model allows the identified tasks to be classified into categories. Once an identified task has a category, it can be grouped with one or more tasks of the same category, and this group of tasks can be scheduled together.
[0005] The present invention is provided to introduce the selection of concepts in a simplified form, which is further described below in the detailed description. The present invention is not intended to identify key or essential features of the claimed technical solutions, nor is it intended to limit the scope of the claimed technical solutions. Additional aspects, features, and / or advantages of the examples will be set forth in part in the description which follows, and in part will be apparent from the description, or may be learned by practice of this disclosure. Attached Figure Description
[0006] The following diagram illustrates examples of non-restrictive and non-exhaustive enumeration.
[0007] Figure 1 An overview of an example system of a task management system according to various aspects of this disclosure is shown.
[0008] Figure 2 An example method for task grouping based on CPS context is shown, according to various aspects of this disclosure and an example system that can be used to practice this disclosure.
[0009] Figure 3 An example method for task grouping based on CPS context is shown, according to various aspects of this disclosure and an example system that can be used to practice this disclosure.
[0010] Figures 4A to 4B An example of scheduling tasks by grouping tasks based on CPS context is shown, according to various aspects of this disclosure and an example system that can be used to practice this disclosure.
[0011] Figure 5 An example method for generating a task-specific CPS context is shown, which can be used to practice the aspects of this disclosure.
[0012] Figure 6 An example of a generated CPS context model based on aspects of this disclosure and an example system that can be used to practice this disclosure is shown.
[0013] Figure 7 This is a block diagram illustrating exemplary physical components of a computing device that can be used to practice various aspects of the present disclosure.
[0014] Figure 8A This is a simplified diagram of a mobile computing device that can be used to implement various aspects of this disclosure.
[0015] Figure 8B This is another simplified block diagram of a mobile computing device that can be used to implement various aspects of the present disclosure. Detailed Implementation
[0016] Various aspects of this disclosure are described more fully below with reference to the accompanying drawings, which are an integral part of this disclosure and illustrate specific example aspects. However, different aspects of this disclosure may be implemented in many different forms and should not be construed as limiting to the aspects set forth herein; rather, these aspects are provided so that this disclosure will be thorough and complete and will fully communicate the scope of these aspects to those skilled in the art. The aspects may be practiced as methods, systems, or devices. Thus, the aspects may take the form of hardware implementations, entirely software implementations, or a combination of software and hardware aspects. Therefore, the following detailed description should not be construed as limiting.
[0017] This disclosure relates to systems and methods for scheduling tasks based on network-physical-social context. Tasks are scheduled by grouping them according to a task's network-physical-social (CPS) context based on a CPS context model, thereby improving the efficiency of user task performance. This representation can be used in AI assistants to schedule tasks by grouping them based on contextual factors based on network activity, physical activity, and social activity. The aspects use activity sensors to collect the user's network activity, physical activity, and social activity, and analyze these activities to determine contextual features for generating a network-physical-social (CPS) context used to identify tasks. The aspects further train a CPS context model that classifies tasks into categories. The aspects further use the CPS context model on the CPS context of the task the user is currently performing to schedule another task, where the two tasks have matching category pairs, thereby grouping the two tasks together to improve task performance productivity.
[0018] The main challenge in identifying human tasks involves the dynamics of human activity within a noisy environment. Unreliable or subjective annotations and spontaneous human behavior in everyday life can lead to inaccurate identification of human tasks. The task a user is currently engaged in can be identified based on contextual information captured by sensors.
[0019] A task involves users or personnel performing activities to achieve a goal. Data about tasks and activities can be collected by receiving activity data from activity sensors. Activity sensors can monitor and collect various activity data from network activity, physical activity, and social activity. In some respects, a task corresponds to one or more of the following: network context, physical context, and social context. A combination of network context, physical context, and social context is represented by a CPS context. A CPS context is a context based on a combination of CPS context features. CPS context features are a set of CPS activities that constitute a CPS context. CPS activities are user activities sensed by activity sensors involving network activity, physical activity, and social activity. Activity sensors sense activities and provide activity data.
[0020] Network activity involves cyberspace, where users act either alone or with others. Such activities include, but are not limited to, using electronic devices and / or computers to complete tasks. These electronic devices and / or computers can include desktops, laptops, telephones, tablets, dedicated computing devices, copiers, printers, and scanners. For example, users may use electronic devices and / or computers for email applications, word processing, website browsing, website searches, performing online transactions, and online chat. Tasks with a network context can include preparing and sending emails, searching for information via website searches, using electronic devices to complete tasks, and online activities such as online banking transactions. Sensors can be used to collect network activity data. For example, sensors such as proximity sensors attached to electronic devices or users can detect when a user is near an electronic device. Other network sensors include logs and / or monitoring programs that can be used to monitor and record user actions on electronic devices and computers. In some aspects, network monitors can monitor data traffic on the network to or from electronic devices and / or computers.
[0021] Physical activities typically involve the body, not the mind. In some respects, physical activities include, but are not limited to, cleaning, moving, eating, and manual labor. For example, tasks with a physical context can include traveling, eating, resting, and face-to-face meetings with other people. In some respects, sensors can be used to collect physical activity data. Sensors used to collect physical activity data can include GPS sensors and motion sensors that monitor a person's location and movement.
[0022] Social activities typically involve social interactions with other people or collaborators to accomplish a task. Examples of tasks involving social activities include, but are not limited to, meeting with others, dining, performing tasks involving customer care, project work, and communication. Sensors used to collect social activity data can include proximity and location sensors attached to an individual user to detect people at specific locations who may be near each other over extended periods for the purpose of meeting. In other aspects, various locations such as meeting rooms can be equipped with sensors to detect occupants. Social activities also include collaborative online tasks: for example, the use of calendar apps for scheduling collaborative activities, online chat, generating and managing emails. In this case, the app can act as a sensor to capture such social activities. For example, a calendar app can sense whether a meeting has occurred or is planned, the identities of the meeting attendees, and the location of the meeting.
[0023] In some respects, input from users can be received via electronic devices to annotate information about tasks and activities. For example, input (in-situ annotation of tasks) can be received via the graphical user interface of an electronic device or computer. For instance, a user can annotate a task by selecting it and entering task attributes, date, time, subject, the person interacting with it, and location. Users can also annotate tasks in response to questions posed to them by the system. For example, questions could be, "Did you use a computer to complete this task?" or "Did you meet with someone else to complete this task?".
[0024] A task's context is data describing a set of conditions in which the task is performed by one or more people. For example, context can be based on various types of activities, including online, physical, and social activities. Online context can be based on online activities; physical context can be based on physical activities; and social context can be based on social activities. A CPS context can be a combination of online, physical, and social contexts. In some respects, a CPS context can be based on a weighted combination of online, physical, and social contexts. A CPS context can model the relationship between a user's CPS context and the corresponding behaviors involved in the task being performed.
[0025] Figure 1 An overview of an example system for task management according to various aspects of this disclosure is shown. System 100 may represent a set of user activity sensors (110A, 112A-B, and 114A) and a task manager 102.
[0026] For example, when a user uses an electronic device and / or computer to perform an online task (such as sending an email), network activity sensor 110 senses and collects the user's network activity (e.g., online operations). Network activity sensor 110 may be a program installed in the electronic device and / or computer that monitors user operations on the electronic device and / or computer. User sensor 116 may sense and collect user activity. User sensor 116 may include a proximity sensor, a Global Positioning System (GPS) sensor, a motion sensor, and other sensors that detect user activity. User sensor 116 may communicate with network activity sensor 110 to determine when the user operates the electronic device and / or computer for a task based on the network context. Network activity sensor 110 may receive input from the user to annotate the task the user is performing in the network context. Network activity sensor 110 and user sensor 116 may transmit activity and task data to task manager 102 for storage and further analysis. Activity and task data may include, but is not limited to: the network nature of the task (online), the name, location, movement, date, start time, end time, duration, and user identifier of the computer program application.
[0027] Physical activity sensor 112 senses and collects the user's physical activities. In some aspects, physical activities may include activities that require physical movement of the user, such as, but not limited to, eating or exercising. Physical activity sensor 112 may be a proximity sensor mounted at a location such as a table in a restaurant or workout room. Combined with user sensor 116 held by the corresponding person in the room or by physical activity sensor 112 itself, physical activity sensor 122 can determine that a task with physical context is occurring. Physical activity sensor 112 and user sensor 116 may transmit activity and task data to task manager 102 for storage and further analysis. Physical activity and task data may include, but is not limited to: location, movement, date, start time, end time, duration, and user identifier. Additionally or alternatively, physical activity sensor may include accelerometers, gyroscopes, magnetometer sensors, the user's movement type, and semantic tags for locations visited by the user (e.g., home, office, meeting room, and train station).
[0028] Social activity sensor 114 senses and collects users' social activity data. In some aspects, social activity may include activities performed jointly by multiple users. Social activity sensor 114 may be a proximity sensor installed in a meeting room or at a table where people gather for a meeting. Combined with user sensor 116 held by the corresponding person in the meeting room or by the social activity sensor itself, social activity sensor 114 can determine that a task with a social context is taking place. Social activity sensor 114 and user sensor 116 can transmit activity and task data to task manager 102 for storage and further analysis. Activity and task data may include, but are not limited to: the social nature of the task, location, movement, date, start time, end time, duration, and user identifiers.
[0029] In some respects, tasks can be associated with a combination of network, physical, and social contexts. For example, a task involving face-to-face meetings between users to co-draft a document might involve the network context of using an online word processing application, the physical activity of meeting face-to-face in a conference room, and the social activity of interacting during the meeting. In this way, tasks can be associated with CPS contexts that have different levels of emphasis in each type of context. A CPS context can be represented by a combination of multiple vectors, each corresponding to a context of a corresponding type with a relative degree of involvement. For example, a task of preparing and sending an email to another person using an online email application is more relevant to the network context than the physical context, and moderately relevant to the social context. In contrast, a task of eating alone is highly relevant to the physical context, but not relevant to either the network or social context.
[0030] In some respects, data transfer from the sensors (110, 112, 114, and 116) to the task manager 102 can occur in real time as the corresponding sensors collect task and activity data. Additionally or alternatively, the sensors (110, 112, 114, and 116) can transfer task and activity data in batches. The task receiver 120 can also periodically poll the sensors (110, 112, 114, and 116) to request task and activity data.
[0031] Task receiver 120 can receive activity data and contextual features from network activity sensor 110, physical activity sensor 112, social activity sensor 114, and user sensor 116, and stores the task and its past and current contextual features in task repository 122. In some aspects, task receiver 120 may include task annotation receiver 120A. Task annotation receiver 120A receives annotations for the task from the user. The user can input a description including their task from an electronic device and / or computer. Annotations may be based on event sampling methods (ESM), such as through a field survey sent to the user. Task identifier 120B identifies the task based on a combination of annotations received from the respective sensors (110, 112, 114, and 116) and network activity data, physical activity data, and social activity data.
[0032] In some respects, a combination of network activity data, physical activity data, and social activity data constitutes the CPS contextual features of a task. A task repository 122 with past / current context can store task and activity data for retrieval by a task model generator 124 to generate / train a CPS contextual model and analyze the current task.
[0033] The task model generator 124 generates task models based on data involving tasks that have occurred in the past and the context associated with those tasks. The task model generator 124 can receive task and context features from a task repository 122 with past / current context features. In some respects, the task model generator 124 generates task models based on a combination of relative engagement in various types of contexts within the CPS context. For example, a task model for a person eating alone might have strong engagement in a physical context but minimal engagement in a network or social context.
[0034] In some respects, task models based on CPS context can be represented by CPS vectors, which can be aggregated multidimensional vectors where each dimension represents a context: network context, physical context, and social context. For example, the multidimensional vector representation of the task of eating alone would be (0, 10, 0) when the value 0 represents the weakest relevance to the specific context and the value 10 represents the strongest, and the multidimensional vector values are expressed in the format (network, physical, social). Therefore, the task model of holding a face-to-face meeting to co-draft a document through discussion can be represented as (5, 10, 10).
[0035] The representation of the task model is not limited to the above format. Other representations based on multidimensional vectors can be used to generate and maintain task models based on the CPS context to serve the same or similar purposes. The CPS task model can be used as a classifier for classifying tasks.
[0036] Task scheduler 128 schedules tasks. In some respects, task scheduler 128 receives a current task with a current CPS context and reschedules the task by grouping it with another task based on the CPS context to improve the efficiency of executing the corresponding task.
[0037] In some other aspects, the task scheduler 128 receives future tasks with CPS contexts from a future task repository 130 with expected contexts (queues) and schedules tasks based on a CPS context model by grouping future tasks with other tasks having similar CPS contexts according to a specific CPS context model. A “future task” is any task that has not yet been completed and includes one or more of the following: task category, task description, user performing the task, start time, end time, and CPS context (such as a CPS vector). In some aspects, the future task repository 130 represents a queue of tasks to be scheduled and / or a backlog of tasks that need to be completed. For example, tasks requiring the same physical location can be grouped together so that these tasks can be executed when the user is in a specific physical location. Additionally or alternatively, users can create and store future tasks in the future task repository using an application (such as a calendar application).
[0038] It should be understood that, regarding Figure 1 The various methods, devices, applications, features, etc., described are not intended to limit System 100 to execution by the specific applications and features described. Therefore, additional controller configurations can be used to practice the methods and systems described herein, and / or the described features and applications can be excluded without departing from the methods and applications disclosed herein.
[0039] Figure 2 Example methods for generating CPS context, identifying tasks, and retraining CPS context models based on task-based CPS contexts are shown in accordance with various aspects of this disclosure.
[0040] The general order of operations for method 200 is as follows: Figure 2 The method is shown in the diagram. Typically, method 200 begins with start operation 202 and ends with end operation 218. Method 200 may include more or fewer steps, or may be combined with... Figure 2 The order shown differs in the arrangement of the steps. Method 200 can be executed as a computer-executable instruction set, which is executed by a computer system and encoded or stored on a computer-readable medium. Furthermore, method 200 can be executed by gates or circuits associated with a processor, ASIC, FPGA, SOC, or other hardware device. References will be incorporated herein by reference. Figure 1 , Figure 3 , Figures 4A to 4B, Figure 5 , Figure 6 , Figure 7 ,and Figures 8A to 8B Method 200 is explained by describing the system, components, devices, modules, software, data structures, data feature representations, signaling diagrams, and methods. Method 200 assumes the existence of a generated and trained CPS context model. In some aspects, the CPS context model can be generated based on sample tasks that have been classified into task categories. The generated CPS context model can be retrained based on a task identified based on start time, end time, activity data, and user-made annotations.
[0041] The receiving operation 204 receives activity streams and contextual features from network-physical-social sensors. For example, in some aspects, network activity may include, but is not limited to: email, writing documents using electronic devices, website browsing, social networking, and entertainment games. Physical activity may include, but is not limited to, the user's physical activities in the spatiotemporal domain. Physical activity can be captured by readings from accelerometer, gyroscope, magnetometer sensors, transmission patterns, and semantic tags of locations visited by the user (e.g., home, office, meeting room, and train station). Social activity may involve the user's social interactions, including direct interactions and meetings with other people. In some aspects, social activity can be captured by the presence of Wi-Fi / Bluetooth access points, ambient noise levels, and in-situ annotations characterizing the type of environment and the degree of social contact with other people.
[0042] The activity flow can also include comments entered by the user in response to questions provided by the system. For example, the question could be, “Between 10:00 AM and 11:10 AM, what tasks occupied most of your time?” Users can respond by specifying one or more task categories. Task categories can include, but are not limited to: communication, record keeping, administrative and management, planning, education, IT (software or hardware related tasks), finance, physical, problem solving, low-level data entry, project reporting, customer care, meals and breaks, and travel. Query and response processing for comments can be triggered based on experimental sampling methods (ESM) through field surveys, such as by notifying users via applications on electronic devices. In some other aspects, task categories can include: work-related tasks (covering different types of work a user may have), personal tasks (e.g., personal organization, reflection or care, commuting, cleaning and home improvement), social-exercise-recreation tasks (social activities, exercise and relaxation), caregiving tasks (caring for family or non-family members), and civic duties (voting and signing petitions).
[0043] Generation operation 206 generates the CPS context for the task by extracting CPS context features. In some aspects, the CPS context can be a set of CPS features (network features, physical context features, social context features). For example, the CPS context can be represented as a multi-vector value, where each vector represents the magnitude of each context feature. As discussed earlier, the magnitude can be zero. In other aspects, additional CPS context can be determined at different times of user activity to identify context changes.
[0044] Operation 208 determines the start and end of the task based on the generated CPS context. In some aspects, the start and end (or boundary) of the task can be determined based on a combination of the generated CPS context and in-situ annotations, as well as changes in CPS context characteristics over time. In other aspects, the end time of the task can be estimated by identifying tasks with the same CPS context as the task and the CPS activity of the user executing the identified task.
[0045] The identification operation 210 identifies the first task based on its determined start and end times. The first task may include a task description, the user who has performed the task, comments received from the user, CPS context characteristics based on the activity log, start time, and end time. In some aspects, for example, the first task and its CPS context may be stored in a task repository 122 with context characteristics.
[0046] Classification operation 212 classifies the first task into a category based on the trained CPS context model. The category of the first task is determined through classification operation 212.
[0047] The CPS context model is trained for a classification task. Training the CPS context model can include, for example, constructing a set of categories via machine learning. The learning process can include training, testing, and internal evaluation. Categories can be based on Support Vector Machines (SVM), Naive Bayes, k-Nearest Neighbors (k-NN), Logistic Regression Classifiers with Restricted Boltzmann Machine Feature Extractors (denoted as LRC(RBM)), Decision Trees, and Random Forests. In some respects, these categories are instantiated using scikit-learn machine learning tools, which are implemented using, for example, Python.
[0048] To build a decision tree classifier, information gain (entropy function) can be used in the tree splitting process. For building a classifier based on the SVM algorithm, a tolerance parameter of, for example, 0.001 can be used with a radial basis function (RBF) kernel. For a Naive Bayes classifier, a machine model performing efficient non-linear feature extraction from the CPS feature set has a learning rate of 0.06, for example, 100 hidden units and 20 iterations. For k-nearest neighbor (k-NN) classes, a setting of, for example, k=5 can be used. The CPS context model can be user-specific. Alternatively, the CPS context model can be generalized across all users.
[0049] Task categories may include, but are not limited to: communication, recording, administration and management, planning, education, IT (software or hardware related tasks), finance, physical tasks, problem solving, low-level data entry, project reporting, customer care, meals and breaks, and travel. See Table 1 below. Table 1
[0050] Grouping operation 214 groups one or more tasks together with the first task to generate task groups that share a common or related CPS context. In some respects, task groups may share the CPS context of being located in the same location. In other respects, task groups may share the CPS context of the surrounding environment of the same location, such as the required brightness and noise levels. Some tasks, such as reading tasks, may require bright light and a quiet place. However, in some other respects, task groups may share the CPS context, for example, where the task needs to be performed with a specific colleague. Thus, operation 214 retrieves task groups where the time efficiency used by the user can be improved by batching tasks with common needs, such as meeting people when they are in the same location at the same time. In some respects, multiple tasks that share the same type of task (e.g., email) can be grouped together for batch execution. Efficiency in task execution is achieved by grouping tasks based on categories, as similar tasks are performed in combination with each other. For example, when a user is on a computer, all tasks that need to send emails can be grouped together so that the user can perform the email sending task.
[0051] Operation 216 provides a task group including the first task. In some aspects, for example, the scheduling of updated task groups can be provided to the user and calendar applications. In some other aspects, a notification can be transmitted to the user along with the updated task group to be executed. The notification can be received by an electronic device and / or computer used by the user, such that the notification is displayed and / or processed as an audio notification.
[0052] It should be understood that operations 202 to 218 are described for the purpose of illustrating the method and system, and are not intended to limit the disclosure to a particular sequence of steps. For example, the steps may be performed in a different order, additional steps may be performed, and the disclosed steps may be excluded without departing from the disclosure.
[0053] Figure 3 An example method for scheduling tasks based on CPS context is shown according to various aspects of this disclosure.
[0054] The general order of operations for method 300 is as follows: Figure 3 As shown in the diagram. Typically, method 300 begins with start operation 302 and ends with end operation 316. Method 300 may include more or fewer steps, or may be combined with... Figure 3 The order shown differs in the arrangement of the steps. Method 300 can be executed as a computer-executable instruction set, which is executed by a computer system and encoded or stored on a computer-readable medium. Furthermore, method 300 can be executed by gates or circuits associated with a processor, ASIC, FPGA, SOC, or other hardware device. References will be incorporated herein by reference. Figure 1 , Figure 2 , Figure 4A To Figure B, Figure 5 , Figure 6 , Figure 7 ,and Figure 8A Method 300 is explained by referring to the system, components, devices, modules, software, data structures, data feature representations, signaling diagrams, and methods described in Figure B.
[0055] Generation operation 304 generates a CPS context based on (historical or current) CPS activity data that can be received from CPS sensors. In some aspects, the CPS context can be a current CPS context based on the current set of CPS activity data. The task scheduler 128 in Task Manager 102 can generate a CPS context for a user's current activity based on CPS activity data received from one or more of the following: network activity sensor 110, physical activity sensor 112, social activity sensor 114, and user sensor 116. Additionally or alternatively, the CPS context can be a historical CPS context of past activities that have occurred for any number of users. For example, the task scheduler in Task Manager 102 can generate a CPS context for the past activities of one or more users based on CPS activity data stored in a task repository 122 with contextual features. In some aspects, the CPS context can be based on CPS vectors in multi-vector expressions, each representing multiple dimensions of network context features, physical context features, and social context features.
[0056] Generation operation 306 generates a CPS context for one or more future tasks of a user based on a trained CPS context model. In some aspects, the future tasks(s) may belong to different users than the users(s) from whom the CPS activity data used to generate the CPS context originates. In some aspects, task scheduler 128 may generate the CPS context based on expected CPS contexts retrieved from one or more future task repositories 130 with expected contexts. In some aspects, the task-specific CPS context may be represented as a CPS vector in a multi-vector expression based on multiple dimensions of network context features, physical context features, and social context features. For example, the CPS vector may be represented by a set of multi-vectors (10, 0, 0) for network context, physical context, and social context. The CPS vector may include additional sub-vectors representing detailed context within the CPS context; for example, a sub-vector of the network vector represents the magnitude of using an email application on a computer during the user's network activity. In some other aspects, generation operation 306 generates more than one CPS context for a given future task. Subsequent operations that classify one or more future tasks can use more than one CPS context to classify, sort, and schedule at least one of the one or more future tasks.
[0057] As indicated by the dashed line, classification operation 308 is optional. Operation 308 classifies one or more future tasks based on a trained CPS context model. In some aspects, the classification operation classifies one or more future tasks by using a CPS context generated for the one or more future tasks. It applies a trained CPS context model retrieved from the CPS context repository 126 and determines at least one category for the one or more future tasks. The CPS context model is trained to classify tasks.
[0058] Training a CPS context model may include, for example, constructing a set of categories through machine learning. The learning process may include training, testing, and internal evaluation. Categories may be based on Support Vector Machines (SVM), Naive Bayes, k-Nearest Neighbors (k-NN), Logistic Regression Classifiers with Restricted Boltzmann Machine Feature Extractors (referred to as LRC(RBM)), Decision Trees, and Random Forests. In some respects, these categories are instantiated using scikit-learn machine learning tools, which are implemented using, for example, Python. Task categories may include, but are not limited to: communication, record keeping, administration and management, planning, education, IT (software or hardware related tasks), finance, physics, problem solving, low-level data input, project reporting, customer care, dining and rest, and travel. See Table 1.
[0059] Optional storage operation 310 stores CPS contexts generated for one or more future tasks in the future task repository 130. These newly stored CPS contexts can be used to update training or to retrain the CPS context model. Additionally or alternatively, storage operation 310 can provide information about the generated tasks to the task model generator 124 to retrain the CPS context model. Figure 3 (Not shown in the image). By retraining the CPS context model, the Task Manager improves the accuracy and efficiency of determining the category of CPS context.
[0060] The ranking operation 312 ranks one or more future tasks based on the similarity between the CPS context generated for one or more future tasks and the CPS context based on (historical or current) CPS activity data. In some respects, similarity is based on matching degree by comparing the CPS vectors for one or more future tasks with the CPS vectors based on the CPS context of the CPS activity data. In all respects, the more similar the vectors are, the higher their ranking is received. Similarity is measured using standard similarity metrics, such as cosine similarity or feature reduction within network vector representations, physical vector representations, and social vector representations (such as KL divergence or entropy). In all respects, the magnitude of the corresponding dimension of each multidimensional CPS vector is compared to measure the “distance” of the CPS vectors in a multidimensional coordinate system. For example, CPS activity data might have a CPS vector representation of (3, 8, 8). If there are two future tasks, each task will be represented as a multidimensional CPS vector such that there is a first future CPS vector and a second future CPS vector. Using the example above, the first future task could be a solo meal with a CPS vector representation of (0, 10, 0). The second future task could be a face-to-face meeting to collaboratively draft a document through discussion, represented as (5, 10, 10). The first and second future tasks can be stored in queue 130. The CPS vector of the first future task (0, 10, 0) is compared with the CPS activity vector (3, 8, 0) to measure the distance between them. The CPS vector of the second future task (5, 10, 10) is compared with the CPS activity vector (3, 8, 8) to measure the distance between them. The two distances are then ranked such that the smaller the calculated distance, the more similar the CPS activity data is to the future task. In this example, the second future task has a smaller distance / higher similarity to the CPS activity data compared to the first future task. Therefore, the second future task will be ranked first, and the first future task will be ranked second. In other respects, the vector representations for network, physical, and social can be assigned different weights in the multidimensional vector representation. For example, if the weight of social is much greater than the weight of network or physical, the ranking results in the above example may be different. In other words, since both the first future task and the CPS activity data have a social vector representation of 0, the first task may have a smaller distance / higher similarity than the second task.
[0061] Additionally or alternatively, for one or more future tasks, if they are classified in a common category, the ranking operation 312 ranks higher in the CPS context. Activities represented by CPS contexts based on CPS activity data can be grouped together with high-ranking tasks of one or more future tasks because they are similar in terms of CPS context.
[0062] Recommendation operation 314 recommends at least one task from one or more future tasks based on a sorting operation. In some aspects, task scheduler 128 generates one or more new task items in task manager 102 and schedules the new task to be executed for the user. Task scheduler 128 may store the newly scheduled task in future repository 130 with the expected context. In some other aspects, task scheduler 128 generates one or more appointments associated with at least one future task from one or more future tasks in a calendar system (not shown). The CPS context for at least one future task from one or more future tasks may suggest time, location, task description, and other requirements for performing the task in terms of network activity, physical activity, and social activity. As a result of a series of operations, future tasks may be suggested to be executed together with future tasks with similar CPS contexts to improve the efficiency and effectiveness of executing the corresponding tasks.
[0063] It should be understood that operations 302 to 316 are described for the purposes of this method and system, and are not intended to limit this disclosure to a particular sequence of steps. For example, the steps may be performed in a different order, additional steps may be performed, and the disclosed steps may be excluded without departing from this disclosure.
[0064] Figures 4A to 4B An example of scheduling tasks by grouping tasks based on CPS context is shown, according to various aspects of this disclosure, based on an example system.
[0065] Figure 4ATable 400A shows examples of tasks with information associated with the corresponding tasks. For example, Task ID 0001 is a task currently being performed by user A for a duration of 15 minutes, without requiring a specific location. Task ID 0001 has the description "Send an email to B". This task has a Network-Physical-Social (CPS) context value of (10, 0, 5). Task ID 0002 is a task performed by user A for a duration of 30 minutes, without requiring a specific location, "Write a memo on topic Y using an application on a computer"; this task has a CPS context value of (10, 0, 0). Here, Task 002 is a network (online) activity for writing a memo on topic Y, and therefore has a high level of network context, but no physical or social context. In some respects, tasks involving the use of electronic devices and / or computers have a network context, regardless of whether the user enters or instructs the generation of a memo. Task ID 0003 is performed by user B for a duration of 15 minutes, without requiring a specific location to perform the task "Go to the office"; this task has a CPS context value of (0, 10, 0). Task 0004 will be performed by user A at location X, lasting 60 minutes, to meet with B and C; the task has a CPS context value of (0, 10, 10). Here, the task has zero network context, high physical context, and high social context because it is a face-to-face meeting between people. Similar to Task 0004, Task 0005 will be performed by user C at location X, lasting 60 minutes, to meet with A and B; it has a CPS context value of (0, 10, 10). Task 0006 will be performed by user D, lasting 15 minutes, without requiring a specific location to consult with A and B; the task has a CPS context value of (0, 10, 10) because it is a face-to-face meeting without online activity. Task 0007 will be performed by user A, lasting 20 minutes, without requiring a specific location to search for topic Y on a website; this task has a CPS context value of (10, 0, 0) because it is an online website search activity.
[0066] Figure 4B Table 400B shows the data from... Figure 4AThe tasks and the information associated with the corresponding tasks after grouping or generating task clusters based on a CPS context model for task categories. Specifically, tasks with task IDs 0001, 0002, and 0007 are grouped together in the same cluster (group ID = 1) because these three tasks are classified as high-level network contexts, as they involve sending emails, writing memos, and performing website searches. Tasks with task IDs 0004, 0005, and 0006 are grouped together in the same cluster (group ID = 2) because these three tasks are closely related to the physical activity of holding face-to-face meetings. Based on clustering tasks in group 2, task 0006 has been modified to require the specific location of room X, i.e., the same location where A and B meet with C. In some aspects, task clustering can be based on CPS contexts specifying the same physical location, and simultaneously, tasks can be classified as having the same face-to-face meeting category based on the CPS context model.
[0067] Figure 5 An example method for grouping tasks based on a CPS context according to an example system, based on various aspects of this disclosure, is shown.
[0068] The general order of operations for method 500 is as follows: Figure 5 The method is shown in the diagram. Typically, method 500 begins with start operation 502 and ends with end operation 516. Method 500 may include more or fewer steps, or may be combined with... Figure 5 The order shown differs in the arrangement of the steps. Method 500 can be executed as a computer-executable instruction set, which is executed by a computer system and encoded or stored on a computer-readable medium. Furthermore, method 500 can be executed by gates or circuits associated with a processor, ASIC, FPGA, SOC, or other hardware device. References will be incorporated herein by reference. Figure 1 , Figure 2 , Figure 3 , Figures 4A to 4B , Figure 6 , Figure 7 ,and Figures 8A to 8B Method 500 is explained by describing the system, components, devices, modules, software, data structures, data feature representations, signaling diagrams, and methods.
[0069] The receive operation 504 can receive a first task. The first task can be received from the task repository 122 with past / current context. In some respects, the first task can be, for example, "Prepare and send an email to recipient A about subject X".
[0070] Generation operation 506 generates a CPS context for a first task based on data from a task repository 122 with past / current context. The CPS context for the first task can be retrieved from the task repository 122. Additionally or alternatively, the CPS context can be received from an activity sensor. The CPS context can be represented as a combination of network context features, physical context features, and social context features, for example, (network, physical, social) = (10, 0, 2), indicating that the task has a high score (10) in network context feature values, a low score (0) in physical context features, and a relatively low score (2) in social context features.
[0071] The receive operation 508 receives the CPS context model based on the CPS context of the first task. In some respects, the CPS context model represents a classifier for the task. For example, the category of the first task based on its task CPS context could be "send email".
[0072] The identification operation 510 identifies the second task based on the received CPS context model. The second task, unlike the first task, is a task that has not yet been performed by the user. The second task could be, for example, "send an email to B with subject Y," having a category such as "send email." The second task can be identified from a set of tasks stored in a future task repository 130 with expected context (queue). By having the same "send email" category as the first task, the identification operation 210 can identify the second task "send an email to B with subject Y" by inferring that the user will use the same email application used for the first task to perform the second task. This improves the productivity and efficiency of task execution by grouping the first task ("send an email to Z with subject X") and the second task together, allowing the user to perform the first task and then proceed to the second task.
[0073] Correction operation 512 corrects the second task to be performed in conjunction with the first task. In some aspects, correction operation 512 corrects, for example, task attributes, time, and location. Therefore, update operation 514 updates the task queue based on the second task so that the user can use the same email application to perform the second task after the first task.
[0074] It should be understood that operations 502 to 516 are described for the purposes of this method and system and are not intended to limit this disclosure to a particular sequence of steps. For example, the steps may be performed in a different order, additional steps may be performed, and the disclosed steps may be excluded without departing from this disclosure.
[0075] Figure 6A schematic example of generating and training a CPS context model according to an example system 600 is shown, based on various aspects of this disclosure.
[0076] Network activity sensor 602 senses, for example, online activity, emails, video messages, online recordings, and social networks. Network activity sensor 602 provides activity data to the CPS feature extractor: Network Features 604. The CPS feature extractor: Network Features 604 extracts network features based on the received network activity data. Network features may include binary features such as: unclassified items, social networks, applications, communications, scheduling, online shopping, and software development. In some aspects, network features may include smartphone application usage patterns, the types of website domains visited by the user, and application usage on smartphones or other electronic devices. The extracted network features are sent to task identifier 630.
[0077] Physical activity sensor 606 senses physical activities, such as holding face-to-face meetings, moving, resting, and eating. Physical activity sensor 606 provides activity data to CPS feature extractor: Physical Features 608. CPS feature extractor: Physical Features 608 extracts physical features based on the received physical activity data. Physical features may include statistical features derived from a time period based on a sliding window model of the amplitude of readings from, for example, accelerometers, gyroscopes, and magnetometers. In some aspects, physical features may include the user's physical location and its semantic label, as well as mobility-related data based on accelerometer, gyroscope, and magnetometer readings from the user's smartphone or wearable device, traffic patterns, changes in location clusters, and traffic hotspots. In some other aspects, physical features may include environmental signals of the location: for example, temperature, brightness, and noise levels. The extracted physical features are provided to task identifier 630.
[0078] Social activity sensor 610 senses social activities between users. Social activity sensor 610 provides social activity data to CPS feature extractor: social features 612. CPS feature extractor: social features 612 extracts social features based on the received social activity data. Social features may include binary features based on digital information about direct interactions with other users for task progress and statistical features about the noise level around the user from a sliding window model. For example, the sliding window may have a window size of 300 seconds and 50% overlap to use min-max normalization to normalize the amplitude of readings from the sensor. In some aspects, social features may also include the user's surrounding sensing environment, social profile and interactions with other users, indications of proximity to other users or sensing devices, and the number of users participating in completing the task. The extracted social features are provided to task identifier 630.
[0079] Task identifier 630 receives corresponding features and task annotations 614 to identify tasks. In some aspects, task identifier 630 uses different weight values (weight WC 616 for network features, weight WP 618 for physical features, and weight WS 620 for social features) to identify tasks. The magnitude of the corresponding weights can be based on the corresponding task. In other aspects, task identifier 630 can determine the task boundary construction based on physical data (e.g., time) and task annotations (e.g., in-situ annotations from users regarding the task being performed).
[0080] The CPS context modeler and trainer 640 generates and trains CPS context models based on task-related CPS context features. In some respects, CPS context modeling can be applied to any set of CPS context features. CPS context models can be used as intelligent task classifiers to classify tasks using their CPS task features. In some respects, network context features and social context features contribute most significantly to activities such as communication and travel.
[0081] It should be understood that, regarding Figure 6 The various methods, devices, applications, features, etc., described are not intended to limit System 600 to being performed by the specific applications and features described. Therefore, additional controller configurations can be used to practice the methods and systems described herein, and / or the described features and applications can be excluded without departing from the methods and systems disclosed herein.
[0082] Figure 7 This is a block diagram illustrating the physical components (e.g., hardware) of a computing device 700 that can be used to practice the aspects of this disclosure. The computing device components described below are applicable to the computing device described above. In a basic configuration, computing device 700 may include system memory 704 and at least one processing unit 702. Depending on the configuration and type of the computing device, system memory 704 may include, but is not limited to: volatile memory (e.g., random access memory), non-volatile memory (e.g., read-only memory), flash memory, or any combination of these memories. System memory 704 may include an operating system 705 and one or more program tools 706 adapted to perform the aspects of this disclosure. For example, operating system 705 may be adapted to control the operation of computing device 700. Furthermore, aspects of this disclosure can be practiced in conjunction with graphics libraries, other operating systems, or any other applications, and are not limited to any particular application or system. The basic configuration is in... Figure 7The components within the dashed line 708 are shown. The computing device 700 may have additional features or functions. For example, the computing device 700 may also include (removable and / or non-removable) additional data storage devices, such as disks, optical discs, or magnetic tapes. Such additional storage... Figure 7 The image is shown by a removable storage device 709 and a non-removable storage device 710.
[0083] As described above, numerous program tools and data files can be stored in system memory 704. When executed on processing unit 702, program tool 706 (e.g., entity-activity relationship application 720) can perform processes including, but not limited to, the aspects described herein. Entity-activity relationship application 720 includes task receiver 730, task model generator 732, and task scheduler 734, as per [reference to...]. Figure 1 More detailed descriptions are available. Other program tools used in various aspects of this disclosure may include email and contact applications, word processing applications, spreadsheet applications, database applications, presentation applications, drawing applications, or computer-aided applications, etc.
[0084] Furthermore, aspects of this disclosure can be implemented in circuits including discrete electronic components, in packages or integrated electronic chips containing logic gates, in circuits utilizing microprocessors, or on a single chip containing electronic components or a microprocessor. For example, aspects of this disclosure can be implemented via a system-on-a-chip (SOC), wherein... Figure 7 Each or more components shown can be integrated onto a single integrated circuit. Such a SOC device may include one or more processing units, graphics units, communication units, system virtualization units, and various application functions, all integrated (or “programmed”) onto a chip substrate as a single integrated circuit. When operating via the SOC, the functionality described herein regarding the client switching protocol capability can be operated via dedicated logic integrated onto a single integrated circuit (chip) along with other components of the computing device 700. Aspects of this disclosure can also be practiced using other techniques capable of performing logical operations (e.g., AND, OR, and NOT), but are not limited to mechanical, optical, jet, and quantum technologies. Furthermore, aspects of this disclosure can be practiced in general-purpose computers or any other circuit or system.
[0085] The computing device 700 may also have one or more input devices 712, such as a keyboard, mouse, pen, voice or speech input device, touch or swipe input device, etc. It may also include output devices 714, such as a display, speaker, printer, etc. The above devices are examples, and other devices may be used. The computing device 700 may include one or more communication connections 716 that allow communication with other computing devices 1090. Examples of suitable communication connections 716 include, but are not limited to: radio frequency (RF) transmitters, receivers, and / or transceiver circuitry; universal serial bus (USB), parallel and / or serial ports.
[0086] The term "computer-readable medium" as used herein can include computer storage media. Computer storage media can include volatile and non-volatile, removable and non-removable media implemented using any method or technology for storing information, such as computer-readable instructions, data structures, or program tools. System memory 704, removable storage device 709, and non-removable storage device 710 are examples of computer storage media (e.g., memory storage). Computer storage media can include RAM, ROM, electrically erasable read-only memory (EEPROM), flash memory or other storage technologies, CD-ROM, digital versatile disc (DVD) or other optical storage, cassette tape, magnetic tape, disk storage or other magnetic storage devices, or any other article of manufacture that can be used to store information and can be accessed by computing device 700. Any such computer storage medium may be part of computing device 700. Computer storage media does not include carrier waves or other propagated or modulated data signals.
[0087] Communication media can be implemented from computer-readable instructions, data structures, program modules, or other data in modulated data signals (such as carrier waves or other transmission mechanisms), and include any information transmission medium. The term "modulated data signal" can describe a signal having one or more characteristics that are set or altered in a manner that encodes information in the signal. Exemplarily and not limitingly, communication media can include wired media, such as wired networks or direct wired connections, and wireless media, such as acoustic, radio frequency (RF), infrared, and other wireless media.
[0088] Figure 8A and Figure 8B A computing device or mobile computing device 800 is shown, such as a mobile phone, smartphone, wearable computer (e.g., smartwatch), tablet computer, laptop computer, etc., and aspects of this disclosure can be practiced with these devices. In some aspects, the client (e.g., Figure 1 The computing system 105 in the reference may be a mobile computing device. Figure 8AThis illustration shows one aspect of a mobile computing device 800 used to implement these aspects. In a basic configuration, the mobile computing device 800 is a handheld computer with both input and output elements. The mobile computing device 800 typically includes a display 805 and one or more input buttons 810 that allow the user to input information into the mobile computing device 800. The display 805 of the mobile computing device 800 can also be used as an input device (e.g., a touchscreen display). Optional side input elements 815 (if included) allow for further user input. The side input elements 815 can be rotary switches, buttons, or any other type of manual input element. In alternative aspects, the mobile computing device 800 can include more or fewer input elements. For example, in some aspects, the display 805 may not be a touchscreen. In yet another alternative aspect, the mobile computing device 800 is a portable telephone system, such as a cellular phone. The mobile computing device 800 may also include an optional keyboard 835. The optional keyboard 835 can be a physical keyboard or a “soft” keyboard generated on the touchscreen display. In various aspects, output elements include a display 805 for displaying a graphical user interface (GUI), a visual indicator 820 (e.g., a light-emitting diode), and / or an audio transducer 825 (e.g., a speaker). In some aspects, the mobile computing device 800 includes a vibration transducer for providing haptic feedback to a user. In another aspect, the mobile computing device 800 includes input and / or output ports, such as audio inputs (e.g., a microphone jack), audio outputs (e.g., a headphone jack), and video outputs (e.g., an HDMI port), for sending signals to or receiving signals from external devices.
[0089] Figure 8B This is a block diagram illustrating the architecture of one aspect of a computing device, server (e.g., server 109 or server 104), mobile computing device, etc. That is, computing device 800 can be incorporated into system (e.g., architecture) 802 to implement certain aspects. System 802 can be implemented as a "smartphone" capable of running one or more applications (e.g., browser, email, calendar, contact manager, messaging client, games, and media client / player). In some aspects, system 802 is integrated as a computing device, such as integrating a digital assistant (PDA) and a wireless phone.
[0090] One or more applications 866 may be loaded into memory 862 and run on or associated with operating system 864. Examples of applications include telephone dialers, email programs, PIM (Personal Information Management) programs, word processing programs, spreadsheet programs, internet browser programs, messaging programs, etc. System 802 also includes a non-volatile storage area 869 within memory 862. The non-volatile storage area 869 may be used to store persistent information that should not be lost even if system 802 is powered off. Applications 866 may use and store information, such as emails or other messages used by email applications, in the non-volatile storage area 869. A synchronization application (not shown) also resides on system 802 and is programmed to interact with a corresponding synchronization application residing on the host to keep the information stored in the non-volatile storage area 869 synchronized with the corresponding information stored on the host. It should be understood that other applications may be loaded into memory 862 and run on the mobile computing device 800 described herein.
[0091] System 802 has a power supply 870, which can be implemented as one or more batteries. The power supply 870 may further include an external power source, such as an AC adapter or a power docking station for replenishing or recharging the batteries.
[0092] System 802 may also include a radio interface layer 872 that performs functions of transmitting and receiving radio frequency communications. Radio interface layer 872 facilitates wireless connectivity between system 802 and the "outside world" via a communications operator or service provider. Transmissions to and from radio interface layer 872 are conducted under the control of operating system 864. In other words, communications received by radio interface layer 872 can be propagated to application 866 via operating system 864, and vice versa.
[0093] A visual indicator 820 can be used to provide visual notifications, and / or an audio interface 874 can be used to generate auditory notifications via an audio transducer 825. In the illustrated configuration, the visual indicator 820 is a light-emitting diode (LED), and the audio transducer 825 is a speaker. These devices can be directly coupled to a power supply 870 such that when activated, they remain on for the duration specified by the notification mechanism, even if the processor 860 and other components may be turned off to conserve battery power. The LED can be programmed to remain on indefinitely until the user takes action to indicate the device's power-on status. The audio interface 874 is used to provide and receive audible signals to and from the user. For example, in addition to being coupled to the audio transducer 825, the audio interface 874 can also be coupled to a microphone to receive audible input, such as to facilitate telephone conversations. According to various aspects of this disclosure, the microphone can also be used as an audio sensor to facilitate control of notifications, as described below. System 802 may further include a video interface 876 that enables the operation of the onboard camera 830 to record still images, video streams, etc.
[0094] The mobile computing device 800 implementing system 802 may have additional features or functions. For example, the mobile computing device 800 may also include additional (removable and / or non-removable) data storage devices, such as disks, optical discs, or magnetic tapes. Such additional storage... Figure 8B The non-volatile storage region 869 is shown in the middle.
[0095] As described above, data / information generated or captured by mobile computing device 800 and stored via system 802 can be stored locally on mobile computing device 800, or the data can be stored on any number of storage media that can be accessed by the device via radio interface layer 872 or via a wired connection between mobile computing device 800 and a separate computing device associated with mobile computing device 800, such as a server computer in a distributed computing network (such as the Internet). It should be understood that such data / information can be accessed via mobile computing device 800, via radio interface layer 872, or via a distributed computing network. Similarly, according to well-known data / information transmission and storage methods, including email and collaborative data / information sharing systems, such data / information can be easily transferred between computing devices for storage and use.
[0096] While this disclosure describes components and functionalities implemented with reference to specific standards and protocols, it is not limited to those standards and protocols. Other similar standards and protocols not mentioned herein exist and are considered to be included in this disclosure. Furthermore, the standards and protocols mentioned herein, as well as other similar standards and protocols not mentioned herein, are regularly superseded by faster or more efficient equivalents with substantially the same functionality. Such alternative standards and protocols with the same functionality are considered to be equivalents included in this disclosure.
[0097] In various configurations and aspects, this disclosure includes components, methods, processes, systems, and / or apparatuses substantially as depicted and described herein, including various combinations, sub-combinations, and subsets thereof. Upon understanding this disclosure, those skilled in the art will understand how to make and use the systems and methods disclosed herein. In various configurations and aspects, this disclosure includes providing apparatus and processes in the absence of items not depicted and / or described herein, or in its various configurations or aspects, including the absence of such items already used in prior apparatus or processes, for example, to improve performance, achieve ease of use, and / or reduce implementation costs.
[0098] For example, the aspects of this disclosure have been described above with reference to block diagrams and / or operational illustrations of methods, systems, and computer program products according to various aspects of this disclosure. As shown in any flowchart, the functions / actions annotated in the blocks may occur out of sequence. For example, two blocks shown consecutively may actually be executed substantially simultaneously, or these blocks may sometimes be executed in reverse order, depending on the functions / actions involved.
[0099] The descriptions and illustrations of one or more aspects provided in this application are not intended to limit or constrain the scope of the claimed disclosure in any way. The aspects, examples, and details provided in this application are considered sufficient to convey ownership and enable others to make and use the best mode of the claimed disclosure. For example, the claimed disclosure should not be construed as limited to any aspect or detail provided in this application. Whether shown and described in combination or separately, various features (both structural and methodological features) are intended to be selectively included or omitted to produce embodiments with a particular set of features. Given the descriptions and illustrations provided in this application, those skilled in the art can conceive of variations, modifications, and alternatives falling within the spirit of the broader aspects of the general inventive concept embodied in this application, without departing from the broader scope of the claimed disclosure.
[0100] As will be understood from the foregoing disclosure, one aspect of this technology relates to a computer-implemented method for scheduling tasks based on network-physical-social (CPS) context. The method includes generating a CPS context based on CPS activity data from CPS activity sensors, wherein the CPS activity data includes one or more of the following: network context features, physical context features, and social context features. The method further includes generating a CPS context for one or more future tasks based on a trained CPS context model; ranking the one or more future tasks based on the similarity between the CPS context for the one or more future tasks and a CPS context based on the CPS activity data; and recommending at least one of the one or more future tasks based on the ranking of the one or more future tasks. In one example, the computer-implemented method further includes receiving one or more annotations, the one or more annotations including in-situ annotations describing the CPS context based on the CPS activity data; and using the CPS context and the one or more annotations based on the CPS activity data to generate a CPS context for the one or more future tasks. In another example, the computer-implemented method further includes: determining the start time of CPS activity data at least partially based on the generated CPS context; determining the end time of CPS activity data at least partially based on the generated CPS context; and identifying a first task at least based on the start and end times. In one example, the computer-implemented method further includes: training a CPS context model using a support vector machine (SVM). The CPS context is based on historical CPS activity data from a CPS activity sensor. The generated CPS context for one or more future tasks includes CPS vectors. The one or more future tasks include multiple future tasks, and the method further includes: batch scheduling multiple future tasks based on an ordering of the multiple future tasks. The current CPS context includes vector magnitudes for each of network context features, physical context features, and social context features. In another example, the computer-implemented method further includes: generating the CPS context based on a weighted combination of one or more of the network context features, physical context features, and social context features. In yet another example, the computer-implemented method further includes: classifying at least one of one or more future tasks into a category based on a trained CPS context model; and storing at least one of the classified one or more future tasks in the trained CPS context model.
[0101] On the other hand, a computer system for scheduling grouped tasks based on a network-physical-social (CPS) context model includes a processor; and a memory operatively coupled to the processor, wherein the memory stores computer-executable instructions that, when executed, cause the processor to: generate a CPS context based on CPS activity data collected from CPS activity sensors, wherein the CPS activity data includes one or more of the following: network context features, physical context features, and social context features; identify a first task based on the generated CPS context and annotation data associated with the CPS context; classify the identified first task into a category based on a trained CPS context model; group one or more additional tasks with the identified first task to create a task group based on the category of the identified first task and the trained CPS context model; and provide scheduling for the task group. In one example, the computer system further includes computer-executable instructions that, when executed, cause the processor to: receive annotation data from a user, wherein the annotation data includes in-situ annotations describing the CPS context. In another example, the computer system further includes computer-executable instructions that, when executed, cause the processor to: receive annotation data from a user, wherein the annotation data includes in-situ annotations describing the CPS context. The computer system further includes computer-executable instructions that, when executed, cause the processor to: determine the start time of the identified task based at least on the generated CPS context and the annotation data from the user; determine the end time of the identified task based at least on the generated CPS context, the annotation data from the user, and the user's CPS activity data; and identify a first task based at least on the start and end times. The computer system further includes computer-executable instructions that, when executed, cause the processor to: train a CPS context model using a support vector machine (SVM). The task group has a shared CPS context based on location, time, and the people who will be collaborating.
[0102] On the other hand, a computer-implemented method for scheduling user tasks based on a network-physical-social (CPS) context includes: receiving a first task, wherein the first task is currently being performed by the user; generating a first CPS context for the first task, wherein the first CPS context includes CPS context features based on one or more of network activities, physical activities, and social activities; classifying the first task into a first category using a CPS context model; identifying a second task, wherein the second task is associated with the first category; and scheduling the second task to be performed by the user in conjunction with the first task. The CPS context further includes: network activities involving at least online operation of electronic devices; physical activities involving the user's physical movement; and social activities involving the user's interpersonal interactions. The second task includes the task's date, location, duration, and description. In one example, the computer-implemented method further includes: correcting the time and location of the second task to be performed in conjunction with the first task; and updating the task queue based on the corrected second task. The first task and the second task share a CPS context at least in part based on the presence and time of a second user.
[0103] Any one of the above aspects combined with any other aspect of the above aspects. Any one of the one or more aspects described herein.
Claims
1. A computer-implemented method for scheduling tasks based on a network-physical-social (CPS) context, the method comprising: Receive CPS activity data from CPS activity sensors, wherein the CPS activity data includes a combination of real-time network activity, physical activity, and social activity; A first CPS context is generated based on the CPS activity data from the CPS activity sensor, wherein the first CPS context includes a combination of the relative participation of the CPS activity data in one or more of the following: network context features corresponding to the network activity, physical context features corresponding to the physical activity, and social context features corresponding to the social activity; A second CPS context associated with one or more future tasks is generated based on a trained CPS context model, wherein the trained CPS context model generates the second CPS context representing the relative participation of the one or more future tasks based on multiple network context features, multiple physical context features and multiple social context features. The one or more future tasks are ranked based on the similarity of the dimensions of the social vector representations corresponding to the social activities, the physical vector representations corresponding to the physical activities, and the network vector representations corresponding to the network activities associated with the first CPS context and the second CPS context. Based on the ranking of the one or more future tasks, at least one future task among the one or more future tasks is recommended; as well as The trained CPS context model is retrained based on at least one of the recommended future tasks from the one or more future tasks.
2. The computer-implemented method according to claim 1, further comprising: Receive one or more annotations, the one or more annotations including in-situ annotations describing the first CPS context based on the CPS activity data; as well as A second CPS context for the one or more future tasks is generated using the one or more annotations and the first CPS context based on the CPS activity data.
3. The computer-implemented method according to claim 1, further comprising: The start time of the CPS activity data is determined at least in part based on the generated first CPS context; The end time of the CPS activity data is determined at least in part based on the generated first CPS context; as well as The first task is identified based at least on the start time and the end time.
4. The computer-implemented method according to claim 1, further comprising: The CPS context model is trained using a support vector machine (SVM).
5. The computer-implemented method of claim 1, wherein the first CPS context is based on historical CPS activity data from the CPS activity sensor.
6. The computer-implemented method of claim 1, wherein the generated second CPS context for the one or more future tasks includes a CPS vector.
7. The computer-implemented method of claim 1, wherein the one or more future tasks comprise a plurality of future tasks, and the method further comprises: The multiple future tasks are scheduled in batches based on the order in which they are ordered.
8. The computer-implemented method of claim 1, wherein the first CPS context includes vector magnitudes for each of the network context features, the physical context features, and the social context features.
9. The computer-implemented method according to claim 1, further comprising: The first CPS context is generated based on a weighted combination of one or more of the network context features, the physical context features, and the social context features.
10. The computer-implemented method according to claim 1, further comprising: Based on the trained CPS context model, at least one of the one or more future tasks is classified into a category; as well as The at least one classified future task from the one or more future tasks is stored in the trained CPS context model.
11. A computer system for scheduling grouped tasks based on a network-physical-social (CPS) context model, the computer system comprising: processor; as well as A memory, operatively coupled to the processor, wherein the memory stores computer-executable instructions that, when executed, cause the processor to: Receive CPS activity data from CPS activity sensors, wherein the CPS activity data includes a combination of real-time network activity, physical activity, and social activity; A first CPS context is generated based on the CPS activity data collected from the CPS activity sensor, wherein the first CPS context includes a combination of the relative participation of the CPS activity data in one or more of the following: network context features corresponding to the network activity, physical context features corresponding to the physical activity, and social context features corresponding to the social activity; The task is identified based on the generated first CPS context and the annotation data associated with the first CPS context; The identified tasks are classified into a category based on a trained CPS context model, wherein the trained CPS context model associates the identified tasks with a second CPS context. Based on the category of the identified task and the trained CPS context model, one or more additional tasks are grouped together with the identified task to create task groups, wherein the grouping of the one or more additional tasks is based on the similarity of the magnitude of the dimensions of the social vector representations corresponding to the social activity, the physical vector representations corresponding to the physical activity, and the network vector representations corresponding to the network activity associated with the first CPS context and the second CPS context. The trained CPS context model shall be retrained at least based on the identified task; and Provide scheduling for the task group.
12. The computer system of claim 11, further comprising computer-executable instructions, which, when executed, cause the processor to: The annotation data is received from the user, wherein the annotation data includes in-situ annotations describing the first CPS context.
13. The computer system of claim 12, further comprising computer-executable instructions, which, when executed, cause the processor to: determining a start time for the identified task based at least on the generated first CPS context and the annotation data from the user; as well as The end time of the identified task is determined based at least on the generated first CPS context, the annotation data from the user, and the user's CPS activity data; as well as The task is identified based at least on the start time and the end time.
14. The computer system of claim 11, further comprising computer-executable instructions, which, when executed, cause the processor to: The CPS context model is trained using a support vector machine (SVM).
15. The computer system of claim 11, wherein the task group has a shared CPS context based on: Location, Time, and The people we will be collaborating with.
16. A computer-implemented method for scheduling user tasks based on a network-physical-social (CPS) context, the method comprising: Receive a first task, wherein the first task is currently being performed by the user; Generate a first CPS context for the first task, wherein the first CPS context includes CPS context features, which are based on one or more of network activity, physical activity, and social activity; The first task is classified into a first category using a CPS context model, wherein the CPS context model includes a trained model; Identify a second task, wherein the second task is related to the first category; The CPS context model is retrained based on the identified second task; as well as The scheduling will be carried out by the user in conjunction with the first task for the second task.
17. The computer-implemented method of claim 16, wherein the CPS context further comprises: Network activities involving at least the online operation of electronic devices; Physical activities involving the physical movement of the user; as well as Social activities involving the interpersonal interactions of the user.
18. The computer-implemented method of claim 16, wherein the second task comprises: The date, location, duration, and description of the task.
19. The computer-implemented method according to claim 18, further comprising: The correction will incorporate the time and location of the second task when the first task is executed; as well as Update the task queue based on the revised second task.
20. The computer-implemented method of claim 16, wherein the first task and the second task share a CPS context at least in part based on the time and presence of a second user different from the user.
Citation Information
Patent Citations
Context activity tracking for recommending activities through mobile electronic terminals
US20130159234A1