تحلیل احساسات مشتری با AI؛ مدل، ارزیابی و اقدام

در داشبورد، «احساس منفی» ناگهان دو برابر شده است. تیم روابط عمومی آماده پاسخ فوری می‌شود؛ اما نمونه‌خوانی نشان می‌دهد مشتریان نوشته‌اند «این تخفیف بد نیست» و مدل، واژه «بد» را بدون نفی فهمیده است. عدد دقیق به نظر می‌رسید، اما تصمیم غلط بود. تحلیل احساسات وقتی ارزش می‌سازد که واحد تحلیل، عدم‌قطعیت، خطای فارسی و تصمیم بعدی روشن باشند.

تحلیل احساسات مشتری با هوش مصنوعی قرار نیست ذهن افراد را بخواند. این سامانه از متن، صوت تبدیل‌شده به متن یا بازخورد ساختاریافته، شواهدی احتمالی درباره Polarities یا Aspectها استخراج می‌کند. نتیجه باید در کنار Context، نمونه انسانی و شاخص‌های واقعی—حل تیکت، مرجوعی، تکرار خرید یا رضایت—تفسیر شود؛ نه اینکه به‌تنهایی حکم «مشتری ناراضی» صادر کند.

قاعده راهنما: Sentiment یک Measurement noisy درباره یک عبارت در یک Context است، نه حقیقت احساس درونی، شخصیت یا نیت قطعی نویسنده. هرچه اقدام پرریسک‌تر باشد، شواهد بیشتر و اختیار انسانی قوی‌تری لازم است.

تحلیل احساسات چیست و چه چیزی نیست؟

Sentiment Analysis یا Opinion Mining معمولاً جهت ارزیابی بیان‌شده را تشخیص می‌دهد: مثبت، منفی، خنثی، مختلط یا نامشخص. Emotion Classification می‌کوشد برچسب‌هایی مانند خشم، شادی یا نگرانی بدهد. Intent Classification هدف عملی پیام—لغو، پیگیری، خرید یا شکایت—را پیش‌بینی می‌کند. این سه را یکی نگیرید.

خروجیپرسشنمونهمحدودیت
Sentimentارزیابی بیان‌شده چه جهتی دارد؟منفی درباره زمان تحویلاحساس درونی را اثبات نمی‌کند
Emotionکدام حالت عاطفی در متن محتمل است؟ناامیدی/خشمفرهنگ، کنایه و Context حساس‌اند
Intentکاربر چه می‌خواهد؟پیگیری یا لغو سفارشممکن است چند Intent هم‌زمان باشد
Urgency/Riskچه سرعت یا Escalationی لازم است؟تهدید ایمنی یا پرداختنباید فقط از Sentiment استنباط شود

جمله «محصول عالی است، ولی هنوز پول مرجوعی نیامده» هم مثبت و هم منفی است و مهم‌ترین اقدام آن، پیگیری مالی است. یک Label در سطح Document، این واقعیت را له می‌کند.

مسئله را با Decision Contract شروع کنید

پیش از انتخاب Model یا API، تصمیمی را که قرار است بهتر شود بنویسید. قالب زیر جلوی پروژه نمایشی را می‌گیرد:

Decision: کدام تیکت‌ها نیازمند بررسی سریع‌ترند؟
Population: تیکت‌های فارسی پس از ثبت سفارش
Unit: یک پیام یا Thread، نه «شخصیت مشتری»
Signal: sentiment + intent + topic + order state
Action: پیشنهاد اولویت به Agent؛ تصمیم نهایی انسانی
Primary outcome: زمان حل و نرخ بازگشایی
Guardrails: خطای Slice، شکایت، تبعیض، Privacy
Abstain: متن کم‌اطمینان/حساس → صف انسانی
Owner/Review: Support Ops + Data + Privacy/Security
Stop rule: افزایش miss پرونده‌های مالی/ایمنی

اگر هیچ Action، Owner یا Outcome ندارید، نمودار احساسات فقط Vanity analytics است. در تحلیل جامع‌تر رفتار و معامله، راهنمای تحلیل داده مشتری فروشگاه مرزهای RFM، Cohort، CLV و Churn را پوشش می‌دهد.

سطح تحلیل را درست انتخاب کنید

