Инструменты
Руководства

Анализатор частоты слов

Текст

Подсчёт частоты слов и символьных n-грамм — CJK через Intl.Segmenter, латинские слова по буквам Юникода или пробелам — с таблицей Top-N, долей и экспортом в CSV.

100 % на клиенте Без бэкенда

Удалённые URL не запрашиваются; вставьте JSON напрямую.

Ввод
Вывод
Введите текст для анализа частоты слов.
На этой странице

Что такое анализатор частоты слов?#

Анализатор частоты читает корпус текста, считает, как часто встречается каждый токен, и ранжирует их. Это инструмент, стоящий за проверками плотности ключевых слов для SEO, обнаружением стоп-слов для поисковых индексов, оценками размера словаря для изучения языков и панелью «самых частых слов» в любом серьёзном текстовом редакторе. Считайте слова вручную — и ошибётесь; как только в дело вступают регистр, пунктуация и CJK-сегментация, интуиция отказывает.

Трудность — решить, что считать токеном. Этот инструмент предлагает четыре режима токенизации, потому что правильный ответ зависит от текста:

  • По пробелам — разбиение по любому пробельному символу. Безразличен к языку; Hello, и hello трактуются как разные токены из-за запятой и заглавной.
  • Слова (буквы) — максимальные последовательности буквенных символов Unicode (\p{L}+). Отбрасывает цифры и пунктуацию, поэтому Hello, превращается в Hello. Правильный дефолт для латинской прозы.
  • CJK (Intl.Segmenter) — использует браузерный Intl.Segmenter на уровне слов для настоящей лингвистической сегментации китайского/японского (我爱北京 бьётся по настоящим границам слов, а не по символам). Если в браузере нет сегментатора, откатывается к подсчёту по ханьцзы и предупреждает вас.
  • Символьные n-граммы — символьные n-граммы размера 2–5 по потоку со схлопнутыми пробелами; для поиска повторяющихся шаблонов и кластеров опечаток.

Весь подсчёт идёт локально; для вводов больше мегабайта он переезжает в фоновый worker, чтобы страница оставалась отзывчивой.

Как пользоваться#

  1. Выберите режим на панели инструментов: По пробелам, Слова, CJK или Символьные n-граммы.
  2. Задайте Top-N (по умолчанию 20, максимум 1000). Показывается только это число ранжированных строк, но итоги под таблицей всегда отражают все токены.
  3. Если выбраны n-граммы, появится селектор размера (2, 3, 4 или 5) — выберите длину грамма.
  4. Отметьте или снимите Без учёта регистра (по умолчанию включено). Когда включено, The и the сливаются в один подсчёт.
  5. Вставьте текст в левую панель или нажмите Пример для встроенного отрывка.
  6. Читайте правую панель: сводка (всего токенов, уникальных) и ранжированная таблица токен / количество / доля. Используйте Копировать для таблицы или Скачать CSV для файла token,count,share, который открывается в любой электронной таблице.

Если режим CJK откатился из-за отсутствия в браузере Intl.Segmenter, под таблицей появится небольшая заметка, что сегментация посимвольная, а не лингвистическая.

Ключевые возможности#

  • Четыре режима токенизации. По пробелам для сырых подсчётов, Слова для чистого подсчёта слов, CJK для настоящей китайской/японской сегментации, n-граммы для поиска шаблонов — вместо одного режима, неверного для трёх текстов из четырёх.
  • Настоящая CJK-сегментация. Используется Intl.Segmenter с granularity: "word", встроенный в браузер лингвистический сегментатор, поэтому 我爱北京天安门 бьётся по границам слов, а не кромсается по символам.
  • Честный фолбэк. Когда сегментатор недоступен, инструмент деградирует к подсчёту по ханьцзы и сообщает об этом, а не молча выдаёт другие числа.
  • Доля, а не только количество. Каждая строка показывает свой процент от всех токенов, вычисленный по всему тексту, — поэтому даже Top-20 срез из 10 000-словного документа сообщает осмысленные проценты.
  • Экспорт в CSV. Один щелчок скачивает файл token,count,share, готовый для электронной таблицы или графика.
  • Детерминированный порядок. Ничьи разрешаются по алфавиту (токен по возрастанию), поэтому повтор на идентичном вводе даёт идентичный вывод во всех браузерах и движках.
  • Worker для тяжёлого ввода. Вводы больше ~1 МБ переезжают в фоновый worker, поэтому главный поток и остальная страница остаются отзывчивыми.
  • Локально и безопасно. Токены отрисовываются только через textContent — контролируемый пользователем текст никогда не вырвется из ячейки таблицы.

Разбор примера#

Вставьте эту короткую строку с режим = По пробелам и включённым Без учёта регистра:

the quick brown fox the fox

Сводка сообщит всего 6 токенов и 4 уникальных. Ранжированная таблица:

ТокенКол-воДоля
fox233,33 %
the233,33 %
brown116,67 %
quick116,67 %

На что стоит обратить внимание. Во-первых, fox стоит выше the, хотя количество то же, — ничьи разрешаются по алфавиту. Во-вторых, доли в сумме дают 100 % по всем четырём токенам: проценты считаются от полного числа токенов, а не только от показанных строк, поэтому остаются осмысленными даже тогда, когда Top N прячет «длинный хвост».

Теперь переключите режим на Символьные n-граммы с размером 2 по тому же тексту (пробелы схлопнуты): анализатор выдаёт биграммы вроде th, he, e , q … — и видно, какие пары букв повторяются, что и нужно для охоты за дублирующимися префиксами или заевшей клавиатурой.

FAQ#

Какой режим выбрать для обычного английского текста?#

Слова (буквы) — правильный дефолт для латинской прозы: он срезает пунктуацию и цифры, поэтому word, word. и word считаются одним токеном, и вы получаете чистый подсчёт словаря. По пробелам используйте только тогда, когда пунктуация сама по себе значима (например, при подсчёте сырых пробельно-разделённых полей в логе).

Как режим CJK реально бьёт китайский?#

Он вызывает браузерный Intl.Segmenter с granularity: "word", который является настоящим лингвистическим сегментатором и знает, где китайские слова начинаются и заканчиваются. Поэтому 我爱北京天安门 разбивается на настоящие слова, а не на пять отдельных символов. Если ваш браузер не поддерживает Intl.Segmenter, инструмент откатывается к подсчёту по символам и показывает заметку — числа пригодны для сравнения плотности, просто лингвистически менее точны.

Для чего нужен режим n-грамм?#

N-граммы выявляют повторяющиеся подстроки. Проход 2-грамм по длинному тексту показывает, какие пары букв или символов доминируют; 3- или 4-граммы подсвечивают повторяющиеся префиксы, общие морфемы или кластеры опечаток. Это стандартная техника для аудитов keyword stuffing, криптоанализа и ранжирования автодополнения.

Почему мои проценты основаны на всех токенах, а не на показанных Top N?#

Потому что процент осмыслен только относительно реального итога. Если вы просите Top 10 слов в эссе на 5 000 слов, доля каждого должна отражать его часть от всего эссе, а не от 10 показанных слов. Вычисление доли от полного числа токенов сохраняет числа честными даже тогда, когда таблица усечена.

Мой текст куда-нибудь загружается?#

Нет. Токенизация, подсчёт и генерация CSV идут в вашем браузере. Большие вводы переезжают в фоновый worker, но этот поток всё равно часть этой страницы — на сервер ничего не отправляется.