در سئو یا بهینه سازی سایت برنده کسی است که در موتورهای جستجو تگ عنوان مطلب یا صفحه پیدا شده همراه با کلمه کلیدی باشد.

برای یک دقیقه به این موضوع فکر کنید.

اگر یک صفحه از قبل برای یک کلمه کلیدی رتبه بندی شده باشد و اگر آن کلمه در عنوان آن وجود نداشته باشد، اگر بخواهیم آن را اصطلاح و اضافه کنیم، آن صفحه می تواند رتبه بالاتری داشته باشد.

اگر کلمات کلیدی را به توضیحات متا اضافه کنیم، می توانیم آن ها را در نتایج جستجو به حالت پررنگ برجسته کنیم.

نشان دادن کلمه کلیدی به حالت برجسته و پر رنگ در کوئری های موتور جستجو گوگل

اکنون، اگر در سایتی با صدها، هزاران یا میلیون ها صفحه کار می کنید، انجام این کار به صورت دستی بسیار وقت گیر و بسیار گران خواهد بود!

اما اگر این کار را به یک ماشین یاد دهیم تا برای ما انجام دهد، در نهایت می تواند این کار را حتی بهتر و سریعتر از یک تیم ورود اطلاعات انجام دهد.

معرفی مجدد Uber’s Ludwig & Google’s T5

  • Uber’s Ludwig
  • Google’s T5 (Text to Text Transfer Transformer)

به طور خلاصه، این یک ابزار “Auto ML” منبع باز است که به شما امکان می دهد بدون نوشتن کد، مدل های پیشرفته را آموزش دهید.

فناوری T5

گوگل T5 را نسخه برتر مدل هایی به سبک BERT توصیف می کند.

زیرا BERT برای دسته بندی اهداف جستجو بسیار مناسب است.

در مقابل، T5 می تواند خلاصه نویسی، ترجمه، پاسخ به سوالات، طبقه بندی (مانند BERT) و غیره را انجام دهد.

اکنون، T5 برای بهینه سازی تگ عنوان آموزش داده نشده است.

شاید بتوانیم چنین کاری کنیم!

نیاز داریم به:

  • یک مجموعه داده آموزشی با یک مثال که شامل موارد زیر است:
    • برچسب های عنوان اصلی بدون کلمات کلیدی هدف ما
    • کلمات کلیدی هدف
    • تگ های عنوان بهینه شده با کلمات کلیدی هدف
  • کد تنظیم دقیق T5 و یک آموزش برای دنبال کردن
  • مجموعه عناوینی که بهینه نشده اند و می توانیم از آن ها برای آزمایش مدل خود استفاده کنیم

نویسندگان T5 سخاوتمندانه دفترچه یادداشت Google Colab را گردآوری کرده اند که می توانید برای تنظیم دقیق T5 از آن استفاده کنید.

دفترچه یادداشت Google Colab

آن ها همچنین شامل بخشی هستند که نحوه تنظیم دقیق آن برای کارهای جدید را توضیح می دهد. اما وقتی به تغییرات کد و آماده سازی داده های مورد نیاز نگاه می کنید، به نظر می رسد که تلاش زیادی برای فهمیدن اینکه آیا ایده ما واقعاً موثر است، بسیار زیاد است.

شاید راه ساده تری وجود داشته باشد!

خوشبختانه، اوبر همین چند ماه پیش لودویگ نسخه 0.3 را منتشر کرد.

نسخه 0.3 Ludwig ships با:

  • مکانیزم بهینه سازی ابرپارامتر که عملکرد اضافی مدل ها را فشرده می کند.
  • ادغام بدون کد با مخزن Hugging Face’s Transformers ، به کاربران امکان دسترسی به مدل های پیشرفته مانند GPT-2 ، T5 ، Electra و DistilBERT را برای کارهای پردازش زبان طبیعی از جمله طبقه بندی متن، تجزیه و تحلیل احساسات، نام نهاد شناخت ، پاسخ به سوالات و موارد دیگر.
  • یک باطن جدید، سریعتر، ماژولار و قابل توسعه براساس TensorFlow 2.
  • پشتیبانی از بسیاری از قالب های داده جدید، از جمله TSV ، Apache Parquet ، JSON و JSONL.
  • قابلیت اعتبار k-fold خارج از جعبه.
  • ادغام با Weights and Biases برای نظارت و مدیریت فرآیندهای آموزش مدل های متعدد.
  • نوع داده برداری جدیدی که از تگ های شلوغ برای نظارت ضعیف پشتیبانی می کند.

