這是 Garrett Webb 和 Chandni Nagda 為 CruzHacks 2020 製作的,請不要竊取我們的作品,只需詢問我們即可。它被發佈到 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.
只需使用 Twitter 和 Microsoft Azure 文字分析的 API 金鑰製作您自己的 config.py 檔案。為 Microsoft Azure 設定以下內容:
subscription_key = "whatever"
endpoint = "whatever"
filename = "whatever"
為 Twitter 設定以下內容
auth = tweepy.OAuthHandler("whatever")
auth.set_access_token("whatever")
然後要么以 topic 作為命令列參數運行 model.py,要么運行trumptweets並讓它運行(它將按照您設定的時間間隔連續發推文)。這是命令列上的範例:
python3 model.py <keyword>
將向控制台輸出一則推文python3 trumptweets .py
將產生一條推文並將其輸出到控制台,並按照您在程式碼中指定的時間間隔將其發佈到 twitter。前往 https://twitter.com/R3alFakeDonald(我們的 Twitter 機器人)或您自己的 Twitter 開發者帳戶和機器人來看看您的瘋狂表現。
靈感
好奇心和川普總統
它的作用
分析唐納德·川普的推文,並給定一個關鍵字,為唐納德·川普關於該主題的推文建立語言模型,然後使用該模型生成潛在的推文,並將其發佈到 Twitter。
我是如何建構它的
首先,我們清理了唐納德的推特存檔數據,然後使用 Microsoft Azure 文字分析 API 取得每條推文的關鍵字詞。之後,我們新增了根據 Azure 產生的推文的關鍵字詞集中給定單字的出現對推文進行子集化的功能。有了這個子集,我們就可以在更相關的較小資料集上產生並運行語言模型。這使得推文與我們提供給系統的關鍵字更加密切相關。
我所遇到的挑戰
迄今為止最大的挑戰是找到並整合一個在一小部分推文上運作良好的語言模型。我們透過使用 NLTK 和 trigram 語言模型克服了這個問題。下一個挑戰是使用它根據資料產生自訂語料庫,而不是使用庫中預先提供的語料庫。另一個挑戰是使用 Microsoft Azure 文字分析 API 並考慮使用限制,以及我們正在分析的大量推文。我們透過簡單地每分鐘分批處理 1000 條推文來克服這個問題,以遵守 1k/60 秒的限制。
我引以為傲的成就
透過使用 Azure 將其與某個主題相關聯,改進了標準神經網路模型,該模型提供了難以理解的推文。我相信,對於使用少量數據來說,這是一個非常好的主意。
我學到了什麼
我學習如何使用 NLTK、Microsoft Azure 文字分析 API 和 Tweepy(twitter API)來使用自然語言處理建立功能齊全的 Twitter 機器人。
川普會發推文的下一步是什麼
將其釋放到世界各地,並可能將其放在 AWS 或 Azure 雲端執行個體上無限期地運行。