الأدوات المستخدمة لتحليل بيانات مستخدمي تويتر

كنت اعمل على خوارزمية تقوم بتصنيف حسابات تويتر بحسب النطاق الجغرافي بشكل آلي (سأقوم بشرح طريقة عملها بطريقة مبسطة لاحقاً إن شاء الله) و بعد تجربتها اجتمع لدي عدد كبير من حسابات تويتر الخاصة بالسعودين ففكرت أن أقوم بحساب أكثر الكلمات تكراراً في وصف هذه الحسابات.

قمت باستخدام نظام يسمى Redis لحفظ البيانات، من مميزات هذا النظام انه يقوم بتحميل البيانات إلى ذاكرة الجهاز و يتعامل معها مباشرة من الذاكرة، هذه الميزة توفر سرعة كبيرة في الوصول للبيانات (معروف أن التعامل مع البيانات الموجودة في الذاكرة أسرع بكثير من التعامل مع البيانات المخزنة على القرص الصلب، بعض التجارب ظهر فيها Redis أسرع بحوالي أربع مرات من MySQL)، هذه الميزة أيضاً مهمة عند التعامل مع أحجام بيانات كبيرة و ترغب في تجربة عدة خوارزميات تحليل عليها دون الحاجة للإنتظار الطويل بين كل تجربة و الثانية.

إستخدمت لغة البرمجة Python مع مكتبة Tweepy للتواصل مع خدمة تويتر. بعد جلب بيانات المستخدمين و تحميلها على Redis قمت بالمرور على كل حساب و استخرجت الكلمات الموجودة فيه. كل كلمة تمر على عدة فلاتر لتقليل الإختلافات الإملائية قدر الإمكان (مثلاً حرف التاء المربوطة يتم استبداله بهاء ليتم التعامل مع الكلمتان “طالبة” و “طالبه” على انهما نفس الكلمة), أخيراً كل كلمة تعطى معرف (ID) خاص بها، استخدمت خوازمية SHA-1 لهذا الغرض، هذا المعرف يسهل عملية جمع المكرر بحيث أي كلمتين لهما نفس المعرف تعتبران كلمة واحدة. أخيراً، حسبت النتائج ثم حفظتها في ملف خارجي وعرضتها لكم كما رأيتم في التدوينة السابقة.

نظام Redis مرن جداً و سهل الإستخدام، كانت من حسناته أنه سرّع عملية تحليل البيانات بشكل ملحوظ. أرشحه لكل شخص يحتاج للتعامل مع بيانات كبيرة ليس لها هيكل محدد (ليست جداول و أعمدة مثل أنظمة قواعد البيانات التقليدية) و يحتاج لوصول سريع لهذه البيانات.

رأيان حول “الأدوات المستخدمة لتحليل بيانات مستخدمي تويتر”

أضف تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *