Ваш SEO текстовый анализатор 💩! Или как правильно искать LSI слова в эпоху нейросетей? Часть 1
🕔 Время на прочтение: 5 минут
🟢 Время на внедрение: 2 минуты
Для кого?
✅ SEO оптимизаторы
✅ SEO копирайтеры
🎁 Подарок в конце статьи!
Ну, что, клюнули на кликбейтный заголовок? 😉 А теперь ближе к телу!
Можно написать самый лучший в мире текст, самую полезную статью, но она так и останется на задворках vc или вашего блога не принеся SEO трафик.
Что же сделать, чтобы ваша статья попала в ТОП Яндекса и Google – правильно, употребить ключевые слова, а так же, близкие по смыслу слова и фразы (принято называть их LSI фразами, но это некорректно). Это фразы, которые повышают общую релевантность страницы в глазах поисковиков и поднимают ваш эпистолярный шедевр в ТОП.
Кроме того, имея под рукой близкие по смыслу фразы и chat gpt можно написать экспертный текст, даже не погружаясь в тематику.
SEO текстовый анализ в эпоху динозавров 😊
Большинство текстовых анализаторов так или иначе построены на модели «мешок слов»
На вход подается некий текст, который разбивается на n-граммы (одно, двух и n-словники) которые подсчитываются как в самом документе (тексте) так и во всем корпусе слов (все тексты которые известны на данный момент языковой модели). Далее считаются веса слов по определенным алгоритмам (TF-IDF, BM-11, BM-15, BM-25 и тому подобное) и делается вывод о «тематичности» данного текста
В чем логика? Как вы уже догадались, некоторые слова будут встречаться чаще, другие реже, само собой это предлоги, союзы и часто встречающиеся фразы, вот например, словарь частотности русского языка.
Если в тексте встретятся нечасто употребляемые слова, такие как, стеклопакет, фурнитура, откосы, продувание, подоконник, ПВХ, остекление, проветривание и тому подобное и при этом выяснится, что у сайтов в ТОПе такие фразы тоже встречаются – делается вывод о том, что данный текст можно отнести к тематике «пластиковые окна»
Что не так cо старыми методами SEO анализа ?
Классический пример: «авиабилеты Москва Дубай» и «авиабилеты Дубай Москва». Мешок слов такую разницу не ловит. Нужно учитывать порядок слов а так же контекст конкретного слова в предложении.
Вот ещё 2 предложения состоящие почти из одинаковых фраз, но имеющих совершенно разный интент:
1. Закажите окна в надежной компании и вы узнаете, что сделали правильный выбор!
2. Что нужно знать, чтобы правильно выбрать окна и заказать их в надежной кампании?
Всё о чем я пишу, инженеры Google поняли уже давно, когда они создавали свой онлайн переводчик. Была разработана нейросеть трансформер T5, которая состояла из 2-х частей: BERT (энкодер ответственный за анализ текста) и GPT (декодер - ответственный за генерацию ответов)
Смотрите какая разница, мы же не говорим: a glass stands on the table.
А, что если попробовать применить нейросети для анализа текста?
Да, собственно, для этого они и разрабатывались, революция произошла после опубликования работы Attention is all you need. Когда ученые объединили векторное представление слов и новую архитектуру нейросетей трансформеров.
Как нейросеть анализирует текст?
Поисковые системы, а так же большие языковые модели, например ChatGPT работают с цифрами, что логично. Соответственно первое, что нужно сделать получив текст на вход – оцифровать его. Процесс оцифровки называется токенизация. На следующем шаге каждый токен(слово) переводится в матрицу определенной размерности. Так в Яндексе это матрица [1, 256], в моделях Сбера [1,768], а у модели ada-002 ChatGPT - [1,1536]
Провалилось? Идём дальше!
Вспомним курс школьной математики за 8 класс. Каждый вектор в пространстве X и Y можно разложить на 2 координаты, в 3-х мерном пространстве уже на 3 координаты, а в 256 мерном пространстве на матрицу [1,256] (для модели Яндекса).
Диапазон изменений каждой координаты, как правило, от -1 до 1. Вот так на языке цифр выглядит слово "окно". В силу ограничений я не стал писать все 256 значений.
[ 0.03356934 -0.02557373 -0.12902832 0.01093292 0.05551147 … -0.02572632]
Ок, а причем тут SEO?
Фишка в том, что когда люди начали смотреть куда направлены вектора, выяснилось, что у слов близких по тематике вектора направленны в одну и ту же область. И получилось так, что это свойство очень удобно использовать для поиска информации, для классификации текстов и массы других задач. То есть мы можем повысить общую релевантность документа используя данную технологию.
Давайте максимально упростим, пусть слово “кот” представлено в виде двумерной матрицы [0.24, 0.77], “кошка” [0.28, 0.72], “барсик” [0.34, 0.58], а к примеру слово “инжектор” [-0.44, 0.21]. А, что если [0.24, 0.77] – это вектор, начало которого находится в нуле, а конец в точке с координатами Х и Y [0.24, 0.77]? Если отложить все вектора, мы обнаружим интересную особенность, “кот”, “кошка” и “барсик” направленны примерно в одну сторону, а “инжектор” в другую.
Косинусная близость, как мера сравнения релевантности + инструмент поиграться
Степень близости векторов можно оценить по формуле, приводить её нет смысла, кому интересно вот ссылка. Всю математику и все эмбеддинги я засунул под капот бота @words_comparison_bot. Велкам, что называется, тестите, сравнивайте, пишите пожелания.
В чём новизна?
Сама идея повышения релевантности за счет семантически близких слов не нова, она уже используется в ряде сервисов, например Акварель-генератор, Seolemma или ГАР, разница в подходе и в технологиях.
Как вы считаете, что является более достоверным подходом, вытаскивать эти слова напрямую из BERT или довериться разработчикам сервисов?
Ну и обещаный 🎁 подарок в конце статьи!
Держите ссылку на бота, вернее на описание, как можно буквально в 2 клика получить
Вся математика, все векторы упакованы в виде бесплатного телеграм бота.
Подробное объяснение, как работают нейросети и большие языковые модели, такие как: Chat GPT, модели от Сбера, Яндекса и Google у меня в телеграм канале.
Как это работает?
1. Переходите по ссылке, подписываетесь, получаете ссылку на бота.
2. Вводите ключевую фразу, вводите продвигаемый url если это нужно
3. Получаете результат в виде списка униграмм и биграмм, а так же их всречаемость в вашем url
Ссылка на обзор от Ивана Зимина
Как интерпретировать результаты?
Приведу несколько цифр из школьной математики cos(0) = 1, cos(90) = 0, все, что посередине лежит в диапазоне от 0..1 Сначала предлагаю сократить название “косинусная близость” до CS( ‘’word1,’word2’ ).
Приведу 2 примера:
CS( ‘пластиковые окна’, ‘ПВХ окна’ ) = 0,93
CS( ‘пластиковые окна’, ‘балет лебединое озеро’ ) = 0,30
Какие значения являются пороговыми?
Сложно сказать, исходя из SEOшного опыта я бы сделал 3 уровня
1 – 0.7: высокая релевантность
0.5 – 0.69: средняя релевантность
0 – 0.49: низкая релевантность
Но выставлять пороги – это все равно, что задавать вопрос «С каким DR покупать ссылки?» Поэтому решайте сами для себя.
PS Ещё раз ссылка на бесплатного бота
Мой канал Python SEO 2 Нейрона в котором я, что называеся, на пальцахи примерах объясняю как работают нейросети и как это использовать в SEO.