سلام،
من چند فایل خام CSV از منابع مختلف دارم (مثلاً خبرگزاریها) و میخواهم شما بر اساس آنها یک فایل Excel نهایی بسازید که دقیقاً مطابقِ ساختار ۱۶ شیت زیر باشد. لطفاً بر اساس فایلهای خام که من میفرستم، همهی مراحل لازم — شامل پاکسازی، یکپارچهسازی و تولید هر یک از شیتها — را انجام دهید و خروجی نهایی را به صورت یک فایل .xlsx
تحویل دهید. در پیشنهادتان لطفاً هزینه و زمان تقریبی تحویل را قید کنید.
> توجه مهم: من نمیخواهم در مورد جزئیات فنی ریز سؤال کنم؛ انتظار دارم شما خودتان بر اساس فایلهای خام تصمیمهای منطقی برای پاکسازی، نرمالسازیِ متون فارسی و استخراج اطلاعات ببرید و خروجیای مطابقِ شرح پایین تولید کنید.
ساختارِ دقیق ۱۶ شیت و شرحِ دقیق آنچه از هر شیت میخواهم
دادههای اصلی
- خروجی: یک جدولِ «Master» که شامل ترکیب تمام فایلهای CSV خام است.
- اقدامات لازم: خواندن تمام CSVها، یکسانسازی نام ستونها (در صورت تفاوت)، تبدیل تاریخها به فرمت ISO (YYYY-MM-DD)، نرمالسازی نویسههای فارسی (مثلاً ي → ی، ك → ک، حذف فاصلههای اضافی و نیمفاصلههای نامناسب)، حذف ردیفهای کاملاً تکراری و ردیفهای بیربط.
- ستونهای پیشنهادشده (هرجا موجود باشند): ID، منبع، تاریخ، عنوان، متن کامل، شهر (اگر موجود)، جنسیت (اگر موجود)، نوع اعتراض/شیوه (اگر موجود)، منبع انتشار، و سایر متادیتاهای خام.
۱-فراوانی شهرها
- جدول و نمودار: شمارش تعداد رکوردها برای هر شهر (رتبهبندی بر اساس فراوانی) و درصد کل.
۲-شهرها بر حسب زمان
- جدول: برای هر بازهی زمانی (پیشنهاد: ماهانه یا هفتگی) تعداد رکوردهای هر شهر.
- خروجی: Pivot یا جدول زمانی + یک نمودار روند (خطی) برای چند شهر منتخب.
۳-انواع اعتراض در زمان
- برای ستون «نوع اعتراض» (اگر در دادهها هست) یا بر اساس برچسبگذاری ساده: روند زمانی انواع مختلف اعتراض را نشان دهید (تعداد هر نوع در هر بازه زمانی).
۴-انواع اعتراض در شهر
- ماتریس یا Pivot: توزیع هر نوع اعتراض بر حسب شهر (شمار و درصد).
۵-جنسیت در طول زمان
- اگر ستون جنسیت وجود دارد: نسبت و تعداد مرد/زن در بازههای زمانی مختلف (جدول + نمودار).
۶-فراوانی جنسیتی
- آمار کلی جنسیت در کل داده (تعداد و درصد).
۷-جنسیت در شهرها
- توزیع جنسیت بر حسب شهر (Pivot با تعداد و درصد).
۸-فراوانی اشکال فضایی
- اگر ستون مرتبط با «اشکال فضایی» (مثل تجمع، راهپیمایی و...) موجود است: فراوانی هر شکل فضایی و درصد. اگر ستون وجود نداشت، از اطلاعات متن/متادیتاها روش منطقی برای استخراج یا برچسبگذاری ساده بهکار بگیرید.
۹-منابع در طول زمان
- روند تولید محتوا بر حسب منبع در زمان (تعداد هر منبع در هر بازه زمانی؛ جدول + نمودار).
۱۰-خلاصه کلیدواژه ها
- استخراج کلیدواژههای پرتکرار از متنها با روش ساده (توکنیزه، حذف توقفواژههای فارسی، نرمالسازی، شمارش تکرار).
- خروجی: لیست کلیدواژهها به همراه تعداد تکرار و درصد حضور. (نیازی به مدلسازی پیشرفته نیست؛ کافیست از روشهای پایه برای استخراج فراوانی استفاده شود).
فراوانی انواع شعار
- اگر شعارها/جملات مشخص در داده وجود دارد یا از متن قابل استخراج است: شمارش انواع شعارها و رتبهبندی آنها.
فراوانی شیوه اعتراض
- دستهبندی و شمارش شیوهها (مثلاً اعتصاب، تجمع، تحصن و...) و درصد هر کدام.
کلیدواژه ها بر اساس شهر
- برای هر شهر، لیست یا جدول کلیدواژههای پرتکرار و فراوانی آنها (Pivot: شهر × کلیدواژه).
کلیدواژه ها بر اساس منبع
- برای هر منبع، کلیدواژههای پرتکرار و فراوانیشان (Pivot: منبع × کلیدواژه).
کلیدواژه ها بر اساس ماه
- روند زمانی کلیدواژهها به تفکیک ماه (یا بازه زمانی انتخابشده): جدول و نمودار روندی برای کلیدواژههای منتخب.
خروجیهای مورد انتظار (قابل تحویل)
- یک فایل Excel (
.xlsx
) که شامل دقیقاً همین ۱۶ شیت با عناوین بالا است. - در هر شیت: جدولهای مرتب، ستونهای با Header واضح، و حداقل یک نمودار مناسب (هرجا منطقی باشد).
- یک شیت یا یک فایل متنی کوتاه (README) که مراحل پردازش اصلی را توضیح دهد: (چه پاکسازیهایی انجام شده، نحوهی نرمالسازی متون، معیار انتخاب بازههای زمانی، فهرست توقفواژهها و هر مانع/فرضیات مهم).
- (اختیاری) اگر امکان دارد، اسکریپت پایتون یا نوتبوک (Jupyter/Python) که پردازش را انجام داده برای reproducibility قرار داده شود — اما در صورتی که این امر نیاز به زمان یا هزینه اضافه دارد، آن را در پیشنهادتان جدا مشخص کنید.
نکات فنی و فرضیات (که شما باید خودتان لحاظ کنید)
- همهی تصمیمات تکنیکیِ معقول درباره پاکسازی و نرمالسازی را خودتان اتخاذ کنید؛ نیازی به پرسشهای مکرر از من نیست.
- اگر ستونی در برخی فایلها وجود ندارد (مثلاً شهر یا جنسیت)، با روش منطقی (مثلاً از متن استخراج یا مقدار NA) عمل کنید و در README توضیح دهید.
- استخراج کلیدواژهها کافی است به روش پایه (توکنیزه → حذف توقفواژه → شمارش). نیازی به مدلهای پیچیده یا یادگیری عمیق نیست مگر پیشنهاد و قیمت جداگانه ارائه دهید.
چیزی که در پیشنهاد شما باید واضح باشد
- هزینهی کلی پروژه
- زمان تحویل (روز یا هفته)
- آیا اسکریپت پایتون یا نوتبوک تحویل میدهید؟ (بله/خیر — و در صورت بله آیا شامل مستندات است)
- نمونهکار مشابه (لینک یا فایل) — در صورت وجود
با تشکر

