Uma biblioteca Python para calcular uma grande variedade de métricas a partir de texto (s) usando componentes e extensões de pipeline Spacy V.3.
pip install textdescriptives
textdescriptives/{metric_name} . Novo componente coherence para calcular a coerência semântica entre frases. Veja a documentação para tutoriais e mais informações! Use extract_metrics para extrair rapidamente as métricas desejadas. Para ver os métodos disponíveis, você pode simplesmente executar:
import textdescriptives as td
td . get_valid_metrics ()
# {'quality', 'readability', 'all', 'descriptive_stats', 'dependency_distance', 'pos_proportions', 'information_theory', 'coherence'} Defina o parâmetro spacy_model para especificar qual modelo de spacy usar, caso contrário, o TextDescriptives será baixado automaticamente um apropriado com base no lang . Se lang estiver definido, spacy_model não será necessário e vice -versa.
Especifique quais métricas para extrair no argumento metrics . None extrata todas as métricas.
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" ]) Para integrar -se a outros pipelines espaciais, importe a biblioteca e adicione o (s) componente (s) ao seu pipeline usando a sintaxe espacial padrão. Os componentes disponíveis são descritivos_stats , legibilidade , dependência_distance , pos_proporções , coerência e qualidade prefixada com textdescriptives/ .
Se você deseja adicionar todos os componentes, pode usar os 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 O TextDescriptives inclui funções de conveniência para extrair métricas de um Doc para um quadro de dados de pandas ou um dicionário.
td . extract_dict ( doc )
td . extract_df ( doc )| texto | First_Order_Coherence | Second_Order_Coherence | POS_PROP_DET | POS_PROP_NOUN | POS_PROP_AUX | POS_PROP_VERB | POS_PROP_PUNT | POS_PROP_PRON | POS_PROP_ADP | POS_PROP_ADV | POS_PROP_SCONJ | flesch_reading_ease | flesch_kincaid_grade | fumaça | Gunning_fog | Automated_Readability_index | Coleman_liau_index | LIX | rix | n_stop_words | alpha_ratio | mean_word_length | doc_length | Proporção_ellipsis | Proporção_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 | Símbolo _#_ para_word_ratio | contém_lorem ipsum | Passed_quality_check | Dependency_Distance_mean | Dependency_Distance_Std | prop_adjacent_dependency_relation_mean | prop_adjacent_dependency_relation_std | token_length_mean | token_length_median | token_length_std | sentença_length_mean | sentença_length_median | sentença_length_std | syllabls_per_token_mean | syllablabs_per_token_median | syllablabs_per_token_std | n_tokens | n_unique_tokens | Proporção_unique_tokens | n_Characters | N_SENTENCES | |
|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
| 0 | O mundo mudou (...) | 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 | Falso | Falso | 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 |
O TextDescriptives possui uma documentação detalhada, bem como uma série de tutoriais de notebook Jupyter. Todos os tutoriais estão localizados na pasta docs/tutorials e também podem ser encontrados no site da documentação.
| Documentação | |
|---|---|
| Começando | Guias e instruções sobre como usar o TextDescriptives e seus recursos. |
| ? Demo | Uma demonstração ao vivo de descritivos de texto. |
| ? Tutoriais | Tutoriais detalhados sobre como aproveitar ao máximo os descritivos de texto |
| ? Notícias e Changelog | Novas adições, mudanças e histórico de versão. |
| ? Referências da API | A referência detalhada da API do TextDescriptive. Incluindo documentação da função |
| ? Papel | A pré -impressão do artigo descritivos de texto. |