ایده‌های پروژه‌های کوچک با استفاده از چت‌های واتس‌اپ

منتشر شده در towardsdatascience به تاریخ ۲۰ جولای ۲۰۲۱
لینک منبع Ideas for mini projects using WhatsApp chats

یک تاچ شخصی‌سازی شده

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

خلاصه

من فهرستی از ایده‌هایی تهیه می‌کنم که برای ساخت برخی پروژه‌های کوچک مفید هستند. من منابع یا لینک‌هایی به کتابخانه‌ها و ابزارهایی که می‌توانید برای هر ایده استفاده کنید، خواهم گذاشت. ایده‌ها به ترتیب افزایش درجه دشواری (از نظر اجرا) فهرست شده‌اند. ما کار خود را با EDA پایه آغاز خواهیم کرد، به تحلیل سری‌های زمانی خواهیم پرداخت و با مدل‌های ترانسفورماتور به پایان خواهیم رسید. بیایید شروع کنیم!

دانلود هر گپ به عنوان یک فایل متنی

  1. گپ روی واتس‌اپ را باز کنید و روی سه نقطه در بالا سمت راست کلیک کنید.
  2. روی بیشتر کلیک کنید
  3. روی Export chat کلیک کنید
  4. گزینه بدون رسانه را انتخاب کنید (تمام ایده‌ها در اینجا تنها به داده‌های متنی نیاز دارند)
  5. گپ باید به عنوان یک فایل متنی دانلود شود.

نکته در مورد تمیز کردن داده‌ها

گپ دانلود شده ویژگی‌های جداگانه‌ای برای کاربر، زمان، تاریخ، بدنه پیام و غیره نخواهد داشت. شما باید ستون‌های جداگانه‌ای برای این ویژگی‌ها ایجاد کنید. این یک دفترچه یادداشت است که به شما در این مورد کمک خواهد کرد. همچنین از آنجا که ما هیچ رسانه‌ای را صادر نکرده‌ایم ، تمام رسانه‌های موجود در گپ‌ها توسط یک مکان نگهدارنده به نام <Media omited> نشان داده می‌شوند.

چت‌های خصوصی

در اینجا به چند سوال اشاره می‌کنیم که می‌توانید به آن‌ها پاسخ دهید.

۱. آیا پیغام‌ها به نسبت مساوی در گپ فرستاده می‌شوند؟

شما می‌توانید پیغام‌ها را با نام کاربری دسته‌بندی کنید و تعداد پیغام‌ها را بررسی کنید.

۲. طول متوسط هر پیغامی که ارسال می‌کنید چقدر است؟

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

۳. پیدا کردن پر‌استفاده‌ترین ایموجی‌ها و کلمات

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

۴. چه زمانی بیش‌ترین فعالیت را دارید؟

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

۵. ببینید چقدر رسانه می‌فرستید

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

چت‌های گروهی

  1. ببینید چه کسی بیش از همه فعال است
  2. ببینید نام یا توضیحات گروه چند بار تغییر کرده‌است
  3. ببینید آیا فقط به افراد خاصی در گروه پاسخ می‌دهید یا خیر.

پیدا کردن الگوها با استفاده از تجزیه و تحلیل سری زمانی

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

  • استفاده از کانتر (از کلکسیون‌ها) یک فرهنگ لغت برای تاریخ‌ها و شمارش ایجاد می‌کند.
  • اعداد در اینجا تعداد پیام‌های ارسالی متناظر با هر تاریخ منحصر به فرد را نشان می‌دهد.
  • تاریخ را به عنوان شاخص چارچوب داده و تعداد را به عنوان یک ستون ویژگی جداگانه تنظیم کنید.

اکنون می‌توانید سری‌های زمانی را به ترندها، فصلی و باقیمانده تجزیه کنید.

پیش‌بینی اینکه برای یک جمله خاص از چه ایموجی‌هایی استفاده خواهید کرد

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

  1. برخی از برچسب‌های ایموجی‌ها را تعریف کنید. فرض کنید که من می‌خواهم شادی را با ❤️، غم را با ? و حسادت را با ? نشان دهم. کاری که من می‌توانم انجام دهم این است که یک لیست با این ایموجی‌ها تهیه کنم.
  2. همچنین، با استفاده از emoji.demojize () در هر شکلک در لیست قبلی، لیستی برای نسخه‌های demojized آن‌ها ایجاد کنید.
  3. حال برای هر جمله، برای هر ایموجی در لیست خود، از تابع جایگزینی استفاده کنید و ایموجی را با نسخه demojized آن جایگزین کنید. به عنوان مثال emoji.demojize (‘?’).
  4. حالا همه ایموجی‌های دیگر را از متن حذف کنید.
  5. حالا یک ستون جدید به نام لیبل و لوپ در جملات ایجاد کنید. با پیدا کردن هر رشته از لیست demojized (مرحله ۲) در جمله، آن رشته را به ستون برچسب‌ها اضافه کنید.
  6. اکنون رشته‌های demojized جملات را جایگزین کنید.
  7. تمام ردیف‌هایی که لیبل خالی است را رها کنید. (نشان‌دهنده عدم وجود ایموجی‌هایی است که ما سعی داریم پیش‌بینی کنیم)
  8. ما مانده‌ایم با یک چارچوب داده‌ای که حاوی جملات همراه با ایموجی‌های آن‌ها است.
  9. حال از هر مدل طبقه‌بندی کننده که به طور معمول برای یک مساله طبقه‌بندی NLP استفاده می‌کردید، استفاده کنید!

آموزشGPT-۲ برای نوشتن متن مانند شما!

ذخیره بهترین چیزها برای پایان کار.

با تقریبا ۴۰ k پیغام برای هر مکالمه، شما اطلاعات کافی برای تنظیم مدل مولد مانندGPT-۲ دارید. HuggingFace، انتزاع‌های عالی را برای استفاده از حالت هنری مدل‌های از پیش آموزش‌دیده مانندGPT-۲ فراهم می‌کند. تنها کافی است آن را با جملات خودتان تنظیم کنید (بعد از برخی از پیش‌پردازش‌ها) و از آن بخواهید متنی با سبک شما ایجاد کند!

نتیجه‌گیری

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

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