نحوه استفاده از نهادهای Google و GPT-4 برای ایجاد رئوس مطالب


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

در اصل، ما به GPT-4 می گوییم که یک طرح کلی مقاله بر اساس یک کلمه کلیدی و موجودیت های برتری که پیدا کرده اند در یک صفحه با رتبه بندی خوب به انتخاب شما تهیه کند.

نهادها بر اساس امتیاز برجسته آنها مرتب می شوند.

“چرا نمره برجسته؟” ممکن است بپرسید

گوگل برجستگی را در آنها توصیف می کند اسناد API مانند:

“امتیاز برجسته برای یک موجودیت اطلاعاتی در مورد اهمیت یا مرکزیت آن موجودیت در کل متن سند ارائه می دهد. نمرات نزدیک به 0 کمتر برجسته هستند، در حالی که نمرات نزدیک به 1.0 بسیار برجسته هستند.

به نظر می رسد معیار بسیار خوبی برای استفاده برای تأثیرگذاری بر اینکه کدام موجودیت ها باید در محتوایی که ممکن است بخواهید بنویسید وجود داشته باشد، استفاده شود، اینطور نیست؟

شروع شدن

دو راه برای این کار وجود دارد:

  • حدود 5 دقیقه (شاید 10 دقیقه در صورت نیاز به راه اندازی رایانه) وقت بگذارید و اسکریپت ها را از دستگاه خود اجرا کنید، یا…
  • پرش به کولب من ایجاد کردم و بلافاصله شروع به بازی کردم.

من نسبت به اولی جزئی هستم، اما در طول روز به یک یا دو کولب نیز پریده ام. 😀

با فرض اینکه شما هنوز اینجا هستید و می‌خواهید این راه‌اندازی را روی دستگاه خود تنظیم کنید، اما هنوز پایتون یا IDE (محیط توسعه یکپارچه) را نصب نکرده‌اید، ابتدا شما را به خواندن سریع این موضوع راهنمایی می‌کنم. دستگاه خود را برای استفاده از Jupyter Notebook تنظیم کنید. نباید بیش از 5 دقیقه طول بکشد.

اکنون، زمان آن است که به راه بیفتید!

استفاده از نهادهای Google و GPT-4 برای ایجاد رئوس مطالب

برای اینکه دنبال کردن این کار آسان شود، دستورالعمل ها را به صورت زیر قالب بندی می کنم:

  • گام: شرح مختصری از مرحله ای که در آن قرار داریم.
  • کد: کد تکمیل آن مرحله.
  • توضیح: توضیح کوتاهی درباره کاری که کد انجام می دهد.

مرحله 1: به من بگویید چه می خواهید

قبل از اینکه به ایجاد خطوط کلی بپردازیم، باید آنچه را که می خواهیم تعریف کنیم.

query = input ("What do you want to rank for :") 
print(query) 
url = input("What URL should I be inspired by : ") 
print(url)

وقتی اجرا شد، این بلوک از کاربر (احتمالاً شما) می‌خواهد که عبارتی را که می‌خواهید مقاله برای آن رتبه‌بندی شود/در مورد آن باشد را وارد کنید، و همچنین به شما مکانی می‌دهد تا در URL مقاله‌ای که می‌خواهید قرار دهید. قطعه ای برای الهام گرفتن

من مقاله‌ای را پیشنهاد می‌کنم که رتبه‌بندی خوبی داشته باشد، در قالبی باشد که برای سایت شما کارساز باشد، و فکر می‌کنید به دلیل ارزش مقاله و نه فقط قدرت سایت، شایسته رتبه‌بندی است.

هنگام اجرا، به نظر می رسد:

تعریف اصطلاح هدف و الهام خود

مرحله 2: نصب کتابخانه های مورد نیاز

در مرحله بعد، ما باید تمام کتابخانه هایی را که برای ایجاد جادو استفاده خواهیم کرد، نصب کنیم.

!pip install google-cloud-language beautifulsoup4 openai
!pip install wandb --upgrade
!pip install --force-reinstall -Iv protobuf==3.20.00

import requests
import json
from bs4 import BeautifulSoup
from google.cloud import language_v1
from google.oauth2 import service_account
import os
import openai
import pandas as pd
import wandb

