FR3077148A1 - Procede et dispositif electronique de selection d'au moins un message parmi un ensemble de plusieurs messages, programme d'ordinateur associe - Google Patents

Procede et dispositif electronique de selection d'au moins un message parmi un ensemble de plusieurs messages, programme d'ordinateur associe Download PDF

Info

Publication number
FR3077148A1
FR3077148A1 FR1850486A FR1850486A FR3077148A1 FR 3077148 A1 FR3077148 A1 FR 3077148A1 FR 1850486 A FR1850486 A FR 1850486A FR 1850486 A FR1850486 A FR 1850486A FR 3077148 A1 FR3077148 A1 FR 3077148A1
Authority
FR
France
Prior art keywords
message
selection
word
messages
vector
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
FR1850486A
Other languages
English (en)
Inventor
Mehdi Sakji
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Davidson Si
Original Assignee
Davidson Si
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Davidson Si filed Critical Davidson Si
Priority to FR1850486A priority Critical patent/FR3077148A1/fr
Publication of FR3077148A1 publication Critical patent/FR3077148A1/fr
Pending legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06QINFORMATION AND COMMUNICATION TECHNOLOGY [ICT] SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES; SYSTEMS OR METHODS SPECIALLY ADAPTED FOR ADMINISTRATIVE, COMMERCIAL, FINANCIAL, MANAGERIAL OR SUPERVISORY PURPOSES, NOT OTHERWISE PROVIDED FOR
    • G06Q10/00Administration; Management
    • G06Q10/10Office automation; Time management
    • G06Q10/107Computer-aided management of electronic mailing [e-mailing]

