Библиотека Python для расчета большого разнообразия метрик из текста (ы) с использованием компонентов и расширений трубопровода Spacy V.3.
pip install textdescriptives
textdescriptives/{metric_name} . Новый компонент coherence для расчета семантической когерентности между предложениями. См. Документацию для учебных пособий и дополнительной информации! Используйте extract_metrics , чтобы быстро извлечь желаемые метрики. Чтобы увидеть доступные методы, вы можете просто запустить:
import textdescriptives as td
td . get_valid_metrics ()
# {'quality', 'readability', 'all', 'descriptive_stats', 'dependency_distance', 'pos_proportions', 'information_theory', 'coherence'} Установите параметр spacy_model , чтобы указать, какую модель SPACY использовать, в противном случае TextDescriptives будет автоматически загружать соответствующий на основе lang . Если lang установлен, spacy_model не требуется и наоборот.
Укажите, какие метрики извлечь в аргумент metrics . None не извлекает все метрики.
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" ]) Чтобы интегрировать с другими трубопроводами Spacy, импортируйте библиотеку и добавьте компонент (ы) в ваш трубопровод, используя стандартный синтаксис Spacy. Доступными компонентами являются Descriptive_stats , читабельность , зависимость_дистансия , Pos_proportions , когерентность и качественные префиксы с помощью textdescriptives/ .
Если вы хотите добавить все компоненты, вы можете использовать Shorthand 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 включает удобные функции для извлечения метрик из Doc в DataFrame Pandas или словаря.
td . extract_dict ( doc )
td . extract_df ( doc )| текст | 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 | смог | Gunning_fog | Automated_Readability_Index | coleman_liau_index | ликс | рикс | n_stop_words | alpha_ratio | mean_word_length | doc_length | proportors_ellipsis | proportort_bullet_points | 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 | Символ _#_ to_word_ratio | Содержит_лор IPSUM | stoder_quality_check | DEVELIDENCE_DISTANCE_MEAN | DEVELIDENCE_DISTANCE_STD | prop_adjacent_dependency_relation_mean | prop_adjacent_dependency_relation_std | token_length_mean | token_length_median | token_length_std | предложение_Length_mean | predence_length_median | predence_length_std | syllables_per_token_mean | syllables_per_token_median | syllables_per_token_std | n_tokens | n_unique_tokens | proportort_unique_tokens | n_characters | n_sentences | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | Мир изменился (...) | 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 | ЛОЖЬ | ЛОЖЬ | 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 имеет подробную документацию, а также серию учебников по ноутбуке Jupyter. Все учебные пособия находятся в папке docs/tutorials , а также можно найти на веб -сайте документации.
| Документация | |
|---|---|
| Начиная | Руководства и инструкции о том, как использовать TextDescriptive и его функции. |
| ? Демо | Живая демонстрация текстовых факторов. |
| ? Учебные пособия | Подробные учебные пособия о том, как максимально использовать TextDescriptive |
| ? Новости и изменение изменений | Новые дополнения, изменения и историю версий. |
| ? Ссылки API | Подробная ссылка для API TextDescriptive. Включая функциональную документацию |
| ? Бумага | Препринт бумаги TextDescriptive. |