ما در حال نصب کتابخانه های زیر هستیم:

  • درخواست ها: این کتابخانه اجازه می دهد تا درخواست های HTTP برای بازیابی محتوا از وب سایت ها یا API های وب ایجاد کنید.
  • JSON: توابعی را برای کار با داده های JSON فراهم می کند، از جمله تجزیه رشته های JSON در اشیاء پایتون و سریال سازی اشیاء پایتون در رشته های JSON.
  • سوپ زیبا: این کتابخانه برای اهداف خراش دادن وب استفاده می شود. این به تجزیه و پیمایش اسناد HTML یا XML و استخراج اطلاعات مرتبط از آنها کمک می کند.
  • Google.cloud.language_v1: کتابخانه ای از Google Cloud است که قابلیت های پردازش زبان طبیعی را ارائه می دهد. این امکان را برای انجام وظایف مختلف مانند تجزیه و تحلیل احساسات، شناسایی موجودیت، و تجزیه و تحلیل نحو بر روی داده های متنی.
  • Google.oauth2.service_account: این کتابخانه بخشی از بسته Google OAuth2 Python است. این پشتیبانی برای احراز هویت با Google API با استفاده از یک حساب سرویس، که راهی برای اعطای دسترسی محدود به منابع پروژه Google Cloud است، ارائه می‌کند.
  • سیستم عامل: این کتابخانه راهی برای تعامل با سیستم عامل فراهم می کند. این امکان دسترسی به عملکردهای مختلف مانند عملیات فایل، متغیرهای محیطی و مدیریت فرآیند را فراهم می کند.
  • OpenAI: این کتابخانه بسته OpenAI Python است. این یک رابط برای تعامل با مدل های زبان OpenAI، از جمله GPT-4 (و 3) فراهم می کند. این امکان را به توسعه دهندگان می دهد تا متن تولید کنند، تکمیل متن و موارد دیگر را انجام دهند.
  • پانداها: کتابخانه ای قدرتمند برای دستکاری و تحلیل داده ها است. این ساختارها و عملکردهای داده را برای مدیریت و تجزیه و تحلیل کارآمد داده های ساختاریافته، مانند جداول یا فایل های CSV، فراهم می کند.
  • WandB: این کتابخانه مخفف “Weights & Biases” است و ابزاری برای ردیابی و تجسم آزمایش است. این به ثبت و تجسم معیارها، فراپارامترها و دیگر جنبه های مهم آزمایش های یادگیری ماشین کمک می کند.

هنگام اجرا، به نظر می رسد:

نصب کتابخانه های مورد نیاز

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


مرحله 3: احراز هویت

من باید برای لحظه ای ما را منحرف کنم تا احراز هویت خود را در جای خود دریافت کنیم. ما به یک کلید OpenAI API و اعتبارنامه Google Knowledge Graph Search نیاز داریم.

این فقط چند دقیقه طول می کشد.

دریافت OpenAI API شما

در حال حاضر، احتمالاً نیاز دارید بپیوند به لیست انتظار من خوش شانس هستم که زودتر به API دسترسی دارم، بنابراین این را می نویسم تا به شما کمک کنم به محض دریافت آن، آن را راه اندازی کنید.

تصاویر ثبت نام از GPT-3 هستند و زمانی که جریان برای همه در دسترس باشد، برای GPT-4 به روز می شوند.

قبل از اینکه بتوانید از GPT-4 استفاده کنید، برای دسترسی به آن به یک کلید API نیاز دارید.

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

صفحه محصول OpenAI

روش ثبت نام خود را انتخاب کنید (من Google را انتخاب کردم) و مراحل تأیید را اجرا کنید. برای این مرحله باید به تلفنی دسترسی داشته باشید که بتواند پیامک دریافت کند.

پس از تکمیل، یک کلید API ایجاد خواهید کرد. این به این دلیل است که OpenAI می تواند اسکریپت های شما را به حساب شما متصل کند.

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

قیمت گذاری OpenAI

پس از ثبت نام، یک اعتبار 5 دلاری دریافت می‌کنید که اگر فقط در حال آزمایش باشید، به طرز شگفت‌انگیزی شما را به دور خواهد برد.

در زمان نوشتن این مقاله، قیمت گذاری گذشته به شرح زیر است:

قیمت گذاری OpenAI

ایجاد کلید OpenAI شما

برای ایجاد کلید خود، روی نمایه خود در بالا سمت راست کلیک کنید و انتخاب کنید مشاهده کلیدهای API.

ایجاد کلید OpenAI شما

… و سپس کلید خود را ایجاد می کنید.

ایجاد کلید OpenAI شما

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

