METHOD AND DEVICE FOR DETECTING BEHAVIORAL PATTERNS OF A USER

Information

  • Patent Application
  • 20180368684
  • Publication Number
    20180368684
  • Date Filed
    December 20, 2016
    7 years ago
  • Date Published
    December 27, 2018
    5 years ago
Abstract
A system and method are provided for detecting a behavior patterns of a user. In one embodiment, the method comprises receiving information about activities of a user and calculating duration of each activity. Each activity that exceeds a threshold duration is categorized and labelled accordingly. Activities with similar labels are grouped and labelled activities are analyzing. Alerts are then generated for certain behavioral patterns such as those exhibiting anomalies.
Description
TECHNICAL FIELD

The present principles generally relates to a behavioral monitoring system and more particularly to an automated behavioral monitoring system that generates alerts based on previously recognized behavioral patterns.


BACKGROUND

This section is intended to introduce the reader to various aspects of art and to facilitate a better understanding of the various embodiments presented. Accordingly, it should be understood that these statements are to be read in this light, and not as admissions of prior art.


Development of technology and science has enabled the detection and monitoring of behavioral habits of individuals. There may be many reasons that detection and monitoring may be desirous such as prevention of criminal activity, addiction control and providing security to minors. However, a more popular use of such devices is to provide for the care of elderly, sick and disabled individuals. Care givers and medical professionals can diagnose problems and provide preemptive critical care by understanding behavioral patterns of these sick, elderly or handicapped individuals. Therefore understanding life patterns of these individuals can be used as a tool for diagnosis of behavioral or health problems. Anomalies can be detected for further investigation and alerts can be generated ahead of time and prior to occurrence of critical conditions to ensure timely action, especially in case of an emergency. In a different context, monitoring devices may be used for purposes of teaching. A patient with memory problems, for example can be reminded to turn off a stove after use or a blind person may receive assistance for navigating a particular room.


Unfortunately, current monitoring systems often rely exclusively on one type of input for generating alerts. The warning systems are also limited in the output they provide. For examples, conventional systems use motion sensing systems or sensors to detect movement. These motion sensors are typically photo-sensors that detect moving objects based on a variety of factors such as physical approximations of space or time. However, motion sensors are not discriminate and are often triggered by any motion. In other words, these systems cannot distinguish between different individuals or even other living beings such as pets. In addition, these systems are not sufficiently sophisticated to recognize the overall behavior patterns of individuals as they are only limited to the activities that occur within the footprint they monitor. Furthermore, because sensors are connected to an alarm circuit with an audible system, their use may be limited. For example, a deaf person or a person with severe hard of hearing may not be able to use this type of device as the only warning system involves audible sounds of a certain decibel.


Consequently, improved and reliable monitoring and alerting techniques are needed that can provide guidance and warnings to individuals discriminately. It would be more desirous if these techniques can provide an automated way to predict future potential issues prior to their occurrence.


SUMMARY

A system and method are provided for detecting a behavior patterns of a user. In one embodiment, the method comprises receiving information about activities of a user and calculating duration of each activity. Each activity that exceeds a threshold duration is categorized and labelled accordingly. Activities with similar labels are grouped and labelled activities are analyzed y. Alerts are then generated for certain behavioral patterns such as those exhibiting anomalies.





BRIEF DESCRIPTION OF THE DRAWINGS

The invention will be better understood and illustrated by means of the following embodiment and execution examples, in no way limitative, with reference to the appended figures on which:



FIG. 1 depicts a block diagram for a data collection system according to an embodiment;



FIG. 2 depicts a flow diagram for establishing a data base according to one embodiment; and



FIG. 3 is a flow diagram of a multi-temporal habit detection system according to one embodiment.





In FIG. 1, the represented blocks are purely functional entities, which do not necessarily correspond to physically separate entities. Namely, they could be developed in the form of software, hardware, or be implemented in one or several integrated circuits, comprising one or more processors.


Wherever possible, the same reference numerals will be used throughout the figures to refer to the same or like parts.


DESCRIPTION