Landscapes

  • Engineering & Computer Science (AREA)
  • Business, Economics & Management (AREA)
  • Human Resources & Organizations (AREA)
  • Entrepreneurship & Innovation (AREA)
  • Strategic Management (AREA)
  • Marketing (AREA)
  • Data Mining & Analysis (AREA)
  • Economics (AREA)
  • Computer Hardware Design (AREA)
  • Operations Research (AREA)
  • Quality & Reliability (AREA)
  • Tourism & Hospitality (AREA)
  • Physics & Mathematics (AREA)
  • General Business, Economics & Management (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

Ce procédé de sélection d'au moins un message parmi un ensemble de plusieurs messages, chaque message comportant un ou plusieurs mots, est mis en œuvre par un dispositif électronique de sélection. Il comprend les étapes suivantes : - conversion (100) de chacun des messages de l'ensemble en un vecteur respectif de valeurs numériques ; - calcul (120), pour chaque vecteur respectif, d'une distance par rapport à un vecteur de référence ; - sélection (140) d'au moins un message à partir des distances calculées ; et préalablement à l'étape de sélection (140), une étape (130) de pondération des distances calculées en fonction d'un groupe prédéfini de critère(s), l'étape de sélection (140) étant alors effectuée à partir des distances pondérées.

Description

Procédé et dispositif électronique de sélection d’au moins un message parmi un ensemble de plusieurs messages, programme d’ordinateur associé
La présente invention concerne un procédé de sélection d’au moins un message parmi un ensemble de plusieurs messages, chaque message comportant un ou plusieurs mots, le procédé étant mis en oeuvre par un dispositif électronique de sélection.
Le procédé de sélection comprend une conversion de chacun des messages de l’ensemble en un vecteur respectif de valeurs numériques ; un calcul, pour chaque vecteur respectif, d’une distance par rapport à un vecteur de référence ; et une sélection d’au moins un message à partir des distances calculées.
La présente invention concerne aussi un programme d’ordinateur comportant des instructions logicielles qui, lorsqu’elles sont exécutées par un ordinateur, mettent en oeuvre un tel procédé de sélection.
La présente invention concerne également un dispositif électronique de sélection d’au moins un message parmi un ensemble de plusieurs messages, chaque message comportant un ou plusieurs mots.
La présente invention concerne le domaine de l’analyse et de la sélection de messages, c’est-à-dire de contenus textuels, afin notamment de recommander ensuite automatiquement un ou plusieurs messages à destination d’au moins un utilisateur.
Par message, on entend de manière générale tout type d’élément susceptible de contenir un texte. Chaque message comprend alors un ou plusieurs mots, c’est-à-dire une ou plusieurs chaînes de caractère(s) alphanumérique(s).
Les messages susceptibles d’être sélectionnés via le procédé de sélection selon l’invention sont notamment des messages accessibles via un portail informatique, tel qu’un Extranet, un Intranet ou encore un site Internet.
Ces messages sont par exemple des documents techniques ; des livrets d’accueil ; des évènements ; des commentaires sur un forum ; des fichiers informatiques, tels que des fichiers éditables par un logiciel de traitement de texte, un tableur ou encore un logiciel de création de présentation ; des profils de collaborateurs ; etc.
Par mot, c’est-à-dire une chaîne de caractère(s) alphanumérique(s) au sens de l’invention, on entend une succession d’un ou plusieurs caractères alphanumériques, les caractères alphanumériques étant les uns à la suite des autres, sans espace entre eux. La chaîne de caractère(s) alphanumérique(s) est typiquement un nom, un acronyme, un nombre, etc.
Par caractère alphanumérique, on entend une lettre d’un alphabet, un chiffre ou encore un caractère spécial, tel que ‘+‘, 7’, etc.
On connaît un moteur de recommandation basé sur une évaluation de « similarités textuelles >> entre les messages, ou contenus textuels, de l’ensemble et un ou plusieurs attributs associés à un utilisateur donné et traités comme un message ou contenu textuel associé à cet utilisateur. On connaît également un moteur de recommandation basé sur une recherche par mots-clés, les mots-clés étant déterminés en fonction du ou des attributs associés à l’utilisateur.
Toutefois, le ou les messages sélectionnés par un tel moteur de recommandation ne sont pas toujours pertinents, et la recommandation effectuée ne correspond alors parfois pas aux attentes de l’utilisateur.
Le but de l’invention est alors de proposer un procédé de sélection, et un dispositif électronique de sélection associé, qui permettent de sélectionner plus efficacement un ou plusieurs messages parmi l’ensemble de messages.
A cet effet, l’invention a pour objet un procédé de sélection d’au moins un message parmi un ensemble de plusieurs messages, chaque message comportant un ou plusieurs mots, le procédé étant mis en oeuvre par un dispositif électronique de sélection et comprenant les étapes suivantes :
- conversion de chacun des messages de l’ensemble en un vecteur respectif de valeurs numériques ;
- calcul, pour chaque vecteur respectif, d’une distance par rapport à un vecteur de référence ;
- sélection d’au moins un message à partir des distances calculées ; et préalablement à l’étape de sélection, une étape de pondération des distances calculées en fonction d’un groupe prédéfini de critère(s), l’étape de sélection étant alors effectuée à partir des distances pondérées.
L’homme du métier comprendra que par vecteur de valeurs numériques, on entend un ensemble ordonné de valeurs numériques, chaque valeur étant associée à une position prédéfinie, définissant une composante du vecteur.
A la différence du procédé de sélection de l’état de la technique, le procédé de sélection selon l’invention ne se base alors pas seulement sur une similarité entre chaque message de l’ensemble et un ou plusieurs attributs associés à un utilisateur qui définissent un message de référence.
En effet, le procédé de sélection selon l’invention dépend en outre d’un groupe prédéfini de critère(s), tels que la langue de chaque message respectif et la langue de l’utilisateur, en pondérant chaque similarité, calculée via une distance, entre un message respectif de l’ensemble et le message de référence, en fonction de ce groupe prédéfini de critère(s).
Suivant d’autres aspects avantageux de l’invention, le procédé de sélection comprend une ou plusieurs des caractéristiques suivantes, prises isolément ou suivant toutes les combinaisons techniquement possibles :
- le vecteur de référence et le groupe de critère(s) sont associés à un utilisateur pour qui est effectuée la sélection d’au moins un message ;
- le procédé comprend en outre une étape d’acquisition d’au moins une réaction de l’utilisateur suite à la sélection d’au moins un message, et une étape de mise à jour du groupe de critère(s) en fonction de la ou des réactions acquises ;
- le procédé comprend en outre, suite à l’étape de conversion, une étape de regroupement des messages de l’ensemble par classes de message(s), les étapes de calcul, de pondération et de sélection étant alors en outre effectuées classe par classe ;
- lors de l’étape de conversion, chaque composante du vecteur correspond à un mot d’un dictionnaire, défini préalablement à l’étape de conversion, la valeur de chaque composante dépendant du nombre d’occurrence(s) dans le message respectif du mot associé à ladite composante ;
l’étape de conversion comportant de préférence la mise en oeuvre d’un algorithme de codage fréquentiel pondéré, suivant lequel la valeur de la composante est égale à une fréquence d’apparition du mot dans le message, pondérée par un facteur inversement proportionnel au nombre de message(s) dans le(s)quel(s) le mot apparaît ;
la valeur de la composante vérifiant de préférence encore l’équation suivante :
N
V; ; = TF_IDF(i,j) = TF_IDF (message, mot) = TF (message, mot) * log(---------------r) ’J DF (mot, corpus) où i est un indice entier représentant le message dans le corpus et compris entre 1 et N,
N représente le nombre de message(s) du corpus, le corpus étant l’ensemble de messages, j est un indice entier représentant le mot du dictionnaire,
TF (message, mot) est un nombre entier positif ou nul représentant le nombre d’occurrence(s) du mot dans le message, et
DF(mot, corpus) est un nombre entier représentant le nombre de message(s) du corpus contenant au moins une occurrence de ce mot, DF (mot, corpus) étant un entier strictement positif, un mot étant inclus dans le dictionnaire seulement s’il est présent au moins une fois dans le corpus ;
- lors de l’étape de conversion, chaque composante du vecteur correspond à un thème, qui est une distribution de probabilités sur tous les mots d’un dictionnaire, défini préalablement à l’étape de conversion, la valeur de chaque composante dépendant de la proportion de mots dans le message respectif, affecté au thème associé à ladite composante ;
- lors de l’étape de calcul, la distance vérifie l’équation suivante :
D = distance (X, Yref) =
- cos(X, Yref) = 1 <X,Yref >
11*11. ||rre/1 où X désigne le vecteur obtenu lors de l’étape de conversion,
Yref désigne le vecteur de référence, cos(x,Yref) représente le cosinus de l’angle entre les vecteurs X et Yref, < X, Yref > représente le produit scalaire entre les vecteurs X et Yref, et |I*I|J|W représentent les modules respectifs des vecteurs X et Yref ;
- l’étape de pondération comporte la multiplication de chacune des distances calculées par au moins un poids respectif, chaque poids étant déterminé en fonction du groupe prédéfini de critère(s), au moins l’un des poids ayant une valeur différente de 1, le groupe prédéfini de critère(s) incluant de préférence la langue du message respectif et la langue d’un utilisateur pour qui est effectuée la sélection d’au moins un message ; et
- l’étape de sélection comporte la détermination d’un groupe de distance(s) pondérée(s) minimale(s), le ou les messages sélectionnés correspondant au(x) vecteur(s) associé(s) à la ou aux distances du groupe déterminé.
L’invention a également pour objet un programme d’ordinateur comportant des instructions logicielles qui, lorsqu’elles sont exécutées par un ordinateur, mettent en oeuvre un procédé de sélection tel que défini ci-dessus.
L’invention a également pour objet un dispositif électronique de sélection d’au moins un message parmi un ensemble de plusieurs messages, chaque message comportant un ou plusieurs mots, le dispositif électronique de sélection comprenant :
- un module de conversion configuré pour convertir chacun des messages de l’ensemble en un vecteur respectif de valeurs numériques ;
- un module de calcul configuré pour calculer, pour chaque vecteur respectif, une distance par rapport à un vecteur de référence ;
- un module de sélection configuré pour sélectionner au moins un message à partir des distances calculées ; et
- un module de pondération configuré pour pondérer les distances calculées en fonction d’un groupe prédéfini de critère(s), le module de sélection étant alors configuré pour sélectionner le ou les messages à partir des distances pondérées.
Ces caractéristiques et avantages de l’invention apparaîtront plus clairement à la lecture de la description qui va suivre, donnée uniquement à titre d’exemple non limitatif, et faite en référence aux dessins annexés, sur lesquels :
- la figure 1 est une représentation schématique d’un dispositif électronique, selon l’invention, de sélection d’au moins un message parmi un ensemble de plusieurs messages ; et
- la figure 2 est un organigramme d’un procédé, selon l’invention, de sélection d’au moins un message parmi l’ensemble de plusieurs messages, le procédé étant mis en oeuvre par le dispositif électronique de sélection de la figure 1.
Sur la figure 1, un dispositif électronique de sélection 10 est configuré pour sélectionner au moins un message parmi un ensemble de plusieurs messages, chaque message comportant un ou plusieurs mots.
Le dispositif électronique de sélection 10 comprend un module de conversion 12 configuré pour convertir chacun des messages de l’ensemble en un vecteur respectif X de valeurs numériques, un module de calcul 14 configuré pour calculer, pour chaque vecteur X respectif, une distance D par rapport à un vecteur de référence Yref, et un module de sélection 16 configuré pour sélectionner au moins un message à partir des distances caluclées.
Selon l’invention, le dispositif électronique de sélection 10 comprend en outre un module de pondération 18 configuré pour pondérer les distances D calculées en fonction d’un groupe prédéfini de critère(s), le module de sélection 16 étant alors configuré pour sélectionner le ou les messages à partir des distances pondérées Dw.
En complément facultatif, le dispositif électronique de sélection 10 comprend en outre un module d’acquisition 20 configuré pour acquérir au moins une réaction de l’utilisateur suite à la sélection d’au moins un message, et un module de mise à jour 22 configuré pour effectuer une mise à jour en fonction de la ou des réactions acquises par le modules d’acquisition 20, notamment pour mettre à jour le groupe de critère(s) utilisé pour la pondération des distances calculées.
En complément facultatif encore, le dispositif électronique de sélection 10 comprend en outre un module de regroupement 24 configuré pour regrouper des messages de l’ensemble par classe de message(s), ou encore par thème, le module de calcul 14, le module de pondération 18 et le module de sélection 16 étant alors configurés pour effectuer respectivement le calcul de la distance de chaque vecteur X par rapport au vecteur de référence Yref, la pondération de chaque distance calculée et la sélection d’au moins un message à partir des distances pondérées Dw, classe par classe, ou encore thème par thème.
Dans l’exemple de la figure 1, le dispositif de sélection 10 comprend une base de données 28 apte à stocker l’ensemble des messages, une unité de traitement d’informations 30 pour agir sur la base données 28 et une interface d’interaction 32. L’unité de traitement d’information 30 est par exemple formée d’une mémoire 34 et d’un processeur 36 associé à la mémoire 34. L’interface d’interaction 32 comprend par exemple des moyens de saisie 38 pour permettre la saisie de requêtes relatives au contenu de la base de données 28 et/ou d’informations de la part de l’utilisateur. L’interface d’interaction 32 comprend également des moyens de visualisation 40, tel qu’un écran d’affichage, pour afficher des vues relatives au contenu de la base de données 28 et au traitement effectué par l’unité de traitement d’informations 30.
Dans l’exemple de la figure 1, le module de conversion 12, le module de calcul 14, le module de sélection 16 et le module de pondération 18, ainsi qu’en complément facultatif le module d’acquisition 20, le module de mise à jour 22 et le module de regroupement 24, sont réalisés chacun sous forme d’un logiciel exécutable par le processeur 36. La mémoire 34 de l’unité de traitement d’informations 30 est alors apte à stocker un logiciel de conversion configuré pour convertir chacun des messages de l’ensemble en un vecteur X respectif de valeurs numériques, un logiciel de calcul configuré pour calculer, pour chaque vecteur respectif X, une distance D par rapport à un vecteur de référence Yref, un logiciel de sélection configuré pour sélectionner au moins un message à partir des distances calculées et un logiciel de pondération configuré pour pondérer les distances calculées D en fonction d’un groupe prédéfini de critère(s), le logiciel de sélection étant alors configuré pour sélectionner un ou des messages à partir des distances pondérées Dw. En complément facultatif, la mémoire 34 de l’unité de traitement d’infomations 30 est également apte à stocker un logiciel d’acquisition configuré pour acquérir au moins une réaction de l’utilisateur suite à la sélection d’au moins un message par le logiciel de sélection et un logiciel de mise à jour configuré pour effectuer une mise à jour en fonction de la ou des réactions acquises par le logiciel d’acquisition, notamment pour mettre à jour le groupe de critère(s) utilisé pour la pondération des distances calculées, ainsi qu’en complément facultatif un logiciel de regroupement configuré pour regrouper les messages de l’ensemble par classe de message(s), le logicel de calcul, le logiciel de pondération et le logiciel de sélection étant alors configurés pour effectuer classe par classe respectivement le calcul de la distance de chaque vecteur respectif X par rapport au vecteur de référence Yref, la pondération de chaque distance calculée et la sélection d’au moins un message à partir des distances pondérées Dw. Le processeur 36 de l’unité de traitement d’informations 30 est alors apte à executer le logiciel de conversion, le logiciel de calcul, le logiciel de sélection et le logiciel de pondération, ainsi qu’en complément facultatif le logiciel d’acquisition, le logicel de mise à jour et le logiciel de regroupement.
En variante non représentée, le module de conversion 12, le module de calcul 14, le module de sélection 16 et le module de pondération 18, ainsi qu’en complément facultatif le module d’acquisition 20, le module de mise à jour 22 et le module de regroupement 24, sont réalisés chacun sous forme d’un composant logique programmable, tel qu’un FPGA (de l’anglais Field Programmable Gâte Arraÿ), ou encore sous forme d’un circuit intégré dédié, tel qu’un ASIC (de l’anglais Application Spécifie Integrated Circuit).
Le module de conversion 12 est configuré pour convertir chacun des messages de l’ensemble en un vecteur X respectif de valeurs numériques.
Selon une première variante de réalisation, chaque composant du vecteur X correspond à un mot d’un dictionnaire, défini préalablement, et le module de conversion 12 est configuré pour déterminer la valeur de chaque composante du vecteur X en fonction d’un nombre d’occurrences dans le message respectif du mot associé à ladite composante.
Selon cette première variante de réalisation, le module de conversion 12 est par exemple configuré pour mettre en oeuvre un algorithme de codage fréquentiel pondéré, également appelé TF-IDF (de l’anglais Term Frequency - Inverse Document Frequencÿ), suivant lequel la valeur de la composante est égale à une fréquence d’apparition du mot dans le message, pondérée par un facteur inversement proportionnel au nombre de message(s) dans le(s)quel(s) le mot apparaît.
Selon cette première variante de réalisation, la valeur de chaque composante du vecteur X vérifie alors par exemple l’équation suivante :
Fi,; = TF_IDF(i,j) = TF_IDF (message, mot) = TF (message, mot) * 1ο§(ΰΓ(τηοίζΟ7.ρΐί5)) (1) où i est un indice entier représentant le message dans le corpus et compris entre 1 et N,
N représente le nombre de message(s) du corpus, le corpus étant l’ensemble de messages sur lequel la sélection est effectuée, j est un indice entier représentant le mot du dictionnaire,
TF (message, mot) est un nombre entier positif ou nul représentant le nombre d’occurrence(s) du mot dans le message, et
DF(mot, corpus) est un nombre entier représentant le nombre de message(s) du corpus contenant au moins une occurrence de ce mot, DF (mot, corpus) étant un entier strictement positif, un mot étant inclus dans le dictionnaire seulement s’il est présent au moins une fois dans le corpus.
En complément facultatif de cette première variante de réalisation pour la conversion de chaque message en un vecteur X respectif, le module de conversion 12 est configuré pour mettre en œuvre en outre un algorithme d’analyse en composantes principales, également noté PCA (de l’anglais Principal Component Analysis), sur les vecteurs X ainsi obtenus. La mise en œuvre de cet algorithme PCA permet alors de calculer des coefficients d’analyse en composantes principales relatifs à ces vecteurs X, qui constituent des « regroupements >> de leurs coefficients initiaux ou mots fortement corrélés.
Selon une deuxième variante de réalisation, chaque composante du vecteur X correspond à un thème, qui est une distribution de probabilités sur tous les mots d’un dictionnaire, préalablement défini, et le module de conversion 12 est alors configuré pour déterminer la valeur de chaque composante du vecteur X en fonction de la proportion de mots dans le message respectif, affectés au thème associé à ladite composante.
Par thème, on entend alors une distribution de probabilités sur tous les mots du dictionnaire, les mots maximisant cette probabilité se rapportant généralement à un sujet donné, ou une thématique donnée, telle que l’informatique, le sport, etc.
Autrement dit, selon cette deuxième variante de réalisation pour la conversion de chaque message en un vecteur X de valeurs numériques, les composantes du vecteur X correspondent au thème, et les valeurs de ces composantes sont les pourcentages d’appartenance de chaque message à chacun de ces thèmes.
Selon cette deuxième variante de réalisation, le module de conversion 12 est alors configuré pour mettre en œuvre par exemple un algorithme de représentation et de regroupement de messages, suivant lequel la valeur de chaque composante du vecteur X dépend de la proportion de mots du message auquel le thème correspondant à ladite composante est affecté. L’algorithme de représentation et de regroupement mis en œuvre par le module de conversion 12 est par exemple l’algorithme d’allocation de Dirichlet latente, également appelée LDA (de l’anglais Latent Dirichlet Allocation).
Pour l’affection de thèmes au mot, le module de conversion 12 est par exemple configuré pour mettre en œuvre un algorithme connu sous le nom de « Collapsed Gibbs Sampler >>, faisant partie de méthodes d’échantillonnage de Gibbs, et qui effectue une série d’ensembles d’affectations aléatoires d’un thème à chaque mot dans chaque message. L’affectation d’un thème à un mot dans un message est par exemple tirée aléatoirement selon une distribution de probabilités conditionnelles aux thèmes affectés à tous les autres mots dans tous les autres messages.
Cette distribution sur les thèmes est alors le résultat de la multiplication de deux termes, à savoir un premier terme dépendant des thèmes affectés à tous les autres mots du message, ou de la prépondérance des thèmes dans le message, et un deuxième terme dépendant des thèmes affectés à ce mot particulier dans tous les messages.
Selon cette deuxième variante de réalisation, l’ensemble d’affectations choisies est alors celui qui maximise un critère connu, par exemple le critère de probabilité jointe du modèle.
Par la suite et pour cette deuxième variante de réalisation, un thème est alors représenté par une distribution de probabilités sur tous les mots de tous les messages, ou du dictionnaire, cette distribution étant dépendante du nombre d’affectations de chaque mot à ce thème dans tous les messages. Un message est alors représenté par ses proportions d’appartenance à chaque thème, dépendantes du nombre de mots affectés à ce thème dans ce message.
L’homme du métier comprendra alors que selon cette deuxième variante de réalisation, le module de conversion 12 est configuré pour effectuer également un regroupement des messages par thème, et le dispositif électronique de sélection 10 ne comporte alors pas de module de regroupement 24 selon cette deuxième variante de réalisation. Le regroupement des messages par classe découle de cette conversion selon la deuxième variante de réalisation, et par exemple de l’algorithme d’allocation de Dirichlet latente (LDA).
Le module de calcul 14 est configuré pour calculer la distance D de chaque vecteur X respectif par rapport au vecteur de référence Yref. Le vecteur de référence Yref est de préférence associé à l’utilisateur pour qui est effectuée la sélection de message(s). Le vecteur de référence Yref résulte par exemple de la conversion d’au moins un message de référence, cette conversion étant typiquement effectuée via le module de conversion
12. En variante, le vecteur de référence Yref est un vecteur prédéfini, obtenu par exemple à partir de sélection(s) de message(s) effectuée(s) précédemment pour cet utilisateur.
La distance D calculée par le module de calcul 14 est par exemple une distance euclidienne. La distance D calculée par le module de calcul 14 est de préférence la distance cosinus, qui a l’avantage d’être normalisée, c’est-à-dire de ne pas dépendre de la longueur des messages, très variable d’un message à l’autre, le nombre de mots inclus dans chaque message étant très variable d’un message à l’autre.
Le module de calcul 14 est alors par exemple configuré pour calculer la distance D selon l’équation suivante :
(2)
D = distanceÇX, Yref) = 1 — cos(X, Yref) = 1 — |,Ç.e/>|| où X désigne le vecteur obtenu à l’issue de la conversion,
Yref désigne un vecteur de référence, cos(x,Yref) représente le cosinus de l’angle entre les vecteurs X et Yref, < X, Yref > représente le produit scalaire entre les vecteurs X et Yref, et 1|X|1,1\Yref 11 représentent les modules respectifs des vecteurs X et Yref.
Le module de sélection 16 est configuré pour sélectionner au moins un message à partir des distances calculées par le module de calcul 14, puis pondérées par le module de pondération 18.
Le module de sélection 16 est par exemple configuré pour déterminer un groupe de distance(s) pondérée(s) minimale(s), et le ou les messages sélectionnés par le module de sélection 16 sont alors ceux qui correspondent au(x) vecteur(s) associé(s) à la ou aux distances du groupe déterminé de distance(s) pondérée(s) minimale(s). Autrement dit, le module de sélection 16 est configuré pour sélectionner le ou les messages pour lesquels la distance pondérée est faible et fait partie d’un ensemble de distance(s) pondérée(s) minimale(s).
Pour la détermination du groupe de distance(s) pondérée(s) minimale(s), le module de sélection 16 est par exemple configuré pour déterminer la ou les distances qui sont inférieures à un seuil minimal de distance prédéfini. En variante ou en complément, pour la détermination de ce groupe de distance(s) pondérée(s) minimale(s), le module de sélection 16 est configuré pour déterminer les P distances les plus petites, parmi l’ensemble des distances calculées par le module de calcul 14, puis pondérées par le module de pondération 18, P étant un nombre entier supérieur ou égal à 1, de valeur prédéfinie.
Le module de pondération 18 est configuré pour pondérer les distances préalablement calculées en fonction d’un groupe prédéfini de critère(s), c’est-à-dire pour calculer des distances pondérées Dw à partir des distances D calculées par le module de calcul 14 et du groupe prédéfini de critère(s). Comme indiqué précédemment, le module de sélection 16 est alors configuré pour effectuer la sélection du ou des messages à partir des distances pondérées Dw issues du module de pondération 18.
Le groupe prédéfini de critère(s) est de préférence associé à l’utilisateur pour qui est effectuée la sélection de message(s). Le groupe prédéfini de critère(s) comprend par exemple un critère de la langue, tel que la langue du message respectif et la langue de l’utilisateur pour qui est effectuée la sélection de message(s) ; un critère de niveau de compétence de l’utilisateur dans un domaine, tel qu’un domaine technique ; un critère d’appartenance de l’utilisateur à une entité, telle qu’une filiale d’une société ; un critère de position géographique de l’utilisateur ; un critère d’ancienneté de l’utilisateur ; ou encore un critère de réaction antérieure de l’utilisateur vis-à-vis d’un autre document, telle qu’une réaction vis à vis d’un autre document d'un même thème.
Pour le calcul des distances pondérées Dw, le module de pondération 18 est par exemple configuré pour multiplier chacune des distances D, calculées par le module de calcul 14, par au moins un poids respectif w,, chaque poids w, étant déterminé en fonction du groupe prédéfini des critère(s), et au moins l’un des poids w, ayant une valeur différente de 1.
Le module de pondération 18 est par exemple configuré pour augmenter la valeur des distances calculées dans les cas où le message ne correspond pas à l’utilisateur, par exemple lorsque le message est dans une langue que ne parle pas l’utilisateur.
Le module de pondération 18 est par exemple configuré pour calculer, pour chaque critère du groupe prédéfini de critère(s), un poids w, pour chaque utilisateur et pour chaque message.
A titre d’exemple, pour le calcul du poids w, selon le critère de la langue, le module de pondération 18 commence par déterminer une matrice telle que celle contenue dans le Tableau 1, où les colonnes correspondent aux différentes langues possibles, et les lignes correspondent aux différents utilisateurs, ainsi qu’aux différents messages.
Anglais Français Espagnol
Utilisateur 1 4 5 2
Utilisateur 2 3 2 5
Message A 4 5
Message B 5
Tableau 1
Les niveaux et prérequis sont par exemple évalués sur une échelle prédéfinie de 1 à 5, les cases vides correspondent à l’absence de niveaux / prérequis.
Le module de pondération 18 est alors par exemple configuré pour calculer la matrice résultante de similarité S, telle que celle contenue dans le Tableau 2 pour l’exemple correspondant au Tableau 1, déterminée à l’aide de l’équation indiquée ci après :
A__A _ ATA |A||’||A|| ||A||2 où S désigne la matrice résultante de similarité,
A désigne la matrice précédente pour laquelle les cellules vides sont remplies par des 0, (3) ||A|| est la racine carrée de la plus grande valeur propre de ATA.
Utilisateur 1 Utilisateur 2 Message A Message B
Utilisateur 1 1 0,77 0,95 0,30
Utilisateur 2 0,77 1 0,56 0,81
Message A 0,95 0,56 1 0
Message B 0,30 0,81 0 1
Tableau 2
La matrice de similarité S ainsi obtenue contient alors à des valeurs de similarité qui sont comprises entre 0 et 1.
Pour calculer le poids w, à appliquer, pour chaque utilisateur et pour chaque message, aux distances D calculées par le module de calcul 14, c’est-à-dire le poids w, à multiplier avec la distance calculée D correspondante, le module de pondération applique par exemple l’équation suivante :
w = 2 — s (4) où s est la similarité et w représente le poids respectif.
Ceci permet alors d’obtenir la matrice suivante (Tableau 3) dans l’exemple précédent du critère de la langue :
Utilisateur 1 Utilisateur 2 Message A Message B
Utilisateur 1 1 1,23 1,05 1,70
Utilisateur 2 1,23 1 1,44 1,19
Message A 1,05 1,44 1 2
Message B 1,70 1,19 2 1
Tableau 3
En variante, le module de pondération 18 est configuré pour déterminer chaque poids w en appliquant l’équation suivante à partir de la similarité précédemment déterminée :
w = a — (a — 1) s (5) où s est la similarité et a est un coefficient supérieur ou égal à 2.
L’homme du métier notera que la valeur du coefficient a est d’autant plus élevée que la pondération est accentuée.
Dans l’exemple précédent du critère de la langue en prenant le coefficient a égal à 10, le module de pondération 18 obtient alors la matrice suivante de poids (Tableau 4) :
Utilisateur 1 Utilisateur 2 Message A Message B
Utilisateur 1 1 3,03 1,41 7,32
Utilisateur 2 3,03 1 4,98 2,70
Message A 1,41 4,98 1 10
Message B 7,32 2,70 10 1
Tableau 4
L’homme du métier comprendra alors que le module de pondération 18 est au final configuré pour calculer la distance pondérée Dw selon l’équation suivante :
^ = 0·Π?=1^ (6)
Où D représente la distance initialement calculée par le module de calcul 14, et w, représente le poids respectif pour l’utilisateur concerné, et pour chaque critère d’indice i du groupe prédéfini de critère(s), i représentant un indice du critère associé, compris entre 1 et Q,
Q étant un nombre entier supérieur ou égal à 1, représentant le nombre de critère(s) dans le groupe prédéfini de critère(s).
Le module d’acquisition 20 est configuré pour acquérir au moins une réaction de l’utilisateur suite à une précédente sélection de message(s), effectuée par le module de sélection 16.
Le module de mise à jour 22 est alors configuré pour effectuer une mise à jour en fonction de la ou des réactions acquises par le modules d’acquisition 20, notamment pour mettre à jour le groupe prédéfini de critère(s) utilisé pour la pondération des distances calculées.
Pour la mise à jour du groupe prédéfini de critère(s), la réaction acquise forme par exemple un nouveau critère, et le module de pondération 18 est alors configuré pour calculer un poids w, supplémentaire correspondant à ce nouveau critère, suite à la mise à jour effectuée par le module de mise à jour 22.
En variante, le module de mise à jour 22 est configuré pour mettre à jour l’ensemble de message parmi lequel le module de sélection 16 est configuré pour effectuer la sélection de message(s), cette mise à jour consistant à créer un nouveau message pour chaque réaction de l’utilisateur acquise par le module d’acquisition 20, chaque nouveau message de réaction étant créé par le module de mise à jour 22.
Le module de regroupement 24 est configuré pour regrouper les messages de l’ensemble de messages sur lequel la sélection est effectuée, par classe de message(s), le nombre de ces classes de message(s) étant prédéfini, ce regroupement étant effectué après la conversion de chaque message en un vecteur X respectif. Autrement dit, le module de regroupement 24 permet de regrouper ensemble des messages dont les composantes des vecteurs obtenus présentent des ressemblances.
Plus précisément, le module de regroupement 24 est configuré pour regrouper les vecteurs X résultant de la conversion des messages de l’ensemble de messages, lesdits vecteurs étant regroupés par classe. Le module de calcul 14 est alors configuré pour calculer par exemple deux distances :
- pour chaque centroïde ou centre de gravité de chaque classe, la distance par rapport à un vecteur de référence Yref ; et
- pour chaque vecteur X de chaque classe, la distance par rapport à ce même vecteur de référence Yref.
Chacune des deux distances précitées est par exemple calculée à l’aide de l’équation (2) précédente, en remplaçant le cas échéant X par un vecteur caractérisant le centroïde, ou centre de gravité, lorsque la distance calculée est celle du centroïde, ou centre de gravité, par rapport au vecteur de référence Yref.
Le module de pondération 18 est alors configuré pour appliquer une pondération aux distances calculées en fonction de chaque classe, c’est-à-dire en fonction des regroupements effectués par le module de regroupement 24. Le module de pondération 18 est par exemple configuré, d’une part, pour appliquer une pondération aux distances entre le vecteur de référence Yref et chacun des centres de gravité de classe de vecteur(s) respective, puis d’autre part, pour appliquer une pondération additionnelle à l’intérieur de chaque classe de vecteur(s) entre le vecteur de référence Yref et chaque vecteur regroupé dans ladite classe. Le module de sélection 16 est alors configuré pour effectuer une sélection par classe.
Pour le regroupement de vecteurs par classes, correspondant alors à des classes de message(s), le module de regroupement 24 est configuré pour mettre en oeuvre un algorithme de regroupement (de l’anglais Clustering). L’algorithme de regroupement est, par exemple, un algorithme de regroupement basé sur la connectivité (de l’anglais Connectivity-based Clustering), tel qu’un algorithme de regroupement hiérarchique (de l’anglais Hierarchical Clustering), ou un algorithme de regroupement basé sur des centroïdes (de l’anglais Centroid-based Clustering), tel qu’un algorithme des k-moyennes (de l’anglais K-means Clustering) ou des k-médoïdes, ou un algorithme de regroupement basé sur une distribution (de l’anglais Distribution-based Clustering), ou encore un algorithme de regroupement basé sur la densité (de l’anglais Density-based Clustering), tel que l’algorithme DBSCAN (de l’anglais Density-Based Spatial Clustering of Applications with Noise) ou l’algorithme OPTICS (de l’anglais Ordering Points To Identify the Clustering Structures).
L’homme du métier comprendra que le nombre de classes est prédéfini, et que les classes sont inférées par l’algorithme de regroupement, c’est-à-dire obtenues à l’issue de la mise en oeuvre dudit algorithme de regroupement.
Le module de regroupement 24 est alors configuré pour effectuer ce regroupement par classe postérieurement à la conversion effectuée par le module de conversion 12.
Le fonctionnement du dispositif de sélection 10 selon l’invention va désormais être expliqué à l’aide de la figure 2 représentant un organigramme du procédé de sélection selon l’invention.
Lors de l’étape initiale 100, le dispositif de sélection 10 convertit, via son module de conversion 12, chaque message en un vecteur X respectif de valeurs numériques. Selon la première variante de réalisation, lors de l’étape de conversion 100, chaque composante du vecteur X correspond à un mot d’un dictionnaire préalablement défini, la valeur de chaque composante du vecteur X dépendant alors du nombre d’occurrences dans le message respectif du mot associé à la dite composante.
Selon cette première variante de réalisation, l’étape de conversion comporte alors de préférence la mise en oeuvre d’un algorithme de codage fréquentiel pondéré, tel que l’algorithme TF-IDF, suivant lequel la valeur de la composante est égale à une fréquence d’apparition des mots dans le message, pondérée par un vecteur inversement proportionnel au nombre de message(s) dans lesquels le mot apparaît. En complément facultatif, les composantes corrélées sont regroupées via l’algorithme PCA, ce qui permet de préparer les groupes de messages à un regroupement éventuel par le module de regroupement 24 lors de l’étape suivante 110 optionnelle.
Selon la deuxième variante de réalisation, lors de l’étape de conversion 100, chaque composante du vecteur X correspond à un thème, défini préalablement, et la valeur de chaque composante du vecteur X dépend de la proportion de mots dans le message respectif, affecté au thème associé à la dite composante. Selon cette deuxième variante de réalisation, l’étape de conversion 100 comporte alors de préférence la mise en oeuvre de l’algorithme LDA.
Lors d’une étape suivante 110 optionnelle, les messages de l’ensemble de messages sur lequel la sélection est à effectuer, et plus précisément les vecteurs X obtenus à l’issue de l’étape de conversion 100, sont regroupés par le module de regroupement 24 en classes, correspondant à des classes de message(s).
L’homme du métier observera que lorsque la conversion effectuée lors de l’étape 100 est une conversion selon la deuxième variante de réalisation, alors l’étape de regroupement 110 est intégrée à l’étape de conversion 100 et est mise en oeuvre par le module de conversion 12.
Le dispositif de sélection 10 calcule ensuite, via son module de calcul 14 et lors de l’étape suivante 120, pour chaque vecteur X, la distance D par rapport au vecteur de référence Yref, cette distance D étant par exemple calculée à l’aide de l’équation (2) précédente.
En complément, lorsque les messages de l’ensemble de messages ont fait l’objet d’un regroupement lors de l’étape 110, le module de calcul 14 calcule d’une part une première distance entre le vecteur de référence Yref associé à l’utilisateur pour lequel la sélection de message est effectuée et chaque centre de gravité, ou encore centroïde, associé à une classe de messages, puis d’autre part une deuxième distance entre le vecteur de référence Yref associé à l’utilisateur pour lequel la sélection de messages est effectuée et chaque vecteur X dans chaque classe de message(s).
Le dispositif de sélection 10 pondère ensuite, lors de l’étape 130 et via son module de pondération 18, chaque distance calculée en fonction du groupe prédéfini de critère(s).
La pondération est par exemple effectuée en multipliant, selon l’équation (6), chacune des distances D calculée lors de l’étape 120 précédente par le ou les poids w, déterminés pour le groupe prédéfini de critères, au moins l’un des poids w, ayant une valeur strictement différente de 1.
En complément, lorsque l’ensemble des messages objet de la sélection a été regroupé par classes de messages lors de l’étape 110 optionnelle, le module de pondération 18 pondère, d’une part, chaque distance entre l’utilisateur et le centre de gravité de la classe correspondante, et d’autre part, également au sein de chaque classe, la distance entre le vecteur de référence Yref et chaque message inclus dans la classe.
Lors de l’étape suivante 140, le dispositif de sélection 10 sélectionne alors, via son module de sélection 16, un ou plusieurs messages à partir des distances préalablement calculées lors de l’étape 120, puis pondérées lors de l’étape 130.
L’étape de sélection 140 comporte par exemple la détermination d’un groupe de distance(s) pondérée(s) minimale(s), le ou les messages sélectionnés correspondant alors au(x) vecteur(s) associé(s) à la ou aux distances du groupe ainsi déterminée(s). La détermination de ce groupe de distance(s) pondérée(s) minimale(s) est par exemple effectuée par seuillage, ou encore en conservant le nombre prédéfini P de distances les plus faibles parmi la pluralité de distances calculées.
En complément, lorsque les messages de l’ensemble de messages ont fait l’objet d’un regroupement lors de l’étape 110 précédente, un seuil de sélection est, lors de l’étape de sélection 140, défini par exemple pour chaque classe. Lors de l’étape de sélection 140, chaque seuil de cette sélection dépend alors de la distance du vecteur de référence Yref au centroïde, ou centre de gravité, de la classe. Pour chaque classe, les messages sélectionnés sont alors ceux correspondants au P, distances les plus faibles parmi les distances calculées pour ladite classe, P, étant par exemple d’autant faible que la distance entre le vecteur de référence Yref et le centroïde de la classe est élevé, i représentant un indice entier positif associé la classe. Autrement dit, pour la classe la plus proche, les Pi plus proches voisins du vecteur de référence Yref sont sélectionnés, pour la deuxième classe le plus proche, les P2 plus proches voisins du vecteur de référence Yref sont sélectionnés avec P2 < Pi, et ainsi de suite...
En complément facultatif, le dispositif de sélection 10 acquiert lors d’une étape optionnelle 150 et via son module d’acquisition 20 une ou plusieurs réactions de l’utilisateur, puis effectue lors de l’étape suivante 160 optionnelle la mise à jour en fonction des réactions acquises lors de l’étape 150. Cette mise à jour est effectuée par le module de mise à jour 22, et consiste par exemple en la mise à jour du groupe prédéfini de critère(s) en fonction de la ou des réactions acquises par le module d’acquisition 20. Dans ce cas, chaque réaction de l’utilisateur forme par exemple un nouveau critère dans le groupe prédéfini de critères.
En variante ou en complément, chaque réaction de l’utilisateur acquise lors de l’étape 150 est, lors de l’étape 160, transformée en une information additionnelle concernant l’utilisateur et le message auquel il a réagi. Cette mise à jour, consiste à ajouter de nouveaux messages dans le corpus de messages, ces nouveaux messages correspondant aux réactions de l’utilisateur, ceci afin d’améliorer la recommandation effectuée par le dispositif de sélection 10. L’homme du métier observera que ces nouveaux messages, résultant de réaction(s) de l’utilisateur, ne sont pas inclus dans l’ensemble de messages sur lequel la sélection selon l’invention est effectuée. Autrement dit, ces nouveaux messages forment des messages transverses, ou encore des messages auxiliaires, servant à améliorer la recommandation offerte par le dispositif de sélection 10 selon l’invention.
Lorsque l’ensemble de messages a fait l’objet d’un regroupement initial des messages par classe ou par thème, le module de sélection 16 effectue de préférence deux sélections lors de l’étape de sélection 140, à savoir d’une part une première sélection de la ou des classes, ou encore du ou des thèmes, les plus proches de l’utilisateur, et d’autre part au sein de chaque classe ou thème, d’un ou plusieurs messages de la dite classe, ou dudit thème.
Le dispositif de sélection 10 selon l’invention, et le procédé de sélection associé, permettent alors de sélectionner plus efficacement un ou plusieurs messages parmi l’ensemble de messages, la pondération des distances calculées permettant notamment de prendre en compte le ou les critères du groupe prédéfini de critère(s) lors de la sélection ultérieure de messages, et de proposer alors une sélection de messages correspondant davantage à l’utilisateur, et donc plus pertinente et plus variée pour l’utilisateur.
Lorsque les messages sont en outre regroupés par classes, ou par thèmes, la sélection de messages est encore améliorée pour l’utilisateur, ce regroupement par classes, ou par thèmes, permettant d’offrir à l’utilisateur une sélection encore plus pertinente, notamment une sélection d’un ou plusieurs messages au sein de chaque classe ou thème.
Lorsqu’une ou plusieurs réactions de l’utilisateur sont en outre acquises par le module d’acquisition 20 pour effectuer ensuite une mise à jour, telle qu’une mise à jour du groupe prédéfini de critère(s) par le module de mise à jour 22, la recommandation proposée par le dispositif de sélection 10 selon l’invention, c’est-à-dire la sélection de message(s) effectuée par le dispositif de sélection 10, est là encore plus pertinente, puisqu’elle prend en compte la ou les réactions de l’utilisateur par rapport à une sélection antérieure de message(s). La recommandation offerte par le dispositif de sélection 10 selon l’invention est alors partiellement supervisée.
On conçoit ainsi que le procédé de sélection selon l’invention, et le dispositif électronique de sélection 10 associé, permettent de sélectionner plus efficacement un ou plusieurs messages parmi l’ensemble de messages sur lequel la sélection doit être effectuée.

