これは、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.
Twitter と Microsoft Azure Text Analytics の 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 .py を実行してそのまま放置します (設定した時間間隔で継続的にツイートします)。コマンドラインの例を次に示します。
python3 model.py <keyword>
ツイートをコンソールに出力しますpython3 trumptweets .py
、ツイートを生成してコンソールに出力するだけでなく、コードで指定した時間間隔でツイートを twitter に投稿します。https://twitter.com/R3alFakeDonald (当社の Twitter ボット) にアクセスするか、独自の Twitter 開発者アカウントとボットを作成して、狂気の展開を確認してください。
インスピレーション
好奇心とトランプ大統領
何をするのか
ドナルド トランプのツイートを分析し、キー フレーズを指定すると、そのトピックに関するドナルド トランプのツイートの言語モデルを構築し、そのモデルを使用して潜在的なツイートを生成し、それを twitter にツイートします。
どうやって構築したか
まず、ドナルドの Twitter アーカイブのデータをクリーンアップし、次に Microsoft Azure Text Analysis API を使用して各ツイートのキー フレーズを取得しました。その後、Azure によって生成されたツイートの一連のキー フレーズ内の特定の単語の出現に基づいてツイートをサブセット化する機能を追加しました。このサブセットを使用して、より関連性の高いデータのより小さなセットに対して言語モデルを生成し、実行します。これにより、システムに提供されたキーワードにより密接に関連したツイートが得られます。
遭遇した課題
これまでで最大の課題は、ツイートの小さなサブセットで適切に動作する言語モデルを見つけて組み込むことでした。私たちは、NLTK とトライグラム言語モデルを使用することでこの問題を克服しました。次の課題は、ライブラリに事前に提供されているコーパスではなく、これを使用してデータに基づいてカスタム コーパスを生成することでした。さらにもう 1 つの課題は、Microsoft Azure Text Analytics API を使用し、大量のツイートを分析する際の使用制限について考えることでした。私たちは、1,000/60 秒の制限に準拠するために、毎分 1,000 件のツイートをバッチで処理するだけでこの問題を解決しました。
私が誇りに思う業績
理解できないツイートをする標準的な Neural Net モデルを、Azure を使用して特定のトピックに関連付けることで改善しました。これは、小規模なデータセットを使用する場合には非常に良いアイデアだったと思います。
学んだこと
NLTK、Microsoft Azure Text Analytics API、および Tweepy (twitter API) を使用して、自然言語処理を使用して完全に機能する Twitter ボットを作成する方法を学びました。
トランプ大統領のツイートの次は何だろう
それを世界中に解き放ち、場合によっては AWS または Azure クラウド インスタンスに置いて無期限に実行することもできます。