It is to be understood that the figures and descriptions of the present principles have been simplified to illustrate elements that are relevant for a clear understanding of the present invention, while eliminating, for purposes of clarity, many other elements found in typical digital multimedia content delivery methods and systems. However, because such elements are well known in the art, a detailed discussion of such elements is not provided herein. The disclosure herein is directed to all such variations and modification


Understanding a behavior pattern can help in a variety of different settings. In elderly, understanding a particular behavior can help diagnose a problem like Alzheimer's and diabetes. Early detection can lead to better prognosis and can even prevent problems that are unrelated directly to the patient's conditions such as falls and other incidences that nevertheless cause injuries. Elderly, however, are not the only group that benefits by behavioral analysis. Warnings and alerts of a particular behavior may benefit a number of individuals such as minor children, addicts, those who may become victims of crimes and those who are incarcerated.


Patterns of behavior can be established over time in a number of ways. FIG. 1, is an example of some of the ways where information about behavior patterns can be collected. The examples provided in FIG. 1 only address a few ways of collecting information, with the understanding that many other methods are available as can be appreciated by those skilled in the art. In the example used in FIG. 1, the few methods shown include gathering of information through user input 110, actuation 120, sensors 130, and on-line resources such as social media 140. Information may already exist and previously collected and stored in a user profile 150. To aid understanding, some of these methods can be explored in more detail.


As shown by numerals 110, information can be provided directly through a user directly through a user interface such as a computer keyboard, a touch screen or a mouse. The information can be about the user that is inputting the information or it may be about other individuals or even animals. For example, a care giver, a relative or a friend may provide information about a patient. Alternatively, a zoo keeper can input information about a particular animal such as a monkey to understand and automate behavioral patterns.


In one embodiment, the information is accumulated or transferred into the user profile or is directly logged such as by use or a computer or processor 190. The user profile may also reside in a storage location accessible by the computer or processor 190. In on embodiment, the user profile 150 may also include other type of information about the user or a third party. The user profile may include more than a single entry and already contain data that has been previously collected or that contain relevant information that is more inclusive than just the behavioral data. In the example above, the user profile of the monkey may include biological information such as the species and familiar relationship that may be important later on to the particular behavior.


In one embodiment, the computer or processor 190 may be part of a network or in processing communication with a network 160 of other devices including other computers and servers or through the Internet. Mobile and wireless devices, storage devices, displays and printers and other such components as can be appreciated by those skilled in the art can be part of this network. In addition, these computers can belong to the user/patient, care providers, patient relatives, hospital networks and others.


Besides direct input of information, behavioral patterns may be obtained through a number of ways. In the example provided in FIG. 1 actuation and sensors are provided with the understanding that as can be appreciated by those skilled in the art, a number of other ways are available and can be used to obtain such data. For example, while a global positioning system is not shown, a GPS can also be used to gather movement of an individual or living being in a certain area. In addition, the sensor shown by reference numerals 120 may be representative of one or more sensors and can register a variety of functions and activities. For example, a temperature sensor can register the shifts of air or body temperatures, a light sensor can register every time a light switch is turned on or a motion sensor can monitor entering or a person to a particular room. Other similar sensors can be used to gather other information (e.g. ones with bluetooth or RF capabilities). In other embodiments, an actuator may be used instead of a sensor. For example, the actuator may be used every time the garage door is opened or in other similar manners. All such data are properly logged and processed such as by a processor or computer as shown by numerals 190 as discussed. The processor 190 can be in processing communication with other computers in a network as shown by that include storage locations, printers, displays and other such devices as can be appreciated by a person skilled in the art.


In addition, information may be collected through the use of on-line tools such as social media. For example, medical data may be gathered for a patient by accessing a variety of resources such as hospital databases, pharmacies and insurance companies. Social media that include occupation, blogs and other such information can also be accessed to add to this information.


One benefit of detecting habits in behaviors is to help make recommendation as well as providing alert settings. Recommenders will take benefit of known habits, while alert setters will take benefit of the detection of anomalous behaviors when compared to habits or alternatively because of them. In one embodiment, behavioral habits are evaluated over a particular period of time. In this way, if they are changing from a first set to a second set over time, the change itself is detected. In FIG. 2, a flowchart depiction of one embodiment is illustrated that performs such a task. The data item is captured and logged as shown by numerals 210. A usage profile may exist or in one embodiment is established. If such is the case, the first step of the embodiment of FIG. 2 would be the establishment of a user profile as shown in step 205. In either case, any user activity will be logged as shown in 220 of FIG. 2 by means such as those already discussed in FIG. 1.


