2012-12-10 5 views
4

Je travaille sur un algorithme pour estimer sentence difficulty, mais les méthodes que j'ai trouvées semblent trop vieilles pour tirer parti de ce que les ordinateurs modernes peuvent faire.Algorithme de lisibilité des phrases à jour

Les algorithmes utilisés aujourd'hui ont surtout été développés il y a environ 40 à 60 ans. Flesch-Kincaid est le plus populaire et est toujours utilisé comme la norme pour les documents par le ministère de la Défense et de nombreux États et entreprises. J'ai examiné le niveau de qualité Flesch-Kincaid, l'indice de brouillard de Gunning, l'indice de SMOG, la formule de lisibilité de Fry et l'indice Coleman-Liau.

J'ai décidé d'utiliser le Lisibilité automatisé Indice

ARI = 4.71 * (characters/words) + .5 * (words/sentences) - 21.43; 

Il me semble que ce ne serait pas difficile d'attribuer une valeur à chaque mot en fonction des listes de fréquences de mot basé sur corpus et le fonctionnement de ces valeurs dans l'ancienne formule de lisibilité.
Cela pourrait être fait pour les 1000 à 5000 premiers mots les plus fréquents. De même, il serait probablement efficace de faire des listes séparées pour différents types de mots et de parties du discours. La présence de conjonctions serait certainement un signe de complexité de la phrase.

Existe-t-il des formules pour cela?

+0

Je ne pense pas que l'étiquette ActionScript avec cette question va vous aider à obtenir la meilleure réponse. Essayez de poster dans le forum de programmation/échange de la pile – Ryan

+0

Merci de me pointer dans la bonne direction. – oppositefrog

+0

J'ai fait une démo contenant aussi ARI il y a quelques années: http://lt3.hogent.be/fr/demos/readability/. Entrez un texte et vous obtenez tous les scores.Cliquez sur les liens dans les résultats pour obtenir de la documentation sur notre implémentation. – pvoosten

Répondre

0

Chaque fois que vous voyez une constante codée en dur dans une formule d'apprentissage machine, méfiez-vous ...

Les chiffres du Automated Readability Index représentent un modèle qui a été adapté à l'ensemble des données utilisées pour construire et les caractéristiques choisies pour le représenter. En dehors de la pertinence, je suppose qu'étant une mesure courante, calibrée en qualité d'école est un autre avantage.

Votre idée d'ajouter la fréquence de mot dans la lisibilité semble être une fonctionnalité géniale. Après tout, un seul mot inconnu dans une phrase de grammaire simple pourrait le rendre illisible.

Vous devez choisir la manière dont vous souhaitez représenter la phrase en fonction des fréquences des mots. Des exemples peuvent être la probabilité de la phrase entière, le nombre de mots peu communs, la fréquence minimale, etc.

Ensuite, vous devriez construire un ensemble de données et apprendre les paramètres du modèle. Le moyen le plus simple consistera à utiliser un ensemble de phrases étiqueté manuellement pour plus de lisibilité. Cependant, la construction d'un tel ensemble de données semble prendre beaucoup de temps.

Vous pouvez contourner ce problème en utilisant des sources dont le niveau de lisibilité est connu en général, et étiqueter la lisibilité des phrases en fonction de la source. Par exemple, les phrases de simple English wikipedia devraient être plus lisibles que celles de wikipedia. D'autres sources de niveaux de lisibilité communs peuvent être le journal de Wall Street et les forums Web. Faites un étiquetage manuel de ces phrases afin d'aligner et de calibrer la valeur de lisibilité.

En utilisant cette technique, vous négociez la précision de l'étiquette pour la quantité d'étiquettes. Depuis qu'il a été prouvé que l'apprentissage automatique peut être fait en présence de bruit blanc et même d'erreurs malveillantes, un tel compromis est généralement bénéfique.