نواحی پرتردد عابران پیاده در شهرها را به «نشان» اضافه کردیم

نواحی پرتردد عابران پیاده در تهران
نواحی پرتردد عابران پیاده در تهران

تو نسخه‌ی جدید نشان، یک لایه‌ی جدید اضافه کردیم که محل‌های پر تردد رو بهتون نشون می‌ده. البته که این‌روزها هیچ چیز به اندازه‌ی «در خانه ماندن»، به حفظ سلامت‌تون کمک نمی‌کنه. اما اگر واقعن مجبور به خروج از منزل هستید، با استفاده از این لایه می‌تونید از مکان‌های پر تردد دوری کنید. فقط کافیه روی دکمه‌ی لایه‌ها که به نسخه‌ی جدید نشان اضافه شده کلیک کنید و لایه‌ی «نواحی پرتردد پیاده» رو روشن کنید.

نمایش نواحی پرتردد عابران پیاده در نقشه و مسیریاب «نشان»
نمایش نواحی پرتردد عابران پیاده در نقشه و مسیریاب «نشان»

همونطور که تو تصویر می‌بینین، با فعال کردن لایه‌ی «نواحی پرتردد پیاده (ویژه کرونا)» می‌تونید مناطق پرتردد ۲۴ ساعت گذشته رو با رنگ بنفش و مناطق پرتردد حال حاضر رو با رنگ‌های زرد و نارنجی ببینید. (نواحی نارنجی از نواحی زرد پرترددتر هستند).

در ادامه‌ی این یادداشت می‌خوام به زبان ساده توضیح بدم این محل‌ها رو چطور پیدا کردیم.

موضوع از کجا شروع شد؟

با گسترش شیوع کرونا در کشور و با گزارش اولین مورد در مشهد، همه‌مون در تیم‌های نشان دورکار شدیم. یکی دو روز گذشت و همان‌طور که می‌دونید آمارها خیلی سریع رشد کردن. یک روز جواد (مدیرمون) پیام داد که می‌خواد یک جلسه‌‌ی اضطراری آنلاین داشته باشیم. تو اون جلسه بیشتر برنامه‌های نوروز معلق شدن و ازمون خواست فکر کنیم که هر تیم چه کاری می‌تونه برای برای بهبود اوضاع و کمک به مردم انجام بده.

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

ایده‌ی کار روی محل‌های پر رفت‌وآمد به تیم ما که بیشتر در حوزه داده و داده‌کاوی متمرکز هستیم سپرده شد. ایده‌ی جلب مشارکت کاربران به تیم جمع‌سپاری و برای پیاده‌سازی ایده‌های خاص هم یک گروه از مدیران محصول پیگیر شدن. خب چیزی که ما در اختیار داشتیم سرعت و موقعیت کاربرهایی بود که در حال استفاده از نشان بودن. به علاوه‌ی مبدا و مقصد مسیریابی و البته حجم زیادی دیتای مکان‌ها و نقشه‌‌ی خیابان‌ها و محلات.

دست به کار شدیم

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

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

نسبت این داده‌ها به کل داده‌ها خیلی عدد بزرگی نیست. در حد یک تا دو درصد. گرچه این باعث می‌شه پردازش داده‌ها آسان‌تر بشه، اما کسانی که با داده‌های کار کردن می‌دونن که این اصن خوب نیست. چون اطلاعات کمتری برای رسیدن به نتیجه‌ی مطلوب در اختیار دارید. تا با پیشنهاد احمد به فکر استفاده از مشارکت کاربرها افتادیم و در آخرین نسخه به کاربرهای نشان این امکان رو دادیم که مکان‌های پر رفت‌وآمد رو برامون ثبت کنند.

ترکیب داده‌ها و گزاشات وقت زیادی ازمون گرفت، تا در نهایت تونستیم یک راه‌حل برای دسته‌بندی‌شون پیدا کنیم. نتایج ترکیبی از محدوده‌های درست و غلط بود. ارزیابی‌‌های میدانی نشون می‌داد که تقریبا بیشتر محل‌های پر تردد را پیدا کرده بودیم. اما هم‌زمان یک سری محدوده هم پیدا می‌کردیم که هیچ خبری نبود.

برای حل این مشکل به ذهن‌مون رسید اطلاعات تقاضای سفر رو هم کنار این این خروجی قرار بدیم. به این معنا که نواحی که کاربرها با نرخ زیادی به عنوان مبدا یا مقصد سفر انتخاب می‌کنن، بیشتر ممکنه محل پر ترددی باشه. همچنین دیدیدم که ماهیت‌های مکان‌های (POIها) هر محدوده هم می‌تونه بهمون در شناخت محدوده‌‌های بلقوه کمک کنه.این دوتا روش بهمون کمک کرد تا بتونیم خروجی نهایی را اصلاح کنیم و بهبود بدیم.

اما همیشه سخت‌ترین کار در پروژه‌های داده‌کاوی، تبدیل کردن نتیجه‌ی نهایی به یک سرویس کاربردی است که پیوسته به‌روز بشه و بر اساس آخرین داده‌ها،‌ خروجی مناسب تولید کنه. در خصوص این کار یعنی، محل تردد و گزارشات بر اساس داده‌هایی که به دست‌مون میان، هر ساعت به‌روزرسانی بشه تا بیشتر کاربردی باشه.

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

نسخه‌ی اول خروجی

چیزی که امروز روی نقشه‌ی نشان اضافه شد، خروجی کارهای شبانه‌روزی این دو هفته است و هنوز نسخه‌ی اول کارمون هست. در همون ارزیابی‌های میدانی که در مشهد و تهران انجام دادیم، نتایج قابل قبول بود. گرچه این‌روزها مردم بیشتر رعایت می‌کنن و مناطق خیلی شلوغ به اون شکلی که همیشه می‌دیدیم خیلی به ندرت دیده می‌شه.

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

سعی می‌کنیم در روزهای آینده نسخه‌‌های بهتری از کارمون رو ارایه بدیم. لطفن شما هم اگر ایده‌ای دارین و فکر می‌کنید ما در نشان می‌تونیم نقش موثرتری رو در بهبود این شرایط ایفا کنیم، حتمن بهمون بگید. امیدواریم بتونیم واقعن کار مفیدی بکنیم و این روزها رو با هم پشت سر بذاریم.

نقشه و مسیریاب «نشان» رو هم می‌تونین از اینجا دانلود کنید.