Une bibliothèque Python pour calculer une grande variété de métriques à partir de texte (s) à l'aide de composants et d'extensions de pipelines Spacy V.3.
pip install textdescriptives
textdescriptives/{metric_name} . Nouveau composant coherence pour calculer la cohérence sémantique entre les phrases. Voir la documentation des tutoriels et plus d'informations! Utilisez extract_metrics pour extraire rapidement les mesures souhaitées. Pour voir les méthodes disponibles, vous pouvez simplement exécuter:
import textdescriptives as td
td . get_valid_metrics ()
# {'quality', 'readability', 'all', 'descriptive_stats', 'dependency_distance', 'pos_proportions', 'information_theory', 'coherence'} Définissez le paramètre spacy_model pour spécifier quel modèle spacy à utiliser, sinon, TextDescriptives en téléchargera automatiquement une en fonction de lang . Si lang est défini, spacy_model n'est pas nécessaire et vice versa.
Spécifiez les mesures à extraire dans l'argument metrics . None extrait toutes les mesures.
import textdescriptives as td
text = "The world is changed. I feel it in the water. I feel it in the earth. I smell it in the air. Much that once was is lost, for none now live who remember it."
# will automatically download the relevant model (´en_core_web_lg´) and extract all metrics
df = td . extract_metrics ( text = text , lang = "en" , metrics = None )
# specify spaCy model and which metrics to extract
df = td . extract_metrics ( text = text , spacy_model = "en_core_web_lg" , metrics = [ "readability" , "coherence" ]) Pour vous intégrer à d'autres pipelines spacy, importez la bibliothèque et ajoutez le (s) composant (s) à votre pipeline à l'aide de la syntaxe Spacy standard. Les composants disponibles sont descriptive_stats , la lisibilité , la dépendance_distance , Pos_proportions , la cohérence et la qualité préfixées avec textdescriptives/ .
Si vous souhaitez ajouter tous les composants, vous pouvez utiliser les textdescriptives/all .
import spacy
import textdescriptives as td
# load your favourite spacy model (remember to install it first using e.g. `python -m spacy download en_core_web_sm`)
nlp = spacy . load ( "en_core_web_sm" )
nlp . add_pipe ( "textdescriptives/all" )
doc = nlp ( "The world is changed. I feel it in the water. I feel it in the earth. I smell it in the air. Much that once was is lost, for none now live who remember it." )
# access some of the values
doc . _ . readability
doc . _ . token_length TextDescriptives comprend des fonctions de commodité pour extraire les mesures d'un Doc à un Pandas DataFrame ou un dictionnaire.
td . extract_dict ( doc )
td . extract_df ( doc )| texte | First_Order_Coherence | second_order_coherence | pos_prop_det | pos_prop_noun | pos_prop_aux | pos_prop_verb | pos_prop_punct | pos_prop_pron | pos_prop_adp | pos_prop_adv | pos_prop_sconj | flesch_reading_ease | flesch_kincaid_grade | smog | gunning_fog | automated_readability_index | Coleman_Liau_index | lix | rix | n_stop_words | alpha_ratio | Mean_Word_Length | doc_length | proportion_ellipsis | proportion_bullet_point | duplicate_line_chr_fraction | duplicate_paragraph_chr_fraction | duplicate_5-gram_chr_fraction | duplicate_6-gram_chr_fraction | duplicate_7-gram_chr_fraction | duplicate_8-gram_chr_fraction | duplicate_9-gram_chr_fraction | duplicate_10-gram_chr_fraction | top_2-gram_chr_fraction | top_3-gram_chr_fraction | top_4-gram_chr_fraction | symbole _ # _ to_word_ratio | contient_lorem ipsum | Passing_quality_check | dépendance_distance_mean | dépendance_distance_std | prop_adjacent_dependency_relation_mean | prop_adjacent_dependency_relation_std | token_length_mean | token_length_median | token_length_std | phrase_length_mean | phrase_length_median | phrase_length_std | syllabes_per_token_mean | syllabes_per_token_median | syllabes_per_token_std | n_tokens | N_Unique_Tokens | proportion_unique_tokens | N_Characters | N_Entinces | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | Le monde est changé (...) | 0,633002 | 0,573323 | 0,097561 | 0.121951 | 0,0731707 | 0.170732 | 0.146341 | 0.195122 | 0,0731707 | 0,0731707 | 0,0487805 | 107.879 | -0.0485714 | 5.68392 | 3.94286 | -2,45429 | -0,708571 | 12.7143 | 0.4 | 24 | 0,853659 | 2.95122 | 41 | 0 | 0 | 0 | 0 | 0,232258 | 0,232258 | 0 | 0 | 0 | 0 | 0,0580645 | 0.174194 | 0 | 0 | FAUX | FAUX | 1.77524 | 0,553188 | 0.457143 | 0,0722806 | 3.28571 | 3 | 1.54127 | 7 | 6 | 3.09839 | 1.08571 | 1 | 0,368117 | 35 | 23 | 0,657143 | 121 | 5 |
TextDescriptives a une documentation détaillée ainsi qu'une série de tutoriels de cahier Jupyter. Tous les tutoriels sont situés dans le dossier docs/tutorials et peuvent également être trouvés sur le site Web de la documentation.
| Documentation | |
|---|---|
| Commencer | Guides et instructions sur la façon d'utiliser TextDescriptives et ses fonctionnalités. |
| ? Demo | Une démo en direct de TextDescriptives. |
| ? Tutoriels | Tutoriels détaillés sur la façon de tirer le meilleur parti des TextDescriptives |
| ? News et Changelog | Nouveaux ajouts, modifications et histoires de version. |
| ? Références API | La référence détaillée pour l'API de TextDescriptive. Y compris la documentation de la fonction |
| ? Papier | La préimpression du papier textriques. |