Brevet FR3030812A1 — publié le 20160624

PROCEDE D'ANALYSE AUTOMATIQUE DE LA QUALITE LITTERAIRE D'UN TEXTE SELON LE PROFIL DU LECTEUR Domaine technique La présente invention concerne un procédé d'analyse automatique de la qualité littéraire d'un texte selon le profil du lecteur. Par « qualité littéraire chiffrée d'un texte», on entend dans le cadre de l'invention, la qualité littéraire d'un texte qui lui est intrinsèque et qui se matérialise par une note discrète de 1 à 10, par un score continu dans [0, 1], comme un score réel 1-00, +00[ ou comme des labels « très bon », « bon », « moyen », etc. Par « qualité littéraire connue d'un texte d'apprentissage», on entend dans le cadre de l'invention, la note donnée par un profil d'experts de lecture pour estimer la qualité de celui-ci. Etat de la technique De manière générale, le but de la catégorisation automatique de textes est d'apprendre à une machine informatique à classer un texte dans la bonne catégorie en se basant sur son contenu. On peut résoudre par des algorithmes de catégorisation, divers problèmes de catégorisation de textes. En ce qui concerne l'analyse de la qualité d'un texte littéraire ou scientifique, différentes approches ont déjà été effectuées et différents algorithmes de catégorisation mis en oeuvre. Il existe ainsi plusieurs travaux qui concernent la qualité d'un texte littéraire, mais la plupart ne sont pas pertinents car ils définissent la notion de qualité dans un sens qui leur est propre et donc non réellement indépendante des facteurs qui sont choisis. On peut citer le brevet US7200606 dans lequel la notion de qualité est considérée dans le sens de pertinence vis-à-vis d'une requête utilisateur. Ainsi, une des approches pertinentes est l'approche dite intrinsèque selon laquelle il s'agit d'utiliser des algorithmes de catégorisation pour classer des documents en fonction de caractéristiques textuelles (indicateurs) qui sont intrinsèques au texte: composition, éléments de style, précision du vocabulaire par rapport à un sujet, construction des raisonnements, orthographe, etc. Les caractéristiques de tri relèvent d'approches orthographiques, lexicales et stylistiques très variables, parmi lesquelles la longueur des mots, régularité du vocabulaire, analyse des cooccurrences, usage de la ponctuation, détection d'erreurs grammaticales et orthographiques, facilité de lecture, liens lexicaux avec un thème ou un genre, etc. Ces caractéristiques liées au texte peuvent être complétées utilement par des méthodes sémantiques faites autour des rapports entre qualité et respect des règles orthographiques et typographiques, de la grammaire (mesure de qualité sur des n-grammes longs), de la capitalisation, de la densité du texte (rapport entre lettres et espaces) ou de son entropie (au niveau des mots, voire au niveau des caractères). La lexicométrie, méthode d'analyse quantitative des textes, peut s'avérer un outil utile pour la mesure de qualité ou de non-qualité, paradoxalement. Quels que soient les méthodes et les algorithmes de catégorisation retenus, la difficulté première réside dans le choix des indicateurs et de l'algorithme, et dans leur combinaison pour évaluer la qualité littéraire d'un texte. On trouve peu de littérature qui s'intéresse à la qualité littéraire d'un texte par approche intrinsèque. On peut citer tout d'abord les publications [1] et [2] qui décrivent une extraction d'indicateurs intrinsèques à partir d'un texte littéraire brut puis une régression ou une classification pour atteindre la valeur cible que l'on cherche à déterminer. Le choix des indicateurs reste relativement sommaire, ce qui ne permet pas d'affiner avec une très bonne précision l'analyse de la qualité. La publication [3] divulgue une prédiction de la qualité à partir d'un nombre restreint d'articles de journal (journal « Wall Street Journal »). L'analyse selon cette publication reste basique, puisque seule une corrélation est établie entre chaque indicateur et une valeur cible réalisée sur une trentaine d'articles de référence. Le demandeur a déposé le 22 décembre 2014 sous le n° 14 63074 une demande de brevet française relative à un procédé d'analyse de la qualité littéraire d'un texte, qui permet d'assurer une meilleure précision de l'analyse. Il existe encore un besoin non pris en compte qui est d'améliorer l'analyse de la qualité littéraire en fonction du profil de lecteur, c'est-à-dire en fonction de ses goûts. Le but de l'invention est de répondre au moins en partie à ce besoin. Exposé de l'invention Pour ce faire, l'invention a pour objet un procédé d'analyse de la qualité littéraire d'un texte selon le profil de lecteur, mis en oeuvre par un programme d'ordinateur, comprenant les étapes suivantes : a/ recevoir une pluralité de lecteurs dit lecteurs d'apprentissage ; a'/ recevoir une pluralité de textes dit textes d'apprentissage; b/ extraire pour chaque lecteur d'apprentissage et pour les textes d'apprentissage, ses indicateurs propres que sont le nombre de textes lus, le rapport entre sa manifestation d'intérêt et le nombre des textes lus, et les moyennes des notes données aux textes lus ; c/ générer une représentation vectorielle de chaque lecteur d'apprentissage à partir de ses indicateurs propres; d/ soumettre les différentes représentations vectorielles des lecteurs d'apprentissage à un classifieur de partitionnement de données de sorte à obtenir des groupes de lecteurs d'apprentissage ; e/ générer une représentation vectorielle pour chaque groupe de lecteurs d'apprentissage en faisant la moyenne des représentations vectorielles des lecteurs du groupe; b'/ extraire les indicateurs numériques de chaque texte d'apprentissage, c'/ générer une représentation vectorielle de chaque texte d'apprentissage à partir de ses indicateurs numériques, f/ pour chaque groupe de lecteurs, faire l'apprentissage entre les composantes de la représentation vectorielle des textes d'apprentissage et des représentations vectorielles des groupes de lecteurs et la qualité littéraire connue de chaque texte d'apprentissage, de sorte à obtenir un modèle prédictif de la qualité littéraire en fonction des groupes de lecteurs; g/ recevoir un nouveau texte à analyser ; h/ appliquer au nouveau texte et à partir d'un groupe donné de lecteurs le modèle prédictif construit à l'étape d/, de sorte à obtenir la qualité littéraire du nouveau texte selon le groupe de lecteurs donné. On précise que selon l'invention, la partition de données (« data clustering » en anglais) permet d'obtenir des groupes de lecteurs qui définissent donc chacun un profil de lecteurs. L'inventeur de la présente invention est parti du constat que l'invention selon la demande de brevet FR 14 63074 précitée permet bien d'améliorer la précision de l'analyse littéraire d'un texte, mais qu'elle n'était pas complètement satisfaisante car elle ne permet pas d'avoir une qualité de texte en fonction du profil du lecteur, c'est-à-dire en fonction de ses goûts. Aussi, l'invention consiste essentiellement à prendre en compte le profil de lecteur dans la prédiction de la qualité d'un texte littéraire. L'invention concerne également un programme d'ordinateur de mise en oeuvre du procédé décrit précédemment. Description détaillée D'autres avantages et caractéristiques de l'invention ressortiront mieux à la lecture de la description détaillée d'exemples de mise en oeuvre de l'invention faite à titre illustratif et non limitatif en référence aux figures suivantes : - figure 1 : représentation schématique de la représentation vectorielle d'un groupe de lecteurs d'apprentissage selon leur profil ; - figure 2 : organigramme des étapes d'apprentissage du procédé selon l'invention mis en oeuvre par programme d'ordinateur ; - figure 3 : organigramme des étapes de prédiction de l'analyse de la qualité littéraire subjective du procédé selon l'invention, également mis en oeuvre par programme d'ordinateur. Par la suite, on utilise indifféremment les termes « algorithme » et «programme d'ordinateur » qui est le codage lisible par un ordinateur de l'algorithme. Ainsi, un algorithme est un plan d'exécution pour un ordinateur. L'ordinateur prend des données entrantes, applique le traitement décrit par l'algorithme et renvoie en retour un résultat à l'utilisateur. Dans le cadre de l'invention, l'algorithme mis en oeuvre pour l'analyse prédictive est un algorithme d'apprentissage automatique (« machine learning » en anglais). Dans ce type d'algorithme, ses règles de décisions ne sont pas fixées à la conception, car il est conçu pour qu'il puisse modifier ses règles de décisions, en fonction des données qu'il voit. Le procédé proprement dit selon l'invention, comprend trois phases successives, la première étant une phase de « data clustering, » la deuxième étant une phase d'apprentissage et la dernière étant une phase de prédiction successives. On réalise tout d'abord la phase de clustering. On considère tout d'abord toutes les métadonnées incluses dans chaque texte d'apprentissage que sont par exemple : - le genre littéraire : romance, drame, policier, haiku, alexandrin... - l'âge du lecteur du texte : 6, 8, 10... ans, - les émotions exprimées, c'est-à-dire qui sont ressenties par les personnages des textes. En ce qui concerne les émotions considérées, on choisit de préférence les six suivantes: bonheur, affection, intérêt, tristesse, mélancolie, colère et peur. Pour un lecteur donné, on prend alors en compte des mesures de son goût, c'est-à-dire des indicateurs qui lui sont propres, pour chaque métadonnée de chaque texte d'apprentissage. Ces indicateurs qui lui sont propres sont établis comme suite : - le nombre de ces textes lus ; - le rapport entre sa manifestation d'intérêt (« like » en anglais) et le nombre des textes lus des moyennes, - la moyenne de ses notes. L'algorithme génère alors une représentation vectorielle de chaque lecteur d'apprentissage à partir de ses indicateurs propres. On regroupe alors les lecteurs d'apprentissage en n groupes selon une technique usuelle de « data clustering », par proximité des représentations vectorielles. A titre d'exemple, n est égal à 20. On précise que la proximité est à considérer au sens mathématique du terme, c'est-à-dire qu'elle est obtenue en calculant le cosinus entre les représentations vectorielles. Pour chaque groupe de lecteurs qui détermine donc un profil de lecteurs, on génère une représentation vectorielle pour chaque groupe de lecteurs en faisant la moyenne des représentations vectorielles des lecteurs du groupe (étape Si). En parallèle, l'algorithme réalise ensuite les étapes suivantes, à partir des textes d'apprentissage à analyser. On extrait les indicateurs numériques des textes d'apprentissage (étape S'O). Puis, on génère une représentation vectorielle de chaque texte d'apprentissage à partir de ses indicateurs numériques (étape S'1). L'algorithme peut avantageusement procéder de la manière suivante pour la construction de la représentation vectorielle, à partir d'un texte brut à analyser. Il génère plusieurs sous-représentations vectorielles du texte reçu pour obtenir des indicateurs bas-niveau. La première sous-représentation consiste en une représentation par sac de mots selon laquelle on analyse les distributions de chaque mot et on analyse les distributions de certains unigrams, bi-grams, 3-grams, 4-grams, 5-grams et 6-grams à l'échelle du mot et des caractères. Ainsi, dans cette étape, le texte est transformé en une suite de tokens selon des expressions régulières de découpage. La représentation par sac-de-mots ne tient pas compte de la mise en forme du texte, de l'ordre des mots, de leur sens ou des relations structurées par des mots de liaison. La deuxième sous-représentation représente la structure morphosyntaxique, selon laquelle on calcule les paramètres des distributions des mots grammaticaux dans le texte et on analyse les distributions de chaque fonction syntaxique dans le texte, les paragraphes, les phrases et les propositions. Les mots grammaticaux sont les articles, les prépositions, les adjectifs non qualificatifs. Le calcul des paramètres de la distribution des mots grammaticaux est fait à partir de critères choisis parmi la moyenne, la variance, l'écart type, l'entropie, la distance entre les distributions ou une combinaison de ceux-ci. Une fonction syntaxique est un verbe, un nom, un adjectif, un adverbe, un déterminant, une préposition. Ainsi, cette étape permet d'extraire des éléments de structure du texte dans pour autant monter jusqu'au niveau pragmatique de la compréhension générale du texte. La troisième sous-représentation représente des fautes d'écriture selon laquelle on calcule le nombre de fois où chaque règle de chacune des catégories de fautes d'écriture n'est pas respectée. Les fautes d'écriture sont les fautes d'orthographe, de grammaire, de conjugaison, d'anglicisme, de syntaxe, d'expression, et d'usage. Ainsi, cette étape consiste à analyser automatiquement les différents types de fautes apparaissant dans le texte. La quatrième sous-représentation représente la stylométrie selon laquelle on calcule la longueur du texte, la longueur des paragraphes, la longueur des phrases, la longueur des propositions, la longueur des mots en caractères, le nombre de chaque signe de ponctuation, et enfin les paramètres de la distribution des dialogues dans le texte. La longueur du texte est calculée à partir du nombre de paragraphes, phrases, propositions, mots, caractères. La longueur d'un paragraphe est calculée à partir du nombre de phrases, propositions, mots, caractères. La longueur des phrases est calculée à partir du nombre de propositions, mots, caractères. La longueur des propositions est calculée à partir du nombre de mots, caractères. Le calcul des paramètres de la distribution des dialogues dans le texte est fait à partir de critères choisis parmi la moyenne, la variance, l'écart type, l'entropie, la distance entre les distributions ou une combinaison de ceux-ci. Ainsi, cette étape permet d'identifier le style du texte. A partir de toutes les sous-représentations précédentes, l'algorithme génère une cinquième sous-représentation qui est une méta-description selon laquelle on analyse le vocabulaire du texte par les différents niveaux de rareté des mots, les champs lexicaux utilisés, les mots adaptés à la jeunesse, et on calcule des agrégations (sommes) et ratios (divisions) des indicateurs bas-niveau obtenus précédemment. On donne ci-après un exemple d'agrégation calculé à partir d'indicateurs bas niveau qui sont les suivants: - NIN = nombre de verbes à l'infinitif - NPR = nombre de verbes au présent - NFU = nombre de verbes au futur - NPA = nombre de verbes au passé. L'agrégation calculé donne un indicateur de niveau intermédiaire NV qui est le nombre total de verbes, soit NV = NIN + NPR + NFU + NPA. On donne ci-après un exemple de ratio calculé à partir d'indicateurs bas niveau qui sont les suivants: - NP = nombre de phrases - NV = nombre de verbes. Le ratio calculé donne un indicateur de niveau intermédiaire NM qui est le nombre moyen de verbes par phrases, soit NM = NV / NP. Ainsi, cette étape permet d'obtenir des méta-descriptions telles que la lisibilité, l'étendue du vocabulaire ou la cohésion lexicale. A partir de la sous-représentation par sac-de-mots, l'algorithme génère une sixième sous-représentation qui représente des champs lexicaux présents dans le texte, par une analyse en composantes principales (PCA, acronyme anglais pour « Principal Components Analysis ») et/ou une analyse sémantique latente (LSA, acronyme anglais pour « Latent Semantic Analysis ») et/ou une factorisation en matrices non négatives (NMF, acronyme anglais pour « Non-negative Matrix Factorization »). Il s'agit donc ici d'une étape de réduction de dimensionnalité pour obtenir des champs lexicaux. Lorsqu'on obtient trop de champs lexicaux par ces trois analyses, l'algorithme génère une étape supplémentaire de réduction de la dimensionnalité. Cette étape consiste donc à mettre tous les champs lexicaux ensemble et à n'en conserver qu'un nombre restreint afin que ceux conservés soient des champs uniques et pertinents. Autrement dit, en cas de redondance dans les composantes du vecteur généré selon l'étape précédente, cette étape permet de sélectionner les composantes non redondantes du vecteur. Une fois toutes les sous-représentations vectorielles générées, l'algorithme réalise leur concaténation en une représentation finale du texte. L'algorithme fait alors l'apprentissage entre les composantes de la représentation vectorielle des textes d'apprentissage et des représentations vectorielles des groupes de lecteurs et la qualité littéraire connue de chaque texte d'apprentissage, de sorte à obtenir un modèle prédictif de la qualité littéraire en fonction des groupes de lecteurs (étape S2). On précise que pour obtenir la qualité littéraire connue de chaque texte d'apprentissage, on considère la population d'experts de lecture (lecteurs d'apprentissage). Chaque lecteur donne également une note pour chaque texte littéraire d'apprentissage. Les notes d'un groupe donné obtenu par le clustering précédent mesurent la qualité littéraire de chaque texte pour ledit groupe et elle sont pondérées en étant centrées puis réduites selon 1 ' équation: x' = (x - m) / s où : x est la note donnée entre 1 et 10 par un individu M pour une oeuvre, m est la moyenne des notes données par M, s est l'écart-type des notes données par M, x' est la nouvelle note corrigée. Ainsi, x' quantifie la qualité littéraire connue d'un groupe donné d'experts ou lecteurs d'apprentissage. Pour établir la prédiction de la qualité littéraire d'un nouveau texte l'algorithme procède comme suit. On applique au nouveau texte et à partir d'un groupe donné de lecteurs le modèle prédictif construit précédemment de sorte à obtenir la qualité littéraire du nouveau texte selon le groupe de lecteurs donné (étape S3). L'invention qui vient d'être décrite permet ainsi d'obtenir de manière précise et fiable la qualité littéraire de tout texte selon un profil de lecteurs, le profil de lecteurs étant déterminé au préalable par clustering des lecteurs d'apprentissage. De nombreuses variantes et améliorations peuvent être envisagées sans pour autant sortir du cadre de l'invention. REFERENCE S CITEES [1]: «DEFT2014, analyse automatique de textes littéraires et scientifiques en langue française», Lecluze and al., 21ème Traitement Automatique des Langues Naturelles, Marseille, 2014; [2] : « Catégorisation sémantique fine des expressions d'opinion pour la détection de consensus », Benamara and al., 21ème Traitement Automatique des Langues Naturelles, Marseille, 2014; [3] : « Revisiting Readability: A Unified Framework for Predicting Text Quality », Pitler and al. In Proceedings of the Conference on Empirical Methods in Natural Language Processing (EMNLP '08). Association for Computational Linguistics, Stroudsburg, PA, USA, 186-195.15 REVENDICATIONS1. Procédé d'analyse de la qualité littéraire d'un texte selon le profil de lecteur, mis en oeuvre par un (micro)processeur d'ordinateur, comprenant les étapes suivantes : a/ recevoir une pluralité de lecteurs dit lecteurs d'apprentissage ; a'/ recevoir une pluralité de textes dit textes d'apprentissage; b/ extraire pour chaque lecteur d'apprentissage et pour les textes d'apprentissage, ses indicateurs propres que sont le nombre de textes lus, le rapport entre sa manifestation d'intérêt et le nombre des textes lus, et les moyennes des notes données aux textes lus ; c/ générer une représentation vectorielle de chaque lecteur d'apprentissage à partir ses indicateurs propres; d/ soumettre les différentes représentations vectorielles des lecteurs d'apprentissage à un classifieur de partitionnement de données de sorte à obtenir des groupes de lecteurs d'apprentissage ; e/ générer une représentation vectorielle pour chaque groupe de lecteurs d'apprentissage en faisant la moyenne des représentations vectorielles des lecteurs du groupe; b'/ extraire les indicateurs numériques de chaque texte d'apprentissage, c'/ générer une représentation vectorielle de chaque texte d'apprentissage à partir de ses indicateurs numériques, f/ pour chaque groupe de lecteurs, faire l'apprentissage entre les composantes de la représentation vectorielle des textes d'apprentissage et des représentations vectorielles des groupes de lecteurs et la qualité littéraire connue de chaque texte d'apprentissage, de sorte à obtenir un modèle prédictif de la qualité littéraire en fonction des groupes de lecteurs; g/ recevoir un nouveau texte à analyser ; h/ appliquer au nouveau texte et à partir d'un groupe donné de lecteurs le modèle prédictif construit à l'étape d/, de sorte à obtenir la qualité littéraire du nouveau texte selon le groupe de lecteurs donné. 2. Procédé d'analyse selon la revendication 1, comprenant, pour la génération vectorielle d'un texte d'apprentissage selon l'étape c/, les étapes suivantes :cl/ générer plusieurs sous-représentations vectorielles du texte reçu pour obtenir des indicateurs, dits indicateurs bas-niveau, les sous-représentations consistant en : - une représentation par sac de mots selon laquelle on analyse les distributions de chaque mot et on analyse les distributions de certains unigrams, bi-grams, 3-grams, 4-grams, 5-grams et 6-grams à l'échelle du mot et des caractères, - une représentation dite de structure morphosyntaxique, selon laquelle on calcule les paramètres des distributions des mots grammaticaux dans le texte et on analyse les distributions de chaque fonction syntaxique dans le texte, les paragraphes, les phrases et les propositions, - une représentation des fautes d'écriture selon laquelle on calcule le nombre de fois où chaque règle de chacune des catégories de fautes d'écriture n'est pas respectée, - une représentation de stylométrie selon laquelle on calcule la longueur du texte, la longueur des paragraphes, la longueur des phrases, la longueur des propositions, la longueur des mots en caractères, le nombre de chaque signe de ponctuation, et enfin les paramètres de la distribution des dialogues dans le texte ; c2/ générer: - une méta-description selon laquelle on analyse le vocabulaire du texte par les différents niveaux de rareté des mots, les champs lexicaux utilisés, les mots adaptés à la jeunesse, et on calcule des agrégations et ratios des indicateurs bas-niveau obtenus en 20 cil; - une représentation des champs lexicaux présents dans le texte à partir de la =présentation par sac de mots effectuée en cil, par analyse en composantes principales (PCA, acronyme anglais pour « Principal Components Analysis ») et/ou une analyse sémantique latente (LSA, acronyme anglais pour « Latent Semantic Analysis ») et/ou une 25 factorisation en matrices non négatives (NMF, acronyme anglais pour « Non-negative Matrix Factorization »). c3/ concaténation de sous-représentation vectorielles générées en cl/ et c2/. 3. Programme d'ordinateur comprenant des instructions de code de programme pour l'exécution des étapes du procédé selon la revendication précédente lorsque ledit 30 programme est exécuté sur un ordinateur.