Sitemap

Технологии и приемы генерации контента, которые я собираюсь продемонстрировать в этой колонке, могут показаться выдуманными из научно-фантастического романа, но теперь они реальны и находятся в свободном доступе.

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

Как вы увидите, в настоящее время относительно легко создавать машинный контент, и качество генерируемого контента быстро улучшается.

Это привело меня к печальному выводу, что мы увидим гораздо больше результатов спама, чем раньше.

К счастью, Google недавно опубликовал отчет о спаме за 2019 год, который меня успокоил.

Вы когда-нибудь заглядывали в папку со спамом в своей электронной почте?Вот как могли бы выглядеть результаты поиска, если бы мы не предпринимали меры по борьбе со спамом в поиске.В нашем сегодняшнем посте рассказывается о том, как мы работаем, чтобы не допустить спама в результаты поиска Google https://t.co/RA4lUoDXEF.

— Google SearchLiaison (@searchliaison) 9 июня 2020 г.

«В прошлом году мы заметили, что более 25 миллиардов страниц, которые мы находим каждый день, являются спамом. (Если бы каждая из этих страниц была страницей в книге, это было бы более 20 миллионов экземпляров «Войны и мира» каждый день!)

Наши усилия помогли гарантировать, что более 99% посещений из наших результатов приводят к работе без спама.

За последние несколько лет мы наблюдали рост спам-сайтов с автоматически сгенерированным и извлеченным контентом, поведение которых раздражает или вредит пользователям, выполняющим поиск, таким как фальшивые кнопки, перегруженная реклама, подозрительные перенаправления и вредоносное ПО.Эти веб-сайты часто вводят в заблуждение и не представляют реальной ценности для людей.В 2019 году нам удалось снизить влияние этого вида спама на пользователей Поиска более чем на 60 % по сравнению с 2018 годом».

В то время как Google сообщает о ошеломляющем количестве спам-страниц в день, они сообщают о впечатляющем уровне успеха в 99% в подавлении спама по всем направлениям.

Что еще более важно, они добились невероятного прогресса в подавлении машинного спама.

В этой колонке я собираюсь объяснить с помощью кода, как компьютер может генерировать контент, используя последние достижения в NLG.

Я рассмотрю теорию и некоторые рекомендации, чтобы ваш контент был полезным.

Это поможет вам избежать попадания в ловушку всего веб-спама, от которого Google и Bing работают круглосуточно, чтобы избавиться.

Тонкие страницы контента

В моей статье о создании заголовков и метаописаний я поделился эффективной техникой, основанной на обобщении содержимого страницы для создания метатегов.

После того, как вы выполните шаги, вы увидите, что он работает очень хорошо и может даже создавать высококачественные новые тексты.

Но что, если на страницах нет контента для обобщения?Техника не работает.

Позвольте мне рассказать вам очень умный трюк, чтобы решить эту проблему.

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

Ждать!

Но почему?

Позвольте мне вернуться в 1998 год, к основанию поисковой системы Google.

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

«Большинство поисковых систем связывают текст ссылки со страницей, на которой находится ссылка. Кроме того, мы связываем его со страницей, на которую указывает ссылка. Это имеет несколько преимуществ. Во-первых, анкоры часто дают более точное описание веб-страниц, чем сами страницы. Во-вторых, якоря могут существовать для документов, которые не могут быть проиндексированы системой текстового поиска, таких как изображения, программы и базы данных. Это позволяет возвращать веб-страницы, которые фактически не были просканированы».

Вот технический план:

  1. Мы получим обратные ссылки и соответствующие анкорные тексты, используя новые инструменты Bing для веб-мастеров.
  2. Мы очистим окружающий текст от обратных ссылок самого высокого качества.
  3. Мы создадим резюме и подробный контент, используя очищенный текст.

Отчет об обратных ссылках инструментов Bing для веб-мастеров

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

Я ожидаю, что это станет популярной бесплатной альтернативой платным инструментам.

