Перейти к содержанию

Статистики текста

analyze_text(text="", path=null, groups=["basic", "readability"], distributions=false, readability_preset="plainrussian", descriptions=true)

Измеряет текст статистиками ruTS по группам: считаются только запрошенные группы, и каждая становится ключом ответа. Статистика приходит со значением, долей или прочтением по шкале, если они есть, и с описанием того, что она считает. Ключ warnings говорит, когда значения неустойчивы или не имеют смысла для этого текста. Описания, известные по прошлому вызову, можно не запрашивать: descriptions=false дает ответ короче.

Ошибки - общие для инструментов и текст без слов.

{
  "name": "analyze_text",
  "arguments": {
    "text": "В целях повышения качества обслуживания клиентов в кратчайшие сроки осуществляется проведение мероприятий по модернизации оборудования, предусмотренных утвержденным планом развития организации на текущий период.",
    "groups": ["style"],
    "descriptions": false
  }
}
{
  "style": {
    "n_words": {"value": 23},
    "top_words": {
      "value": {
        "в": 2,
        "целях": 1,
        "повышения": 1,
        "качества": 1,
        "обслуживания": 1,
        "клиентов": 1,
        "кратчайшие": 1,
        "сроки": 1,
        "осуществляется": 1,
        "проведение": 1
      }
    },
    "nausea_words": {
      "value": {
        "целях": 1,
        "повышения": 1,
        "качества": 1,
        "обслуживания": 1,
        "клиентов": 1,
        "кратчайшие": 1,
        "сроки": 1,
        "осуществляется": 1,
        "проведение": 1,
        "мероприятий": 1
      }
    },
    "classic_nausea": {"value": 1.414, "interpretation": "норма Advego"},
    "academic_nausea": {"value": 43.48, "interpretation": "выше нормы Advego"},
    "water": {"value": 0.0, "interpretation": "естественная водность по Text.ru"},
    "spam": {"value": 4.348, "interpretation": "естественный текст по Text.ru"},
    "zipf_naturalness": {"value": 100.0, "interpretation": "норма pr-cy и megaindex"},
    "verbal_nouns": {
      "value": 57.14,
      "count": 8,
      "found": {
        "повышения": 1,
        "обслуживания": 1,
        "проведение": 1,
        "мероприятий": 1,
        "модернизации": 1,
        "оборудования": 1,
        "развития": 1,
        "организации": 1
      }
    },
    "compound_prepositions": {"value": 4.348, "count": 1, "found": {"в целях": 1}},
    "parentheticals": {"value": 0.0, "count": 0, "found": {}},
    "cliches": {"value": 4.348, "count": 1, "found": {"в кратчайшие сроки": 1}}
  },
  "warnings": [
    "Слов в тексте: 23, меньше 200. Нормы сервисов рассчитаны на тексты сайтов в несколько сотен слов: на коротком тексте тошнота, заспамленность и естественность по Ципфу неинформативны, их прочтение по нормам - грубая оценка"
  ]
}

Параметры

Параметр Тип По умолчанию Описание
text string "" Текст на русском языке
path string null Абсолютный путь к файлу с текстом вместо text
groups array[string] ["basic", "readability"] Группы статистик; каждая - ключ ответа
distributions boolean false Добавить распределения слов по числу букв и слогов и знаков препинания по типам (группа basic)
readability_preset string "plainrussian" Коэффициенты теста Флеша-Кинкайда (у academic - и индекса Флеша), от них зависит и сводный класс: plainrussian откалиброван по школьным классам и подходит для любых текстов; fiction - коэффициенты Оборневой по художественным текстам, дает класс на несколько лет выше; academic - коэффициенты Соловьёва, Иванова и Солнышкиной по учебникам 5-11 классов
descriptions boolean true Добавить к статистикам описания

Группы

Группа Что считает Данные
basic Предложения, слова, слоги, символы, длинные и сложные слова -
readability Сводный класс и формулы удобочитаемости с классом школы и возрастом читателя -
diversity Лексическое разнообразие -
morph Части речи, грамматические признаки, формы глагола -
phon Классы звуков, сочетания согласных, аллитерация и ассонанс -
cohesion Связность: повторы между предложениями и абзацами, данность, коннекторы -
style SEO-метрики с нормами сервисов и маркеры канцелярита -
lexical Частотность слов, частотные полосы, сюрпризал частотный словарь
verse Метр, рифмовка, окончания строк словарь ударений
syntax Синтаксис по дереву зависимостей модель spaCy

Как скачать данные - в разделе Словари и модель spaCy. Без данных группа не падает: метрики, которым они нужны, не считаются, а предупреждение называет команду, которая их скачивает.

Базовые статистики

basic · BasicStats

Предложения, слова, слоги, символы, буквы, пробелы и знаки препинания; уникальные, длинные (от 6 букв), сложные (от 4 слогов), простые, односложные и многосложные слова; энтропия длин слов в буквах и слогах. Счетчик слов или символов идет с долей от всех слов или символов (share). С distributions=true группа добавляет распределения слов по числу букв и слогов и знаков препинания по типам.

Удобочитаемость

readability · ReadabilityStats · ruts://scales/readability