سطحکاربردریسک
Documentروند کلی یک Review کوتاهدیدگاه‌های مختلط گم می‌شوند
Sentenceتفکیک جمله‌های یک تیکتضمیر و Context جمله قبل از دست می‌رود
Aspect-basedاحساس نسبت به قیمت، ارسال، کیفیتTaxonomy و Annotation پرهزینه‌تر است
Target/entityتمایز برند، محصول، فروشنده یا CourierEntity resolution اشتباه می‌شود
Conversationتغییر وضعیت در Thread پشتیبانینقش Agent و مشتری باید جدا شود

برای Product و Support، Aspect/Target اغلب از مثبت/منفی کلی عملی‌تر است. پژوهش Pars-ABSA نیز اهمیت Benchmark برچسب‌خورده Aspect-based برای Review فارسی را نشان می‌دهد؛ اما Dataset پژوهشی جای داده نماینده کسب‌وکار شما را نمی‌گیرد.

Taxonomy را به زبان تصمیم طراحی کنید

سه برچسب مثبت/منفی/خنثی ساده است، ولی «Mixed»، «Unknown»، «Off-topic» و «Insufficient context» معمولاً لازم‌اند. Aspectها هم باید به Owner عملیاتی وصل شوند:

Aspectنمونه عبارتOwnerOutcome
تحویل«دو روز دیر رسید»LogisticsOn-time delivery
بسته‌بندی«سالم بود ولی جعبه له شده»FulfillmentDamage/return
پرداخت«پول کم شد، سفارش ثبت نشد»Payment OpsReconciliation time
پشتیبانی«محترمانه اما پاسخ بی‌ربط»Support QAFirst-contact resolution

تعریف Label باید مثال مثبت/منفی، Edge case، اولویت در تعارض و دستور برخورد با نقل‌قول داشته باشد. Taxonomy بدون Guideline پایدار، Gold set تولید نمی‌کند.

منبع داده، نماینده همه مشتریان نیست

Review نویسندگان، کاربران شبکه اجتماعی، پاسخ‌دهندگان نظرسنجی و کسانی که تیکت باز می‌کنند نمونه تصادفی مشتریان نیستند. هر کانال Selection bias دارد. افراد بسیار راضی یا ناراضی ممکن است بیشتر بنویسند؛ حساب‌های جعلی، کمپین هماهنگ و تکرار محتوا هم Distribution را منحرف می‌کنند.

  • منبع، روش دسترسی، Purpose مجاز و Terms پلتفرم را ثبت کنید.
  • بازه زمانی، Product/Variant، شهر، کانال و Eligibility را نگه دارید.
  • Duplicate، Spam و Bot را علامت بزنید، اما حذف را بی‌اثر بر Measurement فرض نکنید.
  • نسبت «افراد بی‌صدا» را از Order/Traffic بدانید؛ Sentiment نویسندگان را به کل مشتریان تعمیم ندهید.
  • داده داخلی و عمومی را با Provenance جدا نگه دارید.

برای Review و محتوای کاربر، Permission، Incentive و Moderation نیز مهم است؛ راهنمای UGC این قرارداد را تفکیک می‌کند.

حریم خصوصی را پس از جمع‌آوری وصله نکنید

متن پشتیبانی ممکن است نام، تلفن، آدرس، شماره سفارش، اطلاعات سلامت یا جزئیات پرداخت داشته باشد. «فقط متن است» به معنی کم‌خطر نیست. NIST Privacy Framework یادآور می‌شود که Privacy risk می‌تواند از خود پردازش داده ایجاد شود، حتی بدون رخداد امنیتی.

کنترلپرسش اجرایی
Purpose/minimizationکدام فیلد برای همین تصمیم لازم است؟
Notice/choiceکاربر درباره پردازش و گزینه‌هایش چه می‌داند؟
RedactionPII، Token، Payment و Secret پیش از Vendor حذف می‌شوند؟
Access/retentionچه کسی Raw text را می‌بیند و چه زمانی حذف می‌شود؟
Vendorداده برای Training استفاده می‌شود؟ Region، Subprocessor و Delete چیست؟
Rights/incidentCorrection، deletion، appeal و breach runbook دارید؟

قانون و تعهد قراردادی به حوزه قضایی، صنعت و نوع داده وابسته است؛ بازبینی حقوقی محلی لازم است. راهنمای بودجه حریم خصوصی Data map، Residual risk و Evidence را به بودجه متصل می‌کند.

