مفاهیم تحلیل مخاطب
5 گرایش مخاطب، 9 احساس پیشرفته، شدت در برابر وضعیت، پلتفرمهای صوتیتصویری (تلویزیون/رادیو/مطبوعات) و توکنهای دامنهمحور
پرتو در کنار سوشال لیستنینگ، برای تحلیل افکار مخاطبان سازمانی ساخته شده — همان سیستمی که پنلهای پایش بازخورد عمومی برای واحدهای تصمیمگیر استفاده میکنند. این صفحه مفاهیم خاص این دامنه را که در DS کدگذاری شده توضیح میدهد. برای مفاهیم شبکههای اجتماعی + اینفلوئنسر، صفحهی مفاهیم دامنه را ببینید.
5 گرایش مخاطب (Audience Stance)
برای هر موضوع/برند پایششده، نظرات منتشره در 5 گرایش دستهبندی میشوند. این کلاسبندی ابتدا توسط تحلیلگر یا مدل ML تعیین میشود و سپس بهعنوان رنگبندی در کارتها، نمودارهای Sankey، و توزیعهای گرایش استفاده میشود.
| برچسب نمایشی | کد | توکن CSS | معنی |
|---|---|---|---|
| حامی | 1 | --flow-pro-gov | پشتیبان موضوع/برند، دیدگاه مثبت غالب |
| منتقد سازنده | 2 | --flow-internal-critic | بازخورد انتقادی همراه با پیشنهاد بهبود |
| مخالف | 3 | --flow-internal-opponent | مخالف موضوع، با لحن جدی ولی نه افراطی |
| مخالف جدی | 4 | --flow-external-opponent | مخالفت ساختاریافته یا کمپینمحور |
| خنثی | 5 | --flow-grey | غیرقابل دستهبندی، بیطرف، نامرتبط |
کلیدهای متنی تایپ FlowKey (که در توکنهای CSS بالا هم دیده میشوند) شناسههای legacy سازگاری با کد قدیمیاند و هرگز در UI محصول نمایش داده نمیشوند — سطح نمایش همیشه «برچسب نمایشی» خنثی است:
type FlowKey = 'pro-gov' | 'internal-critic' | 'internal-opponent' | 'external-opponent' | 'grey'import { FlowBadge, Distribution } from '@partodata/ui'
<FlowBadge flow="pro-gov" />
<FlowBadge flow="internal-critic" />
<Distribution kind="flow" data={{ 'pro-gov': 280, 'internal-critic': 80, 'internal-opponent': 40, 'external-opponent': 20, grey: 30 }} />FLOW_KEYS ثابت در lib برای iteration: import { FLOW_KEYS, flowLabels } from '@partodata/ui'.
9 احساس پیشرفته (Emotion Scale)
برای تحلیل عمیق، DS در کنار 3 سطح سادهی sentiment، یک scale پیشرفتهی 9 احساسی هم پشتیبانی میکند — برگرفته از مدل چرخ Plutchik. برای داشبوردهای تحلیلی + تفکیک عمیق احساس مناسب است؛ برای summary cards و list views، scale سادهتر کافی است.
| کلید | فارسی | توکن CSS | رنگ مرجع |
|---|---|---|---|
anger | خشم | --emotion-anger | قرمز اشباعشده |
fear | ترس | --emotion-fear | بنفش-تیره |
sadness | غم | --emotion-sadness | نیلی |
joy | شادی | --emotion-joy | سبز زمردی |
disgust | انزجار | --emotion-disgust | صورتی-سرخابی |
surprise | شگفتی | --emotion-surprise | کهربایی-طلایی |
trust | اعتماد | --emotion-trust | فیروزهای |
anticipation | انتظار | --emotion-anticipation | سبز لیمویی |
neutral | خنثی | --emotion-neutral | خاکستری-آبی |
import { EmotionBadge, Distribution } from '@partodata/ui'
<EmotionBadge emotion="anger" />
<Distribution kind="emotion"
data={{ joy: 120, trust: 100, anger: 60, fear: 40, neutral: 80, anticipation: 50 }}
variant="stacked"
/>چه زمانی scale ساده، چه زمانی scale پیشرفته؟
- Simple (3-class) via
SentimentBadge— برای summary badges، compact cards، list views، dashboard headers. سرعت خوانش > دقت. - Advanced (9-emotion) via
EmotionBadge+Distribution kind="emotion"— برای detail views، تحلیل deep، Sankey breakdown. دقت > سرعت خوانش.
Distribution kind="emotion" در حالت variant="compact" با topN میتواند emotionهای کماهمیت را در یک chip «بقیه» ادغام کند.
شدت (Severity)
یک مقیاس چهارسطحی برای اولویت یک هشدار، خوشه، تیکت یا پیشنهاد اقدام؛ برای مرتبسازی و فیلتر:
| کلید | کد | فارسی | توکن CSS |
|---|---|---|---|
urgent | 1 | فوری | --severity-urgent |
high | 2 | بالا | --severity-high |
medium | 3 | متوسط | --severity-medium |
low | 4 | پایین | --severity-low |
import { SeverityBadge } from '@partodata/ui'
<SeverityBadge severity="urgent" />
<SeverityBadge severity="high" variant="solid" /> {/* full fill */}
<SeverityBadge severity="medium" variant="soft" /> {/* tinted, default */}تا نسخهٔ 4 همین مقیاس با نام دیگری هم بود: StatusBadge با سطحهای critical، warning، middle و low. از 5.0 فقط
SeverityBadge هست (critical میشود urgent، warning میشود high و middle میشود medium)؛ npx --no parto-migrate-v5 کد
قدیمی را خودکار تبدیل میکند. در جدول، SeverityCell همین نشان را در ردیف میگذارد.
پلتفرمهای صوتیتصویری — TV / Radio / Press
علاوه بر 7 پلتفرم اجتماعی استاندارد (Instagram، X، TikTok، YouTube، LinkedIn، Telegram، Threads)، DS برای پایش رسانهای، این منابع کلاسیک را هم اضافه میکند:
| کلید | فارسی | توکن CSS | تم |
|---|---|---|---|
tv | تلویزیون | --social-platform-tv | theme-independent |
radio | رادیو | --social-platform-radio | theme-independent |
press | مطبوعات | --social-platform-press | theme-aware |
tv و radio در هر دو تم رنگ یکسان دارند (شخصیت برندی غالب). press بسته به theme تنظیم میشود (در light theme dark navy، در dark theme روشنتر).
import { PlatformMark } from '@partodata/ui/social'
<PlatformMark source="tv" />
<PlatformMark source="press" />چه زمانی از اینها استفاده کنیم؟
- بولتنهای پایش رسانه — هرجا که دادهی شبکههای اجتماعی با پوشش رسانهی کلاسیک ترکیب میشود، این پلتفرمها سهم رسانهی سنتی را نمایان میکنند
- Post — هر 11 منبع (شبکههای اجتماعی + TV/Radio/Press/Web) با یک مدل (
SocialPost) و یک کامپوننت: پست، خبر با تیتر و نویسنده، و بخش پخش با برنامه، زمان پخش، بازهٔ بخش، روش بهدستآمدن متن و اطمینان تشخیص؛ فهرستشان یکEntityCollectionاست
تشخیص بات (Bot Detection)
برای ارزیابی اعتبار حسابها، DS یک scale سهسطحه دارد:
| کلید | فارسی | توکن semantic |
|---|---|---|
real | واقعی | --sentiment-positive (سبز) |
suspicious | مشکوک | --warning-default (نارنجی) |
bot | بات | --destructive-default (قرمز) |
این بهصورت BotDetectionMeter در کارتهای پروفایل + audit صفحات استفاده میشود.
import { BotDetectionMeter } from '@partodata/ui'
;<BotDetectionMeter data={{ real: 824, suspicious: 156, bot: 74 }} />نمرهی ارزیابی (Score Tiers)
برای ارزیابی کیفیت یک پیج/حساب/گزارش، DS یک scale 5 سطحه دارد:
نمره تعامل
میانگین لایک و کامنت نرمالشده بر دنبالکننده
| کلید | فارسی | توکن CSS |
|---|---|---|
excellent | عالی | --score-excellent |
good | خوب | --score-good |
moderate | متوسط | --score-moderate |
poor | ضعیف | --score-poor |
critical | بحرانی | --score-critical |
پیشفرض thresholdها (نرمالسازی روی scale 0..100): excellent ≥ 80، good ≥ 60، moderate ≥ 40، poor ≥ 20، critical < 20. در CriterionScoreCard و EngagementRateBenchmark استفاده میشود.
import { CriterionScoreCard } from '@partodata/ui'
;<CriterionScoreCard name="کیفیت محتوا" score={72} weight={0.4} trend={{ delta: +8 }} />
{
/* tier از score خودکار محاسبه میشود → "good" → سبز */
}کارتهای دامنهمحور
چهار کارت برای پنلهای پایش آماده است؛ حساب تحت رصد یک Account است، نه کارت جدا.
ConceptCard — یک کلاستر مفهومی
نمره، توزیع گرایش و احساس، روند و خلاصهٔ هوش مصنوعی یک کلاستر.
رونمایی گوشی جدید
فوریخوشه 4 — 1,240 پست
حجم نظرات منفی در 24 ساعت اخیر سه برابر شده. تمرکز روی شهرهای بزرگ.
AlertRuleCard — یک قاعدهٔ هشدار
شرط، آستانه، کانال و شدت یک هشدار.
افزایش ناگهانی منفی
هرگاه نرخ منفی بیش از 20٪ شود
SavedQueryCard — یک جستوجوی ذخیرهشده
جستوجو با تعداد اجرا و زمان آخرین اجرا.
گزارش هفتگی — منتقدان سازنده
نظرات منتقد سازنده در شبکههای اجتماعی، 7 روز اخیر
JobCard — یک کار در حال اجرا
کار ناهمگام با پیشرفت، جزئیات و اقدامها.

