
تحلیل احساسات نظرات یوتیوب با هوش مصنوعی Gemini
10 دقیقه مطالعه · منتشر شده ۱۴۰۵/۴/۲۹
دانلود workflow
فایل JSON آماده import در n8n — credentialها باید در n8n شما تنظیم شوند.
- فایل JSON را دانلود کنید.
- در n8n: Workflows → Import from File.
- Credentialهای هر node را متصل کنید.
- workflow را فعال کنید.
شناسه workflow: 6086 · منبع: کاتالوگ Axeto
تحلیل احساسات نظرات یوتیوب با Gemini AI و Google Sheets
این گردش کار n8n فرآیند استخراج، تحلیل احساسات و ذخیره نظرات ویدیوهای یوتیوب را خودکار میکند. این ابزار برای تولیدکنندگان محتوا، مدیران شبکههای اجتماعی، تیمهای بازاریابی و آژانسهایی که به دنبال درک عمیقتر بازخورد مخاطبان فراتر از معیارهای اولیه تعامل هستند، ایدهآل است.
ویژگیهای کلیدی:
- دریافت خودکار دادهها: بازیابی URL ویدیوها از Google Sheets.
- یکپارچهسازی YouTube API: دریافت نظرات برای ویدیوهای مشخص شده.
- تحلیل احساسات مبتنی بر هوش مصنوعی: استفاده از Google Gemini AI برای دستهبندی احساسات نظرات (مثبت، خنثی، منفی).
- ذخیرهسازی نتایج: ذخیره نظرات تحلیل شده و احساسات آنها در یک Google Sheet.
- پیگیری وضعیت: بهروزرسانی وضعیت پردازش ویدیو در Google Sheets برای جلوگیری از پردازش مجدد.
---
نمای کلی گردش کار
این گردش کار به سه بلوک منطقی اصلی تقسیم میشود:
1. دریافت و فیلتر ورودی: جمعآوری URL ویدیوها از یک Google Sheet و اعتبارسنجی آنها.
2. دریافت نظرات یوتیوب: بازیابی نظرات برای هر URL ویدیوی معتبر با استفاده از YouTube API.
3. تحلیل احساسات و ذخیرهسازی دادهها: تحلیل احساسات نظرات با Gemini AI و ذخیره نتایج، همراه با بهروزرسانی وضعیت پردازش ویدیو.
---
تشریح جزئی گرهها (Nodes)
بلوک ۱: دریافت و فیلتر ورودی
این بخش بر شروع اجرای گردش کار و آمادهسازی URL ویدیوها برای پردازش تمرکز دارد.
- Manual Trigger
* نوع: n8n-nodes-base.manualTrigger
* نقش: اجرای دستی گردش کار را آغاز میکند.
* پیکربندی: تنظیمات پیشفرض.
* ورودی: ندارد.
* خروجی: گره "Get Video URLs" را فعال میکند.
* نکات: برای تست یا شروع گردش کار از این گره استفاده کنید.
- Get Video URLs
* نوع: n8n-nodes-base.googleSheets
* نقش: URL ویدیوها را از یک تب مشخص Google Sheet که ستون 'status' آن روی "Ready" تنظیم شده است، میخواند.
* پیکربندی:
* Document ID: شناسه منحصر به فرد Google Sheet شما.
* Sheet Name: نام تب حاوی URL ویدیوها (مثلاً "Video URLs").
* Filter: ستون status برابر با "Ready".
* ورودی: خروجی "Manual Trigger".
* خروجی: لیستی از ردیفها از Google Sheet حاوی URL ویدیوهای علامتگذاری شده به عنوان "Ready".
* اعتبارنامهها (Credentials): نیاز به اعتبارنامههای Google Sheets OAuth2 دارد.
* موارد لبهای (Edge Cases): در صورت عدم وجود ردیفهای با وضعیت "Ready"، هیچ ردیفی برگردانده نمیشود؛ خطاهای احتمالی اتصال به Google Sheets API یا مشکلات مجوز.
- Check If Video URL is Not Empty
* نوع: n8n-nodes-base.if
* نقش: اعتبارسنجی میکند که هر URL ویدیوی بازیابی شده قبل از ادامه، خالی نباشد.
* پیکربندی: بررسی میکند که آیا فیلد video_url خالی نیست (با استفاده از اعتبارسنجی نوع شلخته).
* ورودی: خروجی "Get Video URLs".
* خروجی:
* شاخه True: URLهای غیر خالی را به گره "Loop Over Items" ارسال میکند.
* شاخه False: URLهای خالی را فیلتر میکند و پردازش بیشتر برای آن موارد را متوقف میکند.
* نکات: اطمینان حاصل میکند که فقط URLهای معتبر به مرحله بعدی ارسال میشوند.
بلوک ۲: دریافت نظرات یوتیوب
این بلوک مسئول بازیابی نظرات از یوتیوب برای هر URL ویدیوی معتبر است.
- Loop Over Items
* نوع: n8n-nodes-base.splitInBatches
* نقش: هر URL ویدیو را به صورت جداگانه پردازش میکند تا محدودیتهای نرخ API را مدیریت کرده و پردازش متوالی را تضمین کند.
* پیکربندی: تنظیمات پیشفرض دستهبندی (معمولاً یک مورد در هر دسته پردازش میشود).
* ورودی: خروجی شاخه "True" از "Check If Video URL is Not Empty".
* خروجی: یک URL ویدیو در هر بار به گره "HTTP Request - Get Comments" ارسال میکند.
* نکات: اندازه دسته قابل تنظیم را میتوان برای بهبود عملکرد تنظیم کرد.
- HTTP Request - Get Comments
* نوع: n8n-nodes-base.httpRequest
* نقش: یک درخواست احراز هویت شده به YouTube Data API v3 برای دریافت نظرات یک ویدیوی مشخص ارسال میکند.
* پیکربندی:
* Method: GET
* URL: https://www.googleapis.com/youtube/v3/commentThreads
* Query Parameters:
* part=snippet
* videoId: به صورت پویا از video_url با استفاده از یک عبارت منظم استخراج میشود.
* maxResults=100 (یا در صورت نیاز تنظیم شود)
* Authentication: اعتبارنامههای YouTube API OAuth2.
* Pagination: برای مدیریت صفحات متعدد نظرات با استفاده از pageToken در صورت وجود nextPageToken در پاسخ، پیکربندی شده است.
* ورودی: URL ویدیوی فعلی از گره "Loop Over Items".
* خروجی: پاسخ خام API حاوی رشتههای نظر.
* اعتبارنامهها (Credentials): نیاز به اعتبارنامههای YouTube Data API OAuth2 دارد.
* موارد لبهای (Edge Cases): محدودیتهای نرخ YouTube API، شناسههای ویدیوی نامعتبر، خرابی احراز هویت، مهلت زمانی شبکه، بخشهای نظر خالی.
- Check If - Success Response
* نوع: n8n-nodes-base.if
* نقش: تأیید میکند که درخواست HTTP به YouTube API کد وضعیت موفقیتآمیز (200) را برگردانده است.
* پیکربندی: statusCode از پاسخ HTTP Request را با 200 مقایسه میکند.
* ورودی: پاسخ از "HTTP Request - Get Comments".
* خروجی:
* شاخه True: پاسخ موفق را به گره "Split Out" ارسال میکند.
* شاخه False: پردازش برای این URL ویدیو را در صورت عدم موفقیت پاسخ متوقف میکند.
* نکات: برای مدیریت خطا و جلوگیری از پردازش فراخوانیهای ناموفق API ضروری است.
- Split Out
* نوع: n8n-nodes-base.splitOut
* نقش: آرایه items (حاوی رشتههای نظر) را از پاسخ YouTube API استخراج کرده و آن را به اشیاء نظر جداگانه تقسیم میکند.
* پیکربندی: بر اساس فیلد body.items تقسیم میکند.
* ورودی: پاسخ موفق از "Check If - Success Response".
* خروجی: اشیاء نظر جداگانه، هر کدام آماده برای تحلیل احساسات.
* موارد لبهای (Edge Cases): اگر آرایه items خالی یا ناموجود باشد، این گره هیچ خروجی نخواهد داشت، که توسط گره بعدی "Check If - Comment Exists" مدیریت میشود.
بلوک ۳: تحلیل احساسات و ذخیرهسازی دادهها
این بلوک نهایی تحلیل احساسات را انجام داده و Google Sheet را با نتایج بهروز میکند.
- Check If - Comment Exists
* نوع: n8n-nodes-base.if
* نقش: بررسی میکند که آیا در واقع هیچ نظری برای ویدیو بازیابی شده است یا خیر.
* پیکربندی: وجود فیلد snippet.videoId در دادههای نظر بررسی میکند.
* ورودی: خروجی گره "Split Out" (نظرات جداگانه).
* خروجی:
* شاخه True: به تحلیل احساسات برای نظرات موجود ادامه میدهد.
* شاخه False: بلافاصله گره "Update Video Status" را فعال میکند و ویدیو را حتی در صورت عدم یافتن نظر، به عنوان پردازش شده علامتگذاری میکند.
* نکات: ویدیوهایی را که هیچ نظری ندارند به طور موثر مدیریت میکند.
- Google Gemini Chat Model
* نوع: @n8n/n8n-nodes-langchain.lmChatOpenAi (توجه: این گره برای مدلهای مختلف LLM، از جمله Gemini از طریق Langchain استفاده میشود)
* نقش: برای پردازش متن به مدل Google Gemini AI متصل میشود.
* پیکربندی:
* Model Name: models/gemini-2.0-flash (یا سایر مدلهای Gemini موجود).
* سایر تنظیمات LLM: در صورت نیاز پیکربندی کنید (مثلاً دما).
* ورودی: متن نظر را از گره "AI Agent - Analyze Sentiment Of Every Comment" دریافت میکند.
* خروجی: متن پردازش شده یا جاسازیها (embeddings) از مدل Gemini.
* اعتبارنامهها (Credentials): نیاز به اعتبارنامههای Google PaLM API (یا Gemini API) دارد.
* موارد لبهای (Edge Cases): محدودیتهای سهمیه API، خطاهای احراز هویت، مهلت زمانی پاسخ مدل.
- AI Agent - Analyze Sentiment Of Every Comment
* نوع: @n8n/n8n-nodes-langchain.sentimentAnalysis
* نقش: از LLM پیکربندی شده (Google Gemini) برای تحلیل احساسات هر نظر استفاده میکند.
* پیکربندی:
* Categories: Positive, Neutral, Negative.
* System Prompt: یک اعلان سفارشی که LLM را برای خروجی دادن یک شیء JSON واحد حاوی طبقهبندی احساسات هدایت میکند. مثال: "Analyze the sentiment of the following comment and classify it as Positive, Neutral, or Negative. Respond ONLY with a JSON object like {\"sentiment\": \"Positive\"}."
* Input Text: به فیلد متن اصلی نظر نگاشت میشود (مثلاً {{$json.snippet.topLevelComment.snippet.textOriginal}}).
* ورودی: خروجی گره "Google Gemini Chat Model" (یا مستقیماً متن نظر را در صورت پیکربندی تغذیه میکند).
* خروجی: طبقهبندی احساسات (مثلاً "Positive", "Neutral", "Negative") که به دادههای نظر اضافه شده است.
* موارد لبهای (Edge Cases): LLM ممکن است اعلان را اشتباه تفسیر کند، پاسخهای نامعتبر برگرداند، یا با خطاهای API مواجه شود.
- Insert Comment Data & Analysis
* نوع: n8n-nodes-base.googleSheets
* نقش: دادههای نظر تحلیل شده، از جمله احساسات را به یک تب "Results" در Google Sheet اضافه یا بهروزرسانی میکند.
* پیکربندی:
* Operation: Append or Update (با استفاده از comment_id به عنوان کلید برای بهروزرسانیها).
* Sheet Name: نام تب برای ذخیره نتایج (مثلاً "Results").
* Column Mapping: فیلدهایی مانند video_url, comment_id, comment_text, author_name, likes_count, reply_count, sentiment_category (از تحلیل هوش مصنوعی) و published_at را به ستونهای مربوطه در Google Sheet نگاشت میکند.
* ورودی: دادههای نظر با احساسات تحلیل شده.
* اعتبارنامهها (Credentials): نیاز به اعتبارنامههای Google Sheets OAuth2 دارد.
* موارد لبهای (Edge Cases): محدودیتهای سهمیه Google Sheets API، خطاهای مجوز، مدیریت comment_idهای تکراری در صورت عدم پیکربندی برای بهروزرسانی.
- Update Video Status
* نوع: n8n-nodes-base.googleSheets
* نقش: وضعیت URL ویدیوی پردازش شده را در تب "Video URLs" به "Finished" بهروزرسانی کرده و زمان آخرین دریافت را ثبت میکند.
* پیکربندی:
* Operation: Update
* Sheet Name: نام تب حاوی URL ویدیوها (مثلاً "Video URLs").
* Match by: row_number (برای اطمینان از بهروزرسانی ردیف صحیح).
* Fields to Update:
* status: روی "Finished" تنظیم میشود.
* last_fetched_time: روی زمان فعلی (قالببندی شده مناسب) تنظیم میشود.
* ورودی: پس از اتمام پردازش نظر یا در صورت عدم یافتن نظر فعال میشود.
* اعتبارنامهها (Credentials): نیاز به اعتبارنامههای Google Sheets OAuth2 دارد.
* موارد لبهای (Edge Cases): تداخل قفل شیت، تطابق نادرست ردیف، مشکلات مجوز.
---
جدول خلاصه
| نام گره (Node Name) | نوع گره (Node Type) | نقش عملکردی | گره(های) ورودی (Input Node(s)) | گره(های) خروجی (Output Node(s)) | یادداشت چسبنده (Sticky Note)
| :---------------------------------- | :------------------------------------ | :----------------------------------------------- | :---------------------------------------- | :----------------------------------------------------------- | :--------------------------------- |
|---|---|---|---|---|---|
| Get Video URLs | n8n-nodes-base.googleSheets | خواندن URL ویدیوها از Google Sheet | Manual Trigger | Check If Video URL is Not Empty | نیاز به اعتبارنامههای Google Sheets دارد. |
| Check If Video URL is Not Empty | n8n-nodes-base.if | اعتبارسنجی خالی نبودن URL ویدیو | Get Video URLs | Loop Over Items (True), فیلتر (False) | اطمینان از ارسال URLهای معتبر. |
| Loop Over Items | n8n-nodes-base.splitInBatches | پردازش هر URL ویدیو به صورت جداگانه | Check If Video URL is Not Empty (True) | HTTP Request - Get Comments | مدیریت محدودیتهای نرخ API. |
| HTTP Request - Get Comments | n8n-nodes-base.httpRequest | دریافت نظرات از YouTube API | Loop Over Items | Check If - Success Response | نیاز به اعتبارنامههای YouTube API دارد. |
| Check If - Success Response | n8n-nodes-base.if | بررسی موفقیتآمیز بودن پاسخ API | HTTP Request - Get Comments | Split Out (True), توقف (False) | مدیریت خطای API. |
| Split Out | n8n-nodes-base.splitOut | استخراج و تقسیم نظرات از پاسخ API | Check If - Success Response (True) | Check If - Comment Exists | آمادهسازی نظرات برای پردازش. |
| Check If - Comment Exists | n8n-nodes-base.if | بررسی وجود نظرات بازیابی شده | Split Out | Google Gemini Chat Model (True), Update Video Status (False) | مدیریت ویدیوهای بدون نظر. |
| Google Gemini Chat Model | @n8n/n8n-nodes-langchain.lmChatOpenAi | اتصال به مدل Gemini برای پردازش متن | AI Agent - Analyze Sentiment Of Every Comment | - | نیاز به اعتبارنامههای Gemini API دارد. |
| AI Agent - Analyze Sentiment Of Every Comment | @n8n/n8n-nodes-langchain.sentimentAnalysis | تحلیل احساسات نظرات با Gemini AI | Check If - Comment Exists (True) | Insert Comment Data & Analysis | پیکربندی اعلان سیستم برای JSON. |
| Insert Comment Data & Analysis | n8n-nodes-base.googleSheets | ذخیره نظرات تحلیل شده در Google Sheet | AI Agent - Analyze Sentiment Of Every Comment | Update Video Status | نیاز به اعتبارنامههای Google Sheets دارد. |
| Update Video Status | n8n-nodes-base.googleSheets | بهروزرسانی وضعیت ویدیو به "Finished" | Check If - Comment Exists (False), Insert Comment Data & Analysis | - | نیاز به اعتبارنامههای Google Sheets دارد. |
Nodeهای استفادهشده
سوالات متداول
این گردش کار n8n چه کاری انجام میدهد؟▾
این گردش کار n8n فرآیند استخراج نظرات ویدیوهای یوتیوب، تحلیل احساسات آنها با استفاده از هوش مصنوعی Gemini و ذخیره نتایج در یک Google Sheet را خودکار میکند.
چه ابزارهایی برای اجرای این گردش کار لازم است؟▾
شما به n8n، دسترسی به YouTube Data API v3، Google Gemini AI و یک Google Sheet برای ورودی و خروجی نیاز دارید.
چگونه میتوانم از این گردش کار برای ویدیوهای خاص استفاده کنم؟▾
با قرار دادن URL ویدیوها در یک ستون مشخص از Google Sheet و علامتگذاری وضعیت آنها به عنوان "Ready"، گردش کار به طور خودکار آنها را پردازش میکند.
چه نوع تحلیل احساساتی ارائه میشود؟▾
هوش مصنوعی Gemini نظرات را به سه دسته اصلی تقسیم میکند: مثبت، خنثی و منفی.
workflowهای مرتبط
- طبقهبندی خودکار حوادث امنیتی با GPT-4 و Google SheetsSecOps
- دستهبندی خودکار ایمیل جیمیل با GPT-4o و هشدار SlackAI Summarization
- دستهبندی خودکار پستهای وبلاگ با هوش مصنوعی و گیتهابContent Creation
- تحلیل خودکار Google Analytics با هوش مصنوعی Gemini و اعلانه…Market Research
- خودکارسازی اصلاح نقطه پایانی با Wazuh، ClamAV و GPT-4SecOps
- تغییر نام خودکار گرههای n8n با هوش مصنوعیEngineering