فارسی را فقط با حذف Stop word آماده نکنید

Preprocessing تهاجمی می‌تواند همان سیگنالی را حذف کند که می‌خواهید اندازه بگیرید. «نیست»، «نشد» و «نه» Stop word بی‌اهمیت نیستند؛ کشیدگی «عااالی»، Emoji، علامت سؤال‌های پی‌درپی و تکرار حروف شدت یا طعنه را حمل می‌کنند.

Pipeline فارسی باید این موارد را آگاهانه مدیریت کند:

  • یکسان‌سازی ی/ی و ک/ک، نیم‌فاصله و فاصله بدون نابودی متن اصلی؛
  • عدد فارسی/لاتین، ریال/تومان و تاریخ؛
  • Finglish، Code-switching و نام برند/مدل؛
  • محاوره «میخوام/نمیاد»، غلط تایپی و لهجه؛
  • Emoji، نشانه‌گذاری، کشیدگی و تکرار؛
  • نفی چندکلمه‌ای، نقل‌قول، مقایسه و کنایه؛
  • جهت RTL/Bidi و جداسازی پیام مشتری از پاسخ Agent.

نسخه Raw، نسخه Normalized و Transform version را جدا نگه دارید تا خطا قابل‌بازتولید باشد.

Gold set را از محیط واقعی بسازید

بدون داده برچسب‌خورده نماینده، «دقت مدل» معنای عملی ندارد. نمونه را از Channel، Product، زمان، Length، رسمی/محاوره، Finglish، Mixed و Case حساس Stratify کنید. سپس:

  1. Guideline با مثال و Edge case بنویسید.
  2. هر نمونه را دست‌کم دو Annotator مستقل ببینند.
  3. اختلاف با Adjudication و ثبت دلیل حل شود.
  4. Agreement را به تفکیک Label/Aspect گزارش کنید.
  5. Test set را از Training و Prompt tuning جدا و Version کنید.
  6. Challenge set مخصوص نفی، کنایه، Emoji، Finglish و Mixed بسازید.

اختلاف Annotator همیشه «اشتباه انسان» نیست؛ گاهی Label مبهم یا Context ناکافی است. Unknown/Abstain پاسخ مهندسی معتبر است.

کدام مدل مناسب است؟

گزینهمزیتمحدودیتزمان مناسب
Lexicon/ruleشفاف، ارزان و قابل‌کنترلContext/کنایه/Domain ضعیفBaseline یا Rule حساس
Classical MLسریع و سبکFeature engineering و Driftحجم متوسط و Edge محدود
Fine-tuned encoderContext فارسی بهترLabel/data/GPU و MLOpsTaxonomy ثابت و حجم کافی
Managed APIشروع سریعPrivacy، هزینه، زبان و Lock-inPoC کم‌ریسک پس از Data review
LLM promptFew-shot و خروجی ساختاریافتههزینه، ناپایداری، ConfabulationExploration/assisted labeling با Eval
HybridRule+model+humanعملیات پیچیده‌ترProduction پرریسک و Long-tail

ParsBERT نشان داده مدل تک‌زبانه می‌تواند برای وظایف فارسی مفید باشد، اما نام Model تضمین Fit نیست. Dataset، Domain، Version، Fine-tuning و Sliceهای شما تعیین‌کننده‌اند. طراحی عمومی معماری، Eval، Security و MLOps در راهنمای AI در وب‌اپلیکیشن آمده است.

Accuracy کافی نیست؛ خطا را به هزینه تصمیم وصل کنید

در Dataset نامتوازن، مدلی که همیشه «مثبت» می‌گوید ممکن است Accuracy ظاهراً خوبی داشته باشد. حداقل این بسته را گزارش کنید:

Metricچه می‌گوید؟چرا لازم است؟
Precision/Recall هر ClassFalse alarm و Missمنفی/حساس معمولاً هزینه متفاوت دارد
Macro-F1میانگین متوازن ClassهاClass غالب نتیجه را پنهان نکند
Confusion matrixکدام Label با کدام اشتباه می‌شوداصلاح Guideline/Model/Action
CalibrationConfidence با احتمال صحت هم‌خوان است؟Threshold و Abstain معنادار شوند
Coverage at thresholdچه سهمی خودکار می‌شودهزینه صف انسانی روشن شود
Slice metricsخطا در Channel/Language/Productمیانگین، گروه ضعیف را پنهان نکند
Decision outcomeحل/مرجوعی/رضایت واقعاً بهتر شد؟Model score با ارزش کسب‌وکار یکی نیست

