Brevet FR3152329A1 — publié le 20250228

Procédé d’analyse automatique de documents textuels La présente invention concerne un procédé d’analyse automatique de documents textuels, le procédé étant mis en œuvre par un dispositif informatique (10) comprenant un ordinateur classique (12) et un ordinateur quantique (14), le procédé comprenant les étapes de : réception, par l’ordinateur classique (12), d’une sélection de documents textuels, réception, par l’ordinateur classique (12), d’une tâche d’analyse des documents textuels, la tâche étant une tâche d’analyse sémantique des documents textuels et/ou de résumé automatique des documents textuels, décomposition, par l’ordinateur classique (12), de la tâche en plusieurs sous-tâches de sorte qu’au moins une sous-tâche soit exprimée sous la forme d’un problème QUBO, et exécution des sous-tâches pour obtenir l’analyse souhaitée du ou des documents textuels, chaque sous-tâche exprimée sous la forme d’un problème QUBO étant exécutée par l’ordinateur quantique (14), les autres sous-tâches étant exécutées par l’ordinateur classique (12). Figure pour l'abrégé : 1 Procédé d’analyse automatique de documents textuels La présente invention concerne un procédé d’analyse automatique de documents textuels. La présente invention concerne aussi un dispositif informatique associé. Le traitement automatique de la langue naturelle (TALN) ou traitement automatique des langues (TAL), plus couramment appelé NLP (de l'anglais : natural language processing ) est un domaine multidisciplinaire qui vise à créer des outils de traitement de la langue naturelle pour diverses applications. Néanmoins, que ce soit par des algorithmes classiques ou des algorithmes connexionnistes, les temps de calcul sur des tâches de traitement automatique de la langue sont élevés. L’utilisation d’ordinateur quantique pour effectuer certaines de ces tâches et réduire les temps de calcul a été envisagé. Néanmoins, les algorithmes existants sont très spécifiques et peu performants. Il existe donc un besoin pour d’autres moyens permettant d’améliorer les temps de calculs dans l’exécution de tâches de traitement automatique des langues, sans impacter la performance. A cet effet, l’invention a pour objet un procédé d’analyse automatique de documents textuels, le procédé étant mis en œuvre par un dispositif informatique comprenant un ordinateur classique et un ordinateur quantique, le procédé comprenant les étapes de : réception, par l’ordinateur classique, d’une sélection d’un ou plusieurs documents textuels, réception, par l’ordinateur classique, d’une tâche d’analyse du ou des documents textuels, la tâche étant une tâche d’analyse sémantique du ou des documents textuels et/ou de résumé automatique du ou des documents textuels, décomposition, par l’ordinateur classique, de la tâche en plusieurs sous-tâches de sorte qu’au moins une sous-tâche soit exprimée sous la forme d’un problème d’optimisation binaire quadratique sans contraintes, dit problème QUBO, définie par une matrice, dite matrice QUBO, et exécution des sous-tâches pour obtenir l’analyse souhaitée du ou des documents textuels, la ou chaque sous-tâche exprimée sous la forme d’un problème QUBO étant exécutée par l’ordinateur quantique, les autres sous-tâches étant exécutées par l’ordinateur classique. Suivant d’autres aspects avantageux de l’invention, le procédé comprend une ou plusieurs des caractéristiques suivantes, prises isolément ou suivant toutes les combinaisons techniquement possibles : lorsque la tâche ou au moins une partie de la tâche est une analyse sémantique du ou des documents textuels, l’étape de décomposition comprend la décomposition de la tâche en au moins les sous-tâches suivantes : une sous-tâche de répartition des documents dans des groupes de documents selon un critère de similarité basé sur une distance entre les documents, lorsque plusieurs documents textuels sont considérés, et une sous-tâche de répartition des phrases du ou des documents de chaque groupe de documents dans des groupes de phrases selon un critère de similarité basé sur une distance entre les phrases, chaque sous-tâche de répartition étant exprimée sous la forme d’un problème QUBO ; - le problème QUBO de chacune des sous-tâches de répartition correspond à une matrice QUBO formulée de la manière suivante : Où : est le nombre de points, un point étant un document pour la sous-tâche de répartition dans des groupes de documents et une phrase pour la sous-tâche de répartition dans des groupes de phrases, est le nombre de groupes, si le point appartient au cluster , sinon, est une distance entre le point et le point , et est un coefficient de pénalité ; - lorsque la tâche ou au moins une partie de la tâche est un résumé automatique du ou des documents textuels, l’étape de décomposition comprend la décomposition de la tâche en au moins les sous-tâches suivantes : une sous-tâche de génération d’un graphe de phrases pertinentes selon un critère de pertinence, et une sous-tâche de sélection des meilleures phrases du graphe selon un critère de sélection, la sous-tâche de sélection étant exprimée sous la forme d’un problème QUBO ; - le problème QUBO de la sous-tâche de sélection correspond à une matrice QUBO formulée de la manière suivante : Où : est une matrice d’adjacence du graphe, est le nombre de nœud du graphe, est un nombre de nœuds du graphe à sélectionner, les nœuds étant des phrases, P est un coefficient de pénalité, est le vecteur qui correspond à l’ensemble des variables binaire du problème, et est la variable binaire correspondant à 1 si le nœud est l’un des plus connecté ; - la décomposition de la tâche en sous-tâches fait intervenir aussi une sous-tâche de répartition des phrases du graphe, généré par la sous-tâche de génération, dans des groupes de phrases selon un critère de similarité basé sur une distance entre les phrases, la sous-tâche de répartition étant exprimée sous la forme d’un problème QUBO ; - le problème QUBO de la sous-tâche de répartition correspond à une matrice QUBO formulée de la manière suivante : Où : est la matrice Laplacienne, est le nombre de nœuds du graphe, est le nombre de groupes, sont des coefficients de pénalité, est le vecteur qui correspond au vecteur des variables binaires du cluster , et si le point appartient au cluster , sinon ; - l’ordinateur quantique est un ordinateur à recuit quantique ; - le procédé comprend une étape d’affichage du résultat de l’analyse effectuée sur un écran. L’invention concerne également un dispositif informatique configuré pour mettre en œuvre un procédé d’analyse automatique de documents textuels tel que décrit précédemment, le dispositif comprenant : un ordinateur classique configuré pour mettre en œuvre les étapes de réception, de décomposition en sous-tâches et d’exécution des sous-tâches non exécutées par l’ordinateur quantique, et un ordinateur quantique configuré pour exécuter la ou chaque sous-tâche exprimée sous la forme d’un problème QUBO. L’invention apparaîtra 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 dans lesquels : FIG. 1 la FIG. 1 est un exemple d’un dispositif informatique comprenant un ordinateur classique et un ordinateur quantique, FIG. 2 la FIG. 2 est un exemple d’un organigramme d’un procédé d’analyse automatique de documents textuels, FIG. 3 la FIG. 3 est un exemple de différentes sous-tâches d’une tâche d’analyse sémantique de plusieurs documents textuels, et FIG. 4 la FIG. 4 est un exemple de différentes sous-tâches d’une tâche de résumé automatique d’un document textuel. Un exemple d’un dispositif informatique 10 est illustré par la FIG. 1 . Le dispositif informatique 10 comprend un ordinateur classique 12 et un ordinateur quantique 14. Dans un exemple, l’ordinateur classique 12 comprend un processeur comprenant une unité de traitement de données, des mémoires et un lecteur de support d’informations. Eventuellement, l’ordinateur classique 12 comprend aussi un clavier et une unité d’affichage. Dans un exemple, l’ordinateur classique 12 est en interaction avec un produit programme d’ordinateur. Le produit programme d’ordinateur comporte un support d’informations. Le support d’information est un support lisible par l’ordinateur classique 12, usuellement par l’unité de traitement de données. Le support lisible d’informations est un médium adapté à mémoriser des instructions électroniques et capable d’être couplé à un bus d’un système informatique. Sur le support d’informations est mémorisé le programme d’ordinateur comprenant des instructions de programme. Le programme d’ordinateur est chargeable sur l’unité de traitement de données et est adapté pour entraîner la mise en œuvre de certaines des étapes d’un procédé d’analyse automatique de documents textuels qui sera décrit dans ce qui suit, lorsque le programme d’ordinateur est mis en œuvre sur l’unité de traitement de l’ordinateur classique 12. Dans une variante, l’ordinateur classique 12 a accès à un serveur où sont mémorisés des instructions de programme permettant la mise en œuvre du procédé d’analyse automatique de documents textuels. L’ordinateur quantique 14 comprend un réseau de qubits, ainsi qu’un matériel (hardware) permettant de manipuler ces qubits. L’ordinateur quantique 14 est adapté pour effectuer des opérations quantiques sur des qubits. En particulier, l’ordinateur quantique 14 utilise les propriétés quantiques de la matière, telles que la superposition et l'intrication, pour effectuer des opérations sur les données. Contrairement à un ordinateur classique basé sur des transistors travaillant sur des données binaires (codées sur des bits, 0 ou 1), le processeur quantique travaille sur des qubits dont l'état quantique peut prendre un nombre, non plus discret mais continu de valeurs. En particulier, un qubit fait référence à un système mécanique quantique à deux niveaux. Par exemple, un qubit comprend deux états quantiques de base I0> et I1> représentant les états quantiques possibles du qubit. Selon le principe de superposition de la mécanique quantique, toute superposition de la forme aI0> + bI1> (a et b étant des nombres complexes et aa*+bb*=1) est un état quantique possible du qubit. Les qubits sont, par exemple, des photons, des atomes, des molécules, des ions piégés, des électrons, des spins nucléaires, des points quantiques (en anglais « quantum dots ») ou encore des qubits supraconducteurs. De préférence, l’ordinateur quantique 14 est un ordinateur à recuit quantique (en anglais « quantum annealing »). Le recuit quantique est une technologie particulière d’ordinateur quantique avec des caractéristiques et niveaux de performance intermédiaires entre ceux des ordinateurs classiques et ceux des ordinateurs quantiques universels. Le principe général consiste à établir des liaisons entre qubits avec des poids, comme dans des réseaux de neurones, puis à faire trouver un point d’équilibre au système en modifiant ces poids pour identifier un minimum énergétique de l’ensemble. Ce minimum correspond à la solution recherchée du problème. Un exemple d’un procédé d’analyse automatique de documents textuels mis en œuvre par le dispositif informatique 10 va maintenant être décrit en référence à l’organigramme de la FIG. 2 et aux figures 3 et 4 illustrant certaines des étapes du procédé. Le procédé d’analyse comprend une étape 100 de réception, par l’ordinateur classique 12, d’une sélection d’un ou plusieurs documents textuels. Par « réception », il est entendu que le ou les documents textuels sont chargés dans l’ordinateur classique 12 ou rendus accessibles à l’ordinateur classique 12 (via internet par exemple). Les documents textuels sont des documents numériques. Par le terme « documents textuels », il est entendu que les documents comprennent du texte, notamment des phrases. Les documents textuels sont, par exemples, des articles, des livres numériques, ou encore des dialogues. La sélection a, par exemple, été réalisée par un utilisateur. Par exemple, l’utilisateur sélectionne un ou plusieurs documents sur internet ou dans un corpus numérique de documents. En variante, la sélection consiste dans l’ensemble des documents d’un corpus numérique de documents ou d’une base de données, ou à seulement certains des documents d’un corpus numérique ou d’une base de données sélectionnés automatiquement selon un critère de pertinence (exemple : tous les documents contenant le terme « sport »). Le procédé d’analyse comprend une étape 110 de réception, par l’ordinateur classique 12, d’une tâche d’analyse du ou des documents textuels. La tâche est une tâche informatique résultant par exemple d’une commande en provenance de l’utilisateur. En variante, la tâche est automatiquement enclenchée une fois le ou les documents textuels reçus lors de l’étape de réception 100. La tâche est une tâche d’analyse sémantique du ou des documents textuels et/ou de résumé automatique du ou des documents textuels. L’analyse sémantique est une technique visant à analyser le sens d’un texte, notamment le sens des mots. Le but est notamment de créer des groupes (clusters) de documents, puis de phrases. Le résumé automatique est une version condensée d’un texte. Le procédé d’analyse comprend une étape 120 de décomposition, par l’ordinateur classique 12, de la tâche en plusieurs sous-tâches de sorte qu’au moins une sous-tâche soit exprimée sous la forme d’un problème d’optimisation binaire quadratique sans contraintes, dit problème QUBO. Un problème QUBO est un problème d’optimisation de fonctions quadratiques où les variables sont binaires. Un problème QUBO est représenté par une matrice spécifique au problème d’optimisation considéré, dite matrice QUBO. Dans le cas où le problème d’optimisation contient des contraintes, elles sont ajoutées à la fonction en tant que pénalités. Ce sont des problèmes NP-complets. Un problème QUBO se formule de la manière suivante : (1) Où : , n le nombre de variables du problème, et est la matrice d’une fonction quadratique à minimiser. Dans un exemple de mise en œuvre, lorsque la tâche ou au moins une partie de la tâche est une analyse sémantique du ou des documents textuels, l’étape de décomposition comprend la décomposition de la tâche en au moins les sous-tâches suivantes : - une sous-tâche T A de répartition des documents dans des groupes de documents selon un critère de similarité basé sur une distance entre les documents, lorsque plusieurs documents textuels sont considérés, et - une sous-tâche T B de répartition des phrases du ou des documents de chaque groupe de documents dans des groupes de phrases selon un critère de similarité basé sur une distance entre les phrases. Chaque sous-tâche T A , T B de répartition est exprimée sous la forme d’un problème QUBO. Par exemple, le problème QUBO de chacune des sous-tâches T A , T B de répartition correspond à une matrice QUBO formulée de la manière suivante : (2) Où : est le nombre de points, un point étant un document pour la sous-tâche T A de répartition dans des groupes de documents et une phrase pour la sous-tâche T B de répartition dans des groupes de phrases, est le nombre de groupes, si le point appartient au cluster , sinon, est une distance entre le point et le point (toute distance dans l’espace de travail convient, par exemple, une distance euclidienne), et est un coefficient de pénalité. Dans cette formule, le premier membre permet d’indiquer que l’on souhaite que les nœuds très proches soient dans un même cluster. Le second membre est une pénalité, qui indique que l’on souhaite qu’un nœud appartienne uniquement à un cluster. La FIG. 3 illustre un exemple d’analyse sémantique de 4 documents. Les documents sont d’abord répartis dans 3 groupes G1, G2, G3 de documents, ce qui correspond à la réalisation de la sous-tâche T A de répartition. Les phrases des documents de chaque groupe G1, G2, G3 de documents sont ensuite réparties en trois groupes de phases : G1_1, G1_2, G1_3 pour le groupe G1, G2_1, G2_2, G2_3 pour le groupe G2 et G3_1, G3_2, G3_3 pour le groupe G3. Cela correspond à la réalisation de la sous-tâche T B de répartition. Dans un exemple de mise en œuvre, lorsque la tâche ou au moins une partie de la tâche est un résumé automatique du ou des documents textuels, l’étape de décomposition comprend la décomposition de la tâche en au moins les sous-tâches suivantes : - une sous-tâche T C de génération d’un graphe de phrases pertinentes selon un critère de pertinence, et - une sous-tâche T E de sélection des meilleures phrases du graphe selon un critère de sélection. La sous-tâche T C de génération est, par exemple, propre à être effectuée avec un algorithme classique de transformation en graphe de similarité (cosine, distance euclidienne…). La sous-tâche T E de sélection est exprimée sous la forme d’un problème QUBO. Dans un exemple, le problème QUBO de la sous-tâche T E de sélection correspond à une matrice QUBO formulée de la manière suivante : (3) Où : est une matrice d’adjacence du graphe, est le nombre de nœud du graphe, est un nombre de nœuds du graphe à sélectionner, les nœuds étant des phrases, P est un coefficient de pénalité, est le vecteur qui correspond à l’ensemble des variables binaires du problème d’optimisation, et est la variable binaire correspondant à 1 si le nœud est l’un des plus connecté. Dans cette formule, le premier terme indique que l’on souhaite sélectionner les nœuds dont la somme des poids des arrêtes adjacente est maximale. Le second terme est une pénalité, qui indique le nombre de nœuds qu’on souhaite. De préférence, la décomposition de la tâche en sous-tâches fait intervenir aussi une sous-tâche T D de répartition des phrases du graphe, généré par la sous-tâche T C de génération, dans des groupes de phrases selon un critère de similarité basé sur une distance entre les phrases. La sous-tâche T D de répartition est exprimée sous la forme d’un problème QUBO. Dans un exemple, le problème QUBO de la sous-tâche T D de répartition correspond à une matrice QUBO formulée de la manière suivante : (4) Où : est la matrice Laplacienne, est le nombre de nœuds du graphe, est le nombre de groupes, sont des coefficients de pénalité, est le vecteur qui correspond au vecteur des variables binaires du cluster , et si le point appartient au cluster , sinon. Dans cette formule, le premier terme permet d’indiquer que l’on souhaite que les nœuds très proches soient dans un même cluster. Le deuxième terme est une pénalité qui assure une taille constante entre les clusters. Le troisième terme est une pénalité, qui indique que l’on souhaite qu’un nœud appartienne uniquement à un cluster. La FIG. 4 illustre un exemple de résumé automatique d’un document. En premier lieu, un graphe est généré avec les phrases pertinentes du document, ce qui correspond à la réalisation de la sous-tâche T C de génération. Les meilleures phrases sont sélectionnées, ce qui correspond à la réalisation de la sous-tâche T E de sélection. Eventuellement, les phrases du graphe généré sont aussi réparties dans des groupes (clusters) de phrases (3 groupes en l’espèce, ce qui correspond à la réalisation de la sous-tâche T D de répartition. Dans ce cas, la sélection des meilleures phrases se fait en fonction des clusters de phrases. Le procédé d’analyse comprend une étape 130 d’exécution des sous-tâches pour obtenir l’analyse souhaitée du ou des documents textuels. La ou chaque sous-tâche exprimée sous la forme d’un problème QUBO est exécutée par l’ordinateur quantique 14. Les autres sous-tâches sont exécutées par l’ordinateur classique 12. Ainsi, dans les exemples précédents la sous-tâche T C de génération d’un graphe est exécutée par l’ordinateur classique 12. Les sous-tâches T A , T B de répartition, T E de sélection et T D de répartition sont quant à elles exécutées sur l’ordinateur quantique 14. Notamment, avant l’exécution, les matrices QUBO de chaque problème QUBO sont par exemple adaptées (équivalent à la notion d’« embedding ») à la structure de l’ordinateur quantique 14. L’adaptation est réalisée au moyen de l’ordinateur classique 12. Le procédé d’analyse comprend une étape 140 d’affichage du résultat de l’analyse effectuée sur un écran. L’écran est, par exemple, celui de l’ordinateur classique 12. Ainsi, le résultat de l’analyse est directement visualisable et exploitable par un utilisateur. Ainsi, le présent procédé permet de décomposer des tâches sous la forme de sous-tâches formulées sous la forme de problèmes QUBO, permettant ainsi l’utilisation d’un ordinateur quantique. Cela permet d’améliorer les temps de calculs dans l’exécution de tâches de traitement automatique des langues, sans impacter la performance. En particulier, les techniques de recuit quantique (« Quantum Annealing ») qui affichent des complexités de calcul en O(1) permettent de traiter rapidement les problèmes QUBO. Un tel procédé est particulièrement adapté à l’analyse sémantique et au résumé automatique de documents, comme dans les exemples décrit précédemment. L’homme du métier comprendra que les modes de réalisation et variantes décrits précédemment peuvent être combinés entre eux pourvu qu’ils soient techniquement compatibles. Procédé d’analyse automatique de documents textuels, le procédé étant mis en œuvre par un dispositif informatique (10) comprenant un ordinateur classique (12) et un ordinateur quantique (14), le procédé comprenant les étapes de : réception, par l’ordinateur classique (12), d’une sélection d’un ou plusieurs documents textuels, réception, par l’ordinateur classique (12), d’une tâche d’analyse du ou des documents textuels, la tâche étant une tâche d’analyse sémantique du ou des documents textuels et/ou de résumé automatique du ou des documents textuels, décomposition, par l’ordinateur classique (12), de la tâche en plusieurs sous-tâches de sorte qu’au moins une sous-tâche soit exprimée sous la forme d’un problème d’optimisation binaire quadratique sans contraintes, dit problème QUBO, définie par une matrice, dite matrice QUBO, et exécution des sous-tâches pour obtenir l’analyse souhaitée du ou des documents textuels, la ou chaque sous-tâche exprimée sous la forme d’un problème QUBO étant exécutée par l’ordinateur quantique (14), les autres sous-tâches étant exécutées par l’ordinateur classique (12). Procédé selon la revendication 1, dans lequel lorsque la tâche ou au moins une partie de la tâche est une analyse sémantique du ou des documents textuels, l’étape de décomposition comprend la décomposition de la tâche en au moins les sous-tâches suivantes : une sous-tâche (T A ) de répartition des documents dans des groupes de documents selon un critère de similarité basé sur une distance entre les documents, lorsque plusieurs documents textuels sont considérés, et une sous-tâche (T B ) de répartition des phrases du ou des documents de chaque groupe de documents dans des groupes de phrases selon un critère de similarité basé sur une distance entre les phrases, chaque sous-tâche (T A , T B ) de répartition étant exprimée sous la forme d’un problème QUBO. Procédé selon la revendication 2, dans lequel le problème QUBO de chacune des sous-tâches (T A , T B ) de répartition correspond à une matrice QUBO formulée de la manière suivante : Où : est le nombre de points, un point étant un document pour la sous-tâche (T A ) de répartition dans des groupes de documents et une phrase pour la sous-tâche (T B ) de répartition dans des groupes de phrases, est le nombre de groupes, si le point appartient au cluster , sinon, est une distance entre le point et le point , et est un coefficient de pénalité. Procédé selon l’une quelconque des revendications 1 à 3, dans lequel lorsque la tâche ou au moins une partie de la tâche est un résumé automatique du ou des documents textuels, l’étape de décomposition comprend la décomposition de la tâche en au moins les sous-tâches suivantes : une sous-tâche (T C ) de génération d’un graphe de phrases pertinentes selon un critère de pertinence, et une sous-tâche (T E ) de sélection des meilleures phrases du graphe selon un critère de sélection, la sous-tâche (T E ) de sélection étant exprimée sous la forme d’un problème QUBO. Procédé selon la revendication 4, dans lequel le problème QUBO de la sous-tâche (T E ) de sélection correspond à une matrice QUBO formulée de la manière suivante : Où : est une matrice d’adjacence du graphe, est le nombre de nœud du graphe, est un nombre de nœuds du graphe à sélectionner, les nœuds étant des phrases, P est un coefficient de pénalité, est le vecteur qui correspond à l’ensemble des variables binaire du problème, et est la variable binaire correspondant à 1 si le nœud est l’un des plus connecté. Procédé selon la revendication 4 ou 5, dans lequel la décomposition de la tâche en sous-tâches fait intervenir aussi une sous-tâche (T D ) de répartition des phrases du graphe, généré par la sous-tâche (T C ) de génération, dans des groupes de phrases selon un critère de similarité basé sur une distance entre les phrases, la sous-tâche de répartition (T D ) étant exprimée sous la forme d’un problème QUBO. Procédé selon la revendication 6, dans lequel le problème QUBO de la sous-tâche (T D ) de répartition correspond à une matrice QUBO formulée de la manière suivante : Où : est la matrice Laplacienne, est le nombre de nœuds du graphe, est le nombre de groupes, sont des coefficients de pénalité, est le vecteur qui correspond au vecteur des variables binaires du cluster , et si le point appartient au cluster , sinon. Procédé selon l’une quelconque des revendications 1 à 7, dans lequel l’ordinateur quantique (14) est un ordinateur à recuit quantique. Procédé selon l’une quelconque des revendications 1 à 8, dans lequel le procédé comprend une étape d’affichage du résultat de l’analyse effectuée sur un écran. Dispositif informatique (10) configuré pour mettre en œuvre un procédé d’analyse automatique de documents textuels selon l’une quelconque des revendications 1 à 9, le dispositif comprenant : un ordinateur classique (12) configuré pour mettre en œuvre les étapes de réception, de décomposition en sous-tâches et d’exécution des sous-tâches non exécutées par l’ordinateur quantique (14), et un ordinateur quantique (14) configuré pour exécuter la ou chaque sous-tâche exprimée sous la forme d’un problème QUBO.