FR 3098966 A1 20210122 FR 1907980 A 20190715 Description Titre de l'invention : Procédé et dispositif de détection de la ré- currence d'attributs temporels Domaine technique [0001] L'invention concerne les procédés et dispositifs de suivi et de gestion d'activités associées à du matériel et/ou du personnel. L'invention concerne également la planification automatique de telles activités. Arrière-plan technologique [0002] Les entreprises en quête de traçabilité des activités réalisées via leur matériel et/ou par leurs employés font face à plusieurs problématiques dont l'assurance que les engagements de qualité, les nonnes de sécurité et les processus de réalisation de chaque tâche ou activité sont effectivement respectés. [0003] Or dans de nombreux cas, il est à ce jour très difficile de construire un processus de réalisation efficace, assurant à la fois un niveau de qualité fort et la sécurité des travailleurs et du matériel sur le terrain. Certains experts en qualité tentent de décrire ces processus au travers de normes (telle que la norme ISO 9001) mais il s'agit dans les faits d'hypothèses dont la pertinence reste à valider ultérieurement, ne répondant donc de fait pas à la problématique ci-dessus. [0004] Par ailleurs, les données relatives à la réalisation des tâches sont sujettes à une certaine imprécision et/ou incomplétude, rendant leur exploitation peu fiable pour par exemple vérifier que les tâches ont bien été effectuées comme attendu. En effet, les données relatives à la réalisation des tâches sont souvent issues de saisies manuelles ou semi-automatiques par des personnes qui réalisent ces tâches, ces saisies manuelles étant sujettes à des erreurs ou des oublis. Résumé de l'invention [0005] Un objet de la présente invention est d'améliorer l'analyse de données repré- sentatives de l'exécution de tâches ou d'activité pour palier notamment les problèmes liés à l'incomplétude et/ou l'imprécision de ces données. [0006] Selon un premier aspect, l'invention concerne un procédé de détection de la ré- currence d'informations représentatives d'activités, le procédé comprenant les étapes de : [0007] - réception de données représentatives d'une pluralité d'activités chacune associée à au moins une information temporelle ; [0008] - génération d'une pluralité de périodes temporelles de durée identique à partir d'au moins une partie des données reçues, chaque période temporelle de la pluralité comprenant une séquence d'activités de la pluralité d'activités ordonnées tempo- 2 rellemcnt ; [0009] - sélection d'au moins une partie des périodes temporelles de la pluralité pour sé- lectionner les périodes temporelles comprenant une même pluralité d'activités ordonnées temporellement selon un même ordre ; [0010] - classification de la au moins une partie des périodes temporelles selon au moins un critère de similarité entre les séquences d'activités pour former un ensemble de classes de périodes temporelles comprenant chacune au moins une période temporelle ; [0011] - comparaison des périodes temporelles non sélectionnées aux centroïdes des classes de périodes temporelles ; [0012] - association de chaque période temporelle d'au moins une partie des périodes tem- porelles non sélectionnées à la classe de périodes temporelles de la pluralité ayant le centroïde le plus proche de chaque période temporelle. [0013] Selon une variante, le procédé comprend en outre les étapes suivantes : [0014] - détection de données erronées dans les données reçues à partir des informations temporelles ; [0015] - correction d'au moins une partie des données erronées à partir de règles dé- terminées, [0016] la au moins une partie des données reçues utilisées pour la génération de la pluralité de périodes temporelles de durée identique comprenant les données reçues non détectées comme étant erronées et les données erronées corrigées. [0017] Selon une autre variante, le procédé comprend en outre une étape de correction d'une information temporelle partielle associée à une première activité d'une première période temporelle à partir d'au moins une information temporelle complète d'au moins une deuxième activité d'au moins une deuxième période temporelle appartenant à la même classe de périodes temporelles que la première période temporelle, la au moins une deuxième activité étant identique à la première activité. [0018] Selon une variante supplémentaire, le procédé comprend en outre les étapes suivantes : [0019] - classification des activités de l'ensemble de classes de périodes temporelles selon au moins un critère de similarité entre les activités pour former un ensemble de classes d'activités ; [0020] - détermination d'un centroïde pour chaque classe d'activité ; [0021] - pour chaque classe d'activités, remplacement d'au moins une partie des activités de la classe d'activités par le centroïde de la classe d'activités avant de déterminer les centroïdes des classes temporelles. [0022] Selon une autre variante, l'étape de comparaison comprend les étapes suivantes, pour chaque période temporelle non sélectionnée comprenant un nombre d'activités inférieur au nombre d'activités des périodes temporelles sélectionnées, appelée période 3 temporelle incomplète : [0023] - pour chaque classe de périodes temporelles, génération d'un graphe biparti comprenant un premier ensemble d'éléments correspondant aux activités et information temporelle du centroïde de chaque classe de périodes temporelles et un deuxième ensemble d'éléments correspondant aux activités et information temporelle associée de la période temporelle incomplète et aux activités et information temporelle du centroïde ; [0024] - complétion des données manquantes dans la période temporelle incomplète par recherche de couplage minimal dans chaque graphe biparti généré. [0025] Selon une autre variante, chaque activité de la pluralité d'activités est associée à au moins une information supplémentaire parmi les informations suivantes : [0026] - une information de localisation ; [0027] - une information d'identification d'une personne ; [0028] - une information d'identification d'un matériel. [0029] Selon une variante supplémentaire, le procédé comprend en outre une étape de sélection desdites données représentatives d'une pluralité d'activités en fonction de la au moins une information supplémentaire. [0030] Selon un deuxième aspect, l'invention concerne un dispositif de détection de la ré- currence d'activités comprenant une mémoire associée à au moins un processeur configuré pour mettre en oeuvre les étapes du procédé selon le premier aspect de l'invention. [0031] Selon un troisième aspect, l'invention concerne un programme d'ordinateur qui comporte des instructions adaptées pour l'exécution des étapes du procédé selon le premier aspect de l'invention, ceci notamment lorsque le programme d'ordinateur est exécuté par au moins un processeur. [0032] Un tel programme d'ordinateur peut utiliser n'importe quel langage de pro- grammation, et être sous la forme d'un code source, d'un code objet, ou d'un code intermédiaire entre un code source et un code objet, tel que dans une forme partiellement compilée, ou dans n'importe quelle autre forme souhaitable. [0033] Selon un quatrième aspect, l'invention concerne un support d'enregistrement lisible par un ordinateur sur lequel est enregistré un programme d'ordinateur comprenant des instructions pour l'exécution des étapes du procédé selon le premier aspect de l'invention. [0034] D'une part, le support d'enregistrement peut être n'importe quelle entité ou dispositif capable de stocker le programme. Par exemple, le support peut comporter un moyen de stockage, tel qu'une mémoire ROM, un CD-ROM ou une mémoire ROM de type circuit microélectronique, ou encore un moyen d'enregistrement magnétique ou un disque dur. 100351 D'autre part, ce support d'enregistrement. peut également être un support trans- missible tel qu'un signal électrique ou optique, un tel signal pouvant être acheminé via un câble électrique ou optique, par radio classique ou hertzienne ou par faisceau laser autodirigé ou par d'autres moyens. Le programme d'ordinateur selon l'invention peut être en particulier téléchargé sur un réseau de type Internet. [0036] Alternativement, le support d'enregistrement peut être un circuit intégré dans lequel le programme d'ordinateur est incorporé, le circuit intégré étant adapté pour exécuter ou pour être utilisé dans l'exécution du procédé en question. Brève description des figures [0037] D'autres caractéristiques et avantages de l'invention ressortiront de la description des modes de réalisation non limitatifs de l'invention ci-après, en référence aux figures 1 à 5 annexées, sur lesquelles : [0038] [fig.1] illustre de façon schématique des séquences d'activités, selon un exemple de réalisation particulier de la présente invention ; [0039] [fig.2] illustre un organigramme des différentes étapes d'un procédé de détection de la récurrence d'informations représentatives d'activités dans les séquences de la figure 1, selon un exemple de réalisation particulier de la présente invention ; [0040] [fig.3] illustre schématiquement un processus de correction d'information temporelle partielle associée dans une ou plusieurs séquences de la figure 1, selon un exemple de réalisation particulier de la présente invention ; [0041] [fig.4] illustre schématiquement un processus de complétion de données d'activités incomplètes parmi les séquences de la figure 1, selon un exemple de réalisation particulier de la présente invention ; [0042] W8.51 illustre schématiquement un dispositif configuré pour la mise en oeuvre du procédé et/ou des processus des figures 2 à 4, selon un exemple de réalisation particulier de la présente invention. Description des modes de réalisation 100431 Un procédé et un dispositif de détection de la récurrence d'informations repré- sentatives d'activités vont maintenant être décrits dans ce qui va suivre en référence conjointement aux figures 1 à 5. Des mêmes éléments sont identifiés avec des mêmes signes de référence tout au long de la description qui va suivre. 100441 Selon un exemple particulier et non limitatif de réalisation de l'invention, un procédé de détection de la récurrence d'informations représentatives d'activités comprend la réception de données représentatives d'une pluralité d'activités, chaque donnée représentative d'une activité étant associée à une ou plusieurs informations temporelles (par exemple date/heure de début et/ou fin de l'activité). Une ou plusieurs périodes temporelles de durée identique sont générées à partir d'au moins une partie des données reçues. Chaque période temporelle comprend une séquence d'activités ordonnées temporellement. Au moins une partie des périodes temporelles est sélectionnée pour extraire les périodes temporelles comprenant une même pluralité d'activités (c'est-à-dire le même nombre d'activités, les activités étant les même d'une séquence sélectionnée à une autre séquence sélectionnée) ordonnées temporellement selon un même ordre. Les périodes temporelles sélectionnées sont classifiées selon au moins un critère de similarité entre les séquences d'activités pour former un ensemble de classes (ou groupes) de périodes temporelles similaires, chaque classe comprenant au moins une période temporelle. Les périodes temporelles qui n'ont pas été sélectionnées sont comparées aux centroïdes des classes de périodes temporelles formées précédemment. Chaque période temporelle d'au moins une partie des périodes temporelles non sélectionnées est alors associée à la classe dont le centroïdc est le plus proche (ou le plus similaire) de cette période temporelle. [0045] Un tel procédé permet de regrouper automatiquement les activités en fonction de leur similitude, ce qui permet de détecter et regrouper les activités récurrentes sur une période temporelle donnée. La fiabilité du procédé est augmentée en classifiant dans un premier temps les périodes temporelles qui contiennent les mêmes données d'activités ordonnées temporellement de manière similaire, c'est-à-dire en utilisant les données considérées comme étant les plus fiables. Le regroupement des périodes temporelles restantes (c'est-à-dire les périodes temporelles incomplètes, par exemple parce qu'il manque une ou plusieurs données d'activités et/ou des données temporelles associées aux activités par rapport aux périodes temporelles ayant servi à la classification) aux classes constituées précédemment offre alors une base de comparaison de ces périodes temporelles incomplètes pour potentiellement les corriger et/ou les compléter. [0046] La détection de la récurrence d'informations représentatives d'activités reçues permet par exemple de générer automatiquement, sans intervention humaine, un planning associé à un matériel et/ou une personne, sur la base de données d'activités collectées. [0047] La détection de la récurrence d'informations représentatives d'activités reçues permet également par exemple de détecter automatiquement, sans intervention humaine, les erreurs dans les séquences d'activités, par exemple les inversions d'activités, les oublis de réalisation d'une ou plusieurs activités. [0048] [fig.1] illustre plusieurs périodes temporelles Pl à P5 comprenant chacune une séquence d'activités ou d'informations représentatives d'activités, selon un exemple de réalisation particulier et non limitatif de la présente invention. [0049] Les périodes temporelles PI à P5 sont avantageusement générées automatiquement à partir de données collectées ou reçues d'outils de suivi d'activités tels que des dispositifs de pointage (par exemple une badgeuse), des dispositifs de traçage de position 6 ou de suivi de déplacement (par exemple un système GPS associé à un matériel ou une machine), des hases de données dans lesquelles un ou plusieurs utilisateurs entrent leurs activités réalisées ou les tâches accomplies ou l'utilisation de matériel. Ces données sont associées à une ou plusieurs informations temporelles, telles que par exemple l'heure de début et/ou de fin d'une activité, l'heure de début et la durée d'une activité. [0050] Selon une variante de réalisation, des données provenant de sources extérieures et associées à une information temporelle, telles que par exemple un dispositif de comptage de personnes sur un lieu, un service de données météo, pollution, un évènement AFP, le trafic routier, sont utilisées pour la génération des périodes temporelles PI à P. De telles données permettent par exemple d'améliorer la génération des périodes en prenant en compte plus de données. [0051] De manière générale, la notion d'activité correspond à un attribut (ou une in- formation) représentatif d'une activité associé à une ou plusieurs informations temporelles. Une activité correspond par exemple à une tâche effectuée par une personne ou un matériel donné. A titre d'exemple, une tâche correspond par exemple au nettoyage (par une personne ou un matériel adapté au nettoyage) d'une pièce, d'un étage ou d'un immeuble. Selon un autre exemple, une tâche correspond à une ronde d'un gardien dans un lieu donné ou au survol d'un lieu donné par un dronc. L'attribut représentatif d'une activité correspond par exemple à un libellé de l'activité ou au type de l'activité ou à un code représentant l'activité, le code correspondant par exemple à un code à un ou plusieurs chiffres, à une ou plusieurs lettres, à une combinaison de chiffre(s) et de lettre(s). [0052] Selon une variante optionnelle, chaque attribut représentatif d'une activité est par exemple associé à un ou plusieurs attributs (ou informations) supplémentaires. A titre d'exemple, une activité peut être associée à un identifiant d'une personne, à un identifiant d'un matériel et/ou à une localisation. [0053] Les données reçues ou collectées sont par exemple de la forme : [0054] - [date début ; date fin] + liste d'attributs tels que personne (par exemple salarié), matériel, lieu, activité, taux de fréquentation, pollution... correspondant à des données multi-attributs horodatées issues de solutions de traçabilité/ pointage/supervision d'activités et de salariés/matériel et de toutes solutions équivalentes collectant des données de présence ; [0055] - [date de passage] + liste d'attributs tels que personne, matériel, lieu, activité, ... correspondant à des données d'activités sans durée dont l'intervalle de temps est ramené à une seule date ; [0056] - [date début ; date fin] + identifiant personne ou matériel correspondant à des données mono-attributs horodatées telles que les pointages pour le contrôle de 7 présence ou le calcul du temps de travail ; [0057] - [date de passage] + identifiant personne ou site ou tâche ou autre } correspondant à des données mono-attributs sans durée tels que les contrôle de passage d'une intervention sur site ou lors d'une ronde. [0058] L'information de « date » correspond à une information temporelle comprenant par exemple, le jour, le mois, l'année et l'heure (par exemple heure/minutes/secondes). [0059] Les données collectées ou reçues sont avantageusement filtrées, par exemple pour extraire les données associées à une même personne, à un même matériel ou à un même lieu. Cela permet de trier les données reçues pour extraire une partie des données seulement, c'est-à-dire les données relatives à un même attribut ou objet (personne, matériel, lieu). Selon un autre exemple, les données sont filtrées pour extraire toutes les données relatives à une même activité, permettant d'obtenir toutes les données ayant pour attribut commun la même activité, quel que soit la personne, le matériel et le lieu. Selon une variante, les données sont filtrées en fonction d'une pluralité d'attributs pour extraire les données relatives à plusieurs attributs ou objets (par exemple les données relatives à une personne et un lieu ou à un matériel et un lieu ou à une personne et un matériel). [0060] Les données sont alors organisées et découpées dans le temps en intervalles de temps réguliers pour former des séquences d'activités bornées dans le temps. Par exemple, les données sont organisées en périodes temporelles de même durée, une période temporelle correspondant à un intervalle de temps. A titre d'exemple, les données sont découpées par journée (par exemple de 00h00 à 23h59 pour chaque journée de la semaine), par semaine (par exemple du lundi à 05h00 au vendredi à 21h00 ou du lundi 00h01 au dimanche à 23h59), par mois ou selon tout intervalle de temps de durée quelconque. [0061] Dans le reste de la description qui va suivre, une période temporelle correspondra à une semaine, sans bien entendu se limiter à cet exemple purement illustratif. L'intervalle de temps associée à une donnée représentative d'activité sera noté [u,v], cet intervalle de temps pouvant se réduire à une simple date avec u = y. Pour des raisons de clarté, les données traitées dans les exemples ci-dessous seront des données mono-attribut, c'est-à-dire chaque donnée correspondra à un couple 'activité / information(s) temporelle(s) associée(s)'. Ces données sont par exemple obtenues en filtrant l'ensemble des données collectées ou reçues sur le critère de la personne ou du matériel associé aux activités. Ainsi, les données traitées correspondent aux activités (et informations temporelles associées) réalisées par une même personne (ou un même matériel) par exemple. [0062] Ainsi, une personne (ou un matériel) effectue une séquence (ou série) d'activités (ou de prestations) organisées en fonction du temps dans plusieurs périodes temporelles. 8 [0063] Chaque période temporelle est dénotée P avec : [0064] P = (al, [u1;v1]), ..., (ai, [ui;vi]), ...(a', [u';v']) avec i A [1..N] [0065] N étant la dimension de la séquence S composée d'éléments si = (ai, [ui;vi]) formant la période temporelle P. [0066] a; correspond à un attribut symbolique (par exemple une activité) monodimensionnel. [0067] [ut;vt] un intervalle de temps tel que ni REVENDICATIONSProcédé de détection de la récurrence d'informations représentatives d'activités, ledit procédé comprenant les étapes de : - réception (201) de données représentatives d'une pluralité d'activités chacune associée à au moins une information temporelle ; - génération d'une pluralité de périodes temporelles de durée identique à partir d'au moins une partie des données reçues, chaque période temporelle de ladite pluralité comprenant une séquence d'activités de ladite pluralité d'activités ordonnées temporellement ; - sélection (202) d'au moins une partie des périodes temporelles de ladite pluralité pour sélectionner les périodes temporelles comprenant une même pluralité d'activités ordonnées temporellement selon un même ordre ; - classification (203) de la au moins une partie des périodes temporelles selon au moins un critère de similarité entre les séquences d'activités pour former un ensemble de classes de périodes temporelles comprenant chacune au moins une période temporelle ; - comparaison (204) des périodes temporelles non sélectionnées aux centroïdes desdites classes de périodes temporelles ; - association (205) de chaque période temporelle d'au moins une partie des périodes temporelles non sélectionnées à la classe de périodes temporelles de ladite pluralité ayant le centroïde le plus proche de ladite chaque période temporelle. Procédé selon la revendication 1, comprenant en outre les étapes de - détection de données erronées dans lesdites données reçues à partir des informations temporelles ; - correction d'au moins une partie desdites données erronées à partir de règles déterminées, la au moins une partie des données reçues utilisées pour la génération de ladite pluralité de périodes temporelles de durée identique comprenant les données reçues non détectées comme étant erronées et les données erronées corrigées. Procédé selon l'une des revendications 1 et 2, comprenant en outre une étape de correction d'une information temporelle partielle associée à une première activité d'une première période temporelle à partir d'au moins une information temporelle complète d'au moins une deuxième activité d'au moins une deuxième période temporelle appartenant à la même [Revendication 4] classe de périodes temporelles que ladite première période temporelle, ladite au moins une deuxième activité étant identique à ladite première activité. [Revendication 5] Procédé selon l'une des revendication 1 à 3, comprenant en outre les étapes de : [Revendication 6] - classification des activités dudit ensemble de classes de périodes temporelles selon au moins un critère de similarité entre les activités pour former un ensemble de classes d'activités ; [Revendication 7] - détermination d'un centroïde pour chaque classe d'activité ; [Revendication 8] - pour chaque classe d'activités, remplacement d'au moins une partie des activités de ladite classe d'activités par le centroïde de ladite classe d'activités avant de déterminer les centroïdes desdites classes temporel les. Procédé selon l'une des revendications 1 à 4, pour lequel, pour chaque période temporelle non sélectionnée comprenant un nombre d'activités inférieur au nombre d'activités des périodes temporelles sélectionnées, appelée période temporelle incomplète, ladite étape de comparaison comprend les étapes suivantes : - pour chaque classe de périodes temporelles, génération d'un graphe biparti comprenant un premier ensemble d'éléments correspondant aux activités et information temporelle du centroïde de ladite chaque classe de périodes temporelles et un deuxième ensemble d'éléments correspondant aux activités et information temporelle associée de ladite période temporelle incomplète et auxdites activités et information temporelle dudit centroïde ; - complétion des données manquantes dans ladite période temporelle incomplète par recherche de couplage minimal dans chaque graphe biparti généré. Procédé selon l'une des revendications 1 à 5, pour lequel chaque activité de ladite pluralité d'activités est associée à au moins une information supplémentaire parmi les informations suivantes : - une information de localisation ; - une information d'identification d'une personne ; - une information d'identification d'un matériel. Procédé selon la revendication 6, comprenant en outre une étape de sélection desdites données représentatives d'une pluralité d'activités en fonction de ladite au moins une information supplémentaire. Dispositif (5) de détection de la récurrence d'activités, ledit dispositif 23 [Revendication 9] comprenant une mémoire (51) associée à au moins un processeur (50) configure pour mettre en oeuvre les étapes du procédé selon l'une quelconque des revendications 1 à 7. Produit programme d'ordinateur comportant des instructions adaptées pour l'exécution des étapes du procédé selon l'une des revendications 1 à 7, lorsque le programme d'ordinateur est exécuté par au moins un processeur.