In one embodiment, as shown in FIG. 2, behavioral data item that is captured such as by ways discussed in FIG. 1 may also include certain characterization as shown by numeral 230. In one example, these characterization features may include a starting timestamp (date, exact time etc.), an ending timestamp and a descriptive label. These characterization features can be preselected and customized depending on the type of activity that needs to be monitored. For example the time stamp may be intentionally designed to only capture a particular day or it may be more exacting and register not only the hour and minute in the day but also the second and so on. In another example the descriptive label may relate to a type of movie viewed, presence in one's home, occurrence of channel zapping, type of activity performed or any other type of category of things that are to be monitored or is of special interest. Additional processing may also occur. For example when time stamps are used, duration of the activity is calculated as shown in FIG. 2.


In one embodiment, once the behavior data items are captured, they can then be associated each to one or more identified users or groups of users. These associations can be through establishment of a particular user profile (if not already in existence) or through other methods such as through a user ID or a set, list or group that are related to user(s). Each item may constitute an already identified set of behavioral data item or a new one.


When a user ID or user profile is used, one or more identifying devices may already be identified to be associated with the particular user. For example, in a patient, an emergency ID tag worn by the user and associated with a sensor may immediately mean that the data item has to be associated with a particular user. Other devices or a group of devices or a location of an activity, such as a user's home or bedroom, may also be tagged to immediately help associate a behavior with a user.


A database can then be established based on logged activities as shown by numerals 240. The database will be then analyzed over time (numeral 250 in FIG. 2) to detect and identify behavioral data items associated with one or more specified users (subjects) or groups of users (subjects). These users/subjects are the individuals or other living things for which behavioral habits needs to be extracted over time.


Human, or even animal behaviors, are noisy by nature. Therefore, there are instances where a displayed activity is not representative of a particular habit but had occurred due to a particular non characteristic stimulus. Other activity may be erroneously logged or may be originated by a device associated with a user when in reality the activity was never originated by that user. Therefore, in one embodiment the erroneous entries such as these will be removed. In another embodiment, a threshold is established for the frequency of a certain activity to establish a habit. For example if the habit is to be evaluated over daily behaviors but for instance, the user does not go to bed or wake-up every day at the same time, these type of variations can be analyzed and either adjusted appropriately or eliminated from the analysis based on the threshold value. This is shown in numbers 260 through 280 and discussed in more detail later.


In one embodiment, the result of analyzing the results may require generating an alert. The alert may be generated when the analysis recognizes behavior patterns that exhibit anomalies. In an alternate embodiment, the alert may be used when the behavioral pattern matches a preselected behavior pattern such as from a list. The list may be provided such as in a storage location in the network 160 or be provided by accessing other databases or online resources. In on embodiment, the alert is sent to the user while in alternate embodiment the alerts can be sent to other individuals or other individuals and the user concurrently. For example, the user may be a comatose patent and therefore it will not be of much use to send the alert to the user. Instead, the alert will be provided immediately to a physician. In other embodiments, the alert can be sent to ambulances, patient's close family or care providers or others. In one embodiment, the type of alert and the information about the user will determine where the generated alert will be sent. In one embodiment, the network 160 will be used to provide the alert.



FIG. 3 provides a flowchart depiction of one embodiment of the present invention. In a first step as shown by numerals 310, data items that are logged are associated with a user. As discussed in FIG. 2, these can be timed and labelled. As discussed previously, in alternate embodiments, these can be logged based on direct user input, recordings, sensor identification (motion, door actuation, remote control key actuation etc.) or any other such means as can be appreciated by those skilled in the art. In one embodiment, logged data is then cleared of noise or other anomalous content (erroneous values or such) as discussed in conjunction with the embodiment as discussed in FIG. 2.