Claims (11)

  1. REVENDICATIONS
    1. Procédé de sélection d’au moins un message parmi un ensemble de plusieurs messages, chaque message comportant un ou plusieurs mots, le procédé étant mis en œuvre par un dispositif électronique de sélection (10) et comprenant les étapes suivantes :
    - conversion (100) de chacun des messages de l’ensemble en un vecteur (X) respectif de valeurs numériques ;
    - calcul (120), pour chaque vecteur (X) respectif, d’une distance (D) par rapport à un vecteur de référence (Yref) ; et
    - sélection (140) d’au moins un message à partir des distances calculées ;
    caractérisé en ce qu’il comprend en outre, préalablement à l’étape de sélection (140), une étape (130) de pondération des distances calculées (D) en fonction d’un groupe prédéfini de critère(s), l’étape de sélection (140) étant alors effectuée à partir des distances pondérées (Dw).
  2. 2. Procédé selon la revendication 1, dans lequel le vecteur de référence (Yref) et le groupe de critère(s) sont associés à un utilisateur pour qui est effectuée la sélection (140) d’au moins un message.
  3. 3. Procédé selon la revendication 2, dans lequel le procédé comprend en outre une étape (150) d’acquisition d’au moins une réaction de l’utilisateur suite à la sélection (140) d’au moins un message, et une étape (160) de mise à jour du groupe de critère(s) en fonction de la ou des réactions acquises.
  4. 4. Procédé selon l’une quelconque des revendications précédentes, dans lequel le procédé comprend en outre, suite à l’étape de conversion (100), une étape (110) de regroupement des messages de l’ensemble par classes de message(s), les étapes de calcul (120), de pondération (130) et de sélection (140) étant alors en outre effectuées classe par classe.
  5. 5. Procédé selon l’une quelconque des revendications précédentes, dans lequel lors de l’étape de conversion (100), chaque composante du vecteur (X) correspond à un mot d’un dictionnaire, défini préalablement à l’étape de conversion (100), la valeur de
    20 chaque composante dépendant du nombre d’occurrence(s) dans le message respectif du mot associé à ladite composante ;
    l’étape de conversion (100) comportant de préférence la mise en oeuvre d’un algorithme de codage fréquentiel pondéré (TF-IDF), suivant lequel la valeur de la composante est égale à une fréquence d’apparition du mot dans le message, pondérée par un facteur inversement proportionnel au nombre de message(s) dans le(s)quel(s) le mot apparaît ;
    la valeur de la composante vérifiant de préférence encore l’équation suivante :
    N
    V; j = TF_IDF(i,j) = TF_IDF (message, mot) = TF (message, mot) * log(----------------)
    DF (mot, corpus) où i est un indice entier représentant le message dans le corpus et compris entre 1 et N,
    N représente le nombre de message(s) du corpus, le corpus étant l’ensemble de messages, j est un indice entier représentant le mot du dictionnaire,
    TF (message, mot) est un nombre entier positif ou nul représentant le nombre d’occurrence(s) du mot dans le message, et
    DF(mot, corpus) est un nombre entier représentant le nombre de message(s) du corpus contenant au moins une occurrence de ce mot, DF (mot, corpus) étant un entier strictement positif, un mot étant inclus dans le dictionnaire seulement s’il est présent au moins une fois dans le corpus.
  6. 6. Procédé selon l’une quelconque des revendications 1 à 3, dans lequel lors de l’étape de conversion (100), chaque composante du vecteur (X) correspond à un thème, qui est une distribution de probabilités sur tous les mots d’un dictionnaire, défini préalablement à l’étape de conversion (100), la valeur de chaque composante dépendant de la proportion de mots dans le message respectif, affecté au thème associé à ladite composante.
  7. 7. Procédé selon l’une quelconque des revendications précédentes, dans lequel lors de l’étape de calcul (120), la distance (D) vérifie l’équation suivante :
    D = distance(X, Yrey) =
    1 - cos(X, Yref) = 1 <X,Yrer >
    |l^||.||rre/| où X désigne le vecteur obtenu lors de l’étape de conversion,
    Yref désigne le vecteur de référence, cos(X,Yref) représente le cosinus de l’angle entre les vecteurs X et Yref, < X, Yref > représente le produit scalaire entre les vecteurs X et Yref, et | l*l |< I\Yref 11 représentent les modules respectifs des vecteurs X et Yref.
  8. 8. Procédé selon l’une quelconque des revendications précédentes, dans lequel l’étape de pondération (130) comporte la multiplication de chacune des distances calculées (D) par au moins un poids respectif (w,), chaque poids (w,) étant déterminé en fonction du groupe prédéfini de critère(s), au moins l’un des poids (w,) ayant une valeur différente de 1, le groupe prédéfini de critère(s) incluant de préférence la langue du message respectif et la langue d’un utilisateur pour qui est effectuée la sélection (140) d’au moins un message.
  9. 9. Procédé selon l’une quelconque des revendications précédentes, dans lequel l’étape de sélection (140) comporte la détermination d’un groupe de distance(s) pondérée(s) minimale(s), le ou les messages sélectionnés correspondant au(x) vecteur(s) associé(s) à la ou aux distances du groupe déterminé.
  10. 10. Programme d’ordinateur comportant des instructions logicielles qui, lorsqu’elles sont exécutées par un ordinateur, mettent en oeuvre un procédé selon l’une quelconque des revendications précédentes.
  11. 11. Dispositif électronique (10) de sélection d’au moins un message parmi un ensemble de plusieurs messages, chaque message comportant un ou plusieurs mots, le dispositif électronique de sélection (10) comprenant :
    - un module de conversion (12) configuré pour convertir chacun des messages de l’ensemble en un vecteur (X) respectif de valeurs numériques ;
    - un module de calcul (14) configuré pour calculer, pour chaque vecteur (X) respectif, une distance (D) par rapport à un vecteur de référence (Yref) ; et
    - un module de sélection (16) configuré pour sélectionner au moins un message à partir des distances calculées ;
    caractérisé en ce qu’il comprend en outre un module de pondération (18) configuré pour pondérer les distances calculées (D) en fonction d’un groupe prédéfini de critère(s), le module de sélection (16) étant alors configuré pour sélectionner le ou les messages à partir des distances pondérées (Dw).
