这是 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 云实例上无限期地运行。