Threshold عمومی ۰٫۸ یا Accuracy هدف ۹۰٪ نسخه جهانی نیست. آن را از هزینه False positive/negative، ظرفیت Human queue و Risk appetite تعیین کنید.

نمونه‌های دشوار فارسی را بخشی از Release gate کنید

«بد نبود»                      → نفی؛ احتمالاً مثبت ملایم
«عالی! سه هفته‌ست پولم برنگشته» → طعنه/تعارض؛ پرداخت منفی و فوری
«خود گوشی خوبه، فروشنده نه»      → دو Target متفاوت
«مرسی که باز جواب ندادید :)»     → ظاهر مثبت، Context منفی
«ok بود ولی delivery افتضاح»     → Code-switching و Aspect
«لغوش نکنید، فقط آدرس عوض شه»    → Sentiment کم‌اهمیت، Intent حیاتی

هر Incident واقعی باید با برچسب علت—Negation، Sarcasm، Entity، OOD، ASR، Spam یا Annotation—به Challenge set برگردد.

Confidence پایین را به Human review هدایت کنید

Human-in-the-loop یعنی نقش و اختیار مشخص، نه صرفاً یک دکمه تأیید. Queue را با Risk و Uncertainty بسازید:

  • Confidence پایین، Model disagreement یا OOD؛
  • مالی، سلامت، ایمنی، تهدید، آزار یا داده حساس؛
  • VIP بودن به‌تنهایی معیار اخلاقی اولویت نیست؛ impact و SLA را تعریف کنید؛
  • Agent خروجی Model، Evidence snippet و Context لازم را می‌بیند؛
  • امکان Override، دلیل، Appeal و اصلاح Label وجود دارد؛
  • Feedback انسان کورکورانه Training data نمی‌شود و QA می‌گردد.

سامانه نباید بر مبنای Sentiment، بازپرداخت، لغو خدمت، قیمت، اعتبار یا تنبیه مشتری/کارمند را خودکار کند. NIST AI RMF بر Govern، Map، Measure و Manage، ارزیابی در شرایط مشابه استقرار و Monitoring پس از استقرار تأکید دارد.

از فرد به Aggregate حرکت کنید

بیشترین ارزش معمولاً در Aggregation منصفانه است: روند Aspect برحسب هفته، Product، Fulfillment center یا Channel؛ نه ساخت «پروفایل احساسی» دائمی برای هر شخص. Aggregate نیز باید حداقل حجم و بازه اطمینان داشته باشد.

نمودارDenominator ضروریکنترل
سهم منفی تحویلهمه Reviewهای واجد شرایط تحویلحجم سفارش و تأخیر واقعی
Sentiment کمپینهمه Mentionهای جمع‌آوری‌شدهReach، Spam و Channel mix
تیکت ناراضیهمه Threadهای بسته/بازResolution و reopen
رقیبنمونه قابل‌مقایسه هر برندProduct/price/period parity

برای لایه Warehouse، Identity، Quality و Attribution، تحلیل داده‌های بازاریابی مکمل این Measurement است.

هشدار بحران را از Sentiment تنها نسازید

Alarm باید ترکیبی از Volume anomaly، Velocity، Aspect/Entity، Severity keyword، Source credibility و Business event باشد. سه Review منفی در محصول کم‌فروش با سه هزار شکایت پرداخت در یک ساعت برابر نیست.

Alert score = volume anomaly × severity × source confidence
              × aspect criticality × corroboration

Gate:
- نمونه انسانی فوری
- بررسی Incident/Order/Payment log
- تعیین Owner و SLA
- پاسخ عمومی فقط با Fact تأییدشده
- ثبت False alarm و Postmortem

مدل باید Alert پیشنهاد دهد؛ Incident commander تصمیم می‌گیرد. Auto-reply احساسی می‌تواند بحران را بدتر کند.

کاربردهای امن‌تر و کاربردهای پرریسک