Сводный класс и формулы Флеша-Кинкайда, Флеша, Колман-Лиау, SMOG, ARI, LIX, RIX, Соловьёва-Иванова-Солнышкиной, Мацковского, Тулдавы, Дейла-Чейла и Ганнинга, время чтения. Формулы класса и сводный класс читаются классом школы и возрастом читателя, индекс Флеша, LIX и RIX - полосой своей шкалы; у формул Мацковского и Тулдавы и времени чтения шкалы нет. Коэффициенты теста Флеша-Кинкайда и индекса Флеша задает readability_preset, остальные формулы от него не зависят. На тексте короче 30 предложений формулы неустойчивы, и ответ об этом предупреждает.

Лексическое разнообразие

diversity · DiversityStats

TTR и поправки к нему, MATTR, MSTTR, MTLD, HD-D, индексы Симпсона, Юла и Оноре, мера Орлова, энтропия, законы Ципфа и Хипса, взрывность частых слов. На тексте короче 50 слов меры неустойчивы, а на тексте короче 200 слов тексты стоит сравнивать по MATTR, MTLD и HD-D: ответ об этом предупреждает.

Морфология

morph · MorphStats

Части речи и грамматические признаки по pymorphy3 без снятия омонимии и доли форм глагола: наклонения, инфинитив, причастия, деепричастия, совершенный вид, страдательные и возвратные формы. Значение признака - число слов с каждым его значением, с подписями значений из ruTS, а share - их доли от всех слов.

Фоностатистики

phon · PhonStats

Доли гласных, сонорных, звонких и глухих согласных, тяжелые сочетания согласных, зияния, жесткость, открытые слоги, индексы аллитерации и ассонанса. Считаются по буквам, без ударения, оглушения и редукции.

Связность

cohesion · CohesionStats

Связность по образцу Coh-Metrix и TAACO: повторы существительных, аргументов и знаменательных слов между предложениями - соседними, всеми парами и в двух следующих - и между соседними абзацами, местоимения, данность, повтор времени и вида, коннекторы по классам на 1000 слов. Абзац - строка текста. Коннекторы делятся по месту в предложении: межпредложенческие стоят в его начале («Однако», «Поэтому»), остальные - внутрипредложенческие, в том числе подчинительные союзы и предлоги в начале предложения («Когда он пришел»).

Стиль

style · StyleStats · ruts://scales/style

SEO-метрики по словоформам - классическая и академическая тошнота, водность, заспамленность и естественность по Ципфу с прочтением по нормам Advego, Text.ru, pr-cy и megaindex - и лексические маркеры канцелярита: отглагольные существительные, производные предлоги, вводные слова, штампы. Нормы рассчитаны на тексты сайтов в несколько сотен слов, к художественной прозе они неприменимы; на тексте короче 200 или длиннее 1000 слов ответ об этом предупреждает.

Сверх метрик ruTS группа отдает число слов n_words, самые частые словоформы top_words и самые частые значимые слова nausea_words, по которым считается академическая тошнота. У маркеров канцелярита - число вхождений count и найденные слова и фразы found. Синтаксические маркеры канцелярита - в группе syntax: для проверки на канцелярит берите обе группы.

Лексическая сложность

lexical · LexicalStats · частотный словарь

Доля слов, найденных в частотном словаре Ляшевской и Шарова, средняя частотность (ipm) и ее логарифм, диапазон и дисперсия по корпусу, сюрпризал и перплексия, доли слов из 1000-10000 самых частых лемм, лексическая плотность. Без словаря группа считает только доли частотных полос и лексическую плотность.

Стих

verse · VerseStats · словарь ударений

Строки и строфы, метр и число стоп, отклонения от метра и пропуски ударений, доля рифмованных строк и схемы рифмовки, мужские, женские и дактилические окончания. Знак ударения в тексте («замо́к») важнее словаря.

Синтаксис

syntax · SyntaxStats · модель spaCy

Синтаксис по дереву зависимостей модели spaCy: длина зависимостей, глубина и ветвистость дерева, слова до вершины предложения, валентность глаголов, клаузы, придаточные и инфинитивные клаузы, индексы сложности L2SCA (T-единицы, глагольные, сочиненные и сложные именные группы), сочинительные цепочки, модификаторы существительного, предложные цепочки и цепочки родительных падежей, причастные и деепричастные обороты, пассив, инфинитивы, отрицания, расщепленные сказуемые («оказать помощь»), порядок подлежащих и дополнений, схожесть соседних предложений, отношение существительных к глаголам. Инфинитивная клауза («хочу спать», «пришел, чтобы помочь») - своя клауза, но не придаточная, а модальное или фазовое сочетание («может уйти», «начал читать») - одна клауза. На длинном тексте разбор занимает секунды.

Результат

По ключу на каждую запрошенную группу и warnings. Статистика группы - объект с полями:

Поле Тип Описание
value number / string / object Значение; null - статистика на этом тексте не определена
share number / object Доля от всех слов или символов, если она есть
interpretation string Прочтение по шкале или норме ruTS, если шкала есть: класс и возраст читателя, полоса индекса Флеша, норма Text.ru
count integer У маркеров канцелярита группы style: число вхождений
found object У маркеров канцелярита группы style: найденные слова и фразы с частотами, до 20 самых частых
description string Что считает статистика; без него при descriptions=false