All we need is love Attention!
С чего начать первый пост в телеграм блоге? Конечно же с такой вечной темы как любовь! 💕 А как говорит моя жена, любовь – это ласка забота и Внимание.
В 2017 году вышла фундаментальная работа «Attention is all you need», (внимание – это всё что вам нужно) в которой впервые описывалась архитектура генеративной нейросети - Трансформера. Эта статья совершила настоящую революцию, благодаря которой у нас появились горячо любимые ChatGPT, Midjourney, Bert, YATI и прочие вкусности!
Так, что же такое нейросеть Трансформер, и зачем это SEO оптимизатору?
В фундаменте SEO лежит как ни странно :-) текстовая оптимизация, накрутка ПФ почти не работает, жирные дропы скоро догонят по стоимости подержанные авто, а вот хорошая текстовая оптимизация работала и будет работать всегда.
Поэтому устраивайся поудобнее, подписывайся на канал, запасайсяноотропами 💊 попкорном и добро пожаловать в дивный новый мир, про который я постараюсь тебе рассказать предельно просто, что называется, на примерах и на пальцах!
С чего начать первый пост в телеграм блоге? Конечно же с такой вечной темы как любовь! 💕 А как говорит моя жена, любовь – это ласка забота и Внимание.
В 2017 году вышла фундаментальная работа «Attention is all you need», (внимание – это всё что вам нужно) в которой впервые описывалась архитектура генеративной нейросети - Трансформера. Эта статья совершила настоящую революцию, благодаря которой у нас появились горячо любимые ChatGPT, Midjourney, Bert, YATI и прочие вкусности!
Так, что же такое нейросеть Трансформер, и зачем это SEO оптимизатору?
В фундаменте SEO лежит как ни странно :-) текстовая оптимизация, накрутка ПФ почти не работает, жирные дропы скоро догонят по стоимости подержанные авто, а вот хорошая текстовая оптимизация работала и будет работать всегда.
Поэтому устраивайся поудобнее, подписывайся на канал, запасайся
❤2👏1
Эмбеддинги: от ностальгии к сингулярности 🚀
Я до сих пор помню, тот день, когда впервые услышал про векторы в n-мерном пространстве, катбуст, деревья решений из уст Великого и Ужасного. В тот момент во мне, что-то перещелкнуло, в голове заиграла музыка из Интерстеллара, я оглянулся вокруг и увидел такие же одухотворенно восторженные глаза, в которых читались вера, восхищение и … полное непонимание, происходящего. А светлоликий Гуру светящийся тайным знанием, что-то вещал со снисходительной улыбкой, но это уже не имело никакого значения, ведь он пообещал нам чудо, просто чудо, Just Magic )
На этой ностальгической ноте можно было бы и закончить :-), но я же обещал вам объяснить Интерстеллар на пальцах? Поехали!
Когда компьютер видит слово "кот", он не понимает его как пушистого разбойника, который сбрасывает вещи со стола и будит вас в 5 утра. Вместо этого он видит набор чисел, например [0.24, -0.13, 0.77], — так машина кодирует значение слова. Например, нейросеть Яндекса кодирует каждое слово в виде матрицы (столбца) размерностью [1, 256]
Ок, давай ещё упростим, пусть слово “кот” представлено в виде двумерной матрицы [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]? Если отложить все вектора, мы обнаружим интересную особенность, “кот”, “кошка” и “барсик” направленны примерно в одну сторону, а “инжектор” в другую.
Да именно так!
Стоп, а не про LSI ли речь? Нет, LSI – использует метод сингулярного разложения. Здесь речь идет именно про семантическую близость векторов и ВАЖНО! Эти векторы мы можем вытащить напрямую из BERT. Не из какого-то там доморощенного сервиса, а реально напрямую из языковой модели Яндекса, Google и тому подобных ресурсов.
Подведем итоги: Эмбеддинги – это базис на котором строятся все современные языковые модели, каждое слово Яндекс кодирует в виде матрицы [1, 256] с цифрами, которые можно представить в виде векторов, направленных в определенную точку пространства. И да, можно найти семантически близкие слова!
Ну и красивое любителям сингулярности ) https://youtu.be/8kooIgKESYE?feature=shared
Я до сих пор помню, тот день, когда впервые услышал про векторы в n-мерном пространстве, катбуст, деревья решений из уст Великого и Ужасного. В тот момент во мне, что-то перещелкнуло, в голове заиграла музыка из Интерстеллара, я оглянулся вокруг и увидел такие же одухотворенно восторженные глаза, в которых читались вера, восхищение и … полное непонимание, происходящего. А светлоликий Гуру светящийся тайным знанием, что-то вещал со снисходительной улыбкой, но это уже не имело никакого значения, ведь он пообещал нам чудо, просто чудо, Just Magic )
На этой ностальгической ноте можно было бы и закончить :-), но я же обещал вам объяснить Интерстеллар на пальцах? Поехали!
Когда компьютер видит слово "кот", он не понимает его как пушистого разбойника, который сбрасывает вещи со стола и будит вас в 5 утра. Вместо этого он видит набор чисел, например [0.24, -0.13, 0.77], — так машина кодирует значение слова. Например, нейросеть Яндекса кодирует каждое слово в виде матрицы (столбца) размерностью [1, 256]
Ок, давай ещё упростим, пусть слово “кот” представлено в виде двумерной матрицы [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]? Если отложить все вектора, мы обнаружим интересную особенность, “кот”, “кошка” и “барсик” направленны примерно в одну сторону, а “инжектор” в другую.
Так, что, получается, мы можем взять все слова из текстов (сниппетов, сайтов в ТОПе, Википедии, GPTChat из головы копирайтера) прогнать их через эмбеддинг слой и найти слова близкие по смыслу?
Да именно так!
Стоп, а не про LSI ли речь? Нет, LSI – использует метод сингулярного разложения. Здесь речь идет именно про семантическую близость векторов и ВАЖНО! Эти векторы мы можем вытащить напрямую из BERT. Не из какого-то там доморощенного сервиса, а реально напрямую из языковой модели Яндекса, Google и тому подобных ресурсов.
Подведем итоги: Эмбеддинги – это базис на котором строятся все современные языковые модели, каждое слово Яндекс кодирует в виде матрицы [1, 256] с цифрами, которые можно представить в виде векторов, направленных в определенную точку пространства. И да, можно найти семантически близкие слова!
Ну и красивое любителям сингулярности ) https://youtu.be/8kooIgKESYE?feature=shared
🔥2
Кот Барсик знает, что Инжектор не любит сметану, но любит БЕНЗИИН! https://youtu.be/z0wK6s-6cbo?feature=shared
❤1
Ещё раз про Эмбеддинги но уже без лирики и ностальгии 😊
Поисковые системы, а так же большие языковые модели, например ChatGPT работают с цифрами, что логично. Соответственно первое, что нужно сделать получив текст на вход – оцифровать его. Процесс оцифровки называется токенизация. На следующем шаге каждый токен(слово) переводится в матрицу определенной размерности. Так в Яндексе это матрица [1, 256], в моделях Сбера [1,768], а у модели ada-002 ChatGPT - [1,1536]
Провалилось? Идём дальше!
Вспомним курс школьной математики за 8 класс. Каждый вектор в пространстве X и Y можно разложить на 2 координаты, в 3-х мерном пространстве уже на 3 координаты, а в 768 мерном пространстве на матрицу [1,768].
Диапазон изменений каждой координаты от -1 до 1. Вот так на языке цифр выглядит слово окно. В силу ограничений я не стал писать все 256 значений.
[ 0.03356934 -0.02557373 -0.12902832 0.01093292 0.05551147 … -0.02572632]
Ок, а причем тут SEO?
Фишка в том, что когда люди начали смотреть куда направлены вектора, выяснилось, что у слов близких по тематике вектора направленны в одну и ту же область. И получилось так, что это свойство очень удобно использовать для поиска информации, для классификации текстов и массы других задач. То есть мы можем повысить общую релевантность документа используя данную технологию.
Как вы считаете, что является более достоверным подходом, вытаскивать эти слова напрямую из BERT или довериться разработчикам сервисов?
Поисковые системы, а так же большие языковые модели, например ChatGPT работают с цифрами, что логично. Соответственно первое, что нужно сделать получив текст на вход – оцифровать его. Процесс оцифровки называется токенизация. На следующем шаге каждый токен(слово) переводится в матрицу определенной размерности. Так в Яндексе это матрица [1, 256], в моделях Сбера [1,768], а у модели ada-002 ChatGPT - [1,1536]
Провалилось? Идём дальше!
Вспомним курс школьной математики за 8 класс. Каждый вектор в пространстве X и Y можно разложить на 2 координаты, в 3-х мерном пространстве уже на 3 координаты, а в 768 мерном пространстве на матрицу [1,768].
Диапазон изменений каждой координаты от -1 до 1. Вот так на языке цифр выглядит слово окно. В силу ограничений я не стал писать все 256 значений.
[ 0.03356934 -0.02557373 -0.12902832 0.01093292 0.05551147 … -0.02572632]
Ок, а причем тут SEO?
Фишка в том, что когда люди начали смотреть куда направлены вектора, выяснилось, что у слов близких по тематике вектора направленны в одну и ту же область. И получилось так, что это свойство очень удобно использовать для поиска информации, для классификации текстов и массы других задач. То есть мы можем повысить общую релевантность документа используя данную технологию.
Сама идея повышения релевантности за счет семантически близких слов не нова, она уже используется в ряде сервисов, например Акварель-генератор, Seolemma или ГАР, разница в подходе и в технологиях.
Как вы считаете, что является более достоверным подходом, вытаскивать эти слова напрямую из BERT или довериться разработчикам сервисов?
👍3👏1
Косинусная близость, как мера сравнения релевантности + инструмент поиграться!
Степень близости векторов можно оценитьна глаз в 256 мерном пространстве по формуле, приводить её нет смысла, кому интересно https://clck.ru/3AihMV вот ссылка на Википедию
Всю математику и все эмбеддинги я засунул под капот бота @words_comparison_bot. Велкам, что называется, тестите, сравнивайте, пишите пожелания.
Как интерпретировать результаты?
Приведу несколько цифр из школьной математики 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 @words_comparison_bot позволяет сравнивать не только отдельные слова но и целые тексты. Так например можно сравнивать ключ и текст.
Степень близости векторов можно оценить
Всю математику и все эмбеддинги я засунул под капот бота @words_comparison_bot. Велкам, что называется, тестите, сравнивайте, пишите пожелания.
Как интерпретировать результаты?
Приведу несколько цифр из школьной математики 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 @words_comparison_bot позволяет сравнивать не только отдельные слова но и целые тексты. Так например можно сравнивать ключ и текст.
Wikipedia
Векторная модель
Ве́кторная моде́ль (англ. vector space model) — в информационном поиске представление коллекции документов векторами из одного общего для всей коллекции векторного пространства.
🔥1
Стоп! Зачем изобретать велосипед, когда есть TF/IDF и целая россыпь текстовых анализаторов?
Давным давно в далекой галактике, когда работали ссылки в Яндексе, в каждом втором резюме SEO Джуна не упоминались курсы Антона Маркина, а Рома Морозов и Андрей Буйлов жили в РФ, в Яндексе и Google работали языковые модели основанные на алгоритмах обработки мешка слов. Существует множество вариаций этих моделей, некоторые из которых, судя по прошлогодним сливам из Яндекса успешно используются и сейчас для ряда задач. TF/IDF, BM-25, BM25F, LSI – все эти модели так или иначе основаны на частотных словарях, глобальных IDF и документных TF. Но, мир не стоит на местелетит в преисподнюю поэтому рано или поздно от мешка слов пришлось отказаться в пользу трансформеров
Недостатки TF-IDF и BM25 по сравнению с трансформерами:
1. Ограниченная модель языка
TF-IDF и BM25: Эти модели ранжирования опираются на простую статистику в оценке важности слов, игнорируя контекст. Слово "ключ" может использоваться в значении "ключ к машине" и "ключ от квартиры", но оба метода не способны различить их контекст.
Трансформеры: Трансформеры строят глубокие представления слов в контексте всего текста. Так, используя внимание, модель различит, что "ключ" в контексте "машины" относится к автомобилю, а "ключ от квартиры" — к жилому помещению.
2. Синонимы и формулировки
TF-IDF и BM25: Эти модели полагаются на точное совпадение слов. Если пользователь ищет "лекарство от боли", документ, содержащий "обезболивающее средство", может быть ранжирован ниже из-за разницы в формулировке.
Трансформеры: Модели с использованием эмбеддингов способны обнаруживать схожесть между синонимами и близкими понятиями, поэтому могут выдать релевантные результаты, даже если терминология в запросе и документе отличается.
3. Фиксированное ранжирование
TF-IDF и BM25: Оба метода устанавливают весовые коэффициенты для каждого слова независимо от запроса пользователя. Это приводит к фиксированному ранжированию, при котором одинаковый запрос всегда получает одни и те же результаты.
Трансформеры: Модели трансформеров могут динамически ранжировать результаты, обрабатывая контекст запроса и документов. Например, запрос "лучшие смартфоны" будет давать разные результаты для статей о "самых доступных смартфонах" и "смартфонах премиум-класса".
4. Нормализация и длина документа
TF-IDF и BM25: Эти модели могут неверно ранжировать длинные документы, если они содержат повторяющиеся ключевые слова, или недооценивать короткие, хотя и содержательные, статьи.
Трансформеры: Трансформеры учитывают весь текст, а не просто набор ключевых слов, поэтому они способны лучше учитывать контекст даже в длинных или коротких документах.
Трансформеры более эффективно ранжируют и анализируют тексты благодаря своему пониманию контекста и сложным отношениям между словами, что делает их предпочтительнее для обработки естественного языка в современных системах поиска.
5. Ну и самое главное, ради которого всё и задумывалось – учет порядка слов
TF-IDF и BM25: Игнорируют порядок слов, что может привести к одинаковому ранжированию запросов с различным интентом, например "авиабилеты Москва Сочи" и "авиабилеты Сочи Москва".
Трансформеры: Учитывают порядок слов в запросе, позволяя различать и корректно интерпретировать намерения пользователей для каждого направления полёта.
Подведем итоги! Модель TF-IDF и BM25 и её вариации живы до сих пор, более того тот же самый Magic и ГАР и векторный анализ дают похожие результаты, но собака, что называется зарыта в нюансах, а их поверьте мне масса!
Давным давно в далекой галактике, когда работали ссылки в Яндексе, в каждом втором резюме SEO Джуна не упоминались курсы Антона Маркина, а Рома Морозов и Андрей Буйлов жили в РФ, в Яндексе и Google работали языковые модели основанные на алгоритмах обработки мешка слов. Существует множество вариаций этих моделей, некоторые из которых, судя по прошлогодним сливам из Яндекса успешно используются и сейчас для ряда задач. TF/IDF, BM-25, BM25F, LSI – все эти модели так или иначе основаны на частотных словарях, глобальных IDF и документных TF. Но, мир не стоит на месте
Недостатки TF-IDF и BM25 по сравнению с трансформерами:
1. Ограниченная модель языка
TF-IDF и BM25: Эти модели ранжирования опираются на простую статистику в оценке важности слов, игнорируя контекст. Слово "ключ" может использоваться в значении "ключ к машине" и "ключ от квартиры", но оба метода не способны различить их контекст.
Трансформеры: Трансформеры строят глубокие представления слов в контексте всего текста. Так, используя внимание, модель различит, что "ключ" в контексте "машины" относится к автомобилю, а "ключ от квартиры" — к жилому помещению.
2. Синонимы и формулировки
TF-IDF и BM25: Эти модели полагаются на точное совпадение слов. Если пользователь ищет "лекарство от боли", документ, содержащий "обезболивающее средство", может быть ранжирован ниже из-за разницы в формулировке.
Трансформеры: Модели с использованием эмбеддингов способны обнаруживать схожесть между синонимами и близкими понятиями, поэтому могут выдать релевантные результаты, даже если терминология в запросе и документе отличается.
3. Фиксированное ранжирование
TF-IDF и BM25: Оба метода устанавливают весовые коэффициенты для каждого слова независимо от запроса пользователя. Это приводит к фиксированному ранжированию, при котором одинаковый запрос всегда получает одни и те же результаты.
Трансформеры: Модели трансформеров могут динамически ранжировать результаты, обрабатывая контекст запроса и документов. Например, запрос "лучшие смартфоны" будет давать разные результаты для статей о "самых доступных смартфонах" и "смартфонах премиум-класса".
4. Нормализация и длина документа
TF-IDF и BM25: Эти модели могут неверно ранжировать длинные документы, если они содержат повторяющиеся ключевые слова, или недооценивать короткие, хотя и содержательные, статьи.
Трансформеры: Трансформеры учитывают весь текст, а не просто набор ключевых слов, поэтому они способны лучше учитывать контекст даже в длинных или коротких документах.
Трансформеры более эффективно ранжируют и анализируют тексты благодаря своему пониманию контекста и сложным отношениям между словами, что делает их предпочтительнее для обработки естественного языка в современных системах поиска.
5. Ну и самое главное, ради которого всё и задумывалось – учет порядка слов
TF-IDF и BM25: Игнорируют порядок слов, что может привести к одинаковому ранжированию запросов с различным интентом, например "авиабилеты Москва Сочи" и "авиабилеты Сочи Москва".
Трансформеры: Учитывают порядок слов в запросе, позволяя различать и корректно интерпретировать намерения пользователей для каждого направления полёта.
Подведем итоги! Модель TF-IDF и BM25 и её вариации живы до сих пор, более того тот же самый Magic и ГАР и векторный анализ дают похожие результаты, но собака, что называется зарыта в нюансах, а их поверьте мне масса!
👍4👏2
🤖🤖🤖 Акуальные боты на 23.05.2024 🤖🤖🤖
@vector_keywords_bot – поиск n-грамм по ключу
@words_comparison_bot - сравнение двух текстов по косинусному схоству
@vector_text_bot - на вход ключ и текст, на выходе размеченный по сходству текст
@vector_keywords_bot – поиск n-грамм по ключу
@words_comparison_bot - сравнение двух текстов по косинусному схоству
@vector_text_bot - на вход ключ и текст, на выходе размеченный по сходству текст
Лень – двигатель прогресса!
Каждый раз когда я повторяю одно действие больше 3-х раз подряд - начинаю беситься. Я прямо чувствую как во мне всё вскипает, начинается нервяк и зуд по всему телу🤢.
В такие моменты мгновенно приходит в голову мысль: “Блин, а можно это как-то автоматизировать?” И вот на этом месте я открываю любимый pycharm и сажусь писать автоматизацию на python. Да, иногда быстрее все сделать руками и забыть, но! Неприятных ощущений то никто не отменял, а когда я погружен в процесс кодинга на python – приятное тепло разливается по всему телу, кислотно-щелочной баланс нормализуется, а волосы становятся густыми и шелковистыми 🥸!
К чему эта лирика?
Выкладываю наш внутренний инструмент, родившийся как раз в процессе автоматизации рутины.
Встречайте новый бот 🤖 - @clean_param_bot 🤖
Для чего?
Позволяет составлять инструкцию для Clean-param в несколько кликов.
Экономит ппц как много времени!
Как юзать?
Выкачиваете из вебмастера эксель файл, кидаете его в бот и буквально через пару секунд получаете инструкцию
Мануал тут https://sait-activator.ru/clean_param
Каждый раз когда я повторяю одно действие больше 3-х раз подряд - начинаю беситься. Я прямо чувствую как во мне всё вскипает, начинается нервяк и зуд по всему телу🤢.
В такие моменты мгновенно приходит в голову мысль: “Блин, а можно это как-то автоматизировать?” И вот на этом месте я открываю любимый pycharm и сажусь писать автоматизацию на python. Да, иногда быстрее все сделать руками и забыть, но! Неприятных ощущений то никто не отменял, а когда я погружен в процесс кодинга на python – приятное тепло разливается по всему телу, кислотно-щелочной баланс нормализуется, а волосы становятся густыми и шелковистыми 🥸!
К чему эта лирика?
Выкладываю наш внутренний инструмент, родившийся как раз в процессе автоматизации рутины.
Встречайте новый бот 🤖 - @clean_param_bot 🤖
Для чего?
Позволяет составлять инструкцию для Clean-param в несколько кликов.
Экономит ппц как много времени!
Как юзать?
Выкачиваете из вебмастера эксель файл, кидаете его в бот и буквально через пару секунд получаете инструкцию
Мануал тут https://sait-activator.ru/clean_param
👍6❤2🐳1
Как обучаются нейросети, или почему GPT-4 такая умная. Лёгкое субботнее чтиво )🍹
Первые попытки генерации контента с помощью нейросетей я пробовал еще в 2021 году. Это были seq-to-seq модели с механизмом attention. Результат был мягко говоря не очень. Поэтому, когда появилась модель GPT-3, я, помня свой прошлый опыт изначально отнесся скептически, но когда я увидел GPT-4 я просто охренел!
Да именно в GPT-4 произошел квантовый скачок, переход от количества в качество!
Почему GPT-4 такая умная и как происходит обучение модели?
В процессе обучения на вход по очереди подаются тексты с масками, например:
(Маска) дядя самых честных правил
Мой (маска) самых честных правил
Мой дядя (маска) честных правил
Нейросеть пытается угадать какое слово должно быть вместо маски, результат оценивается с помощью метода back propagation (говоря простым языком - поощряется или штрафуется)
В итоге получаются устойчивые связки фраз, которые и обеспечивает гладкий слог. Но нужно понимать, что появление того или иного слова не данность, а вероятность. Именно за этот фактор и отвечает параметр temperature в моделях Open AI
Вопрос, какой текст будет если подать на вход:
Бобр (маска)?
Ответ тут 😆
Мем старый но очень смешной ). ОК а теперь вопросы. А на каком текстовом корпусе обучались всем известные GPT модели? На книгах Толстого и Достоевского? На Википедии? На школьных чатах или может быть на всем сразу?
Какой корпус русского языка они использовали? И использовали ли они вообще корпус русского языка, или как все модели Open AI сначала думают на английском а потом переводят на все остальные языки мира?
В процессе написания @vector_keywords_bot я перепробовал разные модели и в итоге остановился на одной, которая мне показалась наиболее адекватной. Какой именно? Сохраним интригу для следующих постов 😉.
Первые попытки генерации контента с помощью нейросетей я пробовал еще в 2021 году. Это были seq-to-seq модели с механизмом attention. Результат был мягко говоря не очень. Поэтому, когда появилась модель GPT-3, я, помня свой прошлый опыт изначально отнесся скептически, но когда я увидел GPT-4 я просто охренел!
Да именно в GPT-4 произошел квантовый скачок, переход от количества в качество!
Почему GPT-4 такая умная и как происходит обучение модели?
В процессе обучения на вход по очереди подаются тексты с масками, например:
(Маска) дядя самых честных правил
Мой (маска) самых честных правил
Мой дядя (маска) честных правил
Нейросеть пытается угадать какое слово должно быть вместо маски, результат оценивается с помощью метода back propagation (говоря простым языком - поощряется или штрафуется)
В итоге получаются устойчивые связки фраз, которые и обеспечивает гладкий слог. Но нужно понимать, что появление того или иного слова не данность, а вероятность. Именно за этот фактор и отвечает параметр temperature в моделях Open AI
Вопрос, какой текст будет если подать на вход:
Бобр (маска)?
Ответ тут 😆
Мем старый но очень смешной ). ОК а теперь вопросы. А на каком текстовом корпусе обучались всем известные GPT модели? На книгах Толстого и Достоевского? На Википедии? На школьных чатах или может быть на всем сразу?
Какой корпус русского языка они использовали? И использовали ли они вообще корпус русского языка, или как все модели Open AI сначала думают на английском а потом переводят на все остальные языки мира?
В процессе написания @vector_keywords_bot я перепробовал разные модели и в итоге остановился на одной, которая мне показалась наиболее адекватной. Какой именно? Сохраним интригу для следующих постов 😉.
👍11🐳2
Ваш текстовый анализатор 💩!
Ну, что, клюнули на кликбейтный заголовок? 😉 А теперь ближе к телу! Великий и Ужасный был прав – порядок слов важен! Насколько, спросите вы?
Проведем эксперимент, посмотрим меру cs (косинусного сходства) между ключом и предложением с помощью @words_comparison_bot.
Разница не столь значительна, но ощутима. Скажите, вам знакомо, чувство, когда вы вылизали посадочную по вхождениям, чуть проспамили, употребили весь LSI арсенал, а она, сволочь такая, даже не шелохнулась? В чем же дело?
Порядок слов в предложении зашит на уровне архитектуры нейросети с помощью метода positional encoding (позиционное кодирование.)
Позиция каждого слова кодируется с помощью позиционного эмбеддинга* (вектора), а итоговый эмбеддинг – сумма из эмбеддинга слова и эмбеддинга его позиции.
Ещё раз!
Итоговый вектор = вектор слова + вектор позиции слова
Для чего это было сделано? Классический пример: «авиабилеты Москва Сочи» и «авиабилеты Сочи Москва».
Как SEOшники обходили эту проблему раньше? Использовали n-граммы, а не только униграммы.
Ок, скажете вы, пришел, поумничал, а нам простым SEOшникам как с этим жить дальше?
Не претендуя на роль SEO гуру могу сделать несколько простых выводов:
1. Все старые методики текстового анализа и большинство текстовых анализаторов основанных, на модели «мешок слов», что-то считают… Как это юзать – вопрос уже больше не технический а религиозный.
2. Ищите копирайтеров и SEOшников с бэкграундом в определенных нишах.
3. Используйте биграммы, чтобы хоть как-то подстроиться под порядок слов
4. Юзайте моих ботов, ну и тут тоже без религии никуда )))
Анонс! В ближайшие день/два выкачу новый функционал у одного из ботов, отвечаю, будет бомба!💥
Ну, что, клюнули на кликбейтный заголовок? 😉 А теперь ближе к телу! Великий и Ужасный был прав – порядок слов важен! Насколько, спросите вы?
Проведем эксперимент, посмотрим меру cs (косинусного сходства) между ключом и предложением с помощью @words_comparison_bot.
1 пара:
Ключ: пластиковые окна
Текст: Покупайте пластиковые окна в компании Оконика со скидкой в Москве недорого с установкой и бесплатной гарантией.
cs = 0.8
2 пара:
Ключ: пластиковые окна
Текст: В компании Оконика покупайте недорого со скидкой и установкой с бесплатной гарантией пластиковые окна в Москве.
cs = 0.73Разница не столь значительна, но ощутима. Скажите, вам знакомо, чувство, когда вы вылизали посадочную по вхождениям, чуть проспамили, употребили весь LSI арсенал, а она, сволочь такая, даже не шелохнулась? В чем же дело?
Порядок слов в предложении зашит на уровне архитектуры нейросети с помощью метода positional encoding (позиционное кодирование.)
Позиция каждого слова кодируется с помощью позиционного эмбеддинга* (вектора), а итоговый эмбеддинг – сумма из эмбеддинга слова и эмбеддинга его позиции.
Ещё раз!
Итоговый вектор = вектор слова + вектор позиции слова
Для чего это было сделано? Классический пример: «авиабилеты Москва Сочи» и «авиабилеты Сочи Москва».
Как SEOшники обходили эту проблему раньше? Использовали n-граммы, а не только униграммы.
Ок, скажете вы, пришел, поумничал, а нам простым SEOшникам как с этим жить дальше?
Не претендуя на роль SEO гуру могу сделать несколько простых выводов:
1. Все старые методики текстового анализа и большинство текстовых анализаторов основанных, на модели «мешок слов», что-то считают… Как это юзать – вопрос уже больше не технический а религиозный.
2. Ищите копирайтеров и SEOшников с бэкграундом в определенных нишах.
3. Используйте биграммы, чтобы хоть как-то подстроиться под порядок слов
4. Юзайте моих ботов, ну и тут тоже без религии никуда )))
Анонс! В ближайшие день/два выкачу новый функционал у одного из ботов, отвечаю, будет бомба!💥
👍19❤1
Йу-ху! Держите @vector_keywords_bot версия 2.0!
Случилось новое масштабное обновление, теперь можно не просто выгрузить семантически близкие слова из нейросети, но и посчитать количество вхождений на странице!
Как это работает?
1. /start – стартуете бота
2. подаете ключ в первом сообщении
3. url – во втором сообщении, либо цифру «0» если url не нужен
4. наслаждаетесь результатом
Всем продуктивных трудовыебудней! 👷
Случилось новое масштабное обновление, теперь можно не просто выгрузить семантически близкие слова из нейросети, но и посчитать количество вхождений на странице!
Как это работает?
1. /start – стартуете бота
2. подаете ключ в первом сообщении
3. url – во втором сообщении, либо цифру «0» если url не нужен
4. наслаждаетесь результатом
Всем продуктивных трудовыебудней! 👷
👍8🔥3🏆1
Как читать результаты для @vector_keywords_bot?
Здесь cs – косинусная близость
Вхождений в url – вхождения лемматизированной n-граммы в тело страницы
PS Сloudflare и антиботов пока не проходит, это следующая задача.
Здесь cs – косинусная близость
Вхождений в url – вхождения лемматизированной n-граммы в тело страницы
PS Сloudflare и антиботов пока не проходит, это следующая задача.
👍6