کاربردRiskطراحی مناسب
خلاصه هفتگی Aspectهاکم تا متوسطAggregate + sample review
پیشنهاد Topic محتوامتوسطSearch/Research evidence کنار Sentiment
اولویت پیشنهادی تیکتمتوسطIntent/severity + human override
پاسخ خودکار عمومیبالاTemplate محدود + approval
پیش‌بینی Churn فردیبالاConsent/purpose/fairness و Outcome eval
قیمت/خدمت متفاوت براساس احساسبسیار بالاپرهیز یا Review حقوقی/اخلاقی جدی

تحلیل احساسات نباید جای Research کیفی یا طراحی همدلانه را بگیرد. برای اثرگذاری عاطفی محصول با Guardrail، راهنمای طراحی احساسی Intent جداگانه‌ای دارد.

بینش را به اقدام و Outcome وصل کنید

یک چرخه بسته بسازید:

  1. Signal: افزایش منفی Aspect «بسته‌بندی»؛
  2. Validate: نمونه انسانی + نرخ آسیب/مرجوعی؛
  3. Hypothesis: تغییر تأمین‌کننده جعبه علت است؛
  4. Action: Pilot بسته‌بندی جدید در یک مرکز؛
  5. Outcome: آسیب، مرجوعی، هزینه و Sentiment؛
  6. Decision: Scale/Hold/Rollback؛
  7. Learning: Update taxonomy/model/runbook.

برای Lifecycle campaign، Sentiment فقط یکی از Signalهاست؛ بازاریابی چرخه عمر مشتری Cohort، State و Incrementality را به تصمیم وصل می‌کند. داده اقدام نیز باید با CRM/Order truth سازگار باشد؛ راهنمای یکپارچه‌سازی CRM/ERP Source of truth و Reconciliation را شرح می‌دهد.

سنجش ROI بدون وعده‌سازی

ROI از «تعداد متن تحلیل‌شده» ساخته نمی‌شود. Baseline هزینه و Outcome را پیش از Pilot ثبت کنید:

لایهMetricدام
DataCoverage، lag، duplicate، PII leakحجم را کیفیت فرض‌کردن
ModelMacro-F1، calibration، slice، abstainAccuracy کلی
WorkflowReview time، override، queue ageانتقال هزینه به Agent
OutcomeResolution، reopen، return، kept orderهم‌بستگی با Sentiment
EconomicsBenefit incremental − full TCOحذف Annotation/MLOps/Vendor cost

اگر امکان دارد، با Holdout یا Rollout مرحله‌ای اثر Workflow را جدا کنید. کاهش Sentiment منفی می‌تواند ناشی از تغییر Channel، حذف Review یا سکوت مشتری باشد؛ لزوماً بهبود تجربه نیست.

MLOps: Model card، Drift و Rollback

هر Release باید Model/data/prompt/taxonomy/preprocessing version داشته باشد. Model card داخلی شامل Purpose، Out-of-scope، Dataset، Slice metrics، Threshold، Limitations، Privacy، Owner و Review date باشد.

  • Data drift: نسبت Channel، Length، Language و Aspect عوض شده؟
  • Concept drift: معنای «خفن»، «سم» یا نام کمپین تغییر کرده؟
  • Label drift: Guideline یا Owner taxonomy عوض شده؟
  • Performance drift: Gold sample دوره‌ای افت کرده؟
  • Business drift: Action دیگر Outcome را بهبود نمی‌دهد؟

Shadow، Canary و Rollback داشته باشید. تغییر Vendor یا Prompt را «همان مدل» فرض نکنید؛ Output distribution و هزینه می‌تواند عوض شود.

سه سناریوی ایرانی

Review محصول در فروشگاه

Aspectهای کیفیت، بسته‌بندی، تطابق، فروشنده و ارسال جدا می‌شوند. Variant، Verified purchase، Incentive و زمان پس از تحویل ثبت می‌گردد. Dashboard فقط سهم منفی را نشان نمی‌دهد؛ نرخ مرجوعی، آسیب و حجم سفارش کنار آن است. نمونه کم‌حجم با برچسب «داده ناکافی» نمایش داده می‌شود.

تیکت پرداخت و مرجوعی

Intent و Order state مهم‌تر از Sentiment هستند. عبارت «مرسی، پولم هنوز نیومده» نباید مثبت تلقی و دیر رسیدگی شود. Rule قطعی برای پرداخت ناموفق، Model برای Topic/Sentiment و Human برای اقدام ترکیب می‌شوند؛ هیچ شماره کارت یا Token به Provider بیرونی نمی‌رود.

