이것은 Garrett Webb와 Chandni Nagda가 CruzHacks 2020을 위해 만들었습니다. 우리 작업을 훔치지 말고 그냥 물어보세요. 해당 해커톤을 위해 Devpost(https://devpost.com/software/what-would-trump-tweet-ds6wxl)에 게시되었습니다.
또한 도널드 트럼프의 트위터 금지로 인해 새로운 데이터를 제공할 수 없지만 다른 사람의 트위터 페이지에서 사용하도록 조정할 수 있습니다.
Microsoft Azure NLP 및 트라이그램 언어 모델을 사용하여 Trump의 넌센스를 분석합니다. 특정 주제에 대해 유사한 넌센스를 생성합니다.
필요한 것을 설치하십시오:
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
트윗을 생성하여 콘솔에 출력할 뿐만 아니라 코드에서 지정한 시간 간격으로 트위터에 게시합니다.https://twitter.com/R3alFakeDonald(저희 트위터 봇)로 이동하거나 자신만의 트위터 개발자 계정과 봇을 만들어 광기가 펼쳐지는 모습을 확인하세요.
영감
호기심과 트럼프 대통령
기능
도널드 트럼프의 트윗을 분석하고 핵심 문구가 주어지면 해당 주제에 대한 도널드 트럼프의 트윗에 대한 언어 모델을 구성한 다음 이 모델을 사용하여 잠재적인 트윗을 생성하고 이를 트위터에 트윗합니다.
내가 만든 방법
먼저 Donald의 트위터 아카이브 데이터를 정리한 다음 Microsoft Azure Text Analysis API를 사용하여 각 트윗의 핵심 문구를 가져왔습니다. 그런 다음 Azure에서 생성된 트윗의 핵심 문구 집합에 지정된 단어의 모양을 기반으로 트윗의 하위 집합을 지정하는 기능을 추가했습니다. 이 하위 집합을 사용하여 보다 관련성이 높은 데이터의 작은 집합에 대해 언어 모델을 생성하고 실행합니다. 이는 우리가 시스템에 제공하는 키워드와 더 밀접하게 관련된 트윗을 제공합니다.
내가 겪은 어려움
지금까지 가장 큰 과제는 작은 트윗 하위 집합에서 잘 실행되는 언어 모델을 찾아 통합하는 것이었습니다. 우리는 NLTK와 트라이그램 언어 모델을 사용하여 이 문제를 극복했습니다. 다음 과제는 이를 사용하여 라이브러리에 미리 제공된 말뭉치가 아닌 데이터를 기반으로 사용자 정의 말뭉치를 생성하는 것이었습니다. 또 다른 과제는 Microsoft Azure Text Analytics API를 사용하고 분석 중인 대량의 트윗과 함께 사용 제한에 대해 생각하는 것이었습니다. 우리는 1k/60초 제한을 준수하기 위해 매분 1000개의 트윗을 일괄 처리하여 이 문제를 극복했습니다.
내가 자랑스러워하는 성과
Azure를 사용하여 특정 주제와 연결함으로써 이해할 수 없는 트윗을 제공하는 표준 신경망 모델을 개선합니다. 나는 이것이 작은 데이터 세트를 사용하는 데 있어서 정말 좋은 아이디어라고 생각합니다.
내가 배운 것
NLTK, Microsoft Azure Text Analytics API 및 Tweepy(twitter API)를 사용하여 자연어 처리를 사용하여 완전한 기능을 갖춘 트위터 봇을 만드는 방법을 배웠습니다.
트럼프가 트윗할 내용의 다음 단계는 무엇입니까?
이를 전 세계에 공개하고 AWS 또는 Azure 클라우드 인스턴스에 배치하여 무한정 실행할 수 있습니다.