In a second step as shown in FIG. 3 by numerals 320, data items are then ordered. A number of different types of ordering can be used selectively. For example, the data items can be chronologically ordered, ordered by user groups, ordered by type of activity or other such manners. In one embodiment, the ordering can also have sub groups. For example, if the data is grouped chronologically, the grouping can be by days, either from midnight to next midnight or from noon to next noon, according to the targeted application. A resulting database table can then be generated in this example that contains days as entries and an ordered list of data items for every day. In some instances, this second step may lead to the splitting of some items over borders of time (the border being either midnight or noon according to the targeted application in some embodiments). In such cases, the starting and ending timestamps or other selection items may then have to be modified accordingly for these data items.


In a third step as shown by numeral 330, the duration of each data item is evaluated within each selected category. In the example used above where the date was of importance this may result in something such as:





duration=ending timestamp−starting timestamp


Referring back to FIG. 3, in a fourth step as shown by numeral 340, a preselection category can then be used to separate data of a particular nature. This can be, for example, the threshold concept discussed in FIG. 2. Referring back to FIG. 2, the threshold 260 can be in on example a duration. For example, for every data item for which duration is less than a threshold, those items are removed from the data set and replaced by a corresponding “unlabeled” data item (numeral 270). Some strategies for the evaluation of the threshold are described in more detail subsequently.


In step 350, and as previously discussed in FIG. 2 in 270, the unlabeled data items can be replaced by content from its timely preceding and following neighbors (in the example that uses time). In one embodiment, this can lead to the modification of the ending timestamp of the previous neighbor in time and of the starting timestamp of the next neighbor in time.


In step 360, data items are then considered for the same time of day (in the example that uses time) but over a particular (k) successive days. Different strategies for the definition of the number of these successive days can be used based on selection of categories and the intent of the database generation and analysis. In one embodiment, a specific intersection operation is processed on any period of time over these successive days: it is the max period of time for which all labels are the same over the successive days. For each of these k days, any period of time that is not included in this intersection is labeled as “unlabeled” data item.


In step 370, the unlabeled data item (over days) can then be adjusted so that it is grouped together with its nearest or most closely related neighbor under its neighbor's label as appropriate. Steps 330 to 370 can also be repeated as many times as needed, but typical repetitions counts will range from 0 (no repetition) to 1. Once done, the description of the nearest previous day from “today” contains the most recent known behaviors habits over time per day. As an extension, deviations from habits may be evaluated a posteriori, in which case steps 6 and 7 are applied on neighbors days—i.e. previous and next ones—rather than only on the previous ones. This allows easy detection of any deviations of current (“today”) behavior when compared to the evaluated last habits.


In one embodiment, the system and method provide alerts and warnings immediately or at the end of a particular period or both. To aid understanding, an example can be used in connection with the embodiments discussed in FIGS. 1 through 3. As can be appreciated, other embodiments can be provided in alternate embodiments associated with other examples and dependent on other uses. In this example a plurality of sensors such as motion and door sensors are associated with a user to provide actuation data to a connected box at home. The actuation data are to be sent to a processor such as one associated or connected to back-end of a server. The actuation data is collected within a database (DB) accessible by the processor.


The processing steps 300 to 370 as discussed in conjunction with the embodiment of FIG. 3, can now be explored in more details and with the use of different examples to aid understanding. It is understood, however, that as can be appreciated by those skilled in the art, the examples that follow are only to aid understanding and other examples can be used in alternate embodiments.


Referring back now to step 310 of FIG. 3, a system and method can be provided where for example the processor, is enabled to function as a Data Cleaner. In other words, the processor can remove anomalous data (e.g. too long duration or very rare duration, to be considered for instance as hardware or transmission failures). The processor can also detect anomalies and errors on a periodical basis. In one embodiment, the processor also acts as a Habits Evaluator. In other words, there is a periodical evaluation of the database. This means that database access leads to continual if not periodical evaluation of habits for each user(s) according to the other steps as discussed in FIG. 3.


In one embodiment, the system and method provide alerts and warnings immediately or at the end of a particular period or both as discussed earlier. Therefore, the Habits Evaluator, can either immediately provide warnings on review of the DB or generate a report or recommendations (including warnings and alerts) at the end of a period.