کمپین شبکه اجتماعی

دسترسی و استفاده از داده مطابق Terms و Purpose بررسی می‌شود. Mentionها Deduplicate و Spam/هماهنگی جدا گزارش می‌شوند. تغییر Mix کانال، Reach و News event در تفسیر می‌آید. پاسخ عمومی پس از نمونه‌خوانی و Fact check انجام می‌شود، نه با Auto-reply مدل.

برنامه Pilot شصت‌روزه

بازهکارGate
روز ۱–۱۰Decision contract، Data map، Privacy/Terms و BaselineScope/Stop یا ادامه
روز ۱۱–۲۰Taxonomy، Guideline، Sample و AnnotationAgreement/coverage
روز ۲۱–۳۰Baseline rule/model/API و Gold evaluationSlice/cost/latency
روز ۳۱–۴۰Shadow، Abstain و Human workflowSafety/override
روز ۴۱–۵۰Canary در یک تیم/Aspect و Outcome trackingGo/Hold/Rollback
روز ۵۱–۶۰Drift، TCO، privacy evidence و PostmortemScale/Revise/Stop
Scale/Hold/Stop: اگر Sliceهای حیاتی، Privacy و Outcome پاس‌اند، دامنه را مرحله‌ای افزایش دهید؛ اگر Confidence/coverage یا نمونه نماینده نیست، Hold و داده جمع کنید؛ اگر Miss پرونده حساس، نشت داده، تبعیض یا آسیب عملی افزایش یافت، Automation را متوقف و به Workflow انسانی برگردید.

سؤال‌های متداول

آیا تحلیل احساسات واقعاً احساس مشتری را می‌فهمد؟

نه به معنای ذهن‌خوانی. مدل از متن و Context موجود یک برچسب احتمالی می‌سازد. Sentiment، Emotion، Intent و Satisfaction متفاوت‌اند؛ برای اقدام مهم باید نمونه انسانی و داده Outcome را کنار خروجی گذاشت.

بهترین معیار دقت مدل تحلیل احساسات چیست؟

معیار واحد وجود ندارد. Precision/Recall هر Class، Macro-F1، Confusion matrix، Calibration، Coverage در Threshold، Slice metrics و در نهایت Outcome تصمیم را با هم ببینید. Accuracy کلی در داده نامتوازن گمراه‌کننده است.

آیا ParsBERT برای تحلیل احساسات فارسی کافی است؟

ParsBERT یک نقطه شروع مفید است، نه تضمین Production. باید روی Domain، Taxonomy و Gold set خودتان مقایسه شود و Finglish، محاوره، نفی، کنایه، Aspect و داده خارج از توزیع آزمایش شوند.

آیا می‌توان همه نظرات شبکه‌های اجتماعی را جمع‌آوری کرد؟

دسترسی فنی به معنی مجازبودن هر استفاده نیست. Terms پلتفرم، Purpose، Privacy، مجوز، Retention و حوزه قضایی را بررسی کنید؛ فقط داده لازم را جمع و Raw text/شناسه را محدود کنید. نمونه شبکه اجتماعی نیز نماینده همه مشتریان نیست.

آیا Sentiment منفی باید تیکت را خودکار فوری کند؟

نه به‌تنهایی. Intent، Severity، موضوع مالی/ایمنی، Order state، SLA و Confidence را ترکیب کنید. Model می‌تواند اولویت پیشنهاد دهد، ولی Case حساس یا نامطمئن باید Human review و Override داشته باشد.

جمع‌بندی

تحلیل احساسات مشتری زمانی بالغ است که «مدل چه گفت؟» به «برای کدام متن، Aspect، جمعیت و تصمیم؛ با چه خطا و Guardrail؟» تبدیل شود. Decision contract، داده نماینده و کمینه، Gold set فارسی، ارزیابی Class/Slice/Calibration، Abstain و Human review، Aggregation منصفانه، Outcome و MLOps را بسازید. سپس با Pilot محدود ثابت کنید این Signal واقعاً تصمیم و تجربه را بهتر می‌کند.

منابع فنی منتخب

دیدگاهتان را بنویسید

نشانی ایمیل شما منتشر نخواهد شد. بخش‌های موردنیاز علامت‌گذاری شده‌اند *