FR1850486A 2018-01-22 2018-01-22 Procede et dispositif electronique de selection d'au moins un message parmi un ensemble de plusieurs messages, programme d'ordinateur associe Pending FR3077148A1 (fr)

Priority Applications (1)

Application Number Priority Date Filing Date Title
FR1850486A FR3077148A1 (fr) 2018-01-22 2018-01-22 Procede et dispositif electronique de selection d'au moins un message parmi un ensemble de plusieurs messages, programme d'ordinateur associe

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
FR1850486A FR3077148A1 (fr) 2018-01-22 2018-01-22 Procede et dispositif electronique de selection d'au moins un message parmi un ensemble de plusieurs messages, programme d'ordinateur associe
FR1850486 2018-01-22

Publications (1)

Publication Number Publication Date
FR3077148A1 true FR3077148A1 (fr) 2019-07-26

Family

ID=62167483

Family Applications (1)

Application Number Title Priority Date Filing Date
FR1850486A Pending FR3077148A1 (fr) 2018-01-22 2018-01-22 Procede et dispositif electronique de selection d'au moins un message parmi un ensemble de plusieurs messages, programme d'ordinateur associe

Country Status (1)

Country Link
FR (1) FR3077148A1 (fr)

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040030996A1 (en) * 2000-08-30 2004-02-12 Van Liempd Egidius Petrus Maria Method and system for personalisation of digital information
US6778941B1 (en) * 2000-11-14 2004-08-17 Qualia Computing, Inc. Message and user attributes in a message filtering method and system
US20120239650A1 (en) * 2011-03-18 2012-09-20 Microsoft Corporation Unsupervised message clustering

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20040030996A1 (en) * 2000-08-30 2004-02-12 Van Liempd Egidius Petrus Maria Method and system for personalisation of digital information
US6778941B1 (en) * 2000-11-14 2004-08-17 Qualia Computing, Inc. Message and user attributes in a message filtering method and system
US20120239650A1 (en) * 2011-03-18 2012-09-20 Microsoft Corporation Unsupervised message clustering

