تحلیل خودکار نظرات WooCommerce با GPT-4 و Airtable

تحلیل خودکار نظرات WooCommerce با GPT-4 و Airtable

11 دقیقه مطالعه · منتشر شده ۱۴۰۵/۴/۲۹

دانلود workflow

فایل JSON آماده import در n8n — credentialها باید در n8n شما تنظیم شوند.

  1. فایل JSON را دانلود کنید.
  2. در n8n: Workflows → Import from File.
  3. Credentialهای هر node را متصل کنید.
  4. workflow را فعال کنید.

شناسه workflow: 12066 · منبع: کاتالوگ Axeto

تحلیل نظرات محصولات WooCommerce با GPT-4، Airtable و خلاصه‌های Slack

این گردش کار فرآیند دریافت نظرات محصولات را از فروشگاه WooCommerce شما، تحلیل احساسات آن‌ها و تولید خلاصه‌ها با استفاده از GPT-4، ذخیره داده‌های غنی‌شده در Airtable و در نهایت ارسال یک خلاصه تجمیع‌شده به Slack را خودکار می‌کند.

دسته‌بندی‌ها: تحقیقات بازار، خلاصه‌سازی هوش مصنوعی

کاتالوگ Axeto.ai: تحلیل نظرات محصولات WooCommerce

نمای کلی گردش کار

هدف:

این گردش کار برای موارد زیر طراحی شده است:

1. دریافت نظرات جدید محصولات از WooCommerce به صورت زمان‌بندی شده.

2. تحلیل هر نظر با استفاده از GPT-4 برای تعیین احساسات (مثبت، خنثی، منفی) و ایجاد خلاصه‌ای مختصر.

3. غنی‌سازی داده‌های اصلی نظر با احساسات و خلاصه تولید شده توسط هوش مصنوعی.

4. ذخیره نظرات پردازش شده در یک پایگاه Airtable برای نگهداری منظم سوابق.

5. تجمیع داده‌های احساسات و ارسال یک اعلان خلاصه به یک کانال Slack.

موارد استفاده هدف:

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

شکستن گردش کار

گردش کار به چهار بلوک اصلی تقسیم شده است:

1. زمان‌بندی و مقداردهی اولیه: تریگر را راه‌اندازی کرده و متغیرهای پیکربندی ضروری را تعریف می‌کند.

2. دریافت نظرات از WooCommerce: نظرات محصولات را از فروشگاه شما بازیابی می‌کند.

3. تحلیل هوش مصنوعی برای هر نظر: هر نظر را به صورت جداگانه با استفاده از GPT-4 پردازش می‌کند.

4. ذخیره، تجمیع و اطلاع‌رسانی: داده‌ها را در Airtable ذخیره می‌کند، نتایج را خلاصه کرده و یک اعلان Slack ارسال می‌کند، سپس برای دسته بعدی برمی‌گردد.

---

بلوک ۱: زمان‌بندی و مقداردهی اولیه

این بلوک تضمین می‌کند که گردش کار در فواصل منظم اجرا می‌شود و پارامترهای لازم را برای مراحل بعدی تنظیم می‌کند.

  • گره‌ها (Nodes):

* Schedule Trigger

* Set WooCommerce Domain

#### گره (Node): Schedule Trigger

  • نوع: Schedule Trigger
  • هدف: اجرای گردش کار را آغاز می‌کند.
  • پیکربندی: تنظیم شده برای اجرا هر ۱۰ دقیقه.
  • اتصالات: گره Set WooCommerce Domain را تریگر می‌کند.
  • نکات: اگر زمان اجرای گردش کار از ۱۰ دقیقه بیشتر شود، بسته به تنظیمات همزمانی n8n شما، ممکن است اجراهای همپوشان رخ دهد.

#### گره (Node): Set WooCommerce Domain

  • نوع: Set
  • هدف: دامنه فروشگاه WooCommerce شما را به عنوان یک متغیر (wc_domain) برای استفاده در درخواست‌های HTTP تعریف می‌کند.
  • پیکربندی:

