(19)
(11) EP 3 493 173 A1

(12) EUROPEAN PATENT APPLICATION

(43) Date of publication:
05.06.2019 Bulletin 2019/23

(21) Application number: 17306659.8

(22) Date of filing: 30.11.2017
(51) International Patent Classification (IPC): 
G08B 21/24(2006.01)
(84) Designated Contracting States:
AL AT BE BG CH CY CZ DE DK EE ES FI FR GB GR HR HU IE IS IT LI LT LU LV MC MK MT NL NO PL PT RO RS SE SI SK SM TR
Designated Extension States:
BA ME
Designated Validation States:
MA MD

(71) Applicant: THOMSON LICENSING
92130 Issy les Moulineaux (FR)

(72) Inventors:
  • DEMARTY, Claire-Hélène
    35576 Cesson-Sévigné (FR)
  • DUONG, Quang Khanh Ngoc
    35576 Cesson-Sévigné (FR)
  • LEFEBVRE, Frédéric
    35576 Cesson-Sévigné (FR)

(74) Representative: Vidon Brevets & Stratégie 
16B, rue de Jouanet BP 90333
35703 Rennes Cedex 7
35703 Rennes Cedex 7 (FR)

   


(54) METHOD FOR GENERATING ALERT AND CORRESPONDING ELECTRONIC DEVICE, COMMUNICATION SYSTEM, COMPUTER READABLE PROGRAM PRODUCTS AND COMPUTER READABLE STORAGE MEDIUM


(57) The disclosure relates to a method including:
- monitoring of events captured by sensors of a communication system, said monitoring being performed during a monitoring time interval taking account of a reference time of day when a first electronic device of the communication system is in a reference location;
- generating an alert according to a similarity between a reference pattern of events and the monitored events, the alert being generated at a time different from the reference time of day.
The disclosure also relates to corresponding electronic device, communication system, computer readable program product and computer readable storage medium.




Description

1. Technical field



[0001] The present disclosure relates to the technical domain of automatic, or semi-automatic user alerts.

[0002] A method for generating an alert and corresponding electronic device, computer readable program products and computer readable storage medium are described.

2. Background art



[0003] One has often specific things that one needs to do at specific moments and/or in precise locations. For instance, when leaving home, one may have to take sunglasses, home and car keys, and/or office entry pass.

