FR 2896061 A1 20070713 FR 0600220 A 20060110 - 1 La présente invention concerne une solution logicielle, dite moteur d'intelligence artificielle, permettant d'exécuter un ensemble d'actions ou de commandes à partir d'un ensemble non discret (non fini) de demandes. Interagissant avec une entité extérieure, ne faisant pas partie de la présente invention, le moteur d'intelligence artificielle analyse et interprète les demandes de cette entité afin de trouver les actions associées à ces demandes, tout en enrichissant sa propre base de connaissances, pour devenir de plus en plus réactif et reconnaître le plus rapidement et naturellement possible le langage/lexique utilisé par cette entité, pour exécuter les actions. Les logiciels existants offrent la possibilité d'effectuer des actions en se basant seulement sur un ensemble prédéfini de commandes. Dans le cas d'applications utilisant des commandes vocales, les ordres lancés doivent correspondre à un vocabulaire précis et bien spécifié pour que des actions soient déclenchées. De même, pour les applications acceptant des lignes de commandes en entrée, les commandes spécifiées doivent correspondre à un ensemble discret de commandes supportées par l'application, afin d'être prises en compte. La solution logicielle selon l'invention pallie à ces limitations, en permettant à une application d'exécuter ses actions à partir d'un ensemble sans limite de commandes. Le moteur d'intelligence artificielle apprend à connaître ses utilisateurs et leurs habitudes en associant leurs formulations particulières et spécifiques de commandes aux actions supportées par l'application. Les dessins annexés illustrent l'invention : • La figure 1 représente une vue externe du moteur d'intelligence artificielle avec ses relations avec les éléments extérieurs. • La figure 2 représente une architecture possible de l'invention, le moteur d'intelligence artificielle. En référence à la figure 2 et selon un mode particulier de réalisation, le moteur d'intelligence artificielle peut se décomposer ainsi : (1) Une couche d'interfaces permettant de communiquer avec les entités externes (utilisateurs) (2) une base de connaissances permettant de stocker les informations relatives aux utilisateurs et leurs habitudes (3) un coeur, dit le moteur, gérant l'enrichissement de la base de connaissances, gérant l'association de commandes à des actions, gérant les modules et le déclenchement d'actions et gérant l'aiguillage des demandes utilisateur vers les actions demandées. (4) un système générique de gestion de modules externes (6) contenant des actions exécutables (5) un interpréteur analysant les commandes des utilisateurs En référence à la vue externe, figure 1, le moteur d'intelligence artificielle (4), l'invention, est donc capable de s'adapter aux utilisateurs (1) en apprenant leurs façons de communiquer pour obtenir l'exécution d'une action (3). Après une phase d'apprentissage, le moteur d'intelligence artificielle exécute naturellement les actions demandées par les utilisateurs, selon leurs propres façons d'exprimer leurs besoins, tout en notant que ceux-ci peuvent communiquer avec l'invention en utilisant différentes interfaces (2). A titre d'exemple, non limitatif, la solution logicielle peut être implémentée en utilisant un langage de programmation et les technologies associées : • une base de données pourrait servir pour la base de connaissances, • l'interpréteur, les modules et le coeur implémentés à l'aide du langage de programmation, • des logiciels de synthèse et de reconnaissance vocale utilisés pour fournir une interface vocale, • la solution logicielle, l'invention, peut être packagée dans un composant logiciel et être déployé sur un serveur d'applications. Une interface graphique se basant sur des pages de type interface homme machine (IHM) peut être ajoutée à la solution logicielle comme interface d'entrée. La solution logicielle selon l'invention sera utilisée dans un premier temps par un système utilisant une interface vocale et graphique permettant à ses utilisateurs d'accéder à un ensemble de services tels que, mais non limités à. • la gestion d'un emploi du temps • la téléphonie REVENDICATIONS 1) Solution logicielle caractérisée en ce qu'elle permet d'exécuter un ensemble d'actions ou de commandes à partir d'un ensemble non discret (non fini) de 5 demandes. 2) Solution logicielle selon la revendication 1) caractérisée en ce que interagissant avec une entité externe, elle analyse et interprète les demandes de cette entité afin de trouver les actions associées à ces demandes. 10 3) Solution logicielle selon l'une quelconque des revendications précédentes caractérisée en ce que elle enrichie une base de connaissances. 4) Solution logicielle selon l'une quelconque des revendications précédentes caractérisée en ce que elle apprend à connaître ses utilisateurs et leurs habitudes en associant leurs formulations particulières et spécifiques de 15 commandes aux actions supportées par l'application. 5) Solution logicielle selon l'une quelconque des revendications précédentes caractérisée en ce que elle peut posséder une couche d'interfaces permettant de communiquer avec des entités externes. 6) Solution logicielle selon l'une quelconque des revendications précédentes 20 caractérisée en ce que elle peut contenir un coeur applicatif, dit le moteur , gérant l'enrichissement d'une base de connaissances. 7) Solution logicielle selon l'une quelconque des revendications précédentes caractérisée en ce que elle peut contenir un coeur applicatif, dit le moteur , gérant l'association de commandes à des actions. 25 8) Solution logicielle selon l'une quelconque des revendications précédentes caractérisée en ce que elle peut contenir un coeur applicatif, dit le moteur , gérant des modules et le déclenchement d'actions. 9) Solution logicielle selon l'une quelconque des revendications précédentes caractérisée en ce que elle peut contenir un coeur applicatif, dit le 30 moteur , gérant l'aiguillage des demandes utilisateurs vers des actions demandées. 10) Solution logicielle selon l'une quelconque des revendications précédentes caractérisée en ce que elle possède un système générique de gestion de modules externes contenant des actions exécutables. 35