Нейросети для 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