Skip to content

report stats

Konstantin V. Borisov edited this page Apr 13, 2022 · 1 revision

Модель статистического отчёта CheckStats

Эта модель содержит в себе информацию достаточную для того, чтобы отобразить пользователю состояние ошибок в его тексте в полном объёме, как в редакторе Литеры.

/**
 * Статистика типа аннотаций
 */
interface AnnotationStats {
  /**
   * внутренний тип аннотации
   */
  kind: string;

  /**
   * название типа для людей
   */
  name: string;

  /**
   * количество аннотаций этого типа
   */
  count: number;
}

/**
 * Количество появлений слова
 */
interface WordCount {
  /**
   * слово
   */
  word: string;
  
  /**
   * количество
   */
  value: number;
}

/**
 * Статистический отчёт
 */
interface CheckStats {
  /**
   * список типов аннотаций (список)
   */
  annotations: AnnotationStats[];

  /**
   * индекс удобочитаемости
   */
  fleschIndex: {
    /**
     * значение
     */
    value: number;
    
    /**
     * расшифровка
     */
    comment: string;
  };

  /**
   * индекс туманности
   */
  fogIndex: {
    /**
     * значение
     */
    value: number;

    /**
     * расшифровка
     */
    comment: string;
  };

  /**
   * статистика текста
   */
  statistic: {
    /**
     * знаков
     */
    chars: number;

    /**
     * знаков без пробелов
     */
    charsNoSpace: number;

    /**
     * слогов
     */
    syllables: number;

    /**
     * слов
     */
    words: number;

    /**
     * предложений
     */
    sentenses: number;

    /**
     * параграфов
     */
    paragraphs: number;

    /**
     * заголовков
     */
    headers: number;

    /**
     * уникальных слов
     */
    uniqueWords: number;

    /**
     * уникальных форм
     */
    uniqueForms: number;

    /**
     * слов в предложении
     */
    wordsInSentence: number;

    /**
     * букв в слове
     */
    lettersInWord: number;

    /**
     * слов в параграфе
     */
    wordsInParagraph: number;

    /**
     * предложений в параграфе
     */
    sentencesInParagraph: number;

    /**
     * слогов в слове
     */
    syllablesInWord: number;

    /**
     * цена проверки документа в 1/10 страниц (180 знаков с пробелами), 
     * не меньше 1/2 страницы (при объёме текста меньше 900 знаков).
     */
    price: number;
  };

  /**
   * SEO-анализ
   */
  seo: {
    /**
     * тошнота классическая
     */
    nauseaClassic: number;

    /**
     * тошнота академическая
     */
    nauseaAcademic: number;

    /**
     * водность
     */
    water: number;

    /**
     * количество частотных биграмм
     */
    bigramCount: number;

    /**
     * количество частотных триграмм
     */
    trigramCount: number;

    /**
     * количество частотных тетра-и-более-грамм
     */
    ngramCount: number;

    /**
     * список неестественных повторяющихся сочетаний
     */
    wrongColls: string[];
  };

  /**
   * содержимое
   */
  content: {
    /**
     * слова из частного словаря
     */
    userWords: string;
  };

  /**
   * коммуникация
   */
  time: {
    /**
     * среднее время набора текста
     */
    write: string;

    /**
     * среднее время чтения вслух
     */
    spell: string;

    /**
     * среднее время чтения про себя
     */
    read: string;
  };

  /**
   * наиболее...
   */
  top: {
    /**
     * часто встречающиеся слова (список)
     */
    mostFrequentWords: WordCount[];

    /**
     * часто встречающиеся формы (список)
     */
    mostFrequentForms: WordCount[];

    /**
     * длинные слова (список)
     */
    mostLongWords: WordCount[];

    /**
     * часто встречающиеся имена собственные (список)
     */
    mostFrequentProperName: WordCount[];
  };
}

Статистический отчёт может быть получен несколькими путями, а именно:

  • При вызове метода сайта POST on-initial-stats. В этом случае будет передаваться статистика самой первой выполненной проверки.
  • При вызове метода сайта POST on-save-corrected. В этом случае будет передаваться статистика самой последней выполненной проверки пользователя в ходе работы с редактором Литеры. Если проверка была ровно одна, то этот отчёт будет совпадать с отчётом из POST on-initial-stats. Единственное отличие - это содержимое поля CheckStats.statistics.price в этом варианте использования оно будет содержать сумму стоимостей всех проверок сделанных пользователем в рамках сессии работы с текстом в редакторе Литеры.
  • Про проверке запущеной методом API POST check-ogxt и получения результатов при помощи метода POST check-ogxt-results. В этом случае мы имеем дело ровно с одной проверкой, поэтому это статистика одной проверки.

Clone this wiki locally