Репозиторий содержит два файла с кодом:
stat_analysis.py: класс с методами подсчета статистик. Включает в себя следующие функции:
- get_symbols_amount — подсчет числа символов в тексте, с пробелами, без пробелов и без знаков препинания (то есть все буквенные символы)
- get_sentences_amount — подсчет числа предложений в тексте, среднего числа непробельных и буквенных символов на предложение
- get_token_amount — подсчет числа токенов, среднего числа токенов на предложение
- get_words_amount — подсчет числа словоупотреблений, среднего числа словоупотреблений на предложение
- get_mean_word_length — подсчет средней длины словоупотребления в тексте
- get_mean_word_length — подсчет числа уникальных словоформ в тексте
- get_word_frequency — вывод заданного числа наиболее частотных словоформ текста с частотами и отн. частотам, прорисовка круговой диаграммы частот
- get_word_pos_frequency — подсчет частот частей речи по словоформам, прорисовка диаграммы (здесь и в дальнейшем лейблы граммем по стандарту opencorpora http://opencorpora.org/dict.php?act=gram)
- get_noun_cases_frequency, get_adj_cases_frequency — подсчет частот падежей существительных и прилагательных, прорисовка диаграммы (opencorpora)
- get_noun_numbers_frequency, get_adj_numbers_frequency, get_verb_numbers_frequency — подсчет частот чисел существительных, прилагательных, глаголов, прорисовка диаграммы (opencorpora)
- get_verb_pers_frequency — подсчет частот лицевых форм глагола, прорисовка диаграммы (opencorpora)
- get_lemms_amount — подсчет числа лемм в тексте
- get_richness — коэффициент лексического богатства текста
- get_lemm_frequency — вывод заданного числа наиболее частотных лемм текста с частотами и отн. частотам, прорисовка круговой диаграммы частот
- get_lemm_pos_frequency — подсчет частот частей речи по леммам, прорисовка диаграммы
- get_pos_lemm_frequencies — вывод заданного числа наиболее частотных лемм указанной по лейблу части речи, прорисовка диаграмм
- check_zipf_words, check_zipf_lemms — прорисовка графика зависимости отн. частоты словоформы/леммы от ее ранга; аппроксимация указанной зависимости законом Ципфа с C=относительнольной частоте самого распространённого слова
- draw_pie — служебная функция для прорисовки диаграмм
- write_log_to_path — служебная функция для записи всех запрошенных статистик в указанный текстовый файл
Класс инициализируется созданием метода StatAnalysis(). Для инициализации необходим путь к текстовому файлу (при инициализации класс сам его откроет). Опционально можно поставить флаг make_log на True, тогда вся статистика будет записана в одну строку.
Пример использования отражен в тестовом скрипте test.py. Его можно запустить из командной строки следующим образом:
python test.py <путь к тексту> <True или False в зависимости от желания получить текстовый файл с результатами> --log <путь к логу опционально>
Все возможные статистики будут выведены на экран.
В репозитории содержаться результаты полного анализа второй главы "Алисы в стране чудес" Льюиса Кэролла и второй главы "Generation П" Виктора Пелевина.