Инструменты¶
Общее¶
Все инструменты только читают переданный текст: ничего не сохраняют и не ходят в сеть. Текст и корпус ограничены по длине (RUTS_MCP_MAX_TEXT_LENGTH, по умолчанию 500 000 символов, см. Настройки).
Текст передается аргументом text или путем к файлу path - абсолютным путем к файлу в UTF-8 на машине, где запущен сервер. Файл удобнее для длинного текста: агенту не нужно пересылать его в аргументе, и статистики считаются по исходному тексту, а не по его пересказу. Знаки ударения и мягкие переносы внутри слов не мешают анализу: слова сравниваются без них, kwic показывает текст как написан, а группа verse берет из знака ударение.
В каждом ответе есть ключ warnings - причины, по которым значения могут быть неустойчивы или не иметь смысла для этого текста: короткий текст, текст не на русском языке, не скачанные словари или модель, статистика, не определенная на тексте. Агенту стоит читать их до выводов. Числа округляются до четырех значащих цифр, неопределенное значение отдается как null.
Определения и формулы метрик - в документации ruTS; сервер передает значения ruTS как есть.
analyze_text¶
Статистики текста по группам; считаются только запрошенные группы.
| Параметр | По умолчанию | Описание |
|---|---|---|
text |
- | Текст на русском языке |
path |
- | Путь к файлу с текстом вместо text |
groups |
["basic", "readability"] |
Группы статистик; каждая - ключ результата |
distributions |
false |
Добавить распределения слов по числу букв и слогов и знаков препинания по типам (группа basic) |
readability_preset |
plainrussian |
Коэффициенты формул удобочитаемости: plainrussian откалиброван по школьным классам и подходит для любых текстов; fiction - коэффициенты Оборневой по художественным текстам, дает класс на несколько лет выше; academic - коэффициенты Соловьёва, Иванова и Солнышкиной по учебникам 5-11 классов |
descriptions |
true |
Добавить к статистикам описания; false - ответ короче, когда описания уже известны по прошлому вызову |
| Группа | Что считает | Данные |
|---|---|---|
basic |
Предложения, слова, слоги, символы, длинные и сложные слова (BasicStats) | - |
readability |
Сводный класс и формулы удобочитаемости с классом школы и возрастом читателя, время чтения (ReadabilityStats) | - |
diversity |
Лексическое разнообразие: TTR и поправки к нему, MATTR, MTLD, HD-D, законы Ципфа и Хипса (DiversityStats) | - |
morph |
Части речи, грамматические признаки, формы глагола (MorphStats) | - |
phon |
Классы звуков, сочетания согласных, аллитерация и ассонанс (PhonStats) | - |
cohesion |
Связность: повторы между предложениями, данность, коннекторы (CohesionStats) | - |
style |
Тошнота, водность, заспамленность с прочтением по нормам SEO-сервисов, самые частые словоформы, маркеры канцелярита с найденными словами и фразами (StyleStats) | - |
lexical |
Частотность слов, частотные полосы, сюрпризал, лексическая плотность (LexicalStats) | частотный словарь для частотности и сюрпризала |
verse |
Метр, число стоп, рифмовка, окончания строк; знак ударения в тексте («замо́к») важнее словаря (VerseStats) | словарь ударений |
syntax |
Длины зависимостей, глубина дерева, клаузы, обороты, пассив, расщепленные сказуемые (SyntaxStats) | модель spaCy |
Как скачать данные - в разделе Словари и модель spaCy.
Каждая статистика в ответе - объект с полями:
| Поле | Описание |
|---|---|
value |
Значение |
share |
Доля от всех слов или символов, если она есть |
interpretation |
Прочтение по шкале или норме ruTS, если шкала есть: класс и возраст читателя, полоса индекса Флеша, норма Text.ru |
count, found |
У маркеров канцелярита группы style: число вхождений и найденные слова и фразы с частотами |
description |
Что считает статистика |
analyze_text, как ruTS, считает «ещё» и «еще» разными словами, а kwic, collocations, dispersion и keyness сводят ё к е.
Шкалы прочтения отдают ресурсы ruts://scales/readability и ruts://scales/style.
kwic¶
Все вхождения слова или словосочетания с контекстом слева и справа - конкорданс, по которому агент цитирует текст.
| Параметр | По умолчанию | Описание |
|---|---|---|
keyword |
- | Слово или словосочетание |
text |
- | Текст |
path |
- | Путь к файлу с текстом вместо text |
window |
5 |
Число слов контекста с каждой стороны, до 50 |
by_lemma |
false |
Искать все формы слова: «кот» находит «кота» и «коты» |
limit |
50 |
Наибольшее число строк ответа, до 500 |
Ответ - число вхождений n_matches и строки matches с полями left, keyword и right. Кроме limit, строки ограничены объемом: около 40 000 символов контекста на ответ; если показаны не все вхождения, предупреждение говорит, сколько.
collocations¶
Коллокации - пары слов, которые встречаются вместе чаще, чем случайно: устойчивые сочетания, термины, сочетаемость слова.
| Параметр | По умолчанию | Описание |
|---|---|---|
text |
- | Текст |
path |
- | Путь к файлу с текстом вместо text |
window |
5 |
Наибольшее расстояние между словами пары, от 1 до 10 |
measure |
logdice |
Мера ассоциации: logdice, mi, mi3, t_score, dice, log_likelihood, npmi, min_sensitivity |
min_freq |
2 |
Наименьшая частота пары |
node |
- | Слово, сочетаемость которого нужна; не задано - все пары |
lemmatize |
true |
Сравнивать леммы: «точка зрения» и «точки зрения» - одна пара |
top_n |
20 |
Число пар в ответе, до 200 |
Ответ - пары по убыванию меры с частотами слов и пары и строка measure, которая говорит, как читать значения меры.
dispersion¶
Дисперсия - насколько равномерно слово распределено по тексту: отличает слово, которое проходит через весь текст, от слова, сосредоточенного в одном месте. Текст делится на равные части, для каждого слова считаются меры Гриса; основная из них - DP, от 0 (равномерно) почти до 1 (в одной части).
| Параметр | По умолчанию | Описание |
|---|---|---|
text |
- | Текст |
path |
- | Путь к файлу с текстом вместо text |
words |
- | Слова, дисперсия которых нужна, до 200; не задано - самые частые слова |
parts |
10 |
Число частей текста, от 2 до 100 |
lemmatize |
true |
Сравнивать леммы |
top_n |
20 |
Число самых частых слов, если words не задано |
keyness¶
Ключевые слова - слова, которые в тексте значимо чаще (или реже), чем в эталоне. Эталон по умолчанию - частотный словарь современного русского языка (его скачивает ruts-mcp download), так что ответ показывает, чем лексика текста отличается от обычного языка; эталоном может быть и другой текст.
| Параметр | По умолчанию | Описание |
|---|---|---|
text |
- | Текст |
path |
- | Путь к файлу с текстом вместо text |
reference |
- | Текст-эталон; не задано - частотный словарь |
reference_path |
- | Путь к файлу с текстом-эталоном вместо reference |
measure |
log_likelihood |
Мера сортировки: log_likelihood, log_ratio, chi2, diff, bic, ell, odds_ratio |
positive |
true |
Слова, которые чаще в тексте; false - которые чаще в эталоне |
min_freq |
2 |
Наименьшая частота слова там, где оно чаще |
lemmatize |
true |
Сравнивать леммы; со словарем леммы сравниваются всегда |
top_n |
20 |
Число слов в ответе, до 200 |
Для каждого слова ответ дает частоты в тексте и эталоне, логарифм правдоподобия G² с p-значением и Log Ratio - во сколько раз слово чаще. Если в эталоне слова нет, Log Ratio - оценка с поправкой 0,5 и бывает меньше нуля, хотя слово чаще в тексте. Со словарем имена, термины и опечатки, которых в нем нет, попадают в ключевые слова, а статьи словаря, к которым не приводится ни одно слово текста (его, ее, их, во, со - формы лемм он, она, они, в, с), в слова, которые чаще в эталоне, не попадают.
compare_texts¶
Сравнение двух корпусов по признакам стиля - для атрибуции авторства, сравнения жанров и переводов, текстов человека и модели. Тексты режутся на окна по window слов, у каждого окна считаются около 110 признаков ruTS, и распределения каждого признака в корпусах сравниваются.
| Параметр | По умолчанию | Описание |
|---|---|---|
a |
- | Тексты первого корпуса, до 1000 |
b |
- | Тексты второго корпуса, до 1000 |
a_paths |
- | Пути к файлам с текстами первого корпуса, вместе с a или вместо |
b_paths |
- | Пути к файлам с текстами второго корпуса, вместе с b или вместо |
window |
- | Размер окна в словах, от 100 до 10 000; не задано - не больше 1000 и такой, чтобы самый короткий текст делился хотя бы на два окна |
whole_texts |
false |
Сравнивать тексты целиком, без окон |
top_n |
15 |
Число признаков с наибольшим различием, до 200 |
Текст режется подряд на окна ровно по window слов; остаток короче окна и текст короче окна в сравнение не входят (ответ предупреждает о таких текстах и о потере больше 10 % слов корпуса на остатках; окно поменьше теряет меньше текста). При сравнении текстов целиком ответ предупреждает, если средняя длина текстов в корпусах заметно различается: признаки, которые зависят от длины текста, различаются и из-за нее.
Ответ - признаки по убыванию модуля дельты Клиффа, при равной дельте - по относительной разности медиан: средние по окнам, разность медиан с 95% доверительным интервалом, дельта Клиффа (по модулю от 0,147 - малый, от 0,33 - средний, от 0,474 - большой эффект) и p-значение с поправкой Холма. В каждом корпусе нужно хотя бы по два окна; надежнее, когда в корпусах по нескольку текстов: окна одного текста не независимы.