Экстрактор N-грамм

N-грамма представляет собой последовательность из n подряд идущих слов текста. Экстрактор приводит ваш текст к нижнему регистру, разбивает его на слова по пробелам и знакам препинания и считает каждую n-грамму выбранной вами длины (от 1 до 8). На выходе получается таблица частот в формате CSV, отсортированная от самых частых сочетаний к редким: та самая таблица, на которой держатся проверка плотности ключевых слов в SEO, сглаживание языковых моделей и поиск заимствований.

Как извлечь n-граммы

  1. 1

    Вставьте текст

    Подойдёт статья, расшифровка записи или описание товара. Для разумных объёмов ограничений по длине нет.

  2. 2

    Выберите n

    Униграммы (1), биграммы (2), триграммы (3) и так далее до 8. За один раз обрабатывается одна длина.

  3. 3

    Запустите извлечение

    Текст приводится к нижнему регистру и разбивается на слова, а знаки препинания считаются разделителями и отбрасываются.

  4. 4

    Изучите таблицу частот

    Каждая n-грамма выводится вместе с числом вхождений и сортируется по убыванию частоты.

  5. 5

    Скопируйте CSV

    Результат разделён запятыми (N-gram,Count) и готов к вставке в электронную таблицу.

Что показывает каждая длина n-граммы

N Название Сценарий использования
1 Униграмма Плотность ключевых слов, картина тем
2 Биграмма Словосочетания (“search intent”, “page speed”), коллокации
3 Триграмма Низкочастотные запросы, выявление признаков
4+ Четырёхграмма и длиннее Поиск дублей, признаки заимствования

Как инструмент разбивает ваш текст

  • Всё приводится к нижнему регистру, поэтому «The» и «the» попадают в одну строку.
  • Словом считается любая цепочка букв, цифр или апострофов. Любой другой символ (знак препинания, символ, перевод строки) считается разделителем и отбрасывается.
  • Границы предложений не сохраняются. Последнее слово одного предложения и первое слово следующего всё равно могут образовать n-грамму, поэтому к таким парам стоит относиться осторожно. Если это важно, разбирайте текст по предложениям или абзацам.
  • Стоп-слова остаются. Ничего не фильтруется за вас: если нужны только осмысленные сочетания, удалите лишние строки из CSV после выгрузки.
  • Слова определяются по пробелам и знакам препинания. В русском языке слова разделяются пробелами, поэтому инструмент работает с ним напрямую. Учтите только, что словоформы не приводятся к начальной форме: «сайта», «сайту» и «сайт» попадут в разные строки. Если нужна лемматизация, прогоните текст через pymorphy2 или mystem и вставьте результат. А вот китайский, японский и тайский пишутся без пробелов между словами: там вся фраза придёт как одно слово, поэтому её нужно предварительно разбить (jieba, MeCab, тайский токенизатор).

Когда убирать стоп-слова

Стоп-слова представляют собой высокочастотные служебные слова: «the», «a», «of», «and» в английском и «и», «в», «на», «что» в русском. Если их не убрать, список биграмм заполнится мусором вроде «of the» и «и в». Этот экстрактор их сохраняет, поэтому удаляйте такие строки из выгрузки, когда вам нужны осмысленные словосочетания, и оставляйте, когда изучаете стиль, авторство или языковые модели, где служебные слова сами по себе несут сигнал.

Применение в SEO

Для статьи под запрос «nginx config generator» проверьте:

  • Целевые биграмма и триграмма входят в топ-20. Если «nginx config» на 40-м месте, вы, скорее всего, недостаточно используете этот термин.
  • Нет переспама. Если запрос занимает первое место с огромным отрывом, текст читается как спам.
  • Есть семантические соседи. Смежные биграммы вроде «server block», «proxy pass» и «ssl certificate» убеждают поисковые системы, что тема раскрыта.

NLP и академическое применение

  • Языковые модели используют частоты n-грамм для сглаживания и отката (Кнесера-Нея, Гуда-Тьюринга).
  • Исследования авторства сравнивают распределения триграмм у разных кандидатов в авторы.
  • Оценка машинного перевода (BLEU) измеряет совпадение n-грамм между переводом системы и эталонным переводом.

Часто задаваемые вопросы

От твита (где n-граммы почти лишены смысла) до главы книги. Для статистической надёжности биграмм нужно от 1 000 слов, а для триграмм от 10 000. При меньшем объёме рейтинг получается слишком шумным.

Здесь нет. Текст всегда приводится к нижнему регистру перед подсчётом, поэтому «The» и «the» (как и «Apple» и «apple») попадают в одну строку, а не разделяются на две. Режима с учётом регистра нет: если нужно отделить имена собственные или код, пометьте их в тексте перед вставкой.

Они работают как разделители слов и никогда не попадают внутрь n-граммы. Но окно подсчёта они не разрывают: последнее слово одного предложения и первое слово следующего всё равно считаются одной биграммой. Если границы предложений принципиальны, обрабатывайте предложения или абзацы по отдельности.

С русским работает сразу: слова разделены пробелами. Помните лишь, что формы одного слова считаются разными («запрос» и «запросы» окажутся в разных строках), поэтому для морфологически точного анализа сначала лемматизируйте текст (pymorphy2, mystem). Китайский, японский и тайский пишутся без пробелов между словами, поэтому целое предложение приходит как одно слово: сначала разбейте его токенизатором (jieba, MeCab, тайский сегментатор) и вставьте уже разделённый пробелами текст.

Инструмент не применяет никакой список, фильтровать нужно после выгрузки. Самый известный английский список стоп-слов состоит из 179 слов и входит в NLTK; его используют большинство SEO-инструментов. У Snowball, SpaCy и scikit-learn списки немного отличаются. Для русского берите русские списки стоп-слов из NLTK или из pymorphy-совместимых наборов.

Сопутствующие инструменты

Переводчик стандартного галактического алфавита

Переведите английский в стандартный галактический алфавит, рунический шифр из Commander Keen, стола зачарования Minecraft и Ready Player Two.

Генератор текста для мемов

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

Переводчик иконок

Введите английский текст, и каждое слово из встроенного списка получит подходящий эмодзи. Скопируйте результат как текст с эмодзи.

Подбор слов для Wordle

Введите слова из пяти букв и отметьте зелёные, жёлтые и серые подсказки, чтобы найти подходящие английские слова. Повторяющиеся буквы проверяются с учётом их точного количества.

Конвертер текста гяру

Преобразуйте японскую кану, распространённые кандзи и латиницу в gyaru-moji или выберите полноширинный стиль, кружки, квадраты или жирный шрифт.

Генератор бегущей строки

Создавайте анимированные бегущие заголовки с настраиваемой скоростью, размером шрифта и цветами. Предпросматривайте CSS-строку marquee или панель объявлений вживую в браузере.

Инструмент доступен на других языках