【GPT2】AI에 자신의 트윗을 학습시켜 트윗을 생성한다
11333 단어 gpt2-japaneseGPT2사랑tweepy기계 학습
재미 있었기 때문에 이번은 트윗으로 해 보겠습니다.
【GPT2】AI에 라노베의 타이틀을 만들어 보자
Twitter Developer에서 인증을 위한 키 데이터 얻기
우선은 트윗을 취득하기 전 준비로서 Twitter Developer 에 로그인해 어플리케이션 등록을 해 다음의 정보를 취득합니다.
· Consumer Key
· Consumer Secret
・Access Token
・Access Token Secret
↓여기에서 자세히 해설되고 있습니다.
파이썬에서 트위터 API를 사용하여 다양한 플레이
자신의 트윗 얻기
Colab 준비
Google 공동체 로 이동하여 새 Notebook을 만듭니다.
※트윗을 취득하는 것만이라면 GPU는 사용하지 않아도 괜찮기 때문에 Notebook settings는 변경하지 않아도 괜찮습니다.
또한 검색된 트윗을 저장하기 위해 Google 드라이브를 탑재합니다.
↓Notebook을 트리 표시해 나오는 Drive의 아이콘을 클릭하면 마운트 할 수 있습니다.
트윗 얻기
먼저 pip에서 tweepy를 설치합니다.
!pip install tweepy
그리고 트윗을 얻는 파이썬 코드입니다.
↓이쪽을 참고로 하고 일부 개량하고 있습니다.
트위터 짹짹을 한 번에 대량 받기
여기서 조심해야 할 점은 Twitter의 API 제한입니다.
얻기 위해서는 특히 다음 사항에 유의해야합니다.
・1 리퀘스트로 취득할 수 있는 트윗 수는 100
· 15분 동안 180 요청까지
트윗 수가 많은 분은 취득에 나름대로 시간이 걸린다고 생각합니다.
import tweepy
import csv
import pprint
import pandas as pd
import os
import time
#ここはお決まりです。
consumer_key = 'xxxxxxxx'
consumer_secret = 'xxxxxxxx'
access_token = 'xxxxxxxx'
access_token_secret = 'xxxxxxxx'
auth = tweepy.OAuthHandler(consumer_key, consumer_secret)
auth.set_access_token(access_token, access_token_secret)
api = tweepy.API(auth)
#ツイートを保存するGoogle Driveのディレクトリです。事前に作っておきましょう。
drive_path = '/content/drive/MyDrive/xxxxx/'
#学習用のデータセットで必要なツイート数を指定しています。
max_tweets = 10000
def getMtTweet():
#取得したツイートを格納するための配列
tweets = []
num = 0
i = 1
print('page ' + str(i))
#自分のタイムラインを取得するためuser_timelineを使用します。1リクエストで取得できるツイートの上限数は100です。
tweet_data = api.user_timeline(count=100)
if(len(tweet_data) > 0):
for tweet in tweet_data:
#データセット用に各ツイートの最後に<|endoftext|>をつけて整形します。
tweets.append([tweet.text+"<|endoftext|>"])
num += 1
i += 1
next_max_id = tweet_data[-1].id
while True:
print('page ' + str(i))
tweet_data = api.user_timeline(count=100, max_id=next_max_id-1)
if(len(tweet_data) > 0):
next_max_id = tweet_data[-1].id
for tweet in tweet_data:
tweets.append([tweet.text+"<|endoftext|>"])
num += 1
if(num >= max_tweets):
break
i += 1
#Twitter API制限の上限でエラーにならないようにディレイをかけています。
time.sleep((15*60)/180)
else:
break
saveTweets(tweets)
else:
print('zero tweet')
def saveTweets(tweets):
ut = time.time()
#csv使ってますがデータセット用にテキストファイルで保存します。
file_path = drive_path+'myTweets_' + str(ut) + '.txt'
file = open(file_path, 'w')
w = csv.writer(file)
w.writerows(tweets)
file.close()
with open(file_path) as f:
print(f.read())
getMtTweet()
이제 트윗이 텍스트 파일에 저장되었습니다.
학습에서 생성
그리고는 ↓ 이쪽을 바탕으로 학습과 생성을 하면 완료입니다.
【GPT2】AI에 라노베의 타이틀을 만들어 보자
덧붙여서 자신의 결과는 ↓ 이런 느낌이었습니다.
어쩐지 미묘하게 말을 돌리는 것이 나쁘지 않지만,
자신의 트윗을 바탕으로 생성했다고 생각하면 정말 말할 수 없는 감정에 습격당하네요. 🤔
@usbに接続した音楽データが自動で再生へ持ってこいの時は自動でPOIが終了するって話じゃなかったんだな
========
PS3とMSIの対応の違いって、どう違うのかな?
========
Flex_IPが10MBって超超便利すぎ。
========
scalaはGLSLのコードで実装する。pdfとかThunderbirdとかTouchDesignerって言ったらあれだけどね。
========
@touchdのserviceの値がnullに変わってる
========
TwitterでFOMAのことしかできない人は多い。
========
Twitterのつぶやきはこういうのもあるよー。「おいしそうなものがたくさんあるぞ」ってね。
Reference
이 문제에 관하여(【GPT2】AI에 자신의 트윗을 학습시켜 트윗을 생성한다), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/atsonic/items/b7918b62be82819a9c78텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)