日々気まぐれログ

やったりやらなかったり。  

ツギクルバナー 小説『夢次元機アルマエレンシア』連載中です。
 よろしくお願いします。

雑記

特定のTwitter垢から語彙や言い回しを転移学習するAI的なアレ

colab-logo-1GPT-2の汎用日本語モデルが
いつの間にか公開されていたので、
これにサクっとファインチューニングを施すやつ。

いわゆるフェイク何某にもなりかねないので
一応注意の上、参考程度にしてください。



つまるところ……ある程度、最初から日本語を学習させたBOTに
途中から特定の人物のTwitterから抽出した特徴を転移学習させて
手っ取り早くその人っぽいBOTを作ろう!
というやつ。

今回は、これを最小ステップ(TwitterのIDを指定するくらいの作業)で実現したい。




えぇ、そらもう。

流行りに乗っかりますよ。


#必要そうなものを入れる

!git clone https://github.com/tanreinama/gpt2-japanese
!git clone https://github.com/tanreinama/Japanese-BPEEncoder.git
%cd gpt2-japanese
!pip uninstall tensorflow -y
!pip install -r requirements.txt
!wget https://www.nama.ne.jp/models/gpt2ja-small.tar.bz2
!tar xvfj gpt2ja-small.tar.bz2
!mkdir srcdataset




まずは環境構築。
GPT-2日本語モデルを環境にダウンロードして展開。
ついでにファインチューニング用の
データセット作成用エンコーダとそれ用のディレクトリを作ります。


 続きを読む

【pyてょn】指定したTwitterアカウントのフォロワーを取得するやつ


colab-logo-1
指定したアカウントのフォロワーを取得するやつです。
スクリーンネームと名前をCSVでリスト出力します。
一応、上限と指定フォロワー数毎にファイルを分割する
要るようで要らんような機能があります。
アクセストークンやらは各自ご用意の上でどうぞ。





以下、宜しく。続きを読む

【Python】画像をランダムで投稿するTwitterボット

colab-logo-1(なるべくGoogle Colaboratoryで)


タイトルの通りのBOTを作りたい。
需要のほどはさておき、なるほど結構簡単に実装できるわ。
以下サンプル。例外処理は適当なのでなんか適当にしてください。

import tweepy
import glob
import random

# 各種キー
CK="<<コンシューマーキー>>"
CS="<<コンシューマーシークレット>>"
AT="<<アクセストークン>>"
AS="<<アクセストークンシークレット>>"

# 各種設定
picfolder = "hoge/hoge/"  #画像フォルダのフルパス
picext = ".jpg"  #投稿画像の種類(拡張子をドットまで入れる)
sec = 1800  #投稿間隔の秒数
stoptweet = 10  #ツイートする回数


# 以下メイン処理
auth = tweepy.OAuthHandler(CK, CS)
auth.set_access_token(AT, AS)
api = tweepy.API(auth)
stop = 0
target = picfolder + '*' + picext
fileslist = [r.split('/')[-1] for r in glob.glob(target)]

while True:
    choicepic = random.choice(fileslist)
    file = picfolder + choicepic
    print(file + "is selected.")
    try:
        tweetdo = api.update_with_media(status = choicepic.replace(picext , ''),  
filename = file)
        tweet_obj = api.get_status(tweetdo.id)
        print("result:" + tweet_obj.text)
    except PostError:
        print('Nanka Dameppoi.')
    stop += 1
    time.sleep(sec)
    if stop == stoptweet:
      print("Stopped.")
      break

1秒間隔でキャプするAutoSnapShot

display_monitor_tv


デフォルトでキャプ間隔を1秒に設定してある状態で
ビルドしたプラグインファイルを置いておきます。
流石に毎度設定するの面倒くさいので……

AutoSnapShot.tvtp

Colabでseq2seqを動かす2行のおまじない

colab-logo-1


Google Colaboratoryのケラスとテンソルフローの
なんか安定した組み合わせのアレ的な備忘録です。



#おまじない

!pip uninstall tensorflow
!pip uninstall keras
!pip install keras==2.3.1
!pip install tensorflow==2.2.0




アンインストールかけてもかけなくても良いけど念の為。

ぼちぼちゲームライターやってます。なお、このブログやTwitterでの発言は私個人のものであり、各掲載媒体様は無関係であります。予めご承知おきくださいませ。
うちの同人誌
amazon.co.jp