* wc_domain: این را به دامنه واقعی WooCommerce خود تنظیم کنید (مثلاً yourstore.com).

  • اتصالات: ورودی را از Schedule Trigger دریافت کرده و wc_domain را به گره Get latest product reviews ارسال می‌کند.
  • مدیریت خطا: اطمینان حاصل کنید که دامنه به درستی وارد شده است؛ در غیر این صورت، درخواست HTTP بعدی با شکست مواجه خواهد شد.

---

بلوک ۲: دریافت نظرات از WooCommerce

این بلوک مسئول بازیابی نظرات محصولات از فروشگاه WooCommerce شما از طریق REST API آن است.

  • گره‌ها (Nodes):

* Get latest product reviews

#### گره (Node): Get latest product reviews

  • نوع: HTTP Request
  • هدف: برای دریافت نظرات محصولات، به WooCommerce REST API فراخوانی می‌کند.
  • پیکربندی:

* URL: https://{{ $json.wc_domain }}/wp-json/wc/v3/products/reviews

* احراز هویت (Authentication): HTTP Basic Auth (نیاز به کلید API و رمز WooCommerce شما دارد).

* هدرها (Headers): Content-Type: application/json

  • ورودی: wc_domain را از گره Set قبلی دریافت می‌کند.
  • خروجی: آرایه‌ای از اشیاء نظر WooCommerce.
  • اتصالات: نظرات دریافت شده را به گره Process reviews in batches ارسال می‌کند.
  • مدیریت خطا و ملاحظات:

* احراز هویت: اعتبارنامه‌های نادرست منجر به خطاهای 401/403 خواهد شد.

* دامنه/SSL: مشکلات مربوط به دامنه یا گواهی SSL می‌تواند باعث خطاهای DNS یا TLS شود.

* صفحه‌بندی (Pagination): به طور پیش‌فرض، WooCommerce ممکن است فقط تعداد محدودی نظر در هر صفحه (مثلاً ۱۰) را برگرداند. برای اطمینان از دریافت همه نظرات، ممکن است لازم باشد منطق صفحه‌بندی را با استفاده از پارامترهای کوئری مانند per_page و page پیاده‌سازی کنید.

* نظرات "آخرین": این گره نظرات را بدون فیلتر صریح برای "از زمان آخرین اجرا" دریافت می‌کند. برای جلوگیری از پردازش مکرر همان نظرات، در نظر بگیرید که یک فیلتر تاریخ اضافه کنید (مثلاً با استفاده از پارامتر after در درخواست API) یا منطق حذف موارد تکراری را در پایین دست پیاده‌سازی کنید.

---

بلوک ۳: تحلیل هوش مصنوعی برای هر نظر (حلقه دسته‌ای)

این بلوک از طریق هر نظر دریافت شده تکرار می‌شود، آن را برای تحلیل به OpenAI ارسال می‌کند و خروجی هوش مصنوعی را با داده‌های اصلی نظر ادغام می‌کند.

  • گره‌ها (Nodes):

* Process reviews in batches

* Analyze Review Sentiment

* Merge Review & AI Data

* Combine Review & AI Results

* Check Sentiment Type

#### گره (Node): Process reviews in batches

  • نوع: Split In Batches
  • هدف: امکان پردازش نظرات را یکی یکی فراهم می‌کند و ساختار حلقه ایجاد می‌کند.
  • پیکربندی:

* batchSize: برای پردازش هر نظر به صورت جداگانه روی 1 تنظیم شده است.

  • اتصالات:

* ورودی را از Get latest product reviews دریافت می‌کند.

* هر نظر جداگانه را به Analyze Review Sentiment و Merge Review & AI Data (ورودی 0) ارسال می‌کند.

  • نکات: اگر تعداد نظرات بسیار زیاد باشد، زمان اجرا ممکن است از بازه زمانی برنامه تجاوز کند.

