خوشه بندی موضوع کلمات کلیدی با SEO Python (Sklearn TF-IDF + Affinity Propagation)

در این آموزش SEO Python، نحوه گروه بندی کلمات کلیدی را در کلاسترهای موضوعی با استفاده از Python و کتابخانه Scikit-learn خواهیم آموخت.

اسکریپت پایتون از طریق فهرستی از کلمات کلیدی ذخیره شده در یک فایل متنی استفاده می کند TfidfVectorizer() برای ایجاد یک نمایش TF-IDF از لیست کلمات کلیدی و سپس اعمال آن AffinityPropagation() الگوریتم خوشه بندی برای گروه بندی کلمات کلیدی در خوشه های موضوعی.

در اینجا یک نمونه خروجی از خوشه بندی موضوع با TF-IDF و انتشار Affinity در Scikit-learn آورده شده است.

نمونه ای از خوشه بندی کلمات کلیدی پایتون برای سئو

from sklearn.cluster import AffinityPropagation
from sklearn.feature_extraction.text import TfidfVectorizer
import pandas as pd

# Read keywords
with open('keywords.txt', 'r') as f:
    keywords = f.read().splitlines()

# Create a Tf-idf Vector with Keywords
vectorizer = TfidfVectorizer()
X = vectorizer.fit_transform(keywords)

# Perform Affinity Propagation clustering
af = AffinityPropagation().fit(X)
cluster_centers_indices = af.cluster_centers_indices_
labels = af.labels_

# Get the number of clusters found
n_clusters = len(cluster_centers_indices)

# Create a DataFrame to store the cluster information
cluster_data = {
    'Topic Clusters': labels, 
    'Keywords': keywords
    }

# Convert cluster_data to a Pandas DataFrame
cluster_df = pd.DataFrame(cluster_data)

# Save the DataFrame to a CSV file
cluster_df.to_csv('clustered_keywords.csv', index=False)
cluster_df.sort_values(by='Topic Clusters')

خوشه های موضوعی در سئو چیست؟

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

چرا از Affinity Propagation برای خوشه بندی کلمات کلیدی استفاده کنیم؟

مزیت استفاده از Scikit-learn’s AffinityPropagation() الگوریتم این است که لازم نیست از قبل تعداد خوشه هایی را که باید ایجاد شوند، بدانید. به عنوان مثال، در مقاله مجله موتور جستجو که در بالا پیوند داده شده است، باید تعداد خوشه‌هایی را که می‌خواستم به آنها برسم تعریف می‌کردم تا یک نمونه NMF از آن ایجاد کنم.

با Affinity Propagation، نیازی نیست بدانید که چه تعداد خوشه از کلمات کلیدی ایجاد خواهید کرد. این خوشه ها را با تکرار تا زمان همگرایی ایجاد می کند که می تواند در یک مقاله جداگانه با جزئیات بیشتر مورد بحث قرار گیرد.