Recherche:Analyse de complexité des textes coutumostratiques
Cette page à vocation à résumer des recherches relatives à l'évaluation métrique du niveau de difficulté que représente la lecture d'un texte.
Contexte
modifierAfin d'aider les rédacteurs à estimer la difficulté que représente la lecture de leurs textes et de disposer d'un moyen objectif de vérifier la pertinence d'un texte pour un niveau de lettrisme donnée, il est possible de fournir directement des scores en marge de l’interface de rédaction.
Cet article vise donc à faire un tour d'horizon des différentes métriques existantes et envisageable, de faire un état de l'art des outils logiciels existant, et d'établir une feuille de route pour les outils intégrables dans une interface de rédaction.
Métriques
modifierPour évaluer la difficulté de lecture d'un texte, il convient d'abord d'établir les métriques qui permettent de la quantifier. C’est le propos de cette section que de détailler les métriques possibles en la matière.
Nombre de caractères
modifierLe nombre de caractères d'un texte est assurément l’un des indicateurs les plus simple à quantifier. Cependant son intérêt est fort limité pour ce qui est d’assister le rédacteur à adapter son texte à un niveau donnée. En effet le rédacteur aura déjà intuitivement une idée de cette complexité en survolant le texte.
Le nombre de caractères distincts à lui peut d’intérêt. Tout au plus peut-il aider pour évaluer des cas très spécifiques tels que « toutes les lettres de l’alphabet, ou seulement un sous-ensemble de ces lettres, apparaissent au moins une fois dans le texte ».
Difficulté de mise en œuvre
modifierA priori aucune.
Nombre de mot par phrase
modifierLe corolaire phrase courte/phrase simple est l’un des plus fréquemment avancé.
S’il s’agit d'un bon indicateur, qui plus est assez simple en mettre en œuvre. Il ne peut cependant suffire à une métrique de la complexité effective des phrases concernés. En effet, un aphorisme ou un haĭku zen seront court tout en étant souvent porteur d’une sémantique complexe.
À noter qu’il s’agit bien d’évaluer la complexité, et non la qualité littéraire. Ainsi une phrase de Marcel Proust sera longue mais sa qualité littéraire n’en ai pas moins reconnue.
Difficulté de mise en œuvre
modifierLa segmentation des phrases peut être plus difficile que ce qui pourrait être présumé intuitivement. Par exemple dans le paragraphe suivant :
Socrate (en grec ancien Σωκράτης / Sōkrátēs) est un philosophe grec du Ve siècle av. J.-C. (né vers -470/469, mort en -399). Il est connu comme l’un des créateurs de la philosophie morale. Socrate n’a laissé aucun écrit, mais sa pensée et sa réputation se sont transmises par des témoignages indirects. »
Une analyse qui se contenterait d’une simple reconnaissance de point comme marqueur de fin de phrase produira des résultats erronés du fait de l’utilisation de points comme marqueurs abréviation.
Nombre de mots
modifierMot est à comprendre ici comme un ensemble de lettres groupées et séparées des autres par des espaces ou autres caractères de ponctuation outre le trait d’union.
Le nombre de mots, à l’instar du nombre de caractères est une métrique de faible intérêt en termes d’assistance au rédacteur.
Le nombre de mots distincts permet éventuellement d’évaluer la diversité du vocabulaire d’une façon approximative mais simple à mettre en œuvre.
Difficulté de mise en œuvre
modifierSi par mot on se restreint à la définition précédemment donné, alors il s’agit en fait simplement d’homographes, et il n’y a là a priori aucune difficulté particulière.
Si en revanche dans une phrase comme « L’est est leste et lire des livres délivre. » il faut distinguer le substantif « est » désignant un point cardinal du verbe « être », le problème demande alors a minima une analyse sémantique et s’avère autrement plus complexe. À cela s’ajoute l’éventuel regroupement par lemme plutôt que par graphie, qui nécessite une phase de lemmatisation. Voir la section dédiée aux lemmes.
Banalité du vocabulaire
modifierLa fréquence d’emploi d’un mot dans l’usage courant peut s’avérer un indicateur intéressant pour estimer la difficulté qu’un lecteur aura à le comprendre, en particulier chez l’enfant, en supposant qu’il est plus facile d’interpréter des mots déjà bien acquis au moins à l’oral.
La possibilité de repérer le vocabulaire moins fréquent peut permettre de n’en introduire qu'une variété limitée ; dans une quantité adapté au niveau du lecteur. Couplé avec une analyse du nombre d’occurrence de chaque lexème, il peut même permettre de s’assurer que le vocabulaire moins fréquent soit répété suffisamment pour augmenter les probabilité de son acquisition. Cela s’avère d’autant plus crucial pour les plus jeunes lecteurs si le facteur de corrélation entre age d’acquisition et de faciliter de lecture est pris en compte[1].
L’âge d’acquisition peut donc également être envisagé comme critère supplémentaire et distinct permettant d’établir des évaluations de la difficulté que représente la lecture d’un texte par tranche d’âge.
Difficulté de mise en œuvre
modifierLa principale difficulté d’un telle indicateur est la nécessité de disposer préalablement d’une base de données des fréquences d’utilisation des mots. À cela s’ajoute la problématique de l’établissement de la correspondance entre graphies et lexèmes. Pour la première problématique, de telles bases de données existent clé en main.
C’est le cas des jeux de données utilisée par Google Books Ngram Viewer qui sont disponibles sous licence Creative Commons Attribution 3.0 Unported[2].
C’est également le cas de Lexique 3[3][4] une base de données qui fournit pour 135 000 mots du français 55 000 lemmes. Elle comprend les représentations orthographiques et phonémiques, la syllabation, la catégorie grammaticale, le genre et le nombre, les fréquences, les lemmes associés, et plus encore. En revanche cette base de données est diffusé sous une licence non-libre : BY-NC-SA-3.0-FR. L’un des points intéressant de cette base de donnée est la présence de données de fréquence orale, qui s’appuie sur un corpus de sous-titres d’œuvres audio-visuelles, notamment de films et de séries télévisés[5][6].
Pour l’âge d’acquisition de chaque terme il existe également des bases de données spécifiques. CHACQFAM par exemple est téléchargeable en ligne, cependant sans mention de licence ce qui laisse de fait sous un statut juridique restrictif[7]. Elle est en revanche accompagné d’un article documentant les objectifs et la méthodologie ayant conduit à la constituer[8].
Parmi les autres ressources disponibles sur le sujet, les banques de données suivantes constituent des pistes potentielles :
- Brulex[9][10]
- Bonin, P., Méot, A., Aubert, L., Malardier, N., Niedenthal, N., & Capelle-Toczek, M.-C. (2003). Normes de concrétude, de valeur d’imagerie, de fréquence subjective et de valence émotionnelle pour 866 mots Chalard, M., Bonin, P., Méot, A., Boyer, B., & Fayol M. (2003). Objective age-of-acquisition (aoa) norms for a set of 230 object names in French: Relationships with psycholinguistic variables, the English data from Morrison et al. (1997), and naming latencies. European Journal of Cognitive Psychology, 15(2), 209-245
- 400AoA[11][12]
- La page Documentation Autres Bases sur le site de Lexique
Nombre de lemmes distincts
modifierLe nombre de lemmes, c’est-à-dire de termes canoniques servant d’entrée lexicale d’une unité abstraite de vocabulaire, permet de donner un indicateur de la variété du vocabulaire employé dans un texte, indépendamment des flexions. Ainsi un texte où apparaît et cheval et chevaux ne verra pas cette métrique augmenter. En revanche chevaux et équestres sont généralement lématisés en deux entrées distincts et conduiront donc à l’accroissement de l’indicateur du nombre de lemme.
Difficulté de mise en œuvre
modifierEn plus de nécessiter la distinction entre les homographes, une telle analyse nécessite de disposer d’une base de données exhaustive des flexions de chaque mot de la langue cible, où au moins un base initiale suffisamment vaste qui puisse être complété au fil de l’eau.
Note: outre l’association d’une graphie à un lemme, il pourrait être envisagé d’induire des associations à des lexies, dont des locutions comme « les voyages forment la jeunesse ».
Nombre de mots utilisant des flexions exceptionnelles
modifierLa mise à disposition des lexèmes présents dans le texte permettrait également de rapporter la quantité de flexions dérogeant aux cas les plus généraux.
Ainsi dans le cas où des mots avec des flexions exceptionnelles apparaissent, l’analyse peut offrir de mettre en exergue l’usage ou non de tout ou partie des flexions correspondantes. Par exemple si le texte utilise le mot « cheval », le rapport d’analyse pourrait indiquer s’il contient également le mot « chevaux ».
Complexité grapho-phonologiques
modifierPour les langues dont l’écriture n’est pas phonétique, l’association grapho-phonologique représente un défi important pour l’apprenant. C’est effectivement le cas pour le français et l’anglais qui ont des écritures phono-généalogiques.
Aussi des indicateurs sur la complexité des associations grapho-phonologiques présentent dans le texte serait certainement d’une grande utilité pour évaluer la pertinence d’un texte pour un niveau de lecture donnée.
Difficulté de mise en œuvre
modifierOutre l’association des graphies à des lexèmes, cette analyse requière une base de données de correspondance entre lexèmes et prononciations phonologiques.
Analyse des solutions logicielles existantes
modifierL’analyse de l’existant des outils existants se focalisera sur les outils disposant à minima d’un adaptateur dans le langage Ruby.
Matrice d’inventaire des logiciels évalués
modifierNom | Technologies sous-jacente | Création | Dernière mise à jour | Fonctionnalités | |
---|---|---|---|---|---|
Multilingue | Segmentation de phrases | ||||
Treat | Ruby, java[notes 1] | 05/06/2017 | |||
TXM | Oui | ? | |||
Évaluation des solutions existantes pour l’analyse de texte
modifierCette section développe un état de l’art en matière de logiciel permettant l’analyse de texte, notamment ceux permettant de dégager la typologie et la fréquence d’occurrence des items lexicaux pour évaluer le niveau de difficulté de lecture du texte.
L’analyse présente les outils regroupés par technologies sous-jacentes. Cela permet notamment d’évaluer rapidement les possibilités d’intégration à un projet existant sans y introduire d’hétérogénéité qui est souvent facteur de complexité de maintenance et de coût en termes de performance d’exécution. Ceci étant les interactions entre composants logiciels reposant sur des socles technologiques est largement éprouvé, et les considérations mentionnés sont souvent largement compensé par la facilité global de de mise en œuvre.
Python
modifierNLTK
modifierNatural Language Toolkit (NLTK) est une bibliothèque logicielle en Python permettant un traitement automatique des langues.
Ruby
modifierRuby est un langage de programmation interprété, orienté objet et multi-paradigme. Son écosystème comprend de nombreuses solutions relatives au traitement automatique des langues coutumostratiques. D’autres projet font déjà œuvre de collecte des ressources afférentes[13]. Les sous-section qui suivent présentent de manière plus détaillée les solutions pertinent dans le cadre du présent projet.
Treat
modifierTreat est une boîte à outils pour le traitement des langues coutumostratiques et la linguistique computationnelle. Il vise à construire un framework indépendant des langages et des algorithmes pour Ruby avec des fonctions de récupération de documents, de segmentation, de lexicalisation, d'étiquetage de parties du discours, d'extraction de mots clés et de reconnaissance d'entités nommées[14].
Installation
modifierL’installation du module Ruby dans le cadre du présent test a été réalisé sans encombre. Pour l’installation du paquet linguistique français en revanche des difficultés sont apparues[15].
Aussi en plus du français, ont également été conduit sur un corpus anglais, langue pris en charge par défaut dans les composants logiciels testés, permettant ainsi d’évaluer la solution dans un cas optimum.
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk # à adapater
git clone git@github.com:louismullie/treat.git
# gem install wordnet # suggested by install log
gem build treat.gemspec
gem install treat-2.1.0.gem
require 'treat’
Treat::Core::Installer.install # english is default
Segmentation de phrase
modifier# source : https://en.wikipedia.org/wiki/Eratosthenes
texts = {}
texts[:en] = %q{Eratosthenes of Cyrene (/ɛrəˈtɒsθəniːz/; Greek: Ἐρατοσθένης ὁ Κυρηναῖος, IPA: [eratostʰénɛːs]; c. 276 BC – c. 195/194 BC) was a Greek mathematician, geographer, poet, astronomer, and music theorist. He was a man of learning, becoming the chief librarian at the Library of Alexandria. He invented the discipline of geography, including the terminology used today.
He is best known for being the first person to calculate the circumference of the Earth, which he did by applying a measuring system using stadia, a standard unit of measure during that time period. His calculation was remarkably accurate. He was also the first to calculate the tilt of the Earth's axis (again with remarkable accuracy). Additionally, he may have accurately calculated the distance from the Earth to the Sun and invented the leap day. He created the first map of the world, incorporating parallels and meridians based on the available geographic knowledge of his era.
Eratosthenes was the founder of scientific chronology; he endeavored to revise the dates of the chief literary and political events from the conquest of Troy. Eratosthenes dated the sack of Troy to 1183 BC. In number theory, he introduced the sieve of Eratosthenes, an efficient method of identifying prime numbers.
He was a figure of influence in many fields. According to an entry in the Suda (a 10th-century reference), his critics scorned him, calling him Beta (the second letter of the Greek alphabet) because he always came in second in all his endeavors. Nonetheless, his devotees nicknamed him Pentathlos after the Olympians who were well rounded competitors, for he had proven himself to be knowledgeable in every area of learning. Eratosthenes yearned to understand the complexities of the entire world.
}
# source: https://fr.wikipedia.org/wiki/Socrate
texts[:fr] = %q{
Socrate (en grec ancien Σωκράτης / Sōkrátēs) est un philosophe grec du Ve siècle av. J.-C. (né vers -470/469, mort en -399). Il est connu comme l’un des créateurs de la philosophie morale. Socrate n’a laissé aucun écrit, mais sa pensée et sa réputation se sont transmises par des témoignages indirects. Ses disciples Platon et Xénophon ont notablement œuvré à maintenir l'image de leur maître, qui est mis en scène dans leurs œuvres respectives. Les philosophes Démétrios de Phalère, et Maxime de Tyr dans sa Neuvième Dissertation1 ont écrit que Socrate est mort à l’âge de 70 ans.
Déjà renommé de son vivant, Socrate est devenu l’un des penseurs les plus illustres de l'histoire de la philosophie. Sa condamnation à mort et sa présence très fréquente dans les dialogues de Platon ont contribué à faire de lui une icône philosophique majeure. La figure de Socrate a été discutée, reprise, et réinterprétée jusqu'à l'époque contemporaine. Socrate est ainsi célèbre au-delà de la sphère philosophique, et son personnage entouré de légendes.
En dépit de cette influence culturelle, très peu de choses sont connues avec certitude sur le Socrate historique. Les témoignages le concernant sont souvent discordants, et la restitution de la vie ou la pensée originelle de Socrate est une approche sur laquelle les spécialistes ne s'accordent pas.
Et simplement… Ça fonctionne ?! Espérons qu'oui, M. de la Palice.
}
require 'treat'
require 'yaml' # for punkt
include Treat::Core::DSL
texts.each do |lang,text|
puts lang
puts '=' * 80
[:srx, :tactful, :punkt, :stanford, :scalpel].each do |processor|
n = 1
passage = section text
passage.chunk
puts "\nwith processor #{processor}"
passage.paragraphs.each do |p|
p.segment processor
p.sentences.each do |s|
puts "#{n}: #{s.to_s}"
n += 1
end
end
end
end
en ======================================================================================================================== with processor srx 1: Eratosthenes of Cyrene (/ɛrəˈtɒsθəniːz/; Greek: Ἐρατοσθένης ὁ Κυρηναῖος, IPA: [eratostʰénɛːs]; c. 276 BC – c. 195/194 BC) was a Greek mathematician, geographer, poet, astronomer, and music theorist. 2: He was a man of learning, becoming the chief librarian at the Library of Alexandria. 3: He invented the discipline of geography, including the terminology used today. 4: He is best known for being the first person to calculate the circumference of the Earth, which he did by applying a measuring system using stadia, a standard unit of measure during that time period. 5: His calculation was remarkably accurate. 6: He was also the first to calculate the tilt of the Earth's axis (again with remarkable accuracy). 7: Additionally, he may have accurately calculated the distance from the Earth to the Sun and invented the leap day. 8: He created the first map of the world, incorporating parallels and meridians based on the available geographic knowledge of his era. 9: Eratosthenes was the founder of scientific chronology; he endeavored to revise the dates of the chief literary and political events from the conquest of Troy. 10: Eratosthenes dated the sack of Troy to 1183 BC. 11: In number theory, he introduced the sieve of Eratosthenes, an efficient method of identifying prime numbers. 12: He was a figure of influence in many fields. 13: According to an entry in the Suda (a 10th-century reference), his critics scorned him, calling him Beta (the second letter of the Greek alphabet) because he always came in second in all his endeavors. 14: Nonetheless, his devotees nicknamed him Pentathlos after the Olympians who were well rounded competitors, for he had proven himself to be knowledgeable in every area of learning. 15: Eratosthenes yearned to understand the complexities of the entire world. with processor tactful 1: Eratosthenes of Cyrene (/ɛrəˈtɒsθəniːz/; Greek: Ἐρατοσθένης ὁ Κυρηναῖος, IPA: [eratostʰénɛːs]; c. 276 BC – c. 2: 195/194 BC) was a Greek mathematician, geographer, poet, astronomer, and music theorist. 3: He was a man of learning, becoming the chief librarian at the Library of Alexandria. 4: He invented the discipline of geography, including the terminology used today. 5: He is best known for being the first person to calculate the circumference of the Earth, which he did by applying a measuring system using stadia, a standard unit of measure during that time period. 6: His calculation was remarkably accurate. 7: He was also the first to calculate the tilt of the Earth's axis (again with remarkable accuracy). 8: Additionally, he may have accurately calculated the distance from the Earth to the Sun and invented the leap day. 9: He created the first map of the world, incorporating parallels and meridians based on the available geographic knowledge of his era. 10: Eratosthenes was the founder of scientific chronology; he endeavored to revise the dates of the chief literary and political events from the conquest of Troy. 11: Eratosthenes dated the sack of Troy to 1183 BC. 12: In number theory, he introduced the sieve of Eratosthenes, an efficient method of identifying prime numbers. 13: He was a figure of influence in many fields. 14: According to an entry in the Suda (a 10th-century reference), his critics scorned him, calling him Beta (the second letter of the Greek alphabet) because he always came in second in all his endeavors. 15: Nonetheless, his devotees nicknamed him Pentathlos after the Olympians who were well rounded competitors, for he had proven himself to be knowledgeable in every area of learning. 16: Eratosthenes yearned to understand the complexities of the entire world. with processor punkt 1: Eratosthenes of Cyrene (/ɛrəˈtɒsθəniːz/; Greek: Ἐρατοσθένης ὁ Κυρηναῖος, IPA: [eratostʰénɛːs]; c. 2: 276 BC – c. 3: 195/194 BC) was a Greek mathematician, geographer, poet, astronomer, and music theorist. 4: He was a man of learning, becoming the chief librarian at the Library of Alexandria. 5: He invented the discipline of geography, including the terminology used today. 6: He is best known for being the first person to calculate the circumference of the Earth, which he did by applying a measuring system using stadia, a standard unit of measure during that time period. 7: His calculation was remarkably accurate. 8: He was also the first to calculate the tilt of the Earth's axis (again with remarkable accuracy). 9: Additionally, he may have accurately calculated the distance from the Earth to the Sun and invented the leap day. 10: He created the first map of the world, incorporating parallels and meridians based on the available geographic knowledge of his era. 11: Eratosthenes was the founder of scientific chronology; he endeavored to revise the dates of the chief literary and political events from the conquest of Troy. 12: Eratosthenes dated the sack of Troy to 1183 BC. 13: In number theory, he introduced the sieve of Eratosthenes, an efficient method of identifying prime numbers. 14: He was a figure of influence in many fields. 15: According to an entry in the Suda (a 10th-century reference), his critics scorned him, calling him Beta (the second letter of the Greek alphabet) because he always came in second in all his endeavors. 16: Nonetheless, his devotees nicknamed him Pentathlos after the Olympians who were well rounded competitors, for he had proven himself to be knowledgeable in every area of learning. 17: Eratosthenes yearned to understand the complexities of the entire world. with processor stanford 1: Eratosthenes of Cyrene (/ɛrəˈtɒsθəniːz/; Greek: Ἐρατοσθένης ὁ Κυρηναῖος, IPA: [eratostʰénɛːs]; c. 276 BC – c. 195/194 BC) was a Greek mathematician, geographer, poet, astronomer, and music theorist. 2: He was a man of learning, becoming the chief librarian at the Library of Alexandria. 3: He invented the discipline of geography, including the terminology used today. 4: He is best known for being the first person to calculate the circumference of the Earth, which he did by applying a measuring system using stadia, a standard unit of measure during that time period. 5: His calculation was remarkably accurate. 6: He was also the first to calculate the tilt of the Earth's axis (again with remarkable accuracy). 7: Additionally, he may have accurately calculated the distance from the Earth to the Sun and invented the leap day. 8: He created the first map of the world, incorporating parallels and meridians based on the available geographic knowledge of his era. 9: Eratosthenes was the founder of scientific chronology; he endeavored to revise the dates of the chief literary and political events from the conquest of Troy. 10: Eratosthenes dated the sack of Troy to 1183 BC. 11: In number theory, he introduced the sieve of Eratosthenes, an efficient method of identifying prime numbers. 12: He was a figure of influence in many fields. 13: According to an entry in the Suda (a 10th-century reference), his critics scorned him, calling him Beta (the second letter of the Greek alphabet) because he always came in second in all his endeavors. 14: Nonetheless, his devotees nicknamed him Pentathlos after the Olympians who were well rounded competitors, for he had proven himself to be knowledgeable in every area of learning. 15: Eratosthenes yearned to understand the complexities of the entire world. with processor scalpel 1: Eratosthenes of Cyrene (/ɛrəˈtɒsθəniːz/; Greek: Ἐρατοσθένης ὁ Κυρηναῖος, IPA: [eratostʰénɛːs]; c. 2: 276 BC – c. 3: 195/194 BC) was a Greek mathematician, geographer, poet, astronomer, and music theorist. 4: He was a man of learning, becoming the chief librarian at the Library of Alexandria. 5: He invented the discipline of geography, including the terminology used today. 6: He is best known for being the first person to calculate the circumference of the Earth, which he did by applying a measuring system using stadia, a standard unit of measure during that time period. 7: His calculation was remarkably accurate. 8: He was also the first to calculate the tilt of the Earth's axis (again with remarkable accuracy). 9: Additionally, he may have accurately calculated the distance from the Earth to the Sun and invented the leap day. 10: He created the first map of the world, incorporating parallels and meridians based on the available geographic knowledge of his era. 11: Eratosthenes was the founder of scientific chronology; he endeavored to revise the dates of the chief literary and political events from the conquest of Troy. 12: Eratosthenes dated the sack of Troy to 1183 BC. 13: In number theory, he introduced the sieve of Eratosthenes, an efficient method of identifying prime numbers. 14: He was a figure of influence in many fields. 15: According to an entry in the Suda (a 10th-century reference), his critics scorned him, calling him Beta (the second letter of the Greek alphabet) because he always came in second in all his endeavors. 16: Nonetheless, his devotees nicknamed him Pentathlos after the Olympians who were well rounded competitors, for he had proven himself to be knowledgeable in every area of learning. 17: Eratosthenes yearned to understand the complexities of the entire world. fr ======================================================================================================================== with processor srx 1: Socrate (en grec ancien Σωκράτης / Sōkrátēs) est un philosophe grec du Ve siècle av. 2: J.-C. 3: (né vers -470/469, mort en -399). 4: Il est connu comme l’un des créateurs de la philosophie morale. 5: Socrate n’a laissé aucun écrit, mais sa pensée et sa réputation se sont transmises par des témoignages indirects. 6: Ses disciples Platon et Xénophon ont notablement œuvré à maintenir l'image de leur maître, qui est mis en scène dans leurs œuvres respectives. 7: Les philosophes Démétrios de Phalère, et Maxime de Tyr dans sa Neuvième Dissertation1 ont écrit que Socrate est mort à l’âge de 70 ans. 8: Déjà renommé de son vivant, Socrate est devenu l’un des penseurs les plus illustres de l'histoire de la philosophie. 9: Sa condamnation à mort et sa présence très fréquente dans les dialogues de Platon ont contribué à faire de lui une icône philosophique majeure. 10: La figure de Socrate a été discutée, reprise, et réinterprétée jusqu'à l'époque contemporaine. 11: Socrate est ainsi célèbre au-delà de la sphère philosophique, et son personnage entouré de légendes. 12: En dépit de cette influence culturelle, très peu de choses sont connues avec certitude sur le Socrate historique. 13: Les témoignages le concernant sont souvent discordants, et la restitution de la vie ou la pensée originelle de Socrate est une approche sur laquelle les spécialistes ne s'accordent pas. 14: Ça fonctionne ?! 15: Espérons qu'oui, M. de la Palice. with processor tactful 1: Socrate (en grec ancien Σωκράτης / Sōkrátēs) est un philosophe grec du Ve siècle av. J. -C. (né vers -470/469, mort en -399). 2: Il est connu comme l’un des créateurs de la philosophie morale. 3: Socrate n’a laissé aucun écrit, mais sa pensée et sa réputation se sont transmises par des témoignages indirects. 4: Ses disciples Platon et Xénophon ont notablement œuvré à maintenir l'image de leur maître, qui est mis en scène dans leurs œuvres respectives. 5: Les philosophes Démétrios de Phalère, et Maxime de Tyr dans sa Neuvième Dissertation1 ont écrit que Socrate est mort à l’âge de 70 ans. 6: Déjà renommé de son vivant, Socrate est devenu l’un des penseurs les plus illustres de l'histoire de la philosophie. 7: Sa condamnation à mort et sa présence très fréquente dans les dialogues de Platon ont contribué à faire de lui une icône philosophique majeure. 8: La figure de Socrate a été discutée, reprise, et réinterprétée jusqu'à l'époque contemporaine. 9: Socrate est ainsi célèbre au-delà de la sphère philosophique, et son personnage entouré de légendes. 10: En dépit de cette influence culturelle, très peu de choses sont connues avec certitude sur le Socrate historique. 11: Les témoignages le concernant sont souvent discordants, et la restitution de la vie ou la pensée originelle de Socrate est une approche sur laquelle les spécialistes ne s'accordent pas. 12: Et simplement… Ça fonctionne ? 13: Espérons qu'oui, M. de la Palice. with processor punkt 1: Socrate (en grec ancien Σωκράτης / Sōkrátēs) est un philosophe grec du Ve siècle av. 2: J. -C. 3: (né vers -470/469, mort en -399). 4: Il est connu comme l’un des créateurs de la philosophie morale. 5: Socrate n’a laissé aucun écrit, mais sa pensée et sa réputation se sont transmises par des témoignages indirects. 6: Ses disciples Platon et Xénophon ont notablement œuvré à maintenir l'image de leur maître, qui est mis en scène dans leurs œuvres respectives. 7: Les philosophes Démétrios de Phalère, et Maxime de Tyr dans sa Neuvième Dissertation1 ont écrit que Socrate est mort à l’âge de 70 ans. 8: Déjà renommé de son vivant, Socrate est devenu l’un des penseurs les plus illustres de l'histoire de la philosophie. 9: Sa condamnation à mort et sa présence très fréquente dans les dialogues de Platon ont contribué à faire de lui une icône philosophique majeure. 10: La figure de Socrate a été discutée, reprise, et réinterprétée jusqu'à l'époque contemporaine. 11: Socrate est ainsi célèbre au-delà de la sphère philosophique, et son personnage entouré de légendes. 12: En dépit de cette influence culturelle, très peu de choses sont connues avec certitude sur le Socrate historique. 13: Les témoignages le concernant sont souvent discordants, et la restitution de la vie ou la pensée originelle de Socrate est une approche sur laquelle les spécialistes ne s'accordent pas. 14: Et simplement… Ça fonctionne ? 15: Espérons qu'oui, M. de la Palice. with processor stanford 1: Socrate (en grec ancien Σωκράτης / Sōkrátēs) est un philosophe grec du Ve siècle av. 2: J.-C. 3: (né vers -470/469, mort en -399). 4: Il est connu comme l’un des créateurs de la philosophie morale. 5: Socrate n’a laissé aucun écrit, mais sa pensée et sa réputation se sont transmises par des témoignages indirects. 6: Ses disciples Platon et Xénophon ont notablement œuvré à maintenir l'image de leur maître, qui est mis en scène dans leurs œuvres respectives. 7: Les philosophes Démétrios de Phalère, et Maxime de Tyr dans sa Neuvième Dissertation1 ont écrit que Socrate est mort à l’âge de 70 ans. 8: Déjà renommé de son vivant, Socrate est devenu l’un des penseurs les plus illustres de l'histoire de la philosophie. 9: Sa condamnation à mort et sa présence très fréquente dans les dialogues de Platon ont contribué à faire de lui une icône philosophique majeure. 10: La figure de Socrate a été discutée, reprise, et réinterprétée jusqu'à l'époque contemporaine. 11: Socrate est ainsi célèbre au-delà de la sphère philosophique, et son personnage entouré de légendes. 12: En dépit de cette influence culturelle, très peu de choses sont connues avec certitude sur le Socrate historique. 13: Les témoignages le concernant sont souvent discordants, et la restitution de la vie ou la pensée originelle de Socrate est une approche sur laquelle les spécialistes ne s'accordent pas. 14: Et simplement… Ça fonctionne ?! 15: Espérons qu'oui, M. de la Palice. with processor scalpel 1: Socrate (en grec ancien Σωκράτης / Sōkrátēs) est un philosophe grec du Ve siècle av. 2: J. 3: -C. 4: (né vers -470/469, mort en -399). 5: Il est connu comme l’un des créateurs de la philosophie morale. 6: Socrate n’a laissé aucun écrit, mais sa pensée et sa réputation se sont transmises par des témoignages indirects. 7: Ses disciples Platon et Xénophon ont notablement œuvré à maintenir l'image de leur maître, qui est mis en scène dans leurs œuvres respectives. 8: Les philosophes Démétrios de Phalère, et Maxime de Tyr dans sa Neuvième Dissertation1 ont écrit que Socrate est mort à l’âge de 70 ans. 9: Déjà renommé de son vivant, Socrate est devenu l’un des penseurs les plus illustres de l'histoire de la philosophie. 10: Sa condamnation à mort et sa présence très fréquente dans les dialogues de Platon ont contribué à faire de lui une icône philosophique majeure. 11: La figure de Socrate a été discutée, reprise, et réinterprétée jusqu'à l'époque contemporaine. 12: Socrate est ainsi célèbre au-delà de la sphère philosophique, et son personnage entouré de légendes. 13: En dépit de cette influence culturelle, très peu de choses sont connues avec certitude sur le Socrate historique. 14: Les témoignages le concernant sont souvent discordants, et la restitution de la vie ou la pensée originelle de Socrate est une approche sur laquelle les spécialistes ne s'accordent pas. 15: Et simplement… Ça fonctionne ? 16: Espérons qu'oui, M. 17: de la Palice.
Pour l’échantillon anglais, c’est les processeur srx est standford qui s’en sortent le mieux, avec des segmentations exempt d’erreur.
Pour l’échantillon français, le processeur tactful fourni la segmentation la plus probante. Seul manque la segmentation sur un point de suspension suivi d’une majuscule.
À noter que lors de ces tests le processeur punkt n’a pas utilisé le paquet linguistique du français, du fait d’un problème de disponibilité de celui-ci. Cependant même en anglais pour lequel il dispose du paquet approprié, la segmentation s’est avéré erronée avec la non prise en compte de la présence d’abréviations.
Nombre de mots par phrase
modifierDans l’analyse de Treat une phrase[notes 2] se compose d’un syntagme[notes 3], lui même subdivisé de manière arborescente où les nœuds terminaux ont l’un des types suivant :
- mot (word)
- chaîne correspondant à l’expression rationnelle
/^[[:alpha:]\-']+$/
- enclitique (enclitic)
- nombre (number)
- une chaîne constitué uniquement de chiffres
- ponctuation (ponctuation)
- chaîne correspondant à l’expression rationnelle
/^[[:punct:]\$]+$/
- symbole (symbol)
- représente un fragment considéré non-linguistique par Treat (symbole errant)
- url
- chaîne correspondant à l’expression rationnelle
/^(http|https):\/\/[a-z0-9]+([\-\.]{1}[a-z0-9]+)*\.[a-z]{2,5}(([0-9]{1,5})?\/.*)?$/ix
- chaîne correspondant à l’expression rationnelle
</.+\@.+\..+
- inconnu (unknown)
- tout autre signe ne correspondant n’entrant en correspondance avec aucun des types de terme précédent.
Cette explication s’avère nécessaire pour convenablement comptabiliser les éléments qui constitue la phrase lorsque l’objectif est de « compter le nombre de mots ». En l’occurrence, la présente analyse ne se focalise que sur le décompte des termes de type mot, nombre, symbole, url et email.
# source: https://fr.wikipedia.org/wiki/Socrate
text = %q{
Socrate (en grec ancien Σωκράτης / Sōkrátēs) est un philosophe grec du Ve siècle av. J.-C. (né vers -470/469, mort en -399). Il est connu comme l’un des créateurs de la philosophie morale. Socrate n’a laissé aucun écrit, mais sa pensée et sa réputation se sont transmises par des témoignages indirects. Ses disciples Platon et Xénophon ont notablement œuvré à maintenir l'image de leur maître, qui est mis en scène dans leurs œuvres respectives. Les philosophes Démétrios de Phalère, et Maxime de Tyr dans sa Neuvième Dissertation1 ont écrit que Socrate est mort à l’âge de 70 ans.
Déjà renommé de son vivant, Socrate est devenu l’un des penseurs les plus illustres de l'histoire de la philosophie. Sa condamnation à mort et sa présence très fréquente dans les dialogues de Platon ont contribué à faire de lui une icône philosophique majeure. La figure de Socrate a été discutée, reprise, et réinterprétée jusqu'à l'époque contemporaine. Socrate est ainsi célèbre au-delà de la sphère philosophique, et son personnage entouré de légendes.
En dépit de cette influence culturelle, très peu de choses sont connues avec certitude sur le Socrate historique. Les témoignages le concernant sont souvent discordants, et la restitution de la vie ou la pensée originelle de Socrate est une approche sur laquelle les spécialistes ne s'accordent pas.
}
require 'treat'
require 'yaml' # for punkt
include Treat::Core::DSL
counts = {}
Tokenizers = [:ptb, :stanford, :punkt]
Tokenizers.each do |tokenizer|
passage = section text
passage.chunk
passage.paragraphs.each do |p|
p.segment :tactful
p.sentences.each do |sentence|
key = sentence.to_s
counts[key] = !!counts[key] ? counts[key] : {}
counts[key][tokenizer] = {}
# note: unlike the doc hints `tokenize` is mandatory before `parse`
# see https://github.com/louismullie/treat/issues/65
s = sentence.clone
s.tokenize(tokenizer).parse
total = s.word_count + s.symbol_count + s.number_count + s.url_count +
s.email_count
counts[key][tokenizer][:w] = s.word_count
counts[key][tokenizer][:s] = s.symbol_count
counts[key][tokenizer][:n] = s.number_count
counts[key][tokenizer][:t] = total
end
end
end
puts "{| class=\"wikitable\"\n!Phrase"
Tokenizers.each do |t|
puts %Q{! colspan="4" |#{t}}
end
puts "|-\n!"
puts "! mots || symbol || nombre || total\n" * 3
counts.each do |sentence, tokenizers|
line = "|-\n!#{sentence}\n"
tokenizers.each do |tokenizer|
counts = tokenizer[1].values.join(" || ")
line += "| #{counts}\n"
end
puts line
end
puts '|}'
Phrase | ptb | stanford | punkt | Total manuel | |||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|
mots | symbol | nombre | total | mots | symbol | nombre | total | mots | symbol | nombre | total | ||
Socrate (en grec ancien Σωκράτης / Sōkrátēs) est un philosophe grec du Ve siècle av. J. -C. (né vers -470/469, mort en -399). | 17 | 5 | 1 | 23 | 18 | 4 | 1 | 23 | 20 | 2 | 1 | 23 | 22[notes 4] |
Il est connu comme l’un des créateurs de la philosophie morale. | 11 | 0 | 0 | 11 | 10 | 1 | 0 | 11 | 10 | 1 | 0 | 11 | 12[notes 5] |
Socrate n’a laissé aucun écrit, mais sa pensée et sa réputation se sont transmises par des témoignages indirects. | 18 | 0 | 0 | 18 | 20 | 0 | 0 | 20 | 17 | 1 | 0 | 18 | 19[notes 5] |
Ses disciples Platon et Xénophon ont notablement œuvré à maintenir l'image de leur maître, qui est mis en scène dans leurs œuvres respectives. | 23 | 0 | 0 | 23 | 23 | 0 | 0 | 23 | 24 | 0 | 0 | 24 | 24 |
Les philosophes Démétrios de Phalère, et Maxime de Tyr dans sa Neuvième Dissertation1 ont écrit que Socrate est mort à l’âge de 70 ans. | 22 | 1 | 1 | 24 | 21 | 2 | 1 | 24 | 21 | 2 | 1 | 24 | 25[notes 5] |
Déjà renommé de son vivant, Socrate est devenu l’un des penseurs les plus illustres de l'histoire de la philosophie. | 19 | 0 | 0 | 19 | 18 | 1 | 0 | 19 | 19 | 1 | 0 | 20 | 21[notes 5] |
Sa condamnation à mort et sa présence très fréquente dans les dialogues de Platon ont contribué à faire de lui une icône philosophique majeure. | 24 | 0 | 0 | 24 | 24 | 0 | 0 | 24 | 24 | 0 | 0 | 24 | 24 |
La figure de Socrate a été discutée, reprise, et réinterprétée jusqu'à l'époque contemporaine. | 13 | 0 | 0 | 13 | 15 | 0 | 0 | 15 | 15 | 0 | 0 | 15 | 15 |
Socrate est ainsi célèbre au-delà de la sphère philosophique, et son personnage entouré de légendes. | 15 | 0 | 0 | 15 | 15 | 0 | 0 | 15 | 15 | 0 | 0 | 15 | 15 |
En dépit de cette influence culturelle, très peu de choses sont connues avec certitude sur le Socrate historique. | 18 | 0 | 0 | 18 | 18 | 0 | 0 | 18 | 18 | 0 | 0 | 18 | 18 |
Les témoignages le concernant sont souvent discordants, et la restitution de la vie ou la pensée originelle de Socrate est une approche sur laquelle les spécialistes ne s'accordent pas. | 29 | 0 | 0 | 29 | 30 | 1 | 0 | 31 | 30 | 0 | 0 | 30 | 30 |
À noter que l’analyseur lexical:
- tactful n’a pas été testé ici car l’adaptateur de Treat ne fonctionnait pas dans l’installation mise en œuvre ;
- open-nlp n’a pas été testé, car bien que présent dans le dépôt de Treat, il ne bénéficie d’aucune documentation sur sa mise en œuvre et installer les gems correspondantes via
gem install open-nlp
et l’installation des paquets natifs n’a pas suffit au bon fonctionnement.
C’est donc punkt
, parmi les bibliothèques mis sur le banc de test, qui fourni les résultats les plus pertinent pour cette phase d’analyse sur le texte français utilisé.
Lemmatisation
modifierTreat propose des algorithmes de racinisation (anglais stemming), mais pas de lemmatisation. De plus ces algorithmes sont adaptés à l’anglais, et ne donne que des résultats improbants sur des textes en français.
TactfulTokenizer
modifierSegmentation de phrase
modifierrequire "tactful_tokenizer"
m = TactfulTokenizer::Model.new
text = %q{Socrate (en grec ancien Σωκράτης / Sōkrátēs) est un philosophe grec du Ve siècle av. J.-C. (né vers -470/469, mort en -399). Il est connu comme l’un des créateurs de la philosophie morale. Socrate n’a laissé aucun écrit, mais sa pensée et sa réputation se sont transmises par des témoignages indirects. Ses disciples Platon et Xénophon ont notablement œuvré à maintenir l'image de leur maître, qui est mis en scène dans leurs œuvres respectives. Les philosophes Démétrios de Phalère, et Maxime de Tyr dans sa Neuvième Dissertation1 ont écrit que Socrate est mort à l’âge de 70 ans.}
m.tokenize_text(text)
===> [
"Socrate (en grec ancien Σωκράτης / Sōkrátēs) est un philosophe grec du Ve siècle av.",
"J.-C. (né vers -470/469, mort en -399).",
"Il est connu comme l’un des créateurs de la philosophie morale.",
"Socrate n’a laissé aucun écrit, mais sa pensée et sa réputation se sont transmises par des témoignages indirects.",
"Ses disciples Platon et Xénophon ont notablement œuvré à maintenir l'image de leur maître, qui est mis en scène dans leurs œuvres respectives.",
"Les philosophes Démétrios de Phalère, et Maxime de Tyr dans sa Neuvième Dissertation1 ont écrit que Socrate est mort à l’âge de 70 ans."
ve
modifierVe se veut un framework clé en main facile d’utilisation. Il s’appuie sur les analyseurs syntaxique FreeLing (pour les langues indo-européennes) et MeCab (notamment pour le japonnais)[16].
Installation
modifierPour tester ve sur des textes en français, il faudra d’abord installer Freeling. Le manuel officiel propose une documentation correct pour guider cette installation[17]. Quelques ajustements ont été nécessaires pour l’installation sur un système Fedora 27, indiqué ci-dessous.
sudo dnf install boost-devel
wget https://github.com/TALP-UPC/FreeLing/releases/download/4.0/FreeLing-4.0.tar.gz
tar xvzf FreeLing-4.0.tar.gz
cd FreeLing-4.0
autoreconf --install
./configure
Stanford CoreNLP
modifierIl s’agit encore d’une bibliothèque, cette fois construite au-dessus de Stanford CoreNLP[18].
Installation
modifiergem install stanford-core-nlp
wget http://nlp.stanford.edu/software/stanford-postagger-full-2014-10-26.zip
unzip stanford-postagger-full-2014-10-26.zip
mv stanford-postagger-full-2014-10-26/* ~/.rbenv/versions/$(rbenv version|cut -d\ -f1)/lib/ruby/gems/*/gems/stanford-core-nlp-*/bin
rmdir stanford-postagger-full-2014-10-26
rm stanford-postagger-full-2014-10-26.zip
cd ~/.rbenv/versions/2.4.3/lib/ruby/gems/2.4.0/gems/stanford-core-nlp-0.5.3/bin/models
ln -s . taggers # ’taggers/’ est suffixé à StanfordCoreNLP.model_path
ln -s $(locate frenchFactored.ser.gz | head -n1 | xargs dirname) grammar
Session de test
modifierrequire 'stanford-core-nlp’
StanfordCoreNLP.jar_path = `locate xom.jar | head -n1 | xargs dirname`.chomp.concat('/')
StanfordCoreNLP.model_path = `locate french.tagger | grep stanford-core-nlp | head -n1 | xargs dirname`.chomp.concat('/')
exit if StanfordCoreNLP.model_path.empty? # le fichier french.tagger n’a pas été trouvé
StanfordCoreNLP.use :french
text = %q{Socrate (en grec ancien Σωκράτης / Sōkrátēs) est un philosophe grec du Ve siècle av. J.-C. (né vers -470/469, mort en -399). Il est connu comme l’un des créateurs de la philosophie morale. Socrate n’a laissé aucun écrit, mais sa pensée et sa réputation se sont transmises par des témoignages indirects. Ses disciples Platon et Xénophon ont notablement œuvré à maintenir l'image de leur maître, qui est mis en scène dans leurs œuvres respectives. Les philosophes Démétrios de Phalère, et Maxime de Tyr dans sa Neuvième Dissertation1 ont écrit que Socrate est mort à l’âge de 70 ans.}
pipeline = StanfordCoreNLP.load(:tokenize, :ssplit, :pos, :lemma, :parse, :ner, :dcoref)
Ressources relatives
modifierDans les projets Wikimédia
modifier- Littératie
- Hyperbase, un logiciel universitaire téléchargeable d'exploration documentaire et statistique des textes, conçu et développé par Étienne Brunet
- The usefulness in anthropology and digital ethnography of the free software corpus analysis tool TXM
Liens externes
modifier- La littératie à l’ère de l’information, rapport de l'OCDE
- Readability test
- SMOG
- Readability
- Bulletin officiel de l'éducation nationale numéro 6 du 9 février 2017, où est notamment donnée une définition officiel de lettrisme.
- L'analyse de la complexité du discours et du texte pour apprendre et collaborer
- L’analyse de la complexité du discours et du texte pour apprendre et collaborer
- Text Complexity Analysis Worksheet Guidance Document
- Improving Text Complexity Measurement through the Reading Maturity Metric
- Ruby Natural Language Processing Resources
- https://github.com/arbox/nlp-with-ruby
- Natural Language Toolkit (python)
- Awesome NLP with Ruby
- La pédagogie du lexique, 1978, Jean Beaute
- Les neurones de la lecture, 2007, Stanislas Dehaene
- Sprenger-Charolles, Notice documentaire IdRef
- Multidictionnaire de la langue française
- Conceptions du 'mot' et débuts de la traduction automatique
- StrepHit
- Punkt sentence tokenizer
- Brulex. Une base de données lexicales informatisée pour le français écrit et parlé
- Lexique, une base de données qui à 135 000 mots du français
- Open Lexique : Une base de données lexicales libre, idéale pour construire ses listes de mots | Orthophonie et Logiciels Libres
- Fine-tuned Language Models for Text Classification, Jeremy Howard, Sebastian Ruder 18 janvier 2018
Notes
modifier- ↑ Nécessaire pour l’utilisation de la gem <code>stanford-core-nlp</code>.
- ↑ En anglais sentence.
- ↑ Le terme originale est phrase, ici traduit par syntagme. Il est a noter cependant qu’il ne s’agit pas là d’une correspondance biunivoque. Le terme anglais peut, entre autres, désigner aussi bien un syntagme, une expression qu’une locution, voir notamment les entrées du Glossaire français-anglais de terminologie linguistique de la SIL. Dans le même temps, l’anglais dispose également des termes respectifs de [[w:en:syntagm|]], d’expression et de [[w:en:fixed expression|]].
- ↑ La différence est lié à l’ajout d’une espace avant le trait d’union dans l’abréviation du nom propre abrégé « J.-C. ». Il s’agit donc ici plus d’un problème lié à l’utilisation du résultat produits par la chaîne de traitement en amont qu’un problème de décompte imputable aux algorithmes de segmentation lexical testés ici.
- ↑ 5,0 5,1 5,2 et 5,3 Ici la différence est lié à la non-reconnaissance de l’apostrophe courbe comme séparateur. Avec un apostrophe droite, l’analyse lexicale de
punkt
renvoie la valeur attendu, mais les deux autres sont encore erronées.
- ↑ Normes d'âge d'acquisition pour 400 mots monosyllabiques, Ludovic FERRAND, Jonathan GRAINGER et Boris NEW jeu. 09 septembre 2004
- ↑ Google Ngram Viewer
- ↑ (en) New, B., PALLIER, C., Ferrand, L. et Matos, R., « Une base de données lexicales du français contemporain sur internet : LEXIQUE™//A lexical database for contemporary french : LEXIQUE™ », L'année psychologique, vol. 101, no 3 (ISSN 0003-5033) [texte intégral (page consultée le 2018-03-26)]
- ↑ Site officiel du projet Lexique
- ↑ http://www.lexique.org/outils/Manuel_Lexique.htm#_Toc152122350
- ↑ The use of film subtitles to estimate word frequencies. New, B., Brysbaert, M., Veronis, J., & Pallier, C. (in press). Applied Psycholinguistics.
- ↑ Base de données CHACQFAM
- ↑ une base de données renseignant l’âge d’acquisition estimé et la familiarité pour 1225 mots monosyllabiques et bisyllabiques du Français Dr. Christian Michel LACHAUD, également disponible sur le portail persée
- ↑ Brulex. Une base de données lexicales informatisée pour le français écrit et parlé
- ↑ Index de ftp://ftp.ulb.ac.be/pub/packages/psyling/Brulex/ avec possibilité de télécharger directement la banque de données. Voir notamment l’archive Brulex4Mac.zip qui la propose sous forme de fichier texte brut et de feuille de calcul.
- ↑ Version archivée de la banque de données 400AoA, le fichier correspondant n’étant plus servi sur le serveur officiel
- ↑ [http://www.lexique.org/outils/AoA-2002.doc Normes d’âge d’acquisition pour 400 mots monosyllabiques], également disponible via Persée. Ludovic FERRAND, Jonathan GRAINGER et Boris NEW (2003). L’Année Psychologique, 104, 445-468.
- ↑ diasks2/ruby-nlp: A collection of links to Ruby Natural Language Processing (NLP) libraries, tools and software
- ↑ louismullie/treat: Natural language processing framework for Ruby
- ↑ Voir le rapport d’anomalie correspondant
- ↑ Kimtaro/ve: A linguistic framework that's easy to use.
- ↑ https://talp-upc.gitbooks.io/freeling-4-0-user-manual/content/installation.html Getting it to Work · FreeLing 4.0 User Manual]
- ↑ Stanford CoreNLP – Natural language software