Brevet FR3017474A1 — publié le 20150814

SAISIE ASSISTEE DE REGLES DANS UNE BASE DE CONNAISSANCE Domaine de l'invention L'invention concerne le domaine des interfaces homme-machine et en particulier de l'optimisation de l'ergonomie d'une interaction homme-machine pour un système à base de connaissances. Etat de la Technique Dans les systèmes à base de connaissances, il est souvent nécessaire de formaliser et saisir au clavier l'expertise humaine qui sera exploitée par la suite par des algorithmes d'aide à la décision. Cette étape de saisie des connaissances, qui peuvent prendre par exemple la forme de "règles" s'il s'agit d'un système expert ou d'un système expert flou, est souvent fastidieuse avec les méthodes existantes. Ces méthodes sont souvent peu intuitives et/ou s'adressent à un public scientifique ou éduqué. Les méthodes décrites dans la littérature brevet (comme US4891766, US8140991, US8364469 ou US7949738) comportent des limitations. De manière générale, il existe différentes méthodes de saisies des connaissances, dont les principales sont la saisie de texte libre, la saisie de texte "auto complétée", l'approche par "programmation graphique" et l'approche par "matrice de décision". Ces méthodes comportent des limitations, de nature diverses. Par exemple la saisie de texte libre nécessite la saisie d'une grande quantité de texte, dont une large part 2 3017474 s'avère inutile in fine. Peu de méthodes sont adaptées à la saisie sur interface tactile. Certains algorithmes peuvent être très dépendants de la grammaire et de l'orthographe utilisés par l'utilisateur. Certaines méthodes sont peu adaptées aux changements de langue. La plupart 5 nécessitent un haut niveau d'abstraction, ne facilitant pas l'accès à la saisie de la part de personnes sans formation mathématique ou informatique. L'invention proposée dans le présent document permet de 10 répondre à ces besoins ou limitations, au moins en partie. Résumé de l'invention Il est généralement divulgué un procédé de saisie de 15 connaissances expertes, sous forme de phrases ou de règles, exprimées sous forme de langage naturel, au moyen d'une interface graphique spécifique et d'un protocole d'assistance à l'écriture des règles reposant sur des techniques d'analyse du langage naturel. Des méthodes d'affichage et des méthodes de traitement automatique des langues sont 20 donc étroitement intriquées. Selon un mode de réalisation particulier, des procédés et des systèmes sont proposés pour l'édition ou plus généralement la manipulation de règles. L'utilisateur manipule des "éléments". Par 25 exemple, ces éléments de règles peuvent être des mots, des verbes, des groupes nominaux, des fragments de phrases, des parties de phrases, etc. Ces éléments sont proposés par une interface graphique en fonction de leur adéquation avec ce qui a déjà été écrit. L'utilisateur peut faire glisser un nouvel élément sur un certain nombre d'emplacements 30 possibles qui lui sont montrés par un mécanisme dit de feedforward. Ces emplacements garantissent l'exactitude syntaxique de la phrase. Un 3 3017474 élément comporte des mots fixes et des mots à compléter par une liste de choix ou un menu, qui adaptent automatiquement leur contenu aux choix déjà faits par l'utilisateur. Lorsque l'utilisateur se déplace sur une zone dans laquelle il peut déposer l'élément qu'il fait glisser, il peut 5 optionnellement recevoir un feedback visuel (il pourrait aussi s'agir d'une vibration dans le cadre d'une interface haptique par exemple). Il est divulgué un procédé mis en oeuvre sur ordinateur de manipulation d'une phrase exprimée en langage naturel comprenant la 10 détermination d'un ou de plusieurs emplacements de destination dans une phrase initiale en réponse à la sélection d'un ou de plusieurs mots, lesdits emplacements de destination étant déterminés par analyse syntaxique de la phrase. 15 De manière générale, il est divulgué une méthode "intégrée" de saisie de texte en langage naturel, pour laquelle les différentes saisies sont (nécessairement) syntaxiquement exactes. Les emplacements de destination sont encore appelé "ghosts" ou "emplacement-fantômes" ou "fantômes" dans la description. Les mots peuvent être saisis par 20 l'utilisateur, ou préexistants de manière statique, ou bien encore dynamiquement extraits d'une base de données (par exemple en fonction de la phrase). La mécanisme est de type feedforward. La sélection et l'analyse syntaxique de la phrase sont liées, mais toutes les possibilités d'ordre temporels (e.g. ordonnancement) sont ouverts (sélection 25 déclenchant le calcul syntaxique, ou pré-calcul des emplacements et sélection correspondant à une confirmation, etc). L'expression "en réponse à la sélection" souligne le fait que dès que un mot est sélectionné, l'analyseur syntaxique peut procéder à l'analyse et par suite connaitre (voire proposer, i.e. afficher) les emplacements de destination. Il 30 est à noter que ces analyses syntaxiques peuvent aussi s'effectuer pro- activement, c'est-à-dire par anticipation. La sélection d'un mot est alors 4 3017474 une confirmation d'un calcul pré-effectué. Il est souligné qu'un emplacement de destination peut correspondre à un ou plusieurs mots, lequel mot ou lesquels mots 5 conviendraient (syntaxiquement) à cet emplacement ou un autre emplacement. Par exemple, en français, un complément d'objet direct peut donner lieu à un mot unique (par exemple "lumière", du type nom) ou à plusieurs mots (par exemple "lumière blanche", de type nom et adjectif). Un emplacement de destination peut donc être complexe. 10 Dans un développement, le procédé comprend l'affichage du ou des emplacements de destination en réponse à la sélection du ou des mots. Dans un développement, les emplacements de destination sont effectivement affichés (par exemple sur un écran tactile). Dans d'autres 15 modes de réalisation, la détermination des emplacements de destination peut être traitée par des briques logicielles différentes et ces emplacements ne sont donc pas nécessairement affichés. Quand un élément sélectionné et positionné par l'utilisateur peut prendre plusieurs formes visuelles, il peut apparaître sous une visuellement différente du 20 reste (par exemple en grisé). La sélection, dans le cas où un retour visuel a été fourni à l'utilisateur peut par exemple correspondre à une opération de glisser-déposer" ("drag-and-drop" en anglais) selon laquelle un objet peut être virtuellement sélectionné, déplacé et relâché à un certain endroit de l'interface utilisateur. Dans un premier mode de réalisation, le "glisser- 25 déposer" peut être effectif, c'est-à-dire correspondre à une opération achevée ou terminée, cad que l'utilisateur a relâché ("drop") les éléments précédemment sélectionnés. A ce moment là, le système peut déterminer les emplacements-fantômes (nature et localisation). Dans un second mode de réalisation, le "glisser-déposer" peut être en cours, c'est-à-dire 30 que dès l'opération de sélection est effectuée par l'utilisateur, le système détermine la nature et la localisation des emplacements-fantômes. 5 3017474 Dans un développement, le procédé comprend l'affichage d'une ou plusieurs suggestions de mots correspondants à l'un ou plusieurs emplacements-fantômes. Le "fantôme" peut réagir à un stimulus de 5 l'utilisateur (par exemple un clic) afin de lui proposer les différentes formes possibles telles que la validation syntaxique reste valide. Ces formes possibles ou suggestions sont tirées d'une base de données par exemple. 10 Dans un développement, le procédé comprend une validation sémantique de la phrase formée par l'insertion du ou des mots sélectionnés dans la phrase initiale. Dans un développement, la validation sémantique est effectuée par vérification logique. Dans un développement, la validation sémantique est effectuée par comparaison 15 de similarité avec des règles étant connues comme sémantiquement valides. Dans un développement, la validation sémantique est effectuée par analyse de graphes. La vérification sémantique est une étape qui peut s'effectuer de 20 différentes manières. Durant la vérification sémantique, la cohérence de la règle est vérifiée, par rapport à elle-même mais aussi par rapport aux autres règles (par exemple présentes dans la base de connaissance, qui peut être statique et/ou prédéfinie et/ou fermée (e.g. stable), mais également dynamique (e.g. ouverte); par exemple, la base de 25 connaissance peut également résulter de la recherche sur le réseau de règles déjà vérifiées ou validées). Pour vérifier la cohérence d'une règle donnée, il est possible, dans un mode de réalisation, d'utiliser des algorithmes qui vérifient que la condition de celle-ci n'est pas toujours vraie ou toujours fausse. Par exemple, des relations logiques 30 contradictoires ("A et B ET A et non B") ou dupliquées ("A et B ET A et B"), entre autres, amèneront au rejet de la règle. Pour vérifier la cohérence 6 3017474 d'un ensemble de règles, dans un mode de réalisation, il est en particulier possible d'examiner si les entrées et les sorties du système sont toutes "couvertes" (c'est-à-dire par exemple de vérifier que les mots saisis sont connus du vocabulaire contrôlé, i.e. fini et connu ou prédéfini). Il est 5 également possible, dans un autre mode de réalisation, en complément ou indépendamment d'étudier la similarité de deux règles entre elles (et/ou des entrées et/ou des sorties des règles considérées). Pour cela, il est possible de faire une comparaison syntaxique (c'est-à-dire en comparant les mots des deux règles, à leur ordre près) ou plus 10 approfondie selon la logique qui est utilisée. Par exemple, dans le cas d'un mode de mise en oeuvre selon une approche de logique floue, il est possible de regarder la couverture des ensembles de définition des variables linguistiques d'entrée, mais également (et notamment) la topologie ainsi que la géométrie des fonctions d'appartenance utilisées au 15 sein de ces variables linguistiques. Il est aussi possible de vérifier la cohérence d'un groupe de règles à partir d'une représentation de celles-ci sous forme de graphe dans laquelle d'éventuels cycles sont recherchés (des "cycles" ou des " circuits", i.e. si deux règles ne se contredisent pas). 20 Dans un développement, le procédé comprend en outre l'ajout de la phrase sémantiquement valide à la base de connaissance. Dans un développement, ledit ajout comprend une transformation de la représentation associée à la phrase sémantiquement valide en une représentation de règle compatible avec la base de connaissances. 25 Dans un développement, le procédé comprend l'affichage de la phrase formée par l'insertion d'un ou de plusieurs mots en réponse à la sélection d'un ou de plusieurs emplacement de destination. 30 II est divulgué un système pour la mise en oeuvre du procédé selon l'une quelconque des étapes du procédé. En particulier, le système peut 7 3017474 comprendre un clavier de saisie et/ou une interface tactile. Les aspects tangibles du système comprennent différentes autres possibilités, par exemple clavier physique, souris et/ou clavier virtuel sur écran tactile. Le système peut aussi comprendre des moyens de retour haptique et/ou 5 d'émission sonore et/ou d'affichage. Par exemple, le choix des emplacements de destination peut être guidé ou facilité par l'emploi de feedbacks sensoriels (tactiles, sonores et visuels) Il est divulgué un produit programme d'ordinateur, ledit programme 10 d'ordinateur comprenant des instructions de code permettant d'effectuer l'une quelconque des étapes du procédé, lorsque ledit programme est exécuté sur un ordinateur. Un mode de réalisation de l'invention combine les caractéristiques 15 techniques de saisie de phrase ou règle exprimée en langage naturel (a) avec une vérification syntaxique intégrée (b) et une validation sémantique optionnelle ultérieure (d), sans besoin de modèles de phrases ou règles prédéfinies (d). 20 Selon un aspect de l'invention, il est utilisé un mode de saisie en langage naturel. Alors que les saisies de règles métier ("Business Rules") se limitent fréquemment à des saisies de règles sous formes abstraites, des développements de l'invention permettent avantageusement une saisie plus naturelle, sous forme de langage naturel. Le langage naturel 25 (ou « langage ordinaire ») correspond à la langue « normale » parlée par un être humain, par opposition aux langages dits formels (par exemple langage informatique, machine ou de programmation). La méthode divulguée permet de lire facilement la connaissance saisie et ainsi de la corriger, si nécessaire. Comme la règle ou connaissance apparait sous 30 forme textuelle en langage naturel, les utilisateurs trouvent plus facilement leurs erreurs. 8 3017474 Selon un mode de mise en oeuvre, la méthode permet de guider l'utilisateur afin qu'il ne produise pas de fautes syntaxiques ou sémantiques. Par exemple, l'insertion d'opérateurs logiques peut se faire 5 de manière guidée à des emplacements précis dans une phrase. Les modes de réalisation de l'invention n'exigent pas, en particulier, de modèles de règles prédéfinies ou de phrases "préfabriquées". En d'autres termes, il n'est nul besoin de devoir choisir un modèle parmi 10 certains modèles prédéfinis (comme certaines méthodes connues l'exigent). Plus précisément, il est possible de rédiger une règle entièrement nouvelle. Cette rédaction peut se faire, par exemple, en faisant glisser différentes parties de règles et en les agençant entre elles selon des restrictions dans les déplacements de ces parties de règles de 15 manière à aboutir à des règles syntaxiquement exactes. Des expérimentations ont permis d'établir que la méthode divulguée permet globalement de rédiger des règles rapidement et syntaxiquement correctes. Ces tests ont montré que globalement les 20 utilisateurs écrivent plus vite les règles, y compris ceux qui n'étaient pas habitués au glisser-déposer. Le nombre de clics a aussi été mesuré comme étant plus limité qu'à l'aide des interfaces disponibles actuellement. La charge cognitive de l'utilisateur est optimisée. L'interface homme-machine est plus efficace. La définition d'un cadre pour la saisie 25 des connaissances (i.e. un vocabulaire inhérent au type de connaissance à saisir) facilite les applications multilingues: seul le vocabulaire inscrit dans le cadre est à traduire. La combinaison de caractéristiques techniques, en traitement 30 automatique des langues naturelles, et de caractéristiques d'interface utilisateur aboutit à l'obtention d'une méthode de saisie de règles 9 3017474 avantageusement flexible et riche. Cette flexibilité implique plus qu'un simple effet sur la forme (i.e. qu'une simple ergonomie en matière d'interface utilisateur): elle permet la saisie (donc la capture) d'une bien plus grande richesse de règles sur le fond. Par suite, l'expressivité des 5 règles capturées est sensiblement plus grande avec la présente méthode, en comparaison qu'au moyen d'autres techniques connues. De manière générale, les exemples fournis facilitent les interactions homme-machine et en particulier déchargent l'utilisateur de 10 manipulations fastidieuses, parfois répétitives et souvent complexes, améliorant du même coup sa capacité de concentration pour la saisie proprement dite. Globalement, les différents modes de réalisation conduisent à l'optimisation de l'effort cognitif à fournir par l'utilisateur lors de la saisie. Plus exactement, cet effort est réalloué à des tâches 15 cognitives plus utiles au regard de l'objectif considéré. En d'autres termes, les effets techniques liés à certains aspects de l'invention correspondent à une réduction de la charge cognitive de l'utilisateur de l'interface homme-machine. Un véritable dialogue interactif entre la machine et l'homme peut alors se dérouler, par exemple pour maintenir un niveau d'attention élevé, 20 ou exploiter ce dernier au mieux. Avantageusement, l'invention peut s'appliquer à la saisie et l'édition de règles dans système expert de "logique floue", c'est-à-dire un module logiciel qui permet de contrôler des appareils ou d'aider à la décision et 25 qui repose sur les principes de la logique floue. Un tel système est un exemple de système à base de connaissances. La connaissance dans un tel système est représentée par des règles de la forme : "si une grandeur est adjectif et une autre grandeur est adjectif alors la grandeur de la sortie est adjectif'. Par exemple : "si la température extérieure est très froide et 30 que la pluie est fine alors le risque de verglas est grand'. 10 3017474 Description des figures Différents aspects et avantages de l'invention vont apparaitre en appui de la description d'un mode préféré d'implémentation de l'invention 5 mais non limitatif, avec référence aux figures ci-dessous : La figure 1 présente une vue générale et certains aspects de l'invention; La figure 2 illustre un exemple d'interface utilisateur; 10 Les figure 3A, 3B, 3C et 3D illustrent différentes exemples d'interactions pour l'édition d'une phrase ou d'une règle; Les figures 4A, 4B, et 4C illustrent diverses options d'ergonomie ou 15 d'interface. Description détaillée de l'invention Le terme "mot" désigne, outre le sens littéral, une suite de sons ou 20 de caractères graphiques formant une unité sémantique et pouvant être distingués par un séparateur. Un mot est aussi un élément de la langue composé d'un ou de plusieurs phonèmes, susceptible d'une transcription écrite individualisée et participant au fonctionnement syntaxique et sémantique d'un énoncé. 25 Un mot, tel que manipulé par l'invention, peut être un nom (commun ou propre), un adverbe, un adjectif, un verbe, un pronom, etc. Bien que les dessins illustrent la manipulation des mots du langage naturel "and", "or", "not", - qui sont aussi des opérateurs booléens par 30 ailleurs - , les modes de réalisation de l'invention ne sauraient ce réduire à 11 3017474 ces seuls mots. Un mot quelconque du langage naturel ou ordinaire est manipulable par l'invention, par exemple et en particulier un verbe (comme "allumer" ou "éteindre") 5 On entend par "phrase", outre le sens littéral du terme ("sentence" en anglais), notamment, un élément de connaissance experte. Ceci inclut mais ne se limite pas à une règle métier (ou règle de gestion, ou « business mie » en anglais) qui est une déclaration de haut niveau structurée. Ce type de règle permet de contraindre, contrôler et 10 influencer un aspect d'un "métier". En général, une règle est donc une construction logique destinée à décrire des opérations, définitions, conditions et/ou des contraintes qui s'appliquent à certaines données prédéterminées pour atteindre un objectif. 15 D'une manière générale, un système à base de règles est un outil capable de reproduire les mécanismes cognitifs d'un expert, dans un domaine particulier. Plus précisément, un système expert est un logiciel capable de répondre à des questions, en effectuant un raisonnement à partir de faits et de règles connus. Il peut servir notamment comme outil 20 d'aide à la décision. Un système expert se compose de trois parties: une base de faits, une base de règles et un moteur d'inférence. Le moteur d'inférence est capable d'utiliser faits et règles pour produire de nouveaux faits, jusqu'à parvenir à la réponse à la question experte posée. Un système expert peut reposer sur des mécanismes de logique formelle et 25 utilisent le raisonnement déductif. Il peut par exemple s'appuyer sur la logique des propositions (« logique d'ordre 0 »), ou bien la logique des prédicats du premier ordre (« logique d'ordre 1 »). Des techniques de logique floue peuvent aussi être utilisées. 30 La figure 1 présente une vue logique et générale de certains aspects de l'invention. Dans un mode de réalisation particulier, il est défini 12 3017474 un procédé (processus) de manipulation d'une phrase exprimée en langage naturel (par exemple pour la saisie d'une règle dans un base de connaissances), comprenant plusieurs étapes pouvant être menées séquentiellement ou en parallèle (au moins partiellement). 5 Dans une étape de saisie 100, une première règle ou phrase est saisie (ou "entrée" ou "sélectionnée") par l'utilisateur. En particulier, la règle initiale peut être une phrase en langage naturel quelconque, telle que fournie par l'utilisateur. Les modes de saisie incluent les entrées par 10 commande vocale ou reconnaissance de la parole, les entrées sur claviers d'ordinateurs (physiques ou virtuels), la sélection par pointeur. Le module de saisie peut être par exemple une interface graphique (Graphical User Interface GUI ou plus généralement Interface Homme-Machine IHM), de différente nature (par exemple sous forme d'un éditeur 15 de texte ou d'une interface dédiée, etc.), avec laquelle l'utilisateur peut interagir pour saisir des connaissances. La phrase ou règle est représentée par un modèle informatique. Dans une étape de validation syntaxique 110, l'instance du modèle 20 informatique issue de l'étape précédente est vérifiée afin notamment de vérifier la cohérence de l'usage des différents éléments qui composent la phrase. La validation syntaxique peut s'effectuer par divers moyens. Un analyseur syntaxique ("parser" en anglais) peut être utilisé. Celui-ci explicite les relations de dépendance (par exemple entre sujet et objet) 25 entre les différents lexèmes, puis construit une représentation de dépendances (arbre syntaxique). Le traitement du langage naturel peut nécessiter un traitement particulier (par exemple des grammaires dites d'arbre adjoints TAG, par opposition aux grammaires non contextuelles qui sont généralement utilisées pour les langages formels). L'analyse 30 proprement dite est généralement non déterministe (emploi de méthodes tabulaires, analyse CYK, à chartes, analyse LR généralisée, etc.). 13 3017474 Selon un mode de réalisation "intégré" (mode particulier et optionnel), il est présenté à l'utilisateur l'ensemble des éléments qu'il est possible d'utiliser pour maintenir la validité syntaxique de la phrase à un 5 moment donné. Concrètement, l'utilisateur peut sélectionner l'élément de son choix et le déplacer vers la connaissance (phrase) qu'il est en train de saisir. Dans ce mode de réalisation, les emplacements de destination possibles sont indiqués à l'utilisateur par rétroaction anticipative (feedforward en anglais), c'est-à-dire au moyen d'une boucle de 10 rétroaction particulière, qui présente les résultats obtenus par anticipation d'une action possible. Le mode cognitif dans et par lequel s'obtient cette rétroaction, i.e. les moyens utilisés dépendent du type de périphérique informatique utilisé (PC, tablette, smartphone, etc). Le système mis en oeuvre peut en particulier inclure des retours de type haptique (sensoriel), 15 sonore, visuel, etc. Par exemple, dans un mode de réalisation de l'invention sur une tablette tactile, l'utilisateur peut être amené à percevoir un retour visuel si un mot déposé l'est au mauvais emplacement (effet de rebondissement, "refus" de déplacement du mot, aimantation négative, etc.). La validation syntaxique réside dans le fait que l'utilisateur ne peut 20 choisir qu'un élément compatible avec la connaissance déjà saisie et qu'il ne peut placer cet élément qu'à un endroit compatible également. Dans ce mode de réalisation, il est donc notable que les modules de saisie 100 et de validation syntaxique 110 sont intégrés ("ne font 25 qu'un") et que l'utilisateur est guidé dans ses choix afin qu'il ne puisse construire qu'une connaissance syntaxiquement juste ou correcte. En d'autres termes, les étapes de saisie 100 et de validation 110 ne sont pas décorrélées (i.e. elles sont liées et peuvent fonctionner en combinaison). Dans les systèmes existants, l'utilisateur doit généralement saisir sa 30 connaissance, puis la valider syntaxiquement. Si la validation syntaxique échoue, l'utilisateur est contraint de corriger sa règle et de retenter une 14 3017474 validation syntaxique jusqu'à ce que celle-ci soit validée. Cet aspect de l'invention (intégration entre la saisie et la validation syntaxique), est donc avantageux, notamment en termes de rapidité pour la saisie et la manipulation de la phrase, ce qui a été validé expérimentalement. 5 Dans un mode de réalisation, le vocabulaire est défini et il est possible de faire glisser des éléments d'une règle en fonction du contexte d'écriture afin de constituer la dite règle. Par une ou plusieurs indications (par exemple feedforward visuel, sensoriel, auditif, etc.), l'utilisateur est 10 détourné automatiquement des éventuelles erreurs syntaxiques ou sémantiques et peut lire au fur et à mesure la règle qu'il est en train de rédiger. La validation syntaxique et sémantique des connaissances est transparente pour l'utilisateur. Celui-ci peut déplacer des éléments de l'interface graphique vers un ou plusieurs emplacements compatibles 15 avec ses choix et il reçoit un "feedback" ou retour approprié lorsqu'il place un élément à un endroit potentiel ou qu'il essaie de le placer à un endroit interdit. Ainsi, la correction se fait de manière progressive et itérative ("au fil de l'eau" et non pas comme une validation a posteriori). L'apparition d'alternatives contextuelles permet de limiter le choix de l'utilisateur en 20 termes d'éléments à manipuler. Dans une étape de validation sémantique 120, l'instance du modèle informatique validée à l'étape 110 est vérifiée du point de vue de la cohérence de la connaissance. En particulier, la vérification porte sur la 25 cohérence de la connaissance vis-à-vis de la représentation du monde. L'analyse sémantique (analyse "componentielle") d'une phrase est la phase de son analyse qui en établit la signification en utilisant le sens des mots du texte, et se construit à partir de l'analyse syntaxique (analyse "structurale"). La sémantique dégagée prend généralement trois formes: 30 "tableau", "graphe" (graphe orienté pour le langage naturel), ou "arbre" (cas particulier de graphe). En particulier, une ou plusieurs ontologies 15 3017474 peuvent être utilisées. En gestion des connaissances, une ontologie représente une forme évoluée de représentation sémantique des connaissances. 5 La vérification ou validation sémantique est une étape qui peut s'effectuer de différentes manières. Durant la vérification ou validation sémantique, la cohérence de la règle est vérifiée, par rapport à elle-même mais aussi par rapport aux autres règles (par exemple présentes dans la base de connaissance, qui peut être statique et/ou prédéfinie et/ou 10 fermée (e.g. stable), mais également dynamique (e.g. ouverte); par exemple, la base de connaissance peut également résulter de la recherche sur le réseau de règles déjà vérifiées ou validées). Pour vérifier la cohérence d'une règle donnée, il est possible, dans un mode de réalisation, d'utiliser des algorithmes qui vérifient que la condition de celle- 15 ci n'est pas toujours vraie ou toujours fausse. Par exemple, des relations logiques contradictoires ("A et B ET A et non B") ou dupliquées ("A et B ET A et B"), entre autres, amèneront au rejet de la règle. Pour vérifier la cohérence d'un ensemble de règles, dans un mode de réalisation, il est en particulier possible d'examiner si les entrées et les sorties du système 20 sont toutes "couvertes" (c'est-à-dire par exemple de vérifier que les mots saisis sont connus du vocabulaire connu ou prédéfini). Il est également possible, dans un autre mode de réalisation, en complément ou indépendamment d'étudier la similarité de deux règles entre elles (et/ou des entrées et/ou des sorties des règles considérées). Pour cela, il est 25 possible de faire une comparaison syntaxique (c'est-à-dire en comparant les mots des deux règles, à leur ordre près) ou plus approfondie selon la logique qui est utilisée. Par exemple, dans le cas d'un mode de mise en oeuvre selon une approche de logique floue, il est possible de regarder la couverture des ensembles de définition des variables linguistiques 30 d'entrée, mais également (et notamment) la topologie ainsi que la géométrie des fonctions d'appartenance utilisées au sein de ces variables 16 3017474 linguistiques. Il est aussi possible de vérifier la cohérence d'un groupe de règles à partir d'une représentation de celles-ci sous forme de graphe dans laquelle d'éventuels cycles sont recherchés (des "cycles" ou des " circuits", i.e. si deux règles ne se contredisent pas). 5 Dans une étape de validation globale 130, la phrase vérifiée à l'étape 120 est "validée". La validation consiste à vérifier que cette connaissance ne remette pas en cause des connaissances déjà présentes dans la base de connaissances 150. Dans le cas où toutes les 10 étapes précédentes ont été franchies avec succès, i.e. si la phrase est syntaxiquement correcte, sémantiquement validée et compatible avec la base de connaissances 150, la nouvelle règle est importée dans ladite base de connaissances via un module appelé « pont », module qui effectue la transformation 140 de la phrase d'une représentation à l'autre. 15 En d'autres termes, le module de "pont" (ou "étape de pont") 140 est un module qui permet de transformer la règle d'une représentation à l'autre. En effet, dans le module de saisie de la règle 100, la phrase ou règle est représentée informatiquement par un certain modèle qui peut différer du modèle dans lequel la règle est stockée dans la base de connaissances 20 (par exemple, le stockage dans la base peut s'effectuer au moyen d'un fichier XML). La validation globale peut donc se faire formellement, i.e. de manière automatique, à l'aide du module de "pont". Optionnellement, une expertise humaine peut être mise à 25 contribution en aval, par exemple à l'aide de techniques de fouille textuelle (text mining, en anglais) ou de forage de données. L'expert, lors d'un audit de découverte des connaissances (en anglais KDD, Knowledge Discovery in Databases), répondra à des questions telles que "est-ce connu ?", "est-ce explicable ?" ou "est-ce utile ?". La sémantique 30 extraite et consolidée dans la base de connaissances 150 tient le rôle d'une "cartographie" de l'information, c'est-à-dire qu'elle permet de situer 17 3017474 les informations les unes par rapport aux autres. Toujours optionnellement, des techniques de logique floue peuvent être implémentées. La logique floue peut être utilisée pour le vocabulaire 5 et/ou la grammaire. La logique floue peut être appliquée (e.g. peut gouverner) la sélection et/ou le choix et/ou la validation et/ou le filtrage et/ou la détermination du vocabulaire. Le vocabulaire peut être prédéfini. Indépendamment ou en combinaison, la grammaire peut être "une grammaire prédéfinie de type logique floue". 10 La figure 2 illustre un exemple d'interface utilisateur. Une interface utilisateur 210 est présentée à l'utilisateur. Cette interface est en relation avec des moyens de calcul 200 et des moyens de stockage ou de mémoire 150 (base de connaissances par exemple). Divers autres 15 moyens I/O 201 (entrée/sortie) peuvent aussi être utilisés (interface tactile, stylet, retour haptique, clavier physique ou virtuel, etc). L'interface proprement dite peut recourir à différents moyens d'affichage (écran LCD, OLED, SED, holographie, stéréoscopie, 3D, projection, encre électronique, affichage de type braille, etc) et/ou à une combinaison de 20 ces moyens. La figure 2 représente la saisie d'une règle dans un contexte de règle pour de la domotique: "if the luminosity is low then the light is on" ("si la luminosité est faible alors la lumière est allumée"). L'utilisateur part de cette phrase en langage naturel et souhaite modifier cette règle (interprétée et actionnée dans ce cas précis par un système 25 domotique). La logique floue peut permettre de traiter une phrase ou portion de phrase comme "si la luminosité est assez faible alors..." La figure 3 illustre différentes interactions pour l'édition d'une phrase ou règle. Dans l'exemple choisi de la règle domotique, l'utilisateur 30 souhaite enrichir la règle en ajoutant un opérateur booléen logique "and' ("et' mathématique). En réponse à la sélection par l'opérateur de l'icône 18 3017474 ou élément graphique 300 correspondant, l'analyse syntaxique de la phrase détermine que seuls deux endroits sont possibles pour une telle insertion: les emplacements 301 et 302. En d'autres termes et par exemple, l'analyseur syntaxique détermine que l'opérateur logique "and " 5 (resp. "et) ne peut pas se retrouver devant "tom," (resp. "faible"): la phrase "si la luminosité est ET ... faible alors la lumière est allumée" est syntaxiquement incorrecte. En revanche, "si ET ... la luminosité est faible alors la lumière est allumée" et "si la luminosité est faible ET ... alors la lumière est allumée" sont des phrases que l'analyseur syntaxique 10 détermine comme possiblement correctes. Les emplacements de destination sont alors affichés et présentés à l'utilisateur à la figure 3A. Entre la sélection de l'opérateur par l'utilisateur et l'affichage des emplacements de destination s'écoulent typiquement moins de quelques secondes (voire moins d'une seconde de latence). Dès que l'utilisateur a 15 fait son choix, par glisser-déposer (drag-and-drop en anglais) à la figure 3B, il apparaît un ou plusieurs "fantômes" ("ghosts" en anglais) représentés à la figure 3C. Sur la forme, ces "fantômes" revêtent des apparences visuellement distinctes du reste de l'interface (grisé, flottement, clignotement ou tout autre effet visuel). Sur le fond, les 20 "fantômes" présentent à l'utilisateur plusieurs choix possibles, i.e. les choix que la méthode ou le système considère ou attend. Dans l'exemple domotique, la sélection puis le "glisser-déposer" de l'opérateur logique "et" aboutit à la demande de création d'une seconde règle, par analogie avec la première condition. Le mot "luminosité" étant interprétée comme 25 une variable et "faible" étant interprétée comme une valeur ("value" en anglais), le système affiche le fantôme 310 "ET... VARIABLE est VALEUR (en anglais "and... VARIABLE is VALUE"), dans la nouvelle conjonctive. Le reste de la phrase "alors la lumière est allumée" ("then the light is on") est déplacé. 30 Il est souligné que les exemples des figures 3A, 3B et 3C ne 19 3017474 mentionnent que des exemples (i.e. des opérateurs booléens). Les différentes méthodes divulguées ne se limitent pas à ces seuls opérateurs: des verbes ou des adjectifs (plus généralement tout "mot") peut aussi être manipulés, par exemple le verbe d'action "allumer". 5 De manière optionnelle, dans un mode de réalisation, un "fantôme" peut réagir à un stimulus de l'utilisateur (par exemple un clic) afin de lui proposer les différentes formes possibles, de manière à ce que la validation syntaxique reste valide. Par exemple, l'utilisateur en désignant 10 (cliquant, touchant) le fantôme "VARIABLE" pourra se voir proposé ou suggéré les mots "volet" ou "porte" et les mots "ouvert" ou "fermé" pour le fantôme "VALEUR". Dans un autre mode de réalisation, l'utilisateur complète librement les différents fantômes. 15 Dans d'autres modes de réalisation, différentes options sont accessibles, de manière permanente ou intermittente ou contextuellement: copier, coller, couper, retour en arrière, annulation de la dernière opération, envoi à la validation même en cas de données incomplètes, fermer, enregistrer sous, quitter etc. 20 Dans un mode de réalisation, afin de valider la règle, l'utilisateur est tenu de compléter tous les fantômes. En d'autres termes, une phrase ou règle n'est pas considérée comme "syntaxiquement juste" si elle contient encore ou au moins un "fantôme". 25 La figure 3D illustre le fait qu'une partie de phrase ou de règle (i.e. un groupe ou groupement de mots) peut être sélectionnée et déplacée. Dans un mode de réalisation, la syntaxe peut être considérée de façon binaire (i.e. "correct/incorrect") ou selon des techniques relevant de la 30 logique floue. 20 3017474 Les figures 4A, 4B, et 4C illustrent diverses optimisations d'ergonomie ou d'interface. Ces optimisations optionnelles viennent, - en combinaison avec les autres aspects de traitement technique du langage naturel -, conforter les gains cognitifs dont bénéficie l'utilisateur. La figure 5 4A illustre un développement avantageux en matière de lisibilité à l'écran. Lors de l'édition de règles complexes (donc longues), il peut être avantageux de "réduire" (ou "compacter" ou "concaténer", en anglais "collapse") des parties de phrases. Dans l'exemple indiqué en figure 4, la règle 401 est condensée en éludant une conjonctive pour afficher une 10 règle réduite 402. La figure 4B illustre une autre optimisation ergonomique. Afin d'afficher une pluralité d'opérateurs logiques, ou de manière générale un grand nombre de choix possibles pour compléter un ou plusieurs "fantômes", il est apparu avantageux d'utiliser un menu en vue "radiale" ("radial" ou "pie" en anglais). Ce mode de représentation 15 consiste en un menu circulaire et contextuel, dont les éléments sont représentés dynamiquement, à la demande, autour de son centre. Le déclenchement d'un choix s'effectue en deux temps: l'affichage du menu compact dans un premier temps, puis le choix du sous-élément. De manière optionnelle, des opérateurs peuvent être représentés par des 20 éléments graphiques ou des icônes. De tels opérateurs peuvent être, par exemple, des opérateurs booléens ("and", "or"), ou, plus généralement des opérateurs de type "générique" ou "propriétaire" ou "prédéfinis" (par exemple "après" ou "avant", "dès que", etc). L'accès à des catégories est également possible via ce type d'interface, ce qui permet une navigation 25 locale et parfois contextuelle. La figure 4C illustre une autre optimisation de l'affichage par le biais de curseurs 405 utilisés en lieu et place des indications d'emplacements de destination 404. L'utilisation de curseurs ne consomme pas, ou presque pas, d'espace d'affichage ce qui permet des affichages plus compacts améliorant la vitesse de lecture et d'écriture 30 des règles. Ceci est particulièrement appréciable lors de la manipulation de phrases ou règles longues (la disposition des phrases peut rester 21 3017474 inchangée, ou du moins l'impact en termes de réarrangements visuels peut être minimisé). En matière d'interface, un certain nombre d'aspects sont divulgués 5 ci-après. Ces aspects peuvent être combinés entre eux (ou pas), selon différents modes de réalisation. Ces aspects sont tous optionnels. Les éléments disponibles d'une règle ou d'une phrase peuvent s'afficher dans une partie du dispositif d'affichage et changer en fonction des éléments déjà assemblés. En d'autres termes, l'affichage peut être contextuel ou 10 contextualisé, au moins à certains moments. Les éléments graphiques affichés correspondent généralement à du langage naturel (noms, verbes conjugués, etc), ou au moins sont des représentations très proches du langage naturel, afin de faciliter leur compréhension par l'utilisateur profane, cachant ainsi la complexité mathématique ou logique de 15 l'élément. Lorsqu'un glisser-déposer (drag-and-drop) est initié par l'utilisateur, l'ensemble des emplacements - sur lesquels l'élément sélectionné peut être déposé - peut être mis en valeur (mode dit feedforward). Lorsque l'élément sélectionné passe sur un emplacement possible, l'utilisateur peut recevoir un feedback (sonore, lumineux, tactile, 20 sensoriel, etc). Lorsqu'un élément est inséré, un "fantôme" des éléments nécessaires directement impliqués peuvent être automatiquement ajoutés. La présente invention peut s'implémenter à partir d'éléments 25 matériel et/ou logiciel. Elle peut être disponible en tant que produit programme d'ordinateur sur un support lisible par ordinateur. Le support peut être électronique, magnétique, optique, électromagnétique ou être un support de diffusion de type infrarouge. 30 22 REVENDICATIONS1, Procédé mis en oeuvre sur ordinateur de manipulation d'une phrase exprimée en langage naturel comprenant la détermination d'un ou de plusieurs emplacements de destination dans une phrase initiale en réponse à la sélection d'un ou de plusieurs mots, lesdits emplacements de destination étant déterminés par un analyseur syntaxique. 2. Procédé selon la revendication 1, comprenant en outre l'affichage du 10 ou des emplacements de destination en réponse à la sélection du ou des mots. 3. Procédé selon la revendication 2, comprenant en outre l'affichage d'une ou plusieurs suggestions de mots correspondants à l'un ou 15 plusieurs emplacements de destination. 4. Procédé selon la revendication 1, comprenant en outre une validation sémantique de la phrase formée par l'insertion du ou des mots sélectionnés dans la phrase initiale, 20 5. Procédé selon la revendication 4, la validation sémantique étant effectuée par vérification logique. 6. Procédé selon les revendications 4 ou 5, la validation sémantique étant 25 effectuée par comparaison de similarité avec des règles étant connues comme sémantiquement valides. 7. Procédé selon les revendications 4 à 6 la validation sémantique étant effectuée par analyse de graphes. 30 8. Procédé selon les revendications 4 à 7, comprenant en outre l'ajout de 23 3 01 74 74 la phrase sémantiquement valide à la base de connaissance. 9. Procédé selon la revendication 8, ledit ajout comprenant une transformation de la représentation associée à la phrase sémantiquement 5 valide en une représentation de règle compatible avec la base de connaissances. 10. Procédé selon l'une quelconque des revendications précédentes comprenant en outre l'affichage de la phrase formée par l'insertion d'un 10 ou de plusieurs mots en réponse à la sélection d'un ou de plusieurs emplacement de destination. 11. Système pour la mise en oeuvre du procédé selon l'une quelconque des revendications 1 à 10. 15 12. Système selon la revendication 11, comprenant un clavier de saisie et/ou une interface tactile. 13. Système selon les revendications 11 ou 12, comprenant en outre des 20 moyens de retour haptique et/ou d'émission sonore et/ou d'affichage. 14. Un produit programme d'ordinateur, ledit programme d'ordinateur comprenant des instructions de code permettant d'effectuer les étapes du procédé selon l'une quelconque des revendications 1 à 10, lorsque ledit 25 programme est exécuté sur un ordinateur.