Я экспортировал CSV-файл с большим списком ссылок и анкоров, но когда попытался загрузить его с помощью Python pandas, то обнаружил ряд проблем с форматированием.

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

Я решил их, открыв файл в Excel и сохранив его в формате Excel.

Очистка окружающего текста с помощью Python

Как вы можете видеть на скриншоте выше, многие анкорные тексты довольно короткие.

Мы можем очистить страницы, чтобы получить абзац, который их содержит.

Во-первых, давайте загрузим отчет, который мы экспортировали из BWT.

import pandas as pddf = pd.read_excel("www.domain.com_ReferringPages_6_7_2020.xlsx")df.head()

Я просмотрел целевой URL по количеству используемых входящих ссылок.

df.groupby("Target Url").count().tail()

Я вытащил обратные ссылки с одной из страниц, чтобы оценить идею с помощью этого кода.

backlinks = set(df[df["Target Url"] == "https://domain.com/example-page"]["Source Url"])

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

Получение текста из обратных ссылок

Во-первых, давайте установим запросы-html.

!pip install requests-htmlfrom requests_html import HTMLSessionsession = HTMLSession()

Чтобы не усложнять код, я собираюсь вручную создать селектор CSS для захвата текста, окружающего ссылку.

Это несложно рассчитать, учитывая ссылку и якорь на странице с помощью кода JavaScript или Python.

Может быть, это хорошая идея для вас, чтобы попробовать в качестве домашнего задания.

Откройте пример страницы с обратной ссылкой и с помощью инструментов разработчика Chrome щелкните правой кнопкой мыши интересующий абзац и скопируйте селектор CSS.

Это селектор, который я использовал.

with session.get(url) as r:    selector="#entry-78782 > div.asset-content.entry-content > div > p:nth-child(5)"    paragraph = r.html.find(selector, first=True)    text = paragraph.text

Это текст, который вернулся.Я выделил полужирным текст нашего примера анкорного текста.

Мы знаем, что удержание учителей улучшает результаты учащихся и, наоборот, текучесть кадров может навредить успеваемости учащихся.Ежегодно около 16 процентов педагогов увольняются, и мы знаем, что многие учителя, такие как я, уходят в течение первых пяти лет.Учителя сообщают, что основные причины, по которым они уходят, — отсутствие самостоятельности и права голоса, а также проблемы культуры и, в частности, дисциплины.Более того, текучесть кадров обходится дорого — сокращение округов составляет более 2,2 миллиарда долларов в год.

Теперь давайте перейдем к веселой части!

Нейронная генерация текста

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

Вместо того, чтобы указывать желаемую длину резюме короче, чем исходный абзац, мы укажем большую длину.Будет ли это работать?Давайте посмотрим!

!pip install transformersfrom transformers import pipelinesummarizer = pipeline('summarization')generated_text = summarizer(text, min_length=150, max_length=250)print(generated_text)

Я получаю это интересное предупреждение.

Для вашего max_length установлено значение 250, но для input_length всего 99.Вы можете рассмотреть возможность уменьшения max_length вручную, например. сумматор(‘…’, max_length=50)

Посмотрим сгенерированный текст.

[{'summary_text': "Around 16 percent of educators leave the field every year. Teachers report that the biggest reasons they leave are lack of autonomy and voice, alongside issues of culture and discipline. Turnover is costly, shorting districts upwards of $2.2 billion a year, according to a report by the National Council of Teachers of English, the nation's largest teacher organization. The report also found that teacher retention improves outcomes for students, and conversely, that teacher turnover can harm student achievement. The study was published in the Journal of Education, published by Simon & Schuster, a division of Penguin Random House, on November 14. For more, visit www.simonandschuster.com. For confidential support, call the National Suicide Prevention Lifeline at 1-800-273-8255 or visit http://www.suicidepreventionlifeline.org/."}]

В исходном тексте было 492 символа, а в сгенерированном — 835.

Но посмотрите на качество и новые предложения в сгенерированном тексте.Абсолютно, сногсшибательно!

