仮想サーファーの波乗り

仮想サーファーの日常

プログラミング・エンジニアのスキルアップ・ブログ運営などに関してよく書く雑記ブログ

➡ Udemyで8/27(木)まで割引セール開催中! 1,200円〜で普段の90%以上OFF!

プログラムの力でブロガーの仕事は奪えるのか。ブログ記事投稿自動化してみた


どうも。突然ですが、ブログを毎日更新するのって結構大変なことじゃないですか?


毎日書くネタ考えて...
そのネタのための情報収集して...
情報を整理して記事として書いて...
デザインおかしくないように整えて...
その記事で読みやすいかどうかチェックして...


...これを毎日は、さすがに大変すぎ!


そもそもブログって人間が毎日書くものなの?自動化できないの?と思って調べてみると...

f:id:virtual-surfer:20180702153844p:plain

(画像:「日本の労働人口の49%が人工知能やロボット等で代替可能に」 By 株式会社野村総合研究所

将来(10〜20年後に)人工知能やロボット等で代替可能性が低い、つまりこれからも人間の仕事として残る可能性の高い職業として、フリーライターが含まれているのを発見!!いつまでもこの記事を書くという行為はなくならないのか...(T ^ T)


何か効率的に記事の更新できる方法はないかな〜?と、色々ググっていると意外にも簡単に自動で記事の自動生成と記事の投稿ができそうな気が。はてなブログAPIの仕様と記事をプログラムから投稿する方法も先人が試してるし、これはイケる!!

「10年間なくならないと言われてるフリーライターの仕事奪ってみようじゃないか(・Д・)ノ!!」

と謎の思いにかられ、2週間前からはてなブログの自動投稿を試行錯誤して実装し、運用してみました。ので、その結果をまとめておきます。


現時点で、ブロガーの仕事(仮想サーファーのブログを書く作業)はどの程度まで奪えるのか?


はてなブログ記事の自動投稿するためにやったこと

f:id:virtual-surfer:20180702170602p:plain


まずは、はてなブログの自動投稿を実現するために何をしたのかについてまとめます。

外部の無料提供されているAPIを叩いてデータ取得してきてテキストファイル作成し、はてなブログAPI経由で記事ファイルをPOSTする

というのがやったことの全てなのですが、自動投稿したことない方にとっては分かりづらいと思うのでやったことの全容を図解したものがこちら。


f:id:virtual-surfer:20180702160139p:plain


上図のように、記事の自動生成までにやっていることはシンプルで

① CoinGecko APIにアクセスして仮想通貨価格のデータを取得
② 仮想通貨価格のデータを元に、仮想通貨角に対してのコメント文章生成
②' 「仮想通貨価格のデータ」と「コメント」をあらかじめ用意しておいたテンプレファイルと結合してブログ記事ファイル生成
③ ブログファイルをはてなブログAPIでPOSTして投稿 → 公開される!

という処理をさせています。これを手元の環境のプログラムもしくはHeroku上にデプロイしたプログラムとして起動すれば、ブログ記事が生成・投稿されます。

「主要仮想通貨の値動き・上昇/下落率の高い通貨の値動き記事」と「自分の仮想通貨資産の変動と仮想通貨ニュースまとめ記事」の2種類を1週間に1回の頻度で自動投稿しています。実装完了するまでに1日半程度かかったのですが、その1日半のプログラミングによって同様の記事をなんども書くことにかかる時間は削減できたので、自分のブロガーとしての仕事の2%くらいは奪えた気がします( ´ v` )ノ


①と③の処理はPythonのライブラリとはてなブログAPIとCoinGecko APIが素晴らしすぎて実装は割と簡単にできました。(興味ある方がもしいれば後日プログラムの解説もします。)

実装(というよりは設計?)に時間がかかったのは、「どのような値動きになったら、どのようなコメントをするか?を定義すること」ですね...。例えば、主要仮想通貨9種類の価格変動を平均して、平均的に上昇してるか下落しているかを算出。上昇している場合は「平均的に上がっていますね!」、下落している場合は「界隈全体的に下落傾向ですね...」などとデータの状況によってコメントを生成するという条件。この「どのような状況になったらどのようなコメント文章を生成するのか」はパターンが無数にあって、そのパターンを自分が手動で記事を書いている時の思考パターンを完全にプログラムに落とし込もうとすると実装時間がとんでもないことになってしまう。とはいえ、パターンを単純化しすぎると、実際の価格の動きと乖離したコメントをしてしまう。極端な例を挙げると、BTCだけが10分の1に値下がりして、その他の通貨は軒並み価格が微増している時に平均値だけを見て、「仮想通貨界隈全体が落ち込んでいますね...。」とコメントをしてしまうと、データとコメントの関連性がなくなってしまうわけです。このように実装時間の制限がある中で、記事として内容を齟齬のないものにするために、パターンの網羅性をどれだけ追求するか設計し、プログラムに落とし込んでいくのが割と難しいところでした。


思えば人間は「1つの情報を得ると、その情報の評価のために必要な情報を無意識かつ一瞬で取り出し、その情報を評価する」ということが経験的にできますが、これをベタ書きのプログラムで実現しようとするのは案外大変なんですね。といっても、ベタ書きではなく機械学習的なアプローチを取ればもっと違った結果になるのかもしれません。(次やるなら、膨大な入力値と記事のアウトプットを学習させて、記事生成を自動化するようなプログラムが実装できるのか挑戦します。)


はてなブログ記事の自動投稿2週間やってみた結果

これまで2週間記事の自動生成と自動投稿をしてみての結果を見てみます。

f:id:virtual-surfer:20180702162702p:plain

ブログの手動投稿を一旦ストップして自動投稿を開始したのが6/24。その時の1日のPVは200程度でした。そこから、6/26に驚異の伸びを見せて徐々に落ち着いていっています。

久しぶりにはてなブログを開いて1日のPVが急に3000超えをしていて「すげえ!自動投稿したらめちゃくちゃ伸びたじゃん!」と超驚きました。


もちろん自動投稿だけでそんなに急激にPVが伸びたわけもなく、PVが伸びたのはツイッターでのつぶやきがプチバズを生んでいて、そこからの記事流入が増えていたからでした。

↓ プチバズしたツイート


...プチバズのせいで検証にならんやないかい!!


まあ、プチバズからのPVの戻りをみると、自動化記事のPVが読まれている頻度はそんなに多くなく、普段の手動で書いている記事と大差ないような気がしますね。(今回自動投稿できるようにした記事のPVは、記事単体で比較すると、普段手動で書いている記事の中の下くらいのPV数となっています。)


まとめ

f:id:virtual-surfer:20180702171055p:plain

記事の自動投稿で、プログラムの力でブロガーの仕事は奪えるのか?!


2週間検証してみましたが結果をまとめると、データをまとめて記事書いてを毎回しなくていいから楽になるけど、PVが劇的に伸びるわけではない。というものですかね。
そんなに簡単にPVは伸びねえぞ!と...。


自動投稿(プログラム)の良さは、ほぼ労力ゼロで大量生産できることなので、今後1年、2年かけてブログ記事が積み上がって行った時に自動投稿した記事がどの程度のPV比率を占めているのか、長期的に検証していきたいと思います。


では〜