توجه داشته باشید: کلید خود را ذخیره نکنید (سند Notepad روی دسکتاپ شما بسیار امن نیست). هنگامی که به طور لحظه ای از آن استفاده کردید، سند Notepad را بدون ذخیره آن ببندید.

دریافت احراز هویت Google Cloud شما

ابتدا باید وارد حساب کاربری گوگل خود شوید. (شما در یک سایت SEO هستید، بنابراین فکر می کنم یک سایت دارید. 🙂)

پس از انجام این کار، می توانید آن را بررسی کنید اطلاعات API Graph دانش اگر اینقدر تمایل دارید یا به سمت راست به کنسول API بروید و شروع کن

هنگامی که در کنسول هستید:

دریافت احراز هویت Google Cloud شما

نام آن را چیزی شبیه «مقالات عالی دیو» بگذارید. شما می دانید … آسان به خاطر سپردن.

در مرحله بعد، API را با کلیک کردن فعال می‌کنید API ها و سرویس ها را فعال کنید.

Google Cloud - APIها و خدمات را فعال کنید

API Search Graph Knowledge را پیدا کنید و آن را فعال کنید.

Google Cloud Knowledge Graph Search API

سپس به صفحه اصلی API بازگردانده می شوید، جایی که می توانید اعتبارنامه ایجاد کنید:

صفحه API جستجوی نمودار دانش Google Cloud

و ما یک حساب خدمات ایجاد خواهیم کرد.

Google Cloud Knowledge Graph Search - مدیریت حساب خدمات

به سادگی یک حساب کاربری ایجاد کنید:

Google Cloud Knowledge Graph Search - ایجاد حساب سرویس

اطلاعات مورد نیاز را پر کنید:

Google Cloud Knowledge Graph Search - جزئیات حساب سرویس

(باید نامی به آن بدهید و به آن امتیازات مالک بدهید.)

اکنون ما حساب خدمات خود را داریم. تنها چیزی که باقی مانده این است که کلید خود را ایجاد کنیم.

روی سه نقطه زیر کلیک کنید اقدامات و کلیک کنید کلیدها را مدیریت کنید.

Google Cloud Knowledge Graph Search - مدیریت کلیدها

کلیک کلید اضافه کنید سپس کلید جدید ایجاد کنید:

Google Cloud Knowledge Graph Search - کلیدهای جدید ایجاد کنید

نوع کلید JSON خواهد بود.

بلافاصله، دانلود آن را در محل دانلود پیش فرض خود مشاهده خواهید کرد.

این کلید دسترسی به API های شما را می دهد، بنابراین مانند OpenAI API خود، آن را ایمن نگه دارید.

خوب… و ما برگشتیم. برای ادامه اسکریپت آماده اید؟

اکنون که آنها را داریم، باید کلید API و مسیر فایل دانلود شده را مشخص کنیم. کد انجام این کار این است:

os.environ['GOOGLE_APPLICATION_CREDENTIALS'] = '/PATH-TO-FILE/FILENAME.JSON'
%env OPENAI_API_KEY=YOUR_OPENAI_API_KEY
openai.api_key = os.environ.get("OPENAI_API_KEY")

جایگزین خواهید کرد YOUR_OPENAI_API_KEY با کلید خودت

شما نیز جایگزین خواهید کرد /PATH-TO-FILE/FILENAME.JSON با مسیر کلید حساب سرویس که به تازگی دانلود کرده اید، شامل نام فایل.

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

مرحله 4: توابع را ایجاد کنید

در مرحله بعد توابع زیر را ایجاد می کنیم:

  • صفحه وب را که در بالا وارد کرده ایم خراش دهید.
  • محتوا را تجزیه و تحلیل کنید و موجودیت ها را استخراج کنید.
  • یک مقاله با استفاده از GPT-4 ایجاد کنید.
#The function to scrape the web page
def scrape_url(url):
    response = requests.get(url)
    soup = BeautifulSoup(response.content, "html.parser")
    paragraphs = soup.find_all("p")
    text = " ".join([p.get_text() for p in paragraphs])
    return text
#The function to pull and analyze the entities on the page using Google's Knowledge Graph API
def analyze_content(content):
    client = language_v1.LanguageServiceClient()
    response = client.analyze_entities(
        request={"document": language_v1.Document(content=content, type_=language_v1.Document.Type.PLAIN_TEXT), "encoding_type": language_v1.EncodingType.UTF8}
    )
    top_entities = sorted(response.entities, key=lambda x: x.salience, reverse=True)[:10]
    for entity in top_entities:
        print(entity.name)   
    return top_entities