Может ли этот метод генерировать еще более длинный текст?Да!

generated_text = summarizer(text, min_length=300, max_length=600)print(generated_text)[{'summary_text': "Around 16 percent of educators leave the field every year. Teachers report that the biggest reasons they leave are lack of autonomy and voice, alongside issues of culture and discipline. Turnover is costly, shorting districts upwards of $2.2 billion a year, according to a report by the National Council of Teachers of English, the nation's largest teacher organization. The report also found that teacher retention improves outcomes for students, and conversely, that teacher turnover can harm student achievement. The study was published in the Journal of Education, published by Simon & Schuster, a division of Penguin Random House, on November 14. For more, visit www.simonandschuster.com. For confidential support, call the National Suicide Prevention Lifeline at 1-800-273-8255 or visitxa0http://www.suicidepreventionlifeline.org/. For support in the U.S., call the Samaritans on 08457 90 90 90 or visit a local Samaritans branch, see www.samaritans.org for details. In the UK, contact the National College of Education on 0300 123 90 90, orxa0 visitxa0the Samaritansxa0in the UK. For help in the United States, callxa0thexa0National Suicide Prevention Line on 1xa0800xa0273xa08255,xa0orxa0inxa0the UK on 0800xa0123xa09255. For support on suicide matters in thexa0U.S. call thexa0Nationalxa0Collegexa0of Education,xa0Englandxa0on 08457xa090 90 90. For information on suicide prevention in the UK andxa0Europe, visit the Nationalxa0College of England and Wales."}]

Этот сгенерированный текст имеет 1420 символов и сохраняет логическую последовательность!

Зверь, приводящий в действие эту технику, — модель из Facebook под названием BART.

Авторы статьи описывают его как обобщенную форму BERT.

Давайте посмотрим, как это работает.

Как работает нейронная генерация текста

Вы проходили тесты на способности или IQ, где вам предлагается последовательность чисел, и вам нужно угадать следующее?

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

Он превратил наш первоначальный текст в последовательность чисел, угадал следующее число, взял новую последовательность, включающую угаданное число, и снова повторил тот же процесс.

Это продолжается до тех пор, пока не достигнет заданного нами предела длины.

Теперь это не просто обычные числа, а векторные и, более конкретно (в случае BERT и BART), двунаправленные вложения слов.

Я объяснил векторы и двунаправленное встраивание слов, используя аналогию с GPS, в своих статьях по глубокому обучению, часть 1 и часть 2.Пожалуйста, не забудьте проверить их.

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

Итак, вот один из примеров того, как это работает.

Учитывая текст: «Лучший язык программирования для SEO-специалистов, выполняющих повторяющиеся задачи, — это ____, а для SEO-специалистов, выполняющих внешний аудит, — ____», мы просим модель завершить предложение.

Первый шаг — преобразовать слова в числа/вложения, где каждое вложение идентифицирует слово в контексте.

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

Алгоритм, который может решить эти типы головоломок, называется языковой моделью.

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

Например, если текст представляет собой вопрос, он должен заканчиваться знаком вопроса.

Разница в том, что все слова и символы представлены числами/эмбеддингами.

Теперь интересно то, что в глубоком обучении (то, что мы используем здесь) вам не нужно вручную создавать большой список грамматических правил.

Модель изучает правила эмпирически путем эффективных проб и ошибок.

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

Самое приятное для нас то, что результаты этих усилий бесплатны для всех.

Разве нам не повезло?

BERT является примером языковой модели, как и GPT-2 и BART.

Как использовать это во благо

Как я упоминал выше, этот материал действительно мощный, и его можно использовать для относительно дешевого масштабирования бесполезного контента.

Лично я не хотел бы тратить время на то, чтобы бродить по мусору, пока я ищу.

Со временем я понял, что для того, чтобы контент работал в поиске, он должен:

  • Быть полезным.
  • Удовлетворить настоящую потребность.