Non-Patent Citations (3)

* Cited by examiner, † Cited by third party
Title
ANONYMOUS: "Cosine similarity - Wikipedia", 26 October 2016 (2016-10-26), XP055471632, Retrieved from the Internet <URL:https://en.wikipedia.org/w/index.php?title=Cosine_similarity&oldid=746257427> [retrieved on 20180430] *
ANONYMOUS: "tf-idf - Wikipedia", 29 December 2017 (2017-12-29), XP055512552, Retrieved from the Internet <URL:https://en.wikipedia.org/w/index.php?title=Tf-idf&oldid=817678048> [retrieved on 20181004] *
LANG K: "NEWSWEEDER: LEARNING TO FILTER NETNEWS", MACHINE LEARNING. PROCEEDINGS OF THE INTERNATIONAL CONFERENCE, XX, XX, 9 July 1995 (1995-07-09), pages 331 - 339, XP002046557 *

Similar Documents

Publication Publication Date Title
FR2966265A1 (fr) Echantillonneur de gibbs reduit pour factorisation de modeles de sujets clairsemes et de matrices discretes
WO2002067142A2 (fr) Dispositif d&#39;extraction d&#39;informations d&#39;un texte a base de connaissances
FR2977343A1 (fr) Syteme de traduction adapte a la traduction de requetes via un cadre de reclassement
FR3043816B1 (fr) Procede de suggestion de contenus extraits d’un ensemble de sources d’information
US10607110B2 (en) Generating a reference digital image based on an indicated time frame and searching for other images using the reference digital image
WO2016198635A1 (fr) Gestion de noms de domaine du reseau internet
FR2902913A1 (fr) Procede et dispositif de codage d&#39;une note de similarite semantique et spatiale entre concepts d&#39;une ontologie memorisee sous forme de treillis numerote hierarchiquement
CN116843376A (zh) 一种营销效果预判方法、装置、存储介质及设备
FR3077148A1 (fr) Procede et dispositif electronique de selection d&#39;au moins un message parmi un ensemble de plusieurs messages, programme d&#39;ordinateur associe
FR3031823A1 (fr) Lemmatisateur semantique base sur des dictionnaires ontologiques.
EP4200740A1 (fr) Réseau au moyen duquel une machine dit le droit en simulant, par auto-application continue, la parole de l&#39;auteur de l&#39;acte juridique
EP3622445B1 (fr) Procede, mise en oeuvre par ordinateur, de recherche de regles d&#39;association dans une base de donnees
EP4127965A1 (fr) Méthode mise en oeuvre par ordinateur pour la recherche analogique de documents
WO2021110763A1 (fr) Méthode mise en œuvre par ordinateur pour l&#39;allocation d&#39;une pièce comptable à un couple de comptes débiteur/créditeur et l&#39;écriture comptable
EP3660726A1 (fr) Procede de determination d&#39;un agent conversational sur un terminal
EP2812814A1 (fr) Procede d&#39;identification d&#39;un ensemble de phrases d&#39;un document numerique, procede de generation d&#39;un document numerique, dispositif associe
EP4155967A1 (fr) Procédé d&#39;échanges d&#39;informations sur un objet d&#39;intérêt entre une première et une deuxième entités, dispositif électronique d&#39;échange d&#39;informations et produit programme d&#39;ordinateur associés
Kumar et al. Content Based Recommendation System on Movies
EP3502988A1 (fr) Procédé de catégorisation par apprentissage de tickets d&#39;incident, système de catégorisation et produit programme d&#39;ordinateur associés
EP3114597B1 (fr) Procédé d&#39;analyse d&#39;une pluralité de messages, produit programme d&#39;ordinateur et dispositif associés
FR3060800A1 (fr) Procede et dispositif d&#39;indexation automatique d&#39;un document textuel
EP4300326A1 (fr) Procédé d&#39;appariement d&#39;un ensemble à évaluer et d&#39;une liste de référence, moteur d&#39;appariement et programme d&#39;ordinateur correspondants
WO2024146958A1 (fr) Procede pour ameliorer l&#39;exploitation de donnees partagee par une pluralite d&#39;utilisateurs
FR3036526B1 (fr) Procede de determination d&#39;actions associees a un utilisateur, produit programme d&#39;ordinateur et systeme electronique associes
CN115131134A (zh) 账户风险特征的提取方法、装置、电子设备和介质

Legal Events

Date Code Title Description
PLFP Fee payment

Year of fee payment: 2

PLSC Publication of the preliminary search report

Effective date: 20190726

PLFP Fee payment

Year of fee payment: 3

PLFP Fee payment

Year of fee payment: 4

RX Complete rejection

Effective date: 20220905