این نسخه با ویژگی های جدید همراه است، اما مورد دلخواه من ادغام در کتابخانه Hugging Face’s Transformers است.

پایپ لاین ها برای اجرای پیش بینی در مدل هایی که قبلاً آموزش دیده اند و در مرکز مدل در دسترس هستند عالی هستند. اما، در حال حاضر، هیچ مدلی وجود ندارد که آنچه را که ما نیاز داریم انجام دهد، بنابراین لودویگ در اینجا بسیار مفید است.

تنظیم دقیق T5 با لودویگ

آموزش T5 با لودویگ بسیار ساده است.

استخدام یک مهندس هوش مصنوعی برای انجام این کار هزینه گزافی دارد.

در اینجا مراحل فنی آورده شده است.

یک دفترچه یادداشت جدید Google Colab باز کنید و زمان استفاده را برای استفاده از GPU تغییر دهید.

مجموعه داده های HootSuite را که با تایپ کردن موارد زیر قرار داده ام دانلود کنید.

!wget URL https://gist.githubusercontent.com/hamletbatista/5f6718a653acf8092144c37007f0d063/raw/84d17c0460b8914f4b76a8699ba0743b3af279d5/hootsuite_titles.csv

بعد ، اجازه دهید Ludwig نصب شود.

!pip install ludwig
!pip install ludwig[text]

بیایید مجموعه داده آموزشی را که بارگیری کردیم را در یک قاب داده pandas بارگیری کنیم تا آن را بررسی کرده و ببینیم چه شکلی است.

import pandas as pd
df = pd.read_csv("data.csv")

df.head()
داده های آموزشی

بیشتر کار به ایجاد یک فایل پیکربندی مناسب بازمی گردد.

یکی از آن ها با شروع اسناد T5 و کمی آزمون و خطا کار می کند.

کد پایتون را برای تولید آن می توانید در اینجا پیدا کنید.

بیایید تغییرات اساسی را مرور کنیم.

input_features:

-

name: Original_Title

type: text

level: word

encoder: t5

reduce_output: null

-

name: Keyword

type: text

level: word

tied_weights: Original_Title

encoder: t5

reduce_output: null

output_features:

-

name: Optimized_Title

type: sequence

level: word

decoder: generator

ورودی مدل را عنوان اصلی (بدون کلمه کلیدی هدف) و کلمه کلیدی هدف تعریف می کنیم.

برای خروجی / پیش بینی، عنوان بهینه شده و رمزگشای را به عنوان یک ژنراتور تعریف می کنم. یک ژنراتور به مدل می گوید یک توالی تولید کند. ما برای تولید عناوین زیبای خود به این نیاز داریم.

اکنون به قسمت معمولاً سختی رسیده ایم اما با Ludwig بسیار آسان شده است: آموزش دادن T5 در مجموعه داده های خود.

!ludwig train --dataset hootsuite_titles.csv --config config.yaml

باید فایلی مانند تصویر زیر دریافت کنید.

Ludwig

اطمینان حاصل کنید که دیکشنری ویژگی های ورودی و خروجی را بررسی کنید تا مطمئن شوید تنظیمات شما به درستی انتخاب شده اند.

به عنوان مثال، شما باید لودویگ را با استفاده از ‘t5-small’ به عنوان مدل ببینید. به راحتی می توان آن را برای مدل های بزرگتر T5 در مدل تغییر داد و به طور بالقوه تولید را بهبود بخشید.

t5-small’ مدل

من حدود 1 ساعت این مدل را آموزش دادم و دقت تأیید بسیار خوبی 0.88 را بدست آوردم.

لطفاً توجه داشته باشید که لودویگ سایر اندازه گیری های مهم تولید متن را به صورت خودکار انتخاب کرده است: سرگشتگی و فاصله ویرایش.

هر دو عدد کم هستند که در مورد ما خوب است.

بهینه سازی عناوین با مدل آموزش دیده ما

حالا در قسمت مهیج باید مدل خود را آزمایش کنیم!