تحلیل کامنتهای کمپین تخفیف فصلی
- 1250
بازخورد بستهبندی جدید
نتیجه آماده است و منتظر بازبینی شماست.
- 842
- 12
برای جزئیات هر کدام، صفحهی کامپوننت مربوطه را ببینید.
توزیع جغرافیایی — استانهای ایران
برای دادهی per-province، IranProvinceHeat یک لیست افقی با heat-bar ارائه میدهد. 31 استان ایران با کد ISO 3166-2:IR و برچسب trilingual (fa/ar/en) در lib بهعنوان IRAN_PROVINCES export شده. findProvince() و getProvinceLabel() برای lookup در دسترساند.
| استان | مقدار |
|---|---|
| تهران | 4,820 نظر |
| اصفهان | 2,140 نظر |
| خراسان رضوی | 1,965 نظر |
| فارس | 1,480 نظر |
| خوزستان | 1,180 نظر |
| آذربایجان شرقی | 1,040 نظر |
| مازندران | 860 نظر |
| گیلان | 610 نظر |
| کرمان | 540 نظر |
| یزد | 320 نظر |
| هرمزگان | 210 نظر |
| آذربایجان غربی | بدون داده |
| اردبیل | بدون داده |
| البرز | بدون داده |
| ایلام | بدون داده |
| بوشهر | بدون داده |
| چهارمحال و بختیاری | بدون داده |
| خراسان جنوبی | بدون داده |
| خراسان شمالی | بدون داده |
| زنجان | بدون داده |
| سمنان | بدون داده |
| سیستان و بلوچستان | بدون داده |
| قزوین | بدون داده |
| قم | بدون داده |
| کردستان | بدون داده |
| کرمانشاه | بدون داده |
| کهگیلویه و بویراحمد | بدون داده |
| گلستان | بدون داده |
| لرستان | بدون داده |
| مرکزی | بدون داده |
| همدان | بدون داده |
import { IranProvinceHeat } from '@partodata/ui'
;<IranProvinceHeat
data={{ tehran: 4820, isfahan: 2140, fars: 1480 }}
scale="severity-urgent"
topN={10}
hideMissing
showRank
/>بولتنسازی
برای ساخت bulletin پایش، ReportComposer + 6 section template آماده وجود دارد:
بولتن هفتگی — هفته 14
گزارش روند نظرات و توزیع گرایش مخاطبان
خلاصه اجرایی
ترکیب گرایش مخاطب
import {
ReportComposer,
ExecutiveSummarySection,
SentimentBreakdownSection,
FlowDistributionSection,
TopPostsSection,
TimelineSection,
SourceBreakdownSection,
BulletinViewer,
} from '@partodata/ui'برای بازخوانی نهایی + پرینت، BulletinViewer با print:hidden action buttons و [&_section]:break-inside-avoid آماده است.