In one embodiment, the results of a last day evaluation can be separately provided to a recommendation component (processor) to be incorporated as part of a recommendation report or to generate an alert with an urgency (immediate or part of the report). The data extracted by this Habits Evaluator, are then made available such as for example to front-end applications to provide recommendations (directly using evaluated habits), or to generate other alerts (based on evaluating deviation from evaluated habits).


In the example used, the behavioral data items can be associated with the room-presence of people in homes. For each home, these behavioral data items can be described and labelled in a particular way, as shown below:

    • A label (e.g. living room, bedroom, kitchen, outside, . . . )
    • A starting timestamp (e.g. 2015-08-11 14:12:16.923+02:00)
    • An ending timestamp (e.g. 2015-08-11 14:12:59.990+02:00)


Referring back to FIG. 3, for this particular example, the first step 310 includes the activities that are timed and labelled behavioral accordingly (hereinafter references as data items). The logged information can be then stored or recorded and associated to one or more identified users. Such items can be either the direct recording of some sensors (e.g. motion sensor actuation, door sensor actuation, remote control keys actuation, etc.) or the result of some processing on sensors actuations samples (e.g. room presence at home) as discussed. This or a preliminary step can also be incorporated to remove noise or other anomalous content (erroneous values for sensors, for instance).


Applying this example to second step (320) in FIG. 3, the data items are then chronologically ordered and grouped by days, either from midnight to next midnight or from noon to next noon, according to the targeted application. A resulting data table can be then generated. The table contains days as entries and an ordered list of data items for every day. As discussed previously, this may trigger the need to split some items over borders of time (the border being either midnight or noon according to the targeted application. Starting and ending timestamps are then modified accordingly for these data items. For instance, a representation of such a dataset can be (JSON form):

















{









“2015-08-11”: [









 {“label”: “bedroom”,









“start”: “2015-08-11 00:00:00.000+02:00”,



“end” : “2015-08-11 07:11:24.359+02:00” },









...



 {“label”: “bathroom”,









“start”: “2015-08-11 23:59:25.010+02:00”,



“end” : “2015-08-11 23:59:59.999+02:00” }









],



“2015-08-12”: [



 {“label”: “bathroom”,









“start”: “2015-08-12 00:00:00.000+02:00”,



“end” : “2015-08-12 00:00:56.789+02.00”},









...



],



...









}










Applying the third step of FIG. 3, the duration of each data can then be evaluated within each day in this example using duration=ending timestamp−starting timestamp. This step can in some ways be thought of as the continuation of the previous one but that is separated from it here for descriptive purpose. For example, in one embodiment, the data set can now represent:

















{









“2015-08-11”: [









 {“label”: “bedroom”,









“start”: “2015-08-11 00:00:00.000+02:00”,



“end” : “2015-08-11 07:11:24.359+02:00”,









“duration”: “07:11:24.359” },









...



 {“label”: “bathroom”,









“start”: “2015-08-11 23:59:25.010+02:00”,



“end” : “2015-08-11 23:59:59.999+02:00”,









“duration”: “00:00:34.989” }









],



“2015-08-12”: [



 {“label”: “bathroom”,









“start”: “2015-08-12 00:00:00.000+02:00”,



“end” : “2015-08-12 00:00:56.789+02.00”,









“duration”: “00:00:56.789” },









...



],



...









}










Where durations could as well be float values representing seconds as well:

















{









“2015-08-11”: [









 {“label”: “bedroom”,









“start”: “2015-08-11 00:00:00.000+02:00”,



“end” : “2015-08-11 07:11:24.359+02:00”,









“duration”: 25884.359 },









...



 {“label”: “bathroom”,









“start”: “2015-08-11 23:59:25.010+02:00”,



“end” : “2015-08-11 23:59:59.999+02:00”,









“duration”: 34.989 }









],



“2015-08-12”: [



 {“label”: “bathroom”,









“start”: “2015-08-12 00:00:00.000+02:00”,



“end” : “2015-08-12 00:00:56.789+02.00”,









“duration”: 56.789 },









...



],



...









}










If some type of threshold is now applied as suggested in 340 in FIG. 3, then every item for which duration was less than the present threshold will be removed. In that case the data set that is removed will be replaced by corresponding unlabeled data items.


In the example shown, to aid understanding, a 53 days period is chosen for explanatory purposes. In one embodiment, a particular algorithm is used as follows:


for every labelled period of time:

    • shorten it by threshold/2 seconds on both of its starting and ending sides.


In this way, the threshold value can be set in many ways. Some examples include: 1) by providing a fixed value (e.g. from few seconds to few minutes); and 2) by evaluating the repartition law of the labeled durations and setting the threshold in one of these ways. The repartition law can be comprised of a list itself. Some items that may be on this list may include: being the max value of the n shorter ones—n to be arbitrarily chosen or evaluated according to some algorithm; being the max value of the p % shorter ones—p to be arbitrarily chosen or evaluated according to some statistical algorithm; and after a clustering step on durations, as being the min value over all clusters of the max value within each cluster.


