Анализатор частоты слов
ТекстПодсчёт частоты слов и символьных n-грамм — CJK через Intl.Segmenter, латинские слова по буквам Юникода или пробелам — с таблицей Top-N, долей и экспортом в CSV.
Удалённые URL не запрашиваются; вставьте JSON напрямую.
На этой странице
Что такое анализатор частоты слов?#
Анализатор частоты читает корпус текста, считает, как часто встречается каждый токен, и ранжирует их. Это инструмент, стоящий за проверками плотности ключевых слов для SEO, обнаружением стоп-слов для поисковых индексов, оценками размера словаря для изучения языков и панелью «самых частых слов» в любом серьёзном текстовом редакторе. Считайте слова вручную — и ошибётесь; как только в дело вступают регистр, пунктуация и CJK-сегментация, интуиция отказывает.
Трудность — решить, что считать токеном. Этот инструмент предлагает четыре режима токенизации, потому что правильный ответ зависит от текста:
- По пробелам — разбиение по любому пробельному символу. Безразличен к языку;
Hello,иhelloтрактуются как разные токены из-за запятой и заглавной. - Слова (буквы) — максимальные последовательности буквенных символов Unicode (
\p{L}+). Отбрасывает цифры и пунктуацию, поэтомуHello,превращается вHello. Правильный дефолт для латинской прозы. - CJK (Intl.Segmenter) — использует браузерный
Intl.Segmenterна уровне слов для настоящей лингвистической сегментации китайского/японского (我爱北京бьётся по настоящим границам слов, а не по символам). Если в браузере нет сегментатора, откатывается к подсчёту по ханьцзы и предупреждает вас. - Символьные n-граммы — символьные n-граммы размера 2–5 по потоку со схлопнутыми пробелами; для поиска повторяющихся шаблонов и кластеров опечаток.
Весь подсчёт идёт локально; для вводов больше мегабайта он переезжает в фоновый worker, чтобы страница оставалась отзывчивой.
Как пользоваться#
- Выберите режим на панели инструментов: По пробелам, Слова, CJK или Символьные n-граммы.
- Задайте Top-N (по умолчанию 20, максимум 1000). Показывается только это число ранжированных строк, но итоги под таблицей всегда отражают все токены.
- Если выбраны n-граммы, появится селектор размера (2, 3, 4 или 5) — выберите длину грамма.
- Отметьте или снимите Без учёта регистра (по умолчанию включено). Когда включено,
Theиtheсливаются в один подсчёт. - Вставьте текст в левую панель или нажмите Пример для встроенного отрывка.
- Читайте правую панель: сводка (всего токенов, уникальных) и ранжированная таблица токен / количество / доля. Используйте Копировать для таблицы или Скачать 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 уникальных. Ранжированная таблица:
| Токен | Кол-во | Доля |
|---|---|---|
| fox | 2 | 33,33 % |
| the | 2 | 33,33 % |
| brown | 1 | 16,67 % |
| quick | 1 | 16,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, но этот поток всё равно часть этой страницы — на сервер ничего не отправляется.