【はじめに】
ようやくお盆休みに突入しました。って、8月まだ1日も働いて無いんですが。笑 26日からちゃんと働けるかなー。
どうでもいいですが、なう8/12(月)、実家に帰ってきています。
これまでpythonを少し勉強したものの、まとまって何かアプリを作ったり出来た訳じゃないので、折角なので、集中して1つのアプリを作ってみようと思います。
最近Twitterのフォロワーを増やそうとしてるのと、APIの機能が充実してるのと、取得出来るデータが充実してることと、参考文献や参考URLが充実してることより、TwitterAPIを使って何か即席でアプリを作ってみることにしました。
【ゴール】
①pythonと、大量データの解析と、AIの触りの部分まで広く浅く触れて、誰かと今後エンジニアトークになった時「あー。それやったことあるよ。」ってさらっと言いたいです。笑
②単純にフォロワーが沢山欲しくなりました。
【簡易設計】
いくつかの、特化したクラスを作ります。それぞれの仕事は、下記のような感じにしたいです。
今、FollowFromQueryだけは何とか作れたので、手当たり次第にQuery(検索用単語)でマッチした人をFollowしてる感じです。ワンクリックで100件フォローが出来るのですが、今フォロー707件に対してフォロワー143件です。10万人くらいフォロワーさん欲しいです。
■FollowFromQuery
指定したQueryでツイートを検索し、手当たり次第にFollowする。
UserID・QueryをCSVデータに吐き出す。
■CreateUserData
FollowFromQueryで吐き出されたベースとなるCSVデータのUserIDより、出来る限り沢山の情報を取得する。
基本的に取得出来る情報(ユーザ名、自己紹介文等、フォロー数等)より、ユーザーの基本属性を作成し、JSONデータに吐き出す。または直接MongoDBにデータを投入する。
■AnalyzeDetailData
1人のユーザのツイートの過去6ヵ月分を取得。JSONデータをデータベースに投入。ユーザのツイートより、ユーザーの住んでいる場所、仕事、SNSアカウントへのリンク、年齢、人間かBotか、写真を分析する。
例えば、mecabで形態素解析といったことを実施し、上手く判定したい。似たツイートでBot判定する等、上手く実施していきたい。ここで、分析について機械学習をして、精度を高めていきたい。
また、人間をどういうタイプか性格判定を実施する等も実施したい。
■AdjustFollower
フォロー数が、フォロワー数よりも多い場合、フォロバは返ってきにくくなるって聞いて、確かに自分もそうだなって思ってます。
AdjustFollowerは、フォローをしたがフォロバが返ってきていない人について、ユーザーの基本属性情報を元にフォローを外すがどうか吟味します。1度フォローを外した場合、再びフォローしないようにBlackListに格納します。
また、自分がBlockされていることも、ユーザーにアクセスをすることで知ります。
野心的だね
はい!結構最近、ガツガツと勉強欲求が出てきてます!笑