Progressing to step 350, every unlabeled data item can be replaced by its neighbor's content. In one embodiment, this will in turn leads to the modification of the ending timestamp of the previous neighbor in time and of the starting timestamp of the next neighbor in time. In this respect, many algorithms can be used to replace unlabeled content per labeled one. The one we propose is this one:


for every day:

    • for every unlabeled period of time:
      • add half of its duration to previous labeled period of time
      • add half of its duration to next labeled period of time


In one embodiment, this may lead to some special cases. In this example, these cases may be the possible three situations:

    • 1. if there is no previous labeled period of time:
      • add all unlabeled period duration to next labeled period of time
    • 2. if there is no next labeled period of time:
      • add all unlabeled period duration of previous labeled period of time
    • 3. if there are neither previous nor next labeled periods of time:
      • set the whole day duration as an unlabeled period


Referring now to the next processing stage as discussed in conjunction with 360 in FIG. 3 and applying this example, data items can now be considered for the same period of time of day but over k successive days.


A specific intersection operation is processed on same period of time over these k successive days: it is the max period of time for which all labels are the same over the successive days. For each of these days, any period of time that is not included in this intersection is labeled as “unlabeled” data item.


The results can be seen in the next stage where, the value of k is chosen to equal to 3. Here, Two kinds of algorithms can be used to remove labeled periods of times over days. One of them deals with the a posteriori evaluation of habits while the other type of algorithm deals with the evaluation of the most recent habits.


Type 1—a posteriori evaluation of habits for day day

    • evaluate intersection of time periods from day-k/2, to day+k/2


Type 2—evaluation of the most recent habits for day day

    • evaluate intersection of time periods from day-k to day-1


A description of the evaluation of the intersection of the labeled time periods over the k-length period of days is provided in one example as provided below.














/ / let's create a temporary list of unlabeled periods of times









tmp_list := empty_list



for each day in the list of the k successive days:









for each labeled period in day:









instantiate new data_item



data_item. starting_timestamp :=



period.starting_timestamp



append data_item to tmp_list









/ / let's sort them in chronological order and evaluate



missing attributes



sort tmp_list on starting_timestamps values



for each period in tmp_list but the last one:









period.ending_timestamp := next_period.starting_timestamp



tmp_list[last period].ending_timestamp := midnight









/ / then, let's evaluate the intersection of labels over the



temporary periods of time



for each period in tmp_list:









k_labels_set := empty_set



for each day in the list of successive days:









label := ( find corresponding period within day ).label



add label to k_labels_set









if card( k_labels_set ) > 1:









period.label := ‘unlabeled’ / / not all labels are the same









else:









period.label := k_labels_set.get_item(0)









/ / finally, modify the description of current day



user_data_set [ day ] := tmp_list










In this case, since each period of time within tmp_list is shorter than all corresponding periods of time in the k successive days, the way to “find corresponding period within (a specific) day” is straightforward:

















for each period_of_time in day:









if period_of_time.starting_timestamp ≤



searched_period.starting_timestamp









and searched_period.starting_timestamp ≤



period_of_time.ending_timestamp:









return period_of_time