#The function to generate the content
def generate_article(content):
    openai.api_key = os.environ["OPENAI_API_KEY"]
    response = openai.ChatCompletion.create(
        messages = [{"role": "system", "content": "You are a highly skilled writer, and you want to produce articles that will appeal to users and rank well."},
                  {"role": "user", "content": content}],
        model="gpt-4",
        max_tokens=1500, #The maximum with GPT-3 is 4096 including the prompt
        n=1, #How many results to produce per prompt
        #best_of=1 #When n>1 completions can be run server-side and the "best" used
        stop=None,
        temperature=0.8 #A number between 0 and 2, where higher numbers add randomness
)
    return response.choices[0].message.content.strip()

این دقیقاً همان چیزی است که نظرات توصیف می کنند. ما در حال ایجاد سه تابع برای اهداف ذکر شده در بالا هستیم.

چشمان تیزبین متوجه خواهند شد:

پیام ها = [{"role": "system", "content": "You are a highly skilled writer, and you want to produce articles that will appeal to users and rank well."},

You can edit the content (You are a highly skilled writer, and you want to produce articles that will appeal to users and rank well.) and describe the role you want ChatGPT to take. You can also add tone (e.g., “You are a friendly writer …”).

Step 5: Scrape the URL and print the entities

Now we’re getting our hands dirty. It’s time to:

  • Scrape the URL we entered above.
  • Pull all the content that lives within paragraph tags.
  • Run it through Google Knowledge Graph API.
  • Output the entities for a quick preview. 

Basically, you want to see anything at this stage. If you see nothing, check a different site.

content = scrape_url(url)
entities = analyze_content(content)

You can see that line one calls the function that scrapes the URL we first entered. The second line analyzes the content to extract the entities and key metrics. 

Part of the analyze_content function also prints a list of the entities found for quick reference and verification.

Step 6: Analyze the entities

When I first started playing around with the script, I started with 20 entities and quickly discovered that’s usually too many. But is the default (10) right?

To find out, we’ll write the data to W&B Tables for easy assessment. It’ll keep the data indefinitely for future evaluation. 

First, you’ll need to take about 30 seconds to sign up. (Don’t worry, it’s free for this type of thing!) You can do so at

Once you’ve done that, the code to do this is:

run = wandb.init(project="Article Summary With Entities")      
columns=["Name", "Salience"]
ent_table = wandb.Table(columns=columns) برای موجودیت در موجودیت ها: ent_table.add_data(entity.name, entity.salience) run.log({"Entity Table": ent_table}) wandb.finish()

هنگام اجرا، خروجی به صورت زیر است:

معیارهای موجودیت را برای تجزیه و تحلیل در W&B بنویسید

و هنگامی که برای مشاهده اجرای خود روی پیوند کلیک کنید، خواهید دید:

جدول موجودیت

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

هنگام بررسی این داده‌ها، می‌توانید تعداد موجودیت‌ها را بر اساس برجستگی تنظیم کنید، یا فقط زمانی که عبارات نامربوط ظاهر می‌شوند.

برای تنظیم تعداد موجودیت ها، باید به سلول توابع بروید و ویرایش کنید:

جدول موجودیت

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

مرحله 7: طرح کلی مقاله را ایجاد کنید

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

این کار در دو بخش انجام می شود. ابتدا باید اعلان را با افزودن سلول ایجاد کنیم:

entity_names = [entity.name for entity in entities]
gpt_prompt = f"Create an outline for an article about {query} that includes the following entities: {', '.join(entity_names)}."
print(gpt_prompt)

این اساساً یک اعلان برای تولید مقاله ایجاد می کند:

یک درخواست طرح کلی مقاله ایجاد کنید

و سپس، تنها چیزی که باقی می ماند این است که طرح کلی مقاله را با استفاده از موارد زیر ایجاد کنید:

generated_article = generate_article(gpt_prompt)
print(generated_article)

که چیزی شبیه به:

طرح کلی مقاله را ایجاد کنید

و اگر می‌خواهید خلاصه‌ای نوشته شود، می‌توانید اضافه کنید:

gpt_prompt2 = f"Write an article summary about {query} for an article with an outline of: {generated_article}."
generated_article = generate_article(gpt_prompt2)
print(generated_article)

که چیزی شبیه به:

خلاصه مقاله را ایجاد کنید

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


منبع: https://searchengineland.com/google-entities-gpt-4-create-article-outlines-427882