ابتدا یک مجموعه داده آزمایشی را با عناوین غیربهینه HootSuite که توسط مدل در حین آموزش دیده نشده است، بارگیری کنید.

!wget URL https://gist.githubusercontent.com/hamletbatista/1c4cfc0f24f6ac9774dd18a1f6e5b020/raw/7756f21ba5fbf02c2fe9043ffda06e525a06ea34/hootsuite_titles_to_optimize.csv

با این دستور می توانید مجموعه داده ها را مرور کنید.

!head hootsuite_titles_to_optimize.csv

داده های بهینه سازی عنوان
بهینه سازی تگ های عنوان

می توانیم با دستور بعدی پیش بینی ها را ایجاد کنیم.

!ludwig predict --dataset hootsuite_titles_to_optimize.csv --model_path results/experiment_run/model/
ایجاد پیش بینی ها در مدل

کمتر از یک دقیقه اجرا می شود و پیش بینی ها را در CSV زیر فهرست نتایج ذخیره می کند.

با این دستور می توانید عناوین بهینه شده را مرور کنید:

!cat /content/results/Title_predictions.csv | sed 's/,/ /g'
مرور عناوین بهینه شده
بررسی بهینه سازی تگ های عنوان

ببینید عناوین چقدر زیبا و منسجم هستند!

کاری که لودویگ و T5 می توانند با یک مجموعه آموزش کوچک و بدون تنظیم پیشرفته ابرپارامتر انجام دهند، بسیار چشمگیر است.

اما آزمایش مناسب ما به این نتیجه می رسد که آیا کلمات کلیدی هدف ما را به درستی ترکیب کرده است.

بیایید چند نمونه از مجموعه آزمون را مرور کنیم:

ردیف: 798
عنوان اصلی: 20 ایده خلاقانه اینستاگرام برای تعامل پیروان خود،
کلید واژه هدف: آنچه در داستان اینستاگرام ارسال شود
عنوان بهینه شده T5: 20 ایده خلاقانه داستان اینستاگرام برای درگیر کردن پیروان خود

حالا به من بگویید جادوگری در اینجا اتفاق نمی افتد! 🤓

در اینجا یکی دیگر وجود دارد.

ردیف: 779
عنوان اصلی: نحوه ایجاد ایده رسانه اجتماعی در 8 مرحله آسان (الگوی رایگان)
کلید واژه هدف: استراتژی اجتماعی
عنوان بهینه شده T5: نحوه ایجاد یک استراتژی رسانه اجتماعی در 8 مرحله آسان (الگوی رایگان)

و این یکی دیگر است:

ردیف: 773
عنوان اصلی: 20+ رسانه اجتماعی خلاق ایده ها و مثال هایی را نشان می دهد ،
کلید واژه هدف: ایده های مسابقه
عنوان بهینه شده T5: 20+ ایده و مسابقه خلاقانه رسانه های اجتماعی

نحوه تولید مجموعه داده های سفارشی برای آموزش

من این مدل را با استفاده از عناوین HootSuite آموزش دادم و احتمالاً برای سایت های سایر صنایع خوب نخواهد بود. ممکن است به سختی برای رقبا کارساز باشد.

ایده خوبی است که مجموعه داده های خود را تهیه کنید، بنابراین در اینجا چند نکته برای انجام آن آورده شده است.

  • داده های خود را از Google Search Console یا Bing Webmaster Tools استفاده کنید.
  • متناوباً، می توانید داده های رقیب را از SEMrush ، Moz ، Ahrefs و غیره بگیرید.
  • برای دریافت تگ های عنوان و تقسیم عناوین با و بدون کلمات کلیدی مورد نظر خود یک اسکریپت بنویسید.
  • عناوین را با کلمات کلیدی در نظر بگیرید و کلمات کلیدی را با کلمات مترادف جایگزین کنید یا از تکنیک های مشابه برای “بهینه سازی” عناوین استفاده کنید.

این مراحل به شما یک مجموعه داده آموزشی با داده های حقیقتی می دهد که مدل می تواند برای یادگیری از آن ها استفاده کند.

برای مجموعه داده آزمایشی خود، می توانید از عناوینی استفاده کنید که کلمات کلیدی ندارند (از مرحله 3). سپس کیفیت پیش بینی ها را به صورت دستی بررسی کنید.

منبع: سایت مرجع