The number of days over which this processing is to be done, k, can either be arbitrarily set, according to the targeted applications; or be evaluated according to many types of algorithms (see subsection “Fourth Step”). Once set, this value k is used for Steps 6 and 7 of FIG. 3 shown by numerals 360 and 370.


In step 370, as discussed every unlabeled data item over days gets its nearest older neighbor's label. As an extension, deviations from habits may be evaluated a posteriori, in which case steps 6 and 7 are applied on neighbors days—i.e. k/2 previous and k/2 next ones—rather than only on the k previous ones.


In one embodiment, as discussed in FIG. 3, steps 330 to 370 can then be repeated as many times as needed, but typical repetitions counts will range from 0 (no repetition) to 1. In this regard, when steps 4 and 5 (340 and 350) are being repeated or alternatively in other embodiments, the too short periods for time within every day can be removed and replaced by unlabeled periods of time with that of its neighborhoods. In addition for step 360, the non-uniform periods of time can also be removed over the successive days and instead be replaced by unlabeled periods of time with that neighborhoods data over successive days. Once done, the description of the nearest previous day from “today” contains the most recent known behaviors habits over time per day. It has to be understood that real processing would: 1) only be done on k most recent days, with k to be arbitrarily set, e.g. 30 days or 3 months according to the use case; or 2) provide as a result the only habits as evaluated for the day before ‘today’


Meanwhile, having shown results over a longer period shows that, for every day −1, evaluated habits may change over time which is exactly the targeted information to be extracted. As an extension, successive days used for the extraction of habits may not be the successive days in months. They could be:

    • the same day of the week over successive weeks
      • every Monday,
      • every Tuesday,
      • . . .
    • the same group of days in the week:
      • weekday
      • weekend
    • the successive days per season, over years:
      • all days of spring, over successive years
      • all days of summer, over successive years
      • . . .
    • The same day of the week over successive weeks pre season

Claims
  • 1. A method, comprising: receiving information about activities of a user;calculating duration of each activity;categorizing each activity that exceeds a first duration and labelling them accordingly;grouping activities with similar labels; andanalyzing labelled activities for behavioral patterns and generating alerts when behavior patterns exhibit anomalies.
  • 2. The method of claim 1, wherein an alert is issued when said behavioral patterns match a preselected behavior pattern.
  • 3. The method of claim 2, wherein said preselected behavior patterns are obtained from a storage location.
  • 4. The method of claim 1, further comprising: replacing outliers from a set of labeled activities with neighbors labeled activities, wherein said neighbors are of closest labelled activity.
  • 5. The method of claim 1, wherein information about a user activity and its duration is received from a sensor.
  • 6. The method of claim 1, wherein information about a user activity is inputted using a user interface.
  • 7. The method of claim 1, further comprising establishing a user profile such that information about the user is logged in the user profile.
  • 8. The method of claim 1, wherein information is gathered about a plurality of users and each user behavior is analyzed discriminately and separately from other users.
  • 9. The method of claim 1, wherein information about a user is collected from searching on-line resources.
  • 10. The method of claim 1, wherein data about a user is analyzed and potential errors are flagged and the flagged data is removed.
  • 11. The method of claim 1, wherein data is analyzed continuously on receipt of new information.
  • 12. The method of claim 1, wherein a report can be generated about the user activity.
  • 13. The method of claim 1, wherein the generated alert is sent to the user.
  • 14. The method of claim 1, wherein the generated alert is sent to at least one person who is not the user.
  • 15. A system for monitoring behavior patterns, comprising: a processor configured for monitoring a user activity;a storage location for logging user activity, said storage location also containing a user profile for each user having information about each of said user's behavior;at least a sensor and a user interface enabled to receive user activity information and communicate said information with said processor;said processor logging said activity information in said user profile and calculating duration of each activity;said processor analyzing said logged activity information and duration such that said activities are categorized accordingly based on their type and duration;said processor generating alerts based on said analysis.
Priority Claims (1)
Number Date Country Kind
15307081.8 Dec 2015 EP regional
PCT Information
Filing Document Filing Date Country Kind
PCT/EP2016/082014 12/20/2016 WO 00