تم إعداد هذا لـ CruzHacks 2020 بواسطة Garrett Webb وChandni Nagda، من فضلك لا تسرق عملنا، فقط اسألنا. تم نشره على Devpost للهاكاثون المذكور على https://devpost.com/software/what-would-trump-tweet-ds6wxl.
أيضًا، نظرًا لحظر تويتر الذي فرضه دونالد ترامب، لا يمكن تغذية هذا بأي بيانات جديدة، ولكن يمكن تكييفه للاستخدام على صفحة تويتر لشخص آخر.
قم بتحليل هراء ترامب باستخدام Microsoft Azure NLP ونموذج لغة trigram. توليد هراء مماثل لموضوع معين.
قم بتثبيت ما ستحتاج إليه:
go on the internet and get python 3.xx (latest version)
sudo easy_install pip (mac only, or just install pip the way you would)
pip install nltk (or pip3)
pip install tweepy (or pip3)
pip install azure (or pip3)
pip install numpy (or pip3)
python3 (this will take you to the python interpereter CLI)
>> import nltk
>> nltk.download('punkt')
there may be more but it should tell you.
ما عليك سوى إنشاء ملف config.py الخاص بك باستخدام مفاتيح API لـ twitter وMicrosoft Azure Text Analytics. قم بتعيين ما يلي لـ Microsoft Azure:
subscription_key = "whatever"
endpoint = "whatever"
filename = "whatever"
قم بتعيين ما يلي لتويتر
auth = tweepy.OAuthHandler("whatever")
auth.set_access_token("whatever")
بعد ذلك، قم بتشغيل model.py مع استخدام subject كوسيطة لسطر الأوامر، أو قم بتشغيل trumptweets .py واتركه (سيقوم بالتغريد بشكل مستمر خلال الفاصل الزمني الذي تحدده). فيما يلي مثال على سطر الأوامر:
python3 model.py <keyword>
بإخراج تغريدة إلى وحدة التحكمpython3 trumptweets .py
بإنشاء وإخراج تغريدة إلى وحدة التحكم بالإضافة إلى نشرها على تويتر خلال الفاصل الزمني الذي تحدده في الكود.انتقل إلى https://twitter.com/R3alFakeDonald (بوتنا على تويتر) أو قم بإنشاء حساب مطور على تويتر وروبوت لرؤية جنونك يتجلى.
إلهام
الفضول والرئيس ترامب
ماذا يفعل
يحلل تغريدات دونالد ترامب، ويعطي عبارة رئيسية، ويبني نموذجًا لغويًا لتغريدات دونالد ترامب حول هذا الموضوع، ثم يستخدم النموذج لإنشاء تغريدة محتملة، ثم يقوم بتغريدها على تويتر.
كيف بنيته
أولاً، قمنا بتنظيف بيانات أرشيف تويتر الخاص بـ دونالد، ثم استخدمنا Microsoft Azure Text Analysis API للحصول على العبارات الرئيسية لكل تغريدة. بعد ذلك، أضفنا وظيفة لتعيين التغريدات فرعيًا بناءً على مظهر كلمة معينة في مجموعة العبارات الرئيسية للتغريدة التي تم إنشاؤها بواسطة Azure. باستخدام هذه المجموعة الفرعية، نقوم بعد ذلك بإنشاء نموذج لغة وتشغيله على المجموعة الأصغر من البيانات الأكثر صلة. وهذا يعطي تغريدة أكثر ارتباطًا بالكلمة الرئيسية التي نقدمها للنظام.
التحديات التي واجهتني
كان التحدي الأكبر حتى الآن هو العثور على نموذج لغة يعمل بشكل جيد على مجموعة فرعية صغيرة من التغريدات ودمجه. لقد تغلبنا على هذا باستخدام NLTK ونموذج لغة trigram. كان التحدي التالي هو استخدام هذا لإنشاء مجموعة مخصصة بناءً على البيانات، وليس مع المجموعات المتوفرة مسبقًا في المكتبات. كان التحدي الآخر هو استخدام واجهة برمجة تطبيقات Microsoft Azure Text Analytics والتفكير في حدود الاستخدام، مع الكمية الكبيرة من التغريدات التي تم تحليلها. لقد تغلبنا على ذلك من خلال معالجتها ببساطة على دفعات مكونة من 1000 تغريدة كل دقيقة للامتثال بحد 1k/60s.
الإنجازات التي أفتخر بها
تحسين نموذج الشبكة العصبية القياسي الذي أعطى تغريدات غير مفهومة باستخدام Azure لربطها بموضوع معين. أعتقد أن هذه كانت فكرة جيدة حقًا لاستخدام مجموعة صغيرة من البيانات.
ما تعلمته
لقد تعلمت كيفية استخدام NLTK وMicrosoft Azure Text Analytics API وTweepy (twitter API) لإنشاء روبوت تويتر يعمل بكامل طاقته باستخدام معالجة اللغات الطبيعية.
ما هي الخطوة التالية لما سيغرد به ترامب؟
لإطلاق العنان له في العالم، وربما وضعه على مثيل سحابة AWS أو Azure للتشغيل إلى أجل غير مسمى.