#### گره (Node): Analyze Review Sentiment

  • نوع: LangChain OpenAI (نیاز به پیکربندی اعتبارنامه OpenAI در n8n دارد)
  • هدف: متن نظر را برای تحلیل احساسات و خلاصه‌سازی به GPT-4 Turbo ارسال می‌کند.
  • پیکربندی:

* مدل (Model): gpt-4-turbo

* دستور (Prompt): دستوری که با دقت طراحی شده است و به مدل دستور می‌دهد احساسات (positive, neutral, negative)، امتیاز اطمینان و خلاصه کوتاهی را در قالب JSON خروجی دهد.

* ورودی: متن نظر با استفاده از {{$json["review"]}} تزریق می‌شود.

  • اتصالات: نتایج تحلیل هوش مصنوعی را به Merge Review & AI Data (ورودی 1) ارسال می‌کند.
  • مدیریت خطا و ملاحظات:

* خطاهای API: اطمینان حاصل کنید که کلید API OpenAI شما معتبر است، سهمیه کافی دارد و مشمول محدودیت‌های نرخ (rate limits) نیست.

* قالب خروجی: مدل ممکن است گاهی اوقات JSON را که در بلوک‌های markdown پیچیده شده است (``json ... `) برگرداند. گره بعدی Combine Review & AI Results` سعی در مدیریت این موضوع دارد.

* متن نظر گمشده: اگر فیلد review در پاسخ WooCommerce وجود نداشته باشد، تحلیل بر اساس ورودی خالی خواهد بود.

#### گره (Node): Merge Review & AI Data

  • نوع: Merge
  • هدف: داده‌های اصلی نظر را با نتایج تحلیل هوش مصنوعی ترکیب می‌کند.
  • پیکربندی: از رفتار پیش‌فرض ادغام استفاده می‌کند.
  • اتصالات:

* ورودی 0: آیتم نظر اصلی را از Process reviews in batches دریافت می‌کند.

* ورودی 1: نتیجه تحلیل هوش مصنوعی را از Analyze Review Sentiment دریافت می‌کند.

* داده‌های ادغام شده را به Combine Review & AI Results ارسال می‌کند.

  • مدیریت خطا: گره بعدی Combine Review & AI Results فرض می‌کند که ترتیب و تعداد مشخصی از آیتم‌ها از این ادغام وجود دارد. عدم تطابق می‌تواند منجر به جفت‌سازی نادرست نظرات و نتایج هوش مصنوعی شود.

#### گره (Node): Combine Review & AI Results

  • نوع: Code
  • هدف: داده‌های اصلی نظر را با تحلیل هوش مصنوعی مربوطه جفت می‌کند، اطلاعات مرتبط را استخراج می‌کند، خطاهای احتمالی تجزیه JSON را مدیریت می‌کند و فیلدهای خروجی را نرمال می‌کند.
  • منطق:

* فرض می‌کند تعداد زوجی از آیتم‌ها از مرحله ادغام (نظرات و سپس نتایج هوش مصنوعی) وجود دارد.

* خروجی هوش مصنوعی را از ساختار تودرتو استخراج می‌کند (ai.output?.[0]?.content?.[0]?.text).

* بلوک‌های markdown را حذف کرده و سعی می‌کند خروجی هوش مصنوعی را به عنوان JSON تجزیه کند.

* اگر تجزیه با شکست مواجه شود، مقادیر پیش‌فرض را اختصاص می‌دهد ("unscored" برای احساسات، null برای اطمینان، "AI failed" برای خلاصه).

* یک آیتم واحد و نرمال شده برای هر نظر خروجی می‌دهد، شامل فیلدهایی مانند review_id, product_id, product_name, review_text, rating, created_at, sentiment, confidence, و short_summary.

  • اتصالات: داده‌های نرمال شده را به Check Sentiment Type ارسال می‌کند.
  • مدیریت خطا:

* عدم تطابق آیتم: اگر تعداد نظرات و نتایج هوش مصنوعی مطابقت نداشته باشد، گردش کار خطا ایجاد می‌کند.

* ساختار خروجی هوش مصنوعی: تغییرات در قالب خروجی API OpenAI می‌تواند منطق استخراج JSON را بشکند.

* غلط املایی احساسات: گره برای "positive" یا "natural" (احتمالاً غلط املایی برای "neutral") بررسی می‌کند. نظرات با مقادیر احساسات دیگر به مسیر "false" می‌روند.

#### گره (Node): Check Sentiment Type

  • نوع: IF
  • هدف: نظرات را بر اساس احساسات تحلیل شده هدایت می‌کند.
  • پیکربندی:

* شرط (Condition): بررسی می‌کند که آیا sentiment برابر با "positive" یا "neutral" (یا "natural") است.

  • اتصالات:

* مسیر True: نظرات با احساسات مثبت یا خنثی را به Save Review in Airtable ارسال می‌کند.

* مسیر False: نظرات با احساسات منفی یا امتیازدهی نشده را به Merge Summary with Workflow (ورودی 1) ارسال می‌کند و از ذخیره در Airtable برای این نظرات خاص صرف نظر می‌کند.

  • مدیریت خطا: غلط املایی در مقدار احساسات (مثلاً "natural" به جای "neutral") باعث هدایت نادرست نظرات می‌شود. توجه داشته باشید که نظرات منفی در این پیکربندی در Airtable ذخیره نمی‌شوند.

---

بلوک ۴: ذخیره، تجمیع و اطلاع‌رسانی (و حلقه)

این بلوک نهایی مدیریت ذخیره‌سازی داده‌ها، تجمیع نتایج، اطلاع‌رسانی را بر عهده دارد و تضمین می‌کند که گردش کار تا زمانی که همه نظرات پردازش شوند، به پردازش ادامه می‌دهد.

  • گره‌ها (Nodes):

* Save Review in Airtable

* Merge Summary with Workflow

* Summarize Sentiments

* Send Slack Summary

#### گره (Node): Save Review in Airtable

  • نوع: Airtable
  • هدف: داده‌های پردازش شده نظر (با غنی‌سازی هوش مصنوعی) را به عنوان یک رکورد جدید در پایگاه Airtable شما ذخیره می‌کند.
  • پیکربندی:

* عملیات (Operation): Create

* پایگاه (Base): پایگاه Airtable خود را انتخاب کنید (مثلاً "n8n Demo").

* جدول (Table): جدول هدف خود را انتخاب کنید (مثلاً "Product Review").

* نگاشت فیلد (Field Mapping): فیلدهای نرمال شده از مرحله قبل را به ستون‌های Airtable خود نگاشت کنید (مثلاً Rating <- $json.rating, Review ID <- $json.review_id, Sentiment <- $json.sentiment, و غیره).

  • اتصالات: رکورد ذخیره شده را به Merge Summary with Workflow (ورودی 0) ارسال می‌کند.
  • مدیریت خطا و ملاحظات:

* احراز هویت: اطمینان حاصل کنید که کلید API Airtable شما معتبر است و مجوزهای لازم را دارد.

* عدم تطابق طرح (Schema Mismatch): نام فیلدها و انواع داده در گردش کار n8n شما باید با طرح جدول Airtable شما مطابقت داشته باشد.

* موارد تکراری: عملیات "Create" رکوردهای تکراری را در صورت اجرای چندین باره گردش کار بر روی همان نظرات درج می‌کند. برای جلوگیری از این امر، استراتژی جستجو یا به‌روزرسانی (upsert) مبتنی بر Review ID را در نظر بگیرید.

#### گره (Node): Merge Summary with Workflow

  • نوع: Merge
  • هدف: جریان‌های داده را از نظراتی که در Airtable ذخیره شده‌اند و آنهایی که نادیده گرفته شده‌اند، دوباره ترکیب می‌کند.
  • پیکربندی: از رفتار پیش‌فرض ادغام استفاده می‌کند.
  • اتصالات:

* ورودی 0: داده‌ها را از Save Review in Airtable دریافت می‌کند.

* ورودی 1: داده‌ها را از مسیر "false" Check Sentiment Type دریافت می‌کند.

* جریان ترکیبی را به Summarize Sentiments ارسال می‌کند.

  • نکات: این گره تضمین می‌کند که همه نظرات پردازش شده (صرف نظر از احساسات) در محاسبه خلاصه نهایی گنجانده شده‌اند.

#### گره (Node): Summarize Sentiments

  • نوع: Code
  • هدف: تعداد احساسات را در تمام نظرات پردازش شده تجمیع می‌کند.
  • منطق:

* تعداد وقوع احساسات "positive"، "neutral" (شامل "natural") و "negative" را می‌شمارد.

* اگر هیچ نظری پردازش نشود، یک آرایه خالی برمی‌گرداند و از ارسال اعلان Slack جلوگیری می‌کند.

* یک شیء خلاصه واحد شامل positive_count, neutral_count, negative_count, و total نظرات پردازش شده خروجی می‌دهد.

  • اتصالات: خلاصه احساسات را به Send Slack Summary ارسال می‌کند.
  • مدیریت خطا: اگر نظرات فیلد احساسات نداشته باشند، شمارش نمی‌شوند. مقادیر احساسات ناشناخته نادیده گرفته می‌شوند.

#### گره (Node): Send Slack Summary

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

* متن پیام (Message Text): پیامی را شامل تعداد نظرات مثبت، خنثی و منفی، به همراه کل تعداد پردازش شده قالب‌بندی می‌کند.

* کانال (Channel): کانال Slack را که خلاصه باید در آن ارسال شود مشخص کنید (مثلاً #n8n).

  • اتصالات: خروجی این گره به گره Process reviews in batches (ورودی 0) تغذیه می‌شود. این اتصال برای مکانیزم حلقه گردش کار حیاتی است و به آن اجازه می‌دهد تا پس از ارسال خلاصه، به پردازش دسته بعدی نظرات ادامه دهد.
  • مدیریت خطا: اطمینان حاصل کنید که توکن API Slack شما معتبر است و مجوزهای لازم برای ارسال پیام به کانال مشخص شده را دارد. اگر گردش کار تعداد زیادی نظر را به سرعت پردازش کند، مراقب محدودیت‌های نرخ Slack باشید.

Nodeهای استفاده‌شده

سوالات متداول

این گردش کار چگونه نظرات WooCommerce را تحلیل می‌کند؟

این گردش کار ابتدا نظرات جدید را از WooCommerce دریافت می‌کند، سپس از GPT-4 برای تحلیل احساسات (مثبت، خنثی، منفی) و ایجاد خلاصه‌ای از هر نظر استفاده می‌کند.

داده‌های تحلیل شده کجا ذخیره می‌شوند؟

داده‌های غنی‌شده شامل احساسات و خلاصه‌های تولید شده توسط هوش مصنوعی، در یک پایگاه داده Airtable ذخیره می‌شوند تا سوابق منظمی داشته باشید.

چگونه از نتایج تحلیل مطلع می‌شوم؟

پس از پردازش و ذخیره‌سازی داده‌ها، یک خلاصه تجمیع‌شده از احساسات نظرات به یک کانال Slack مشخص ارسال می‌شود تا تیم شما به سرعت از بازخوردها مطلع شود.

چه ابزارهایی برای اجرای این گردش کار نیاز است؟

شما به یک حساب n8n، دسترسی به WooCommerce REST API (با کلید و رمز)، حساب OpenAI برای GPT-4 و یک حساب Airtable نیاز دارید. همچنین برای دریافت اعلان‌ها، یک کانال Slack پیکربندی می‌شود.

workflowهای مرتبط

این workflow در کاتالوگ Axeto.ai بایگانی شده است. لایسنس اصلی متعلق به سازنده workflow است.