[0004] Many solutions have been developed in order to help a user remembering an action he/she needs to perform. For instance, some simple solutions can be based on a use of sticky notes. Some other solutions can be implemented with the help of some electronic device. For instance, setting an alarm can permit to alert a user at a specific time. The sound or the textual label used for rendering the alarm can further help a user to be reminded of something in particular. Some more sophisticated tools like Google Keep © can also be used for being reminded about a particular action when being in a specific location (like a reminder about sun glasses each time one got out of one's house).

[0005] However, it is still of interest to propose efficient and/or user-friendly reminding techniques to a user of an electronic device.

3. Summary



[0006] The present principles propose a method comprising:
  • monitoring of events captured by at least one sensor of a communication system, said monitoring being performed during at least one monitoring time interval taking account of at least one reference time of day, when a first electronic device of said communication system is in a reference location;
  • generating an alert according to a similarity between a reference pattern of events and said monitored events, said alert being generated at a time different from said reference time of day.


[0007] According to at least one embodiment of the present disclosure, said method comprises obtaining said reference time of day upon receiving an alert request from a user interface of a second electronic device of said communication system.

[0008] According to at least one embodiment of the present disclosure, generating an alert comprises outputting an alerting element obtained upon receiving said alert request.

[0009] According to at least one embodiment of the present disclosure, said method comprises rendering said alerting element on a user interface of at least one third electronic device of said communication system.

[0010] According to at least one embodiment of the present disclosure, said alert is generated upon determining a matching between said monitored events and said reference pattern of events.

[0011] According to at least one embodiment of the present disclosure, determining a matching takes into account a probability of presence, beyond said monitored events, of at least one event of said pattern of events, said probability of presence being determined based on at least one previous monitoring determined based on at least one previous monitoring.

[0012] According to at least one embodiment of the present disclosure, determining a matching takes into account a first value of said probability of presence that decreases when a time difference between a current time and said reference time of day decreases. According to at least one embodiment of the present disclosure, generating an alert takes into account a contextual information.

[0013] According to at least one embodiment of the present disclosure, said alert is generated upon detecting a deviating event, between said monitored events and said reference pattern of events.

[0014] According to at least one embodiment of the present disclosure, generating said alert comprises outputting an alerting element associated to said deviating event.

[0015] According to at least one embodiment of the present disclosure, said method comprises obtaining at least one initial pattern of events during at least one initial monitoring of events captured by said sensors and obtaining said pattern of events from at least one said initial pattern of events.

[0016] According to at least one embodiment of the present disclosure, a constant number of initial monitorings is performed for obtaining said reference pattern of events.

[0017] According to at least one embodiment of the present disclosure, said method comprises obtaining said reference pattern of events by fine tuning said at least one initial pattern of events.

[0018] According to at least one embodiment of the present disclosure, said method comprises getting a feedback (from instance from a user interface) about said generated alert.

[0019] According to at least one embodiment of the present disclosure, said method comprises updating said pattern of events according to said feedback and to said monitored events.

[0020] According to another aspect, the present disclosure relates to an electronic device comprising at least one memory and one or several processors configured for collectively:
  • monitoring of events captured by said at least one sensor connected to said first electronic device, said monitoring being performed during at least one monitoring time interval taking account of at least one reference time of day, when a second electronic device of said communication system is in a reference location;
  • generating an alert according to a similarity between a reference pattern and said monitored events, said alert being generated at a time different from said reference time of day.


[0021] According to at least one embodiment of the present disclosure, said one or several processors are configured for collectively obtaining said reference time of day upon receiving an alert request on a communication interface of said first device.

[0022] According to at least one embodiment of the present disclosure, said one or several processors are configured for collectively transmitting said alert to at least one third electronic device of said communication system.

[0023] While not explicitly described, the electronic device of the present disclosure can be adapted to perform the method of the present disclosure in any of its embodiments.

[0024] According to another aspect, the present disclosure relates to an electronic device comprising at least one memory and at least one processing circuitry configured for:
  • monitoring of events captured by said at least one sensor connected to said first electronic device, said monitoring being performed during at least one monitoring time interval taking account of at least one reference time of day, when a second electronic device of said communication system is in a reference location;
  • generating an alert according to a similarity between a reference pattern and said monitored events, said alert being generated at a time different from said reference time of day.


[0025] According to at least one embodiment of the present disclosure, said at least one processing circuitry are configured for obtaining said reference time of day upon receiving an alert request on a communication interface of said first device.

[0026] According to at least one embodiment of the present disclosure, said at least one processing circuitry are configured for transmitting said alert to at least one third electronic device of said communication system.

[0027] While not explicitly described, the electronic device of the present disclosure can be adapted to perform the method of the present disclosure in any of its embodiments.

[0028] According to another aspect, the present disclosure relates to a communication system comprising a first electronic device connected with at least one sensor, said first electronic device comprising at least one memory and one or several processors configured for collectively:
  • monitoring of events captured by said at least one sensor connected to said first electronic device, said monitoring being performed during at least one monitoring time interval taking account of at least one reference time of day, when a second electronic device of said communication system is in a reference location;
  • generating an alert according to a similarity between a reference pattern and said monitored events, said alert being generated at a time different from said reference time of day.


[0029] According to at least one embodiment of the present disclosure, said one or several processors are configured for obtaining said reference time of day upon receiving an alert request on a communication interface of said first device.

[0030] According to at least one embodiment of the present disclosure, said one or several processors are configured for configured for transmitting said alert to at least one third electronic device of said communication system.

[0031] While not explicitly described, the communication system of the present disclosure can be adapted to perform the method of the present disclosure in any of its embodiments.

[0032] While not explicitly described, the present embodiments related to a method or to the corresponding electronic device or communication system can be employed in any combination or sub-combination.

[0033] According to another aspect, the present disclosure relates to a non-transitory computer readable program product comprising program code instructions for performing the method of the present disclosure, in any of its embodiments, when said program product is executed by a computer.

[0034] According to at least one embodiment of the present disclosure, said non-transitory computer readable program product comprises program code instructions for performing, when said program product is executed by a computer, a method comprising:
  • monitoring of events captured by at least one sensor of a communication system, said monitoring being performed during at least one monitoring time interval taking account of at least one reference time of day, when a first electronic device of said communication system is in a reference location;
  • generating an alert according to a similarity between a reference pattern of events and said monitored events, said alert being generated-at a time different from said reference time of day.


[0035] According to another aspect, the present disclosure relates to a computer readable storage medium carrying a software program.

[0036] According to at least one embodiment of the present disclosure, said software program comprises program code instructions for performing the method of the present disclosure, in any of its embodiments, when said software program is executed by a computer.

[0037] Notably, according to at least one embodiment of the present disclosure, said software program comprises program code instructions for performing, when said non-transitory software program is executed by a computer, a method comprising:
  • monitoring of events captured by at least one sensor of a communication system, said monitoring being performed during at least one monitoring time interval taking account of at least one reference time of day, when a first electronic device of said communication system is in a reference location;
  • generating an alert according to a similarity between a reference pattern of events and said monitored events, said alert being generated at a time different from said reference time of day.

4. List of drawings.



[0038] The present disclosure will be better understood, and other specific features and advantages will emerge upon reading the following description, the description making reference to the annexed drawings wherein:
  • Figure 1 is a functional diagram that illustrates logical blocs (or modules) of a commucation system implementing aspects of the present disclosure;
  • Figure 2 illustrates an electronic device implementing aspects of the present disclosure and notably blocks illustrated by figure 1;
  • Figure 3A is a functional diagram that illustrates a first exemplary embodiment of the method of the present disclosure;
  • Figure 3B is a functional diagram that illustrates a second examplary embodiment of the method of the present disclosure;


[0039] It is to be noted that the drawings have only an illustration purpose and that the embodiments of the present disclosure are not limited to the illustrated embodiments.

5. Detailed description of the embodiments.



[0040] At least some principles of the present disclosure propose to provide a reminder to a user (or a group of users) linked to a recurrent activity thanks to an intelligent, self-learning application. When the application recognizes that the activity is being performed, a reminder can be provided to the user. The reminder can be generated in many ways, including for instance by rendering an alert element, like a textual message, an image, a sound, a smell or perfume, and/or a combination thereof, in a user interface of a device. The reminder can be provided systematically or optionally, when a deviation is detected inside the activity, and/or conditionally, depending on at least one further condition, like a condition external or independent to the activity.

[0041] More precisely, at least some principles of the present disclosure relate to a way of collecting events linked to the activity, notably events occurring during the activity, and/or in a time window before the activity, in order to get, at least partially automatically, a signature, in terms of events of the activity, and thus to be able to generate a reminder to the user when at least some of the events constituting the signature of the activity occurs or have occurred.

[0042] Depending upon embodiments, the activity can be performed by the user to be reminded him/herself, by at least one user of the group of users to which the user to be reminded belongs to, by a different user, or group of users, by at least one animal, and/or by at least one device. Term "activity" is also used hereinafter for encompassing a sequence of events linked by a same semantic concept.

[0043] The signature of the activity, in terms of events, is also called herein "pattern of events", or "reference pattern of events". The pattern of events is learned by the application and used as a reference that is compared with monitored events in order to determine if the activity is being performed.

[0044] Figure 1 illustrates a communication system adapted to implement at least some embodiments of the present disclosure. The communication system comprises logical blocks (or modules) that can be part of a single electronic device connected to sensors, or by several distinct (and separate) physical devices. The communication system, which will be further described hereinafter, can comprise at least one electronic device like the one described hereinafter in link with figure 2.

[0045] Figure 2 describes the structure of an electronic device 20 that can be configured notably to perform one or several aspects of the present disclosure.

[0046] The electronic device can be any electronic device with input and/or output means and processing means, like a smart phone, a personal computer, a tablet, a TV, a STB, and /or a wearable communication device (also known sometimes in today life as a "connected" or "smart" object or device).

[0047] In the exemplary embodiment of figure 2, the electronic device 20 can include different devices, or apparatus, linked together via a data and address bus 200, which can also carry a timer signal. For instance, the electronic device 20 can include at least one micro-processor 21 (or CPU), a graphic card 22 (depending on embodiments, such a card may be optional), a ROM (or « Read Only Memory ») 25, a RAM (or « Random Access Memory ») 26, at least one Input/Output (I/O) module 24, for instance at least one Input/Output audio module (like a microphone, a loudspeaker, and so on) or at least one other Input/ Output module (like a keyboard, a mouse, a led, and so on). The input modules can notably comprise sensing modules (for instance one or more webcams, microphones, temperature sensors, ...). The sensing modules are optional. Notably, in some embodiments, the electronic device can be connected either directly or indirectly (via a monitoring unit), through at least one communication interface, to at least one sensing module.

[0048] In the exemplary embodiment of figure 2, the electronic device can also comprise at least one communication interface configured for the reception and/or transmission of data, notably audio and/or video data, or information computed remotely and linked to the alert request (for instance weather forecast from a distant weather forecast server). For instance, the electronic device can include at least one communication interface 27 adapted to receive and/or transmit data via a wireless connection (notably of type WIFI® or Bluetooth®), and/or at least one wired communication interface 28. Those communication interfaces are optional. Indeed, in some embodiments, the electronic device can include at least one sensor and acquire itself information regarding the monitored environment.

[0049] As illustrated by figure 2, the electronic device 20 can include a power supply 29. According to a variant, the power supply 29 is external to the electronic device 20.

[0050] In some embodiments, the electronic device 20 can also include, or be connected to, a display module 23, for instance a screen, directly connected to the graphic card 22 by a dedicated bus 220.

[0051] The Input/ Output module 24, for instance an audio module, and/or a display module, can be used for instance in order to output information, as described with reference to the rendering steps of the method of the present disclosure described hereinafter.

[0052] Each of the mentioned memories can include at least one register. A first example of register is a memory zone of low capacity (a few binary data). A second example of register can be a memory of a higher capacity (with a capability of storage of an entire audio and/or video file notably).

[0053] When the electronic device 20 is powered on, the microprocessor 21 loads the program instructions 260 in a register of the RAM 26, notably the program instructions needed for performing at least one embodiment of the method described herein, and executes the program instructions.

[0054] According to a variant, the electronic device 20 includes several microprocessors.

[0055] In the exemplary embodiment illustrated in figure 2, the microprocessor 21 can be configured for:
  • monitoring of events captured by at least one sensor of a communication system, said monitoring being performed during at least one monitoring time interval taking account of at least one reference time of day, when a first electronic device of said communication system is in a reference location;
  • generating an alert according to a similarity between a reference pattern of events and said monitored events, said alert being generated at a time different from said reference time of day.


[0056] According to at least one embodiment of the present disclosure, it is proposed to learn a pattern of events from recurrent monitoring performed when a device of the communication system (called hereinafter "location tracked device") is at a given (or reference) location and during at least one time interval. For instance, the monitoring can be performed only when the monitoring unit 110 of the communication system 100, or in a variant an alert rendering unit 150 (like a mobile and/or wearable device) on which an alert is to be rendered and/or a mobile device assumed to be in the vicinity of a user implied in the alert, is in a given location (called hereinafter "reference location" or "monitoring location or in a vicinity of this reference location).

[0057] The term "recurrent" is herein to be understood as synonymous of the term "repeated", the repetition being either periodic or not. In case of periodic monitoring, the period can vary between embodiments. For instance, monitoring can be performed on a daily and/or weekly base. The period can notably to configured by a user input.

[0058] The time interval of a monitoring can be of diverse duration. Notably, in some embodiments, the time interval can correspond to an entire day and thus the monitoring can be performed continuously or at least during some days of the week (like weekdays or weekends).

[0059] The monitoring can be performed after a user input, indicative of a reminder (or alert) request. The alert request can comprise at least one indication of a time of day (simply called hereinafter time indication) explicitly included in the user input. The alert request can also be assigned at least one time indication being a default value, like the current time of the alert request.

[0060] The time interval (or time period) during which a monitoring is performed can notably take into account the time indication. Notably, in some embodiments, a time interval of monitoring can begin before a time indication and/or end after a time indication (for instance two hours, one hour, half an hour, a quarter or five minutes before and/or after a time indication). When several time indications are defined, a time interval of monitoring can notably comprise one or several of the time indications.

[0061] In a first example, the time indication can include a given hour, a given number of minutes and/or a given number of seconds (like 08:30:00 am). The time interval can be centered around the time indication, like the time interval from 8 o'clock to 9 o'clock in the morning.

[0062] In a second example, a first time indication and a second time indication can be defined (like 08:00:00 and 09:00:00). The time interval can begin before the first time indication and can end after the second time indication (like a time interval from 7 o'clock to 10 o'clock or a time interval from 7.30 to 9.15 in the morning). In a variant, the time period can be a time interval beginning at a time close to the first time indication and ending at a time close to the second time indication (like the time interval from 8 o'clock to 9 o'clock in the morning). In another variant, the monitoring can occur during a first and a second time interval (like from 7.30 to 8.05 in the morning and from 8.30 am to 9.05 in the morning), each comprising one of the first and second time indication.

[0063] In a variant, the beginning, the end and/or the duration of the time interval of monitoring can be configured by a user input, for instance by reference to the time indication.

[0064] In some embodiments, the time interval for the monitoring can vary upon the time. For instance, it can depend of the variation of a time of detecting a match with the pattern of events. For instance, if a match with the pattern of events is always detected at the same time, the size of the time interval of the monitoring can be reduced over the time. Conversely, if the time of detecting a matching with the pattern of events vary over the days, the size of the time interval of monitoring can be increased.

[0065] Figures 3A and 3B illustrates embodiments of the method of the present disclosure. The embodiments can be implemented by logical blocks (or modules) of the communication system 100 illustrated by figure 1. The illustrated logical blocks are introduced hereinafter in connection with the embodiments illustrated of figure 3A and 3B.

[0066] Figure 3A describes a first exemplary embodiment of the method of the present disclosure where a preconfigured reminder (or in other words an alert) is generated in case of a match between a known pattern of events and the events currently detected by monitoring while a device of the communication system is in a given location. The reminder is generated even if the time of the match is different from the time indication associated with the alarm.

[0067] A first use case of this exemplary embodiment is a user wanting to be reminded of taking the key of his/her car, or his/her sun glasses before leaving home. The user can set an alarm (or make an alert request) at the time scheduled for leaving home before driving the children to school (e.g. at 8.00 am).

[0068] When the family is about to leave home, doors are opened and closed. Thus, opening and closing of doors, at home, shortly before the alarm time (e.g. 7:55 in the morning) can be a good indicator that the activity "leaving home" is happening. The opening/closing of doors can also happen earlier, e.g. 7.30 in the morning. In this case, it can be a good indicator that the activity is performed in advance and thus that an alarm needs to be generated in advance.

[0069] In a variant, an alarm is requested with a generation delay, in order to be generated after a time interval following the end of the activity. For instance, the alarm "take your keys" can be generated 10 minutes after a sensor has detected an opening and closing of a dish washing machine.

[0070] A second use case is a policeman who wants to regulate traffic in front of a football pitch where weekly training sessions are organized for kids, in view of protecting kids when crossing the street in front of the football pitch. When the policeman is working (and thus is located in the area of the football pitch), he wants to be alerted of the effective ending time of the training session, which can be associated to a pattern of events including the sound of a final whistle, of kids screaming, a victory song, .... The reminder can for instance take the form of a textual message ("Match finished") and/or sound messages (like beeps) rendered on his/her connected watch.

[0071] In the embodiment of figure 3A, the method 300 can comprise registering 310 an alert upon receiving an alert request. The alert request can notably be entered through a user interface 140, or received through a communication interface (for instance from a remote device (like a user's smartphone) using a Wi-Fi communication interface (as introduced in link with the device 20 of figure 2).

[0072] The registering 310 can notably include obtaining and/or storing at least one monitoring condition, that is to be fulfilled for a monitoring to occur, (like at least one indication of a time of day and/or one time interval of monitoring and/or at least one reference location). In some embodiments, a location used as a monitoring condition can be the current location of the monitoring unit 110 and/or of a user at the time of the registering of the alert (when the device is connected with a camera and/or a GPS for instance and/or is using some wireless transmission techniques that permit to localize a device).

[0073] In another embodiment, the reference location to be used as a monitoring condition can be acquired explicitly from a user interface. The reference location can be expressed as GPS coordinates, by using Wi-Fi-based localization technique where a position of mobile devices inside a house can be localized by Wi-Fi signal in the house, as a position on a map (for instance a position selected by a user on an interactive map).

[0074] The registering can also comprise obtaining (and/or storing) rendering information related to the way the alert being registered will be output (like a designation of a device being an intended receiver of an alert message, an alert element to be rendered (for instance a content of an alert message), and other information that would be obvious to the one of skill in the art.)

[0075] Notably, a user can set (or provide) via a user's interface 140 of the communication system 100 of figure 1, rendering information (that will be used for rendering an alarm on a user interface 152 of a rendering unit 150. The user interfaces used for registering an alarm and for generating an alarm can be different (and notably can belong to two distinct devices). For instance, the way the alert will be rendered and the identification of at least one rendering unit 150 that will render the alert can be acquired from the user interface 140. For instance, an alert element like a sound and/or a vibration to be rendered for alerting a user, an identification of the device 150 that will render the sound or vibration, can be obtained from the user interface 140. The communication system 100 can also obtain a textual label to be rendered for alerting a user (like 'Do not forget your keys'), the label being entered using a keypad or a touchscreen of the user interface 140, or a voice message acquired via a microphone connected to the user interface 140. In some embodiments, a user can provide an audiovisual content (like a still image or a video) or a link to such an audiovisual content, to be played on a display of the device 150 during the alert.

[0076] In a variant, a user can provide a keyword to the communication system, that will be used by the communication system for obtaining an alerting element (for instance by accessing a storage unit 160 of the communication system for retrieving an image, to be played when rendering the alert on a user interface (Ul) 152 of the rendering unit 150. For instance, referring to the first exemplary use case provided, a speech can be acquired from at least one microphone of the user interface 140 and can then be processed by a computation machine of the communication system, using a speech-to-text algorithm (like a keyword spotting algorithm) for obtaining at least one keyword (like "Sunglasses"). One or more visual contents, associated with the keywords, can then be retrieved from a storage unit (like a database) at the time of the alert request or upon generating the alert. In an embodiment where a plurality of visual contents can be associated with a same key word, the several visual contents can be, at least partially, rendered on a user interface during the alert request step, for at least one of the rendered contents to be selected by a user (via a touchscreen or a keypad or via a microphone) and thus be associated with the alert for being rendered later at the time of the alarm.

[0077] In some embodiments, an alert request can be a request for a conditional alert. A generation of such an alert can be performed conditionally, depending on another event. Notably, the generation of the alert can be omitted or modified depending on this other event. For instance, a user can request to be alerted about not forgetting his/her umbrella depending on the weather. The alert can be generated only if the weather is rainy (e.g. "Take your keys") or the rendering of the alert can differ depending on the weather (e.g. being either "Take your keys" or "Take your keys and your umbrella").

[0078] Such a conditional, adaptive, alert can be considered as useful by a user. Indeed, as some events (like rain) are only happening from time to time, it can be considered as helpful for a user of being alerted when such a conditional event occurs, in order to behave accordingly.

[0079] Once at least one alert is registered, the method can comprise checking 320 if monitoring conditions related to at least one alert are fulfilled. The checking can notably include checking if the current time belongs to a time interval of monitoring and if the location tracked device is in the reference location). The checking can also include in some embodiments checking if at least one condition for the conditional alert is fulfilled (e.g. checking the weather forecast to see if it is actually rainy at a time interval of monitoring). The checking can notably be performed periodically, or by setting a timer ending at the beginning of a time interval of monitoring.

[0080] If the monitoring conditions are fulfilled (for instance, according to an exemplary embodiment, if the current time belongs to the time interval allocated for the monitoring, while the location tracked device is in the reference location stored in association with the alert, then a monitoring is needed 322. The method can thus comprise monitoring 330 events.

[0081] The monitoring 330 can be performed for learning a pattern of events to be tracked (as being characteristic of the activity to monitor) and/or for tracking the learned pattern of events in the events collected during the monitoring.

[0082] For instance, in the first exemplary use case detailed, a learning module 122 of the machine learning unit 120 of the communication system can start to record and learn the user or user's family or user's house events that happen during the time interval of monitoring, so that it is able to learn a model of what characterizes the user's activity during this time interval and at the given location.

[0083] The monitoring 330 can notably comprise obtaining 332 events from at least one sensor 101, 102 and/or from a communication interface 105 (like a weather or/and traffic forecast for instance).

[0084] In the present disclosure, a sensor is to be understood as a module adapted to detect at least one kind of event or information in its physical environment, and encompasses many types of sensor, including electronic or analog sensors.

[0085] Examples of sensors include an audio sensor like a microphone, a visual sensor like a webcam, a tactile sensor, a temperature sensor, a pressure sensor, a force-sensing resistor, potentiometers, a light sensor, a motion sensor, a magnetic and/or electric fields sensor, an accelerometer, a gravity sensor, a humidity sensor, a moisture sensor, a vibration sensor, a positioning sensor. A positioning sensor (like a GPS module) can notably be used for providing a current location of a user and/or of location tracked device.

[0086] A sensor can be located in a vicinity of the reference location specified by the alarm request, or in the environment of a mobile device (that is likely to be sometimes located at the reference location specified by the alarm request). For instance, sensors can be located in different places around the reference location specified at the alarm request (e.g., when the reference location specified by the alarm request is the house of a user, it can be anywhere in the house, it can even be anywhere outside the house (like in case of humidity sensor for rain detection).

[0087] A "sensor" is considered herein, for simplicity purposes, as adapted to detect events that can then be used directly by the machine learning unit 120 for learning and/or tracking a pattern of events. Notably, the detected events can be used by a learning module 122 of the machine learning unit 120 for learning a pattern of events, as detailed hereinafter, and/or by an inference module 124 of the machine learning unit 120 for tracking a pattern of events in a sequence of detected events. Of course, in more detail, a sensor can generate signals that can be used (alone or in combination with other signals from other sensors for instance) to create an event representative information usable by the learning module 122 and/or the inference module 124 of the machine learning unit 120 for learning and/or tracking a pattern of events (or a pattern of event representative information).

[0088] For instance, in the first exemplary use case detailed, the recording of events for the above exemplary alarm can be performed notably thanks to sensors attached, for example, to the different doors in the house, and capable of detecting their opening and closing. The monitoring unit 110 of the communication system 100 can also obtain events from audio sensors, like sounds of doors closing/opening. The monitoring unit 110 can also obtain voices and their spatial origin in the house. Such audio events can permit to determine the location of a person speaking (notably, in the first exemplary use case, whether or not the different people are situated close to the main entrance).

[0089] Furthermore, as already explained, processing of voice by a speech-to-text algorithm can permit to obtain key words (such as 'let's go', 'time to go', etc.) that can be used for the pattern of events. Voice recognition techniques can also permit to identify speakers.

[0090] The monitoring unit 110 can also obtain visual events from a camera, or a webcam (like a person picking up his/her handbag and/or the children picking up their schoolbags).

[0091] In the illustrated embodiment, the monitoring 330 can also comprise transmitting obtained events to a module, like the machine learning unit120 of figure 1, in charge of learning a pattern of events and/or of checking a matching with a pattern of events associated to the alert.

[0092] The machine learning unit 120 can be part of the same device as the monitoring unit 110 or can be part of another device, like a remote server comprising large computing capabilities.

[0093] As illustrated by figures 1 and 3A, the monitoring 330 can be performed with the help of a monitoring unit 110, which obtains events from sensors, and transmits the obtained events (or information representative of the obtained events) to an inference module 124 of a machine learning unit 120, for checking about a matching with a learned model (also called herein "pattern of events"), dedicated of the registered alert, constructed (and update) at least partially by a learning module 122 of the machine learning unit. The machine learning unit 120 can notably make use of machine learning techniques, such as for instance deep neural network, regression techniques, support vector machine, random forest, etc ... in its learning of inference modules... Use of machine learning techniques can notably permit, in some embodiments, the machine learning unit 120 to learn a pattern (or model) of events and to infer if certain events of the pattern of events have occurred or not. Notably, the machine learning unit 120 can comprise or be connected to a Deep Neural Network. In such an embodiment, the machine learning unit can also have been trained, in advance, in a preliminary step (for instance prior of being used for implementing the method of the present disclosure) The training can notably depend of the type of sensors present in the communication system (on thus of the type of events that are detectable). For instance, when the communication system comprises a visual sensor, the machine learning unit can be trained on annotated images. Similarly, when the device is connected to an audio (or sound) sensor, the machine learning unit can be trained on annotated audio samples. When more than one kind of sensors (like audio and visual sensors) are used, the machine learning unit can be trained on annotated multimodal samples.

[0094] The preliminary training of the machine learning unit can be optional in some embodiments.

[0095] In some embodiments, the machine learning unit can further be trained specifically on an activity to be monitored.

[0096] According to the exemplary embodiment illustrated, when the machine learning unit detects a matching with a learned (or, in other words, target or reference) pattern of events 336, the method can comprise generating 340 an alert. (For ease of understanding, the way a pattern of events is learned by the communication system is detailed later).

[0097] As the monitoring is performed during a time interval, it can happen that a match is detected before the alarm time indication (or, in other words, in advance compared to the alarm time indication), or after, or later than, the alarm time indication. In such a case, and depending upon embodiments, the alert can be generated as soon as the match is detected (taking into account a delay introduced by a processing time). Indeed, detecting activities similar to a learned pattern of events at a time close to the alarm time indication, may mean that the associated activity is performed in advance of or later than its scheduled time (that is, the time indication of the alarm). For instance, in the first exemplary use case, the user is leaving home in advance or later than usual. Consequently, the alarm has to be raised at a time different from the time indication registered for the alarm and used as a reference time.

[0098] In a variant, similarities between at least a part of the monitored sequence of events and a learned pattern of events may be computed for determining a probability for the current monitored sequence of events to correspond to the learned pattern of events.

[0099] For instance, the alert can be generated (or raised) when a probability of matching, between one or several detected events and the pattern of events, reaches a first value (for instance a first value used as a threshold). Thus, in some embodiments, an alert can be generated, notably, before the ending of an activity, if the already occurred events permit to reach this first value.

[0100] In some embodiments, determining the probability can also take into account a time difference between the (scheduled) time indication of the alert and the time where similarities are detected. Such an embodiment can permit to put less weight to similarities, when the time difference is large than when the time difference is low (and thus, by decreasing or increasing a probability of matching, to eventually delay (or even disable) or advance a generation of an alert upon detecting similarities if the time difference is important).

[0101] In another embodiment, the time difference between the (scheduled) time indication of the alert and the time where similarities are detected can be ignored in the determining of a probability of a match.

[0102] In other embodiments, the impact of the time difference between the time indication of the alert and the time where similarities are detected can vary over the time, so as to decrease when a confidence of the communication system in the reliability of the learned pattern of events increases and vice-versa.

[0103] In some embodiments, a probability of presence can be assigned to at least one event of the pattern of events. The assigning of the probability can notably take into account a detecting of a same event during at least one previous monitoring. Determining a match can then be performed by taking into account a probability of presence, in the detected events, of at least one of the events of the pattern of events. Indeed, if an event of the pattern of events has a low probability of presence, a match can be assumed even if the event having the low probability is not captured during the monitoring. Conversely, in some embodiments, the system will not conclude to a match while an event having a very high probability of presence in the pattern is not captured during the monitoring,

[0104] In some embodiments, the generating can comprise a rendering of the alert on a user interface (like the user interface 152 of the alert rendering unit 150 of the communication system 100) and/or a sending of information related to the alert to at least another device. The other device can be located for instance in the vicinity of the monitoring unit, like a tablet, a TV screen, and/or a loudspeaker located in a same house. Notably, the other device can a loudspeaker located at the house entrance). The other device can also be a known device like a user's smartphone, tablet, and/or personal computer. It can also be located remotely.

[0105] In some embodiments, as in the embodiment of figures 1 and 3A, the method includes getting 342 at least one feedback regarding at least one generated alert. For instance, a generated alert can be assessed as being a "true" or "false" alert by means of a user interface. The feedback can be used as illustrated by figure 1 for transmitting an indication representative of a relevance of the generated alert from the user interface 152 of the alert rendering unit 150 to the machine learning unit 120 in charge of the learning of the reference pattern of events. The method can thus comprise updating 344 the reference pattern of events, if needed.

[0106] In a variant, getting feedback can be optional and/or can be performed only upon a user request (for instance because of a false alarm). When a feedback about an alarm is provided (or transmitted) to the machine learning unit, at least some of the events that have led to the generation of the alarm can be used by the machine learning unit for fine-tuning (and thus, if needed, updating 344) the pattern of events (by being considered as positive or negative examples for the learning, for instance).

[0107] In some embodiments, a generation and/or a rendering of an alert can be altered depending upon an additional contextual information. For instance, the alarm generation unit 130 of the communication system can take into account additional contextual information when a match is assumed by the machine learning unit 120. For instance, when a match with a pattern of events associated with the user leaving home is assumed, if the alarm generation unit 130 obtains information representative of the weather forecast, predicting a sunny day, the alarm generation unit can disable the alarm 'Take your umbrella'. Similarly, the alarm generating unit 130 can modify a rendering of an alert regarding the objects (keys etc..) to be taken when leaving home, in order to exclude a reminder related to rain. For instance, the alert can be rendered with an image of a key and without an image of an umbrella.

[0108] In another embodiment, an additional contextual information can be taken into account by the machine learning unit 120. For instance, the machine learning unit can obtain a weather forecast predicting a sunny day and can infer that a user will not need his umbrella and consequently will not conclude to a matching with a sequence of events including an event of weather forecast type predicting a rainy day.

[0109] The way a pattern of events, associated with a newly registered alert, is learned by the machine learning unit can vary upon embodiments.

[0110] Notably, an initial pattern of events can be learned from one or several "initial" monitorings. For instance, in some embodiments, upon registering an alert, the method can comprise requesting a user to perform the activity to which the alert is associated. Indeed, in a least some embodiments of the present disclosure, one of the objectives of the pattern of events is to be representative of this activity. For instance, in the detailed use case, the user can simulate his/her leaving home (by playing his/her own role when leaving home). Monitoring the events that occurs while the user behaves as he/she usually does during the activity can permit to acquire a first, rough, "initial" pattern of events, that can later be refined by successive monitoring (and, optionally, by taking into account a user feedback regarding the relevance of the generated alerts). The machine learning unit may then need several monitorings (and thus several days) to learn a more accurate pattern of events representative of an activity associated with an alarm using a user's feedback, for instance, and/or by taking account of the repeatability of events.

[0111] The monitoring of an exemplary behavior is optional. Indeed, in some embodiments, the training of the machine learning unit can be done by monitoring an activity when the current time is in the monitoring time interval for the first time after registering the alarm, the learned model of the activity being refined over the next monitoring of the activity, each time the current time is in the monitoring time interval. Notably, in some embodiments, just after a new alert request, the communication system can generate the alarm systematically when the current time reaches the time indication associated to the alarm (for instance each day, each weekday, and/or each Monday at 8:00 am), while monitoring events during the time interval of monitoring associated with the alarm. This can be performed similarly only for the first monitoring or during the monitoring performed for n first days. The monitoring(s), being the first, or the n first that occur after the registering of a new alert, and being used for training the learning module of the machine unit can be qualified as "initial" monitoring(s). Once the pattern of events is assumed to be learned, the alarm can then be generating according to a matching with the pattern of events.

[0112] In some embodiments, the model, or pattern, of events can be assumed to be learned after a certain number of monitorings. Notably, this number of monitorings can be a constant number, being the same for all new alarm requests. In some embodiments, the model, once learned, can be kept unchanged. Such an embodiment can be adapted to a device with low storage and processing capabilities as no update of the model is needed.

[0113] In some other embodiments, the pattern of events can be refined automatically at each monitoring, periodically, or depending on the result of a monitoring, so that it can become more reliable (and for instance take into account small changes occurring in the user's activity and/or environment). The refinement can be done by fine-tuning the model parameters with the new collected data.

[0114] In other embodiments, a confidence factor, representative of a confidence of the communication system of the reliability the learned pattern of events, can be computed. The confidence factor can notably be function of a number of monitorings (or learning) performed since the alarm request, or be a function of an amount of data, related to event representative information, available to the machine learning unit (or of their quality) or be a function of the model accuracy based on some validation data set (for instance a user's feedback regarding the relevance of the alerts generated because of detected matching). Validation data can comprise at least one sequence of events that correspond to the activity to detect and that therefore should generate an alarm, and/or at least one sequence of events that does not correspond to the activity to detect and therefore that should not generate an alarm. In some embodiments, applying such validation data on the model used by the machine learning unit for obtaining a pattern of events representative of the activity and checking the model behavior with the expected answer can allow to check the performance of the learned pattern. The confidence factor can notably be used for determining a probability of matching (notably as a complement of the weight attributed to the time difference between the time indication and the effective time of matching as explained above).

[0115] In some of the embodiments illustrated by figure 3A, the machine learning unit does not need to identify individually, in the detected events, each event comprised in a learned pattern. Notably, the detected events can be compared globally to the learned pattern. Furthermore, in some embodiments, for instance in embodiments where a match is checked by determining a probability, a match can be found even if some events comprised in the pattern of events are not part of a sequence of monitored events. Also, if a match is assumed with a probability being less than 100%, a match can be detected (and thus an alarm being generated) before the user has finished performing an activity entirely. As an example, a reminder about taking his//her key can be rendered after the user puts his/her coat but before the user has taken his/her handbag.

[0116] Figure 3B describes a second exemplary embodiment of the method of the present disclosure that proposes to generate an alert when a difference (or deviation) between the learned pattern and the current monitored events is detected. In a first use case, a user that usually decreases the heating temperature before going out can be reminded of decreasing the heat when he/she leaves the home after having forgot to decrease the heating.

[0117] In the embodiment illustrated by figure 3B, the method 350 can include, similarly to the method illustrated by figure 3A, receiving an alert request, for instance from the alert registering user interface 140, registering 310 the alert request (and the corresponding monitoring conditions), and checking 320 the monitoring conditions. If a monitoring is needed 422, the method can comprise monitoring 360 events. The monitoring 360 can differ from the monitoring 330 performed in the embodiment of figure 3A. Indeed, different from some of the embodiments illustrated by figure 3A, in the embodiments illustrated by figure 3B, the machine learning unit may need to identify individual events comprised in a learned pattern in order to be able to detect a deviation between at least one "deviating" event of a detected sequence of events and/or at least one event of a reference pattern of events. For instance, a deviating event can be an event of the pattern of events being absent (or omitted) or modified in the detected sequence. The detecting of a deviating event can be performed at a per group of events bases, events from a same group being processed separately (via a specific pattern of events), or more globally via a global pattern of events.

[0118] The monitoring 360 can include obtaining at least one event (or signal) 361 and comparing 362 the obtained event to a learned global/and/or specific model (or pattern). For instance, detected audio signals can be compared to an acoustic event model, and/or detected audio and/or video signals can be compared by a human activity recognition model. Similarly, depending upon embodiments, the communication system 100 can comprise a single machine learning unit 120 in charge of the learning and/or tracking of a global and/or to all specific reference pattern(s) of events, or comprise different machine learning units, each being in charge of learning and/or tracking of a specific reference pattern of events.

[0119] As in the embodiments of figure 3A, the global or specific pattern(s) of events used in the comparing can have been learned in advance in a training phase (for instance similarly to what have been described in connection with figure 3A). Furthermore, in some embodiments (and similarly to what have been described in connection with figure 3A), the method can include getting feedback 3652 from a user, and updating 3654 the reference global and/or specific pattern of events based on actual data collected during the current monitoring.

[0120] Notably, in some embodiments, the feedback of a user, and the collecting of the current or more accurate data, can permit to refine the reference global and/or specific pattern of events. For instance, it can permit to include some alternative events or to ignore some non-significant change in the pattern of events.

[0121] Similar to figure 3A, the method 350 can include checking a matching 363 of the detected sequence of events. The checking can notably be based on the output of the comparing 362. For instance, matching 363 can be assumed when a first sequence (or first plurality) of events matches the corresponding first specific model pattern of events (i.e. when a positive result is output by comparing the first sequence and the first pattern of events), even if a second sequence of events obtained leads to a negative result when compared to the second specific model.

[0122] In another embodiment, a match can be assessed by fusing the outputs of the comparing performed for several (for instance all) specific models.

[0123] The matching 363 can be assessed because the monitored events include either identical or almost identical events to those of the global and/or specific learned pattern. When the events are only almost identical to the ones of learned global pattern (or in other words when some deviation exists between at least one current event and the learned global and/or specific pattern, the method can comprise generating an alert (or in other words alerting) 365 about the event (omitted or modified) that causes the detected deviation.

[0124] In some embodiments, the chronological order of events inside a sequence and/or the pattern can be taken into account for determining a matching between the sequence and the pattern, while in other embodiments, the chronological order can be ignored for determining the matching.

[0125] The generating 365 of an alert can be performed similarly to what have been described in connection with figure 3A. Notably, depending upon embodiments, a single and/or a plurality of feedbacks can be obtained for one or several generated alarm(s). For instance, a user can be requested to enter feedback for each generated alarm, or can provide feedback only on his own initiative, for only one, some of, or all generated alarms.

[0126] The got (or received) feedback can be used for updating 3654 the global and/or specific pattern of events used for detecting a missing and/or modified event and/or for updating 3654 the global and/or specific pattern of events. It can also be used for instance for modifying a weight associated to a result of a comparing with a specific pattern and used during the checking of the matching.

[0127] As will be appreciated by one skilled in the art, aspects of the present principles can be embodied as a system, method, or computer readable medium. Accordingly, aspects of the present disclosure can take the form of a hardware embodiment, a software embodiment (including firmware, resident software, micro-code, and so forth), or an embodiment combining software and hardware aspects that can all generally be referred to herein as a "circuit", module" or "system". Furthermore, aspects of the present principles can take the form of a computer readable storage medium. Any combination of one or more computer readable storage medium(s) may be utilized.

[0128] A computer readable storage medium can take the form of a computer readable program product embodied in one or more computer readable medium(s) and having computer readable program code embodied thereon that is executable by a computer. A computer readable storage medium as used herein is considered a non-transitory storage medium given the inherent capability to store the information therein as well as the inherent capability to provide retrieval of the information therefrom. A computer readable storage medium can be, for example, but is not limited to, an electronic, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus, or device, or any suitable combination of the foregoing.

[0129] It is to be appreciated that the following, while providing more specific examples of computer readable storage mediums to which the present principles can be applied, is merely an illustrative and not exhaustive listing as is readily appreciated by one of ordinary skill in the art: a portable computer diskette, a hard disk, a read-only memory (ROM), an erasable programmable read-only memory (EEPROM or Flash memory), a portable compact disc read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the foregoing.

[0130] Thus, for example, it will be appreciated by those skilled in the art that the block diagrams presented herein represent conceptual views of illustrative system components and/or circuitry of some embodiments of the present principles. Similarly, it will be appreciated that any flow charts, flow diagrams, state transition diagrams, pseudo code, and the like represent various processes which may be substantially represented in computer readable storage media and so executed by a computer or processor, whether or not such computer or processor is explicitly shown.

[0131] Although the illustrative embodiments have been described herein with reference to the accompanying drawings, it is to be understood that the present principles are not limited to those precise embodiments, and that various changes and modifications may be effected therein by one of ordinary skill in the pertinent art without departing from the scope of the present principles. All such changes and modifications are intended to be included within the scope of the present principles as set forth in the appended claims.


Claims

1. A method comprising:

- monitoring of events captured by at least one sensor of a communication system, said monitoring being performed during at least one monitoring time interval taking account of at least one reference time of day, when a first electronic device of said communication system is in a reference location;

- generating an alert according to a similarity between a reference pattern of events and said monitored events, said alert being generated at a time different from said reference time of day.


 
2. The method according to claim 1 wherein said alert is generated upon determining a matching between said monitored events and said reference pattern of events.
 
3. The method of claim 2 wherein determining a matching takes into account a probability of presence, beyond said monitored events, of at least one event of said pattern of events, said probability of presence being determined based on at least one previous monitoring.
 
4. The method of claim 2 or 3 wherein determining a matching takes into account a first value of said probability of presence that decreases when a time difference between a current time and said reference time of day decreases.
 
5. The method according to any of claims 1 to 4 wherein said alert is generated upon detecting a deviating event, between said monitored events and said reference pattern of events.
 
6. The method according to claim 5 wherein generating said alert comprises outputting an alerting element associated to said deviating event.
 
7. The method of any of claims 1 to 6 comprising obtaining at least one initial pattern of events during at least one initial monitoring of events captured by said sensors and obtaining said pattern of events from at least one said initial pattern of events.
 
8. The method of claim 7 wherein a constant number of initial monitorings is performed for obtaining said reference pattern of events.
 
9. A first electronic device of a communication system, said first electronic device comprising at least one memory and one or several processors configured for collectively:

- monitoring of events captured by said at least one sensor connected to said first electronic device, said monitoring being performed during at least one monitoring time interval taking account of at least one reference time of day, when a second electronic device of said communication system is in a reference location;

- generating an alert according to a similarity between a reference pattern and said monitored events, said alert being generated at a time different from said reference time of day.


 
10. The first electronic device according to claim 9 wherein said one or several processors are configured for collectively obtaining said reference time of day upon receiving an alert request on a communication interface of said first device.
 
11. The first electronic device of claim 9 or 10 wherein said one or several processors are configured for collectively transmitting said alert to at least one third electronic device of said communication system.
 
12. A communication system comprising a first electronic device connected with at least one sensor, said first electronic device comprising at least one memory and one or several processors configured for collectively:

- monitoring of events captured by said at least one sensor connected to said first electronic device, said monitoring being performed during at least one monitoring time interval taking account of at least one reference time of day, when a second electronic device of said communication system is in a reference location;

- generating an alert according to a similarity between a reference pattern and said monitored events, said alert being generated at a time different from said reference time of day.


 
13. The communication system of claim 12 wherein said alert is generated upon detecting a deviating event, between said monitored events and said reference pattern of events and wherein said communication system comprises a third electronic device comprising a user interface adapted to output an alerting element associated to said deviating event.
 
14. A non-transitory computer readable program product comprising program code instructions for performing, when said program product is executed by a computer, a method comprising:

- monitoring of events captured by at least one sensor of a communication system, said monitoring being performed during at least one monitoring time interval taking account of at least one reference time of day, when a first electronic device of said communication system is in a reference location;

- generating an alert according to a similarity between a reference pattern of events and said monitored events, said alert being generated-at a time different from said reference time of day.


 
15. Computer readable storage medium carrying a non-transitory software program comprising program code instructions for performing, when said non-transitory software program is executed by a computer, a method comprising:

- monitoring of events captured by at least one sensor of a communication system, said monitoring being performed during at least one monitoring time interval taking account of at least one reference time of day, when a first electronic device of said communication system is in a reference location;

- generating an alert according to a similarity between a reference pattern of events and said monitored events, said alert being generated at a time different from said reference time of day.


 




Drawing
















Search report









Search report