Если это не так, независимо от того, создано ли это компьютером или человеком, оно не получит никакого участия или одобрения со стороны конечных пользователей.

Шансы на ранжирование и выступление очень низкие.

Вот почему я предпочитаю такие методы, как обобщение и перевод или вопрос/ответ, где у вас больше контроля над генерацией.

Они могут помочь вам убедиться, что вы добавляете новую ценность.

Общественные проекты и учебные ресурсы

Я постарался, чтобы в этой статье был легкий код, а объяснения были как можно более простыми, чтобы позволить большему количеству людей в сообществе присоединиться к веселью.

Но, если вы более технически склонны, я думаю, вам понравится это более детальное и математическое объяснение темы.

Не забудьте также перейти по ссылкам в разделе «Дополнительная литература» в связанной статье выше.

А теперь к интересным новостям.

Я попросил сообщество поделиться проектами Python, над которыми они работают.Я ожидал, может быть, горстку, и я был полностью поражен тем, сколько я получил обратно. #НЕ ЖДИТЕ 🐍🔥

Это Python и JS, но я все равно его выложу!Расширение Chrome для борьбы со спамом на Google Maps.Код сервера написан на Python и выполняет проверку и классификацию адресов. pic.twitter.com/Rvzfr5ku4N

— зчтодд (@zchtodd) 8 июня 2020 г.

1.RPA в python для автоматизации повторяющихся скриншотов https://t.co/zyaafY0bcd
2.API консоли поиска + NLP для проверки страниц, где слово в мета-заголовке не соответствует запросам, используемым посетителями: https://t.co/KsYGds7w1r

— Майкл Ван Ден Рейм (@vdrweb) 8 июня 2020 г.

3.Проверьте код состояния всех URL-адресов с показами консоли поиска, используя API консоли поиска https://t.co/qX0FxSoqgN.

— Майкл Ван Ден Рейм (@vdrweb) 8 июня 2020 г.

Привет Гамлет!

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

Будет блокнот @GoogleColab, но в идеале я также хотел бы развернуть в @streamlit, чтобы люди могли оценить качество своих перенаправлений в 1 клик, с помощью перетаскивания.

Скоро поделюсь 🙂

— Чарли Варнье (@DataChaz) 9 июня 2020 г.

@hamletbatista https://t.co/oPt5M393Lu
Работал над этим с помощью @streamlit
Напишите более привлекательные мета-заголовки.
Объясняющее видео: https://t.co/YvVoFMQ4FS

— Анубхав Битту Нарула (@anubhavn22) 9 июня 2020 г.

Scrapear redes sociales y pasarlo por npl o Red neuronal para saber el sentimiento del escrito y de ahí sacar graficas con datastudio o kibana (perdona que responsea en español pero mi inglés es bastante mejorable)

— ХавиЛазаро (@JaviLazaroSEO) 8 июня 2020 г.

1.Чтение лог-файлов и публикация 5xx/4xx в режиме реального времени в slack!
2.Намерение ключевого слова и оценка совпадения URL.

— Венера Калра (@venuskalra) 9 июня 2020 г.

https://t.co/9we85HXJgJ

— Марат Газиев (@MaratGaziev) 9 июня 2020 г.

Я создаю пакет для #SEO и интернет-маркетологов, содержащий, среди прочего:
- Гусеничный трактор
– тестер robots.txt
- проверка поисковой выдачи
- Конвертер Sitemap в DataFrame
- Преобразователь URL в DataFrame

и многое другое 🙂 https://t.co/BMVeeQaTxE

– Элиас Даббас (@eliasdabbas) 9 июня 2020 г.

Небольшой анализ контента с помощью Beautiful Soup + API ящика знаний + API Cloud Entity!🐍🐍🐍

— Джесс, но на расстоянии 6 футов (@jessthebp) 8 июня 2020 г.

Дополнительные ресурсы:


Кредиты изображений

Все скриншоты сделаны автором, июнь 2020 г.

Все категории: блог