Нейросети для SEO -
быстрый старт

Google Bert, Transformers Huggingface,
SberAi, GPT-2, GPT-3, T5
1/14
Давайте познакомимся!
Владислав Папернюк
В SEO c 2008 года
Интересы: Python, ML, NLP, Нейронные Cети
https://sait-activator.ru
https://telegram.im/@siteactivator

План Доклада
1
Скучная теория минут 5 без которой никуда
2
Особенности обработки текстов, семантические вектора (эмбеддинги)
3
Трансформеры
4
ToDo List
5
Подарок
Как устроены нейросети - 10 минутный ликбез



Ячейка нейронной сети

x1 * w1 + x2 *w2 + ... + xn*wn

y = f(x1 * w1 + x2 *w2 + ... + xn*wn)

Функции активации
Базовые моменты
Нейронная сеть - мат. модель, работает только с числами
То есть все данные необходимо "оцифровать"
Нужна тренировочная и тестовая выборки
Чем больше и качественнее тренировочная и тестовые выборки тем лучше результат
При тренировке нейросети происходит подстройка весов "нейронов" с целью уменьшить ошибку на выходе
В нулевой стадии все веса распределены рандомом. При обучении подаются пары на вход и на выход, веса при этом корректируются функцией back propagation
Один из принципов работы нейросетей - матричное умножение
Именно отсюда и происходит представление слова в виде многовекторного пространства, а по факту обычной n-мерной матрицы
Нейросети для обработки текстов (токенизация, эмбеддинги, предобученные модели)
Обработка текстов
1
Оцифровать (Токенизация)
2
Превратить в векторное пространство (Эмбеддинги - семантические вектора)
3
Создать нейросеть / использовать готовое решение
4
Обучить нейросеть / использовать предобученные модели
Токенизация
Шаг 1 - Вы можете купить пластиковые окна в Москве по недорогой цене с доставкой # Исходный текст

Шаг 2 - мочь купить пластиковый окно москва недорогой цена доставка # Лемматизация - необязательный шаг

Шаг 3 - ['5', '2', '10', '1', '7', '3', '6', '4'] # Токенизация
Эмбеддинги или векторное
представление текста
Пример 100 мерного эмбеддинг представления слова "окно"
Действия с векторами
Вектора можно складывать, вычитать, находить косинусную близость
Задачи решаемые с помощью
нейросетей не трансформеров
Полносвязные, сверточные сети LSTM и NER модели
Классификация
Определение авторства текста, определение жанра и тому подобное
Кластеризация
Группировка множества объектов
Сегментация
Распознавание сущностей внутри текста, в том числе именованных NER (name entity recognition) Date, Numeric, Geo, Coordinate и так далее
Задачи плохо решаемые
не трансформер моделями
Перевод текста
Генерация текста
Понимание смысла текста
Трансформеры как высшая степень развития нейронных сетей
2 ключевые особенности трансформеров
1
Эмбеддинг = эмбеддинг слова + эмбеддинг позиции
Трансформер анализирует "весь" текст + работает с предобученной модель (эмбеддинги слов) + учитывает порядок слова в тексте
2
Мультиголовое внимание Multihead attention
Нейросеть делает акцент на определенных особенностях текста. Каковы эти особенности, нейросеть решает сама. Google Bert Использует от 12 голов и выше
Позиционный эмбеддинг (очень грубо)
Шаг 1 - Вы можете купить пластиковые окна в Москве по недорогой цене с доставкой # Исходный текст

Шаг 2 - мочь купить пластиковый окно москва недорогой цена доставка # Лемматизация - необязательный шаг

Шаг 3 - ['55', '0', '21', '1', '106', '2', '14', '3', '79', '4', '367', '5', '658', '6', '57', '7'] # Токенизация
Вопросы
1
А весь ли текст учитывается, или может есть некое окно релевантности? А учитывается ли меню?
2
А, что будет если одна из голов Берта не найдет связанное слово в предложении или на страничке?
3
А можно ли загрузить с Гитхаба готовую модель и самому обучить её? Или может можно найти предобученную модель?
4
А на каких текстах обучались модели? На Достоевском или на сниппетах по запросам "холодильник купить"?
ТF/ IDF?
Окно -4 вхождения
Пластиковое +5 вхождений
Купить -3 вхождения
Добавить текст
2000 символов?
SEO Неандерталец обыкновенный :-)
Тошнота?
Задачи решаемые трансформерами
Семантическое ранжирование - BERT
Машинный перевод текстов - T5
Генерация текстов - GPT2, GPT3
Масса прикладных текстовых задач (выжимка смысла, детоксикация, заполнение пропущенных слов и так далее)
Прогнозирование временных рядов
Генерация картинок
Как начать? Что нужно? На чём обучать?
1
Базовый курс Pyhton + Pandas + Numpy + Matplotlib
От 2-х до 4-х месяцев вполне достаточно
2
Парсинг наше всё!
Для обучения понадобится база, поэтому учим Xpath, RegExp
3
Colab Google или Jupiter Notebook или ML Space от Sber Cloud
Среды с предварительно установленным ПО и оборудованием необходимым для машинного обучения
ToDo LIst
1
Здесь выложено семейство ruGPT-3
2
Внимательно читаете, тыкаете на по всем кнопкам OPEN_IN_COLAB,
тыкаете по всем треугольничкам. запускаете скрипты, играетесь с результатами
3
Найдите Татьяну Шаврину и подпишитесь на её соц. сети
Найдите на youtube все её ролики и посмотрите
Подпишитесь на её телегу https://t.me/rybolos_channel
4
Python + Pandas, Xpath, Regexp - джентельменский набор
5
Вспоминаете English и go на Youtube смотреть всяких индусов
Подарок
https://clck.ru/z8qnz

Скрипт поиска униграмм, биграмм и триграмм по алгоритму косинусной близости к ключевой фразе по сниппетам из ТОП-100 ПС Яндекс
Ссылки
https://colab.research.google.com/ - Среда от Google с предустановленным Python
https://habr.com/ru/company/yandex/blog/529658/ - Трансформеры в Поиске: как Яндекс применил тяжёлые нейросети для поиска по смыслу
https://github.com/ai-forever/ru-gpts - Гитхаб SberAI / репозиторий моделей от SberAI
https://sbercloud.ru/ru/datahub/rugpt3family
- SberCloud
https://jalammar.github.io/illustrated-transformer/ - Статья The Illustrated Transformer
https://www.youtube.com/watch?v=zfx4s0qiH4U - Татьяна Шаврина: Все способы применить GPT-3 в продуктах и для души
https://isolution.pro/ru/t/gensim - Gensim учебник
https://www.youtube.com/c/HuggingFace - Канал комьюнити ML разработчиков
https://github.com/huggingface/transformers - Репозиторий трансформер моделей, на данный модель насчитывает 139 модеей
https://towardsdatascience.com/bert-for-measuring-text-similarity-eec91c6bf9e1 - BERT For Measuring Text Similarity
Спасибо за внимание!
Владислав Папернюк
В SEO c 2008 года
Интересы: Python, ML, NLP, Нейронные Cети
https://sait-activator.ru
https://telegram.im/@siteactivator