坂本から君へ

さかもとのブログ。自分語りとか世間話とか。大阪にいる。

はてブの闇を可視化してみた

三ヶ月ほど前に僕が「作ります!」と宣言していた、はてブホッテントリの感情分析サイトだが、ようやく完成したので公開したいと思う。

  

hotentry-sa.appspot.com

  

このサイトでできること

はてなブックマークのホッテントリ内の各エントリーについた全てのブクマコメントを解析して、感情的なネガティブ度・ポジティブ度を算出して表示している。
次の3種類の分析結果が表示できるようになっている。

  1. 闇ホッテントリ⇒ネガティブなコメントの多いエントリを順に表示する。
  2. きれいなホッテントリ⇒ポジティブなコメントの多いエントリを順に表示する。
  3. 揺れホッテントリ⇒ネガティブとポジティブの間の揺れ幅が大きい、つまり賛否両論の激しいエントリを順に表示する。

 


サイトが出来上がるまでの経緯

今年の始めにネットのどこかのサイトを覗いていたら、グーグルが自然言語処理に関するWebAPIを提供しているということを知った。そして、その中の感情分析機能を利用してホッテントリの派生サイトを作ったら面白いんじゃないかと思いつき、そのことをブログに書いた。それと併せて応援ブクマを募ったところ、結構な数のブクマがその記事についたので、それならばと一念発起して自分で作ってみることにした。


僕はその昔、Webサービスを作ることにハマっていた時期があって、その頃によく利用していたGoogleAppEngineを使って作ることにした。
まずは開発環境を整えるところからスタートし、Pythonの文法やGAEの癖みたいなものも徐々に思い出しながら、毎週末にぼちぼち開発作業するという日曜プログラミング形式でやっていった。
サイトのバックエンド部分(Webからデータを取得して加工する部分)については、そんなにつまる箇所もなく、すんなり作ることができたように思う。この部分については、昔自分で作ったWebサービスソースコードを引っ張り出してきて、そこにはてなブックマークエントリー情報取得APIGoogle Cloud Natural Language APIを組み込んだだけで、わりかし素直に動いてくれた。ここまでで、だいたい一ヶ月くらいかかったかな。
次に、バックエンドで取得したデータをどうユーザーに見せるかというフロントエンド部分を作り始めたのだが、HTMLやCSSのお作法について思い出したり、表示に使えそうなテンプレートを配布サイトから探してきたり、あちらこちら見栄えを調整したりしていたので、ここに思いのほか時間がかかってしまった。だいたい二ヶ月くらいやっていたように思う。


作り始めた当初は、本当に最後まで完成させることができるのかどうか正直不安だったのだが、無事にリリースできてホッとしている。これも皆様からの応援ブクマがあったからこそできたのだ。あれがなかったら、最初の開発環境構築のところでもう嫌になって投げ出していたと思う。

 

 

出来上がったサイトを使ってみて

一週間ほどこのサイトを自分で使ってみたのだが、闇ホッテントリ(ネガティブ順)については、ネガコメの多いエントリがちゃんと上位に上がってくるようになっていて、うまく動いてくれているように思う。ただ、たまになんでこんなエントリが上位にあがってくるのか謎な時があったりもするが、そういうのは無言ブクマが多い状態で、そこにネガコメが2〜3件ついていて、その少数のネガコメに引っ張られるような形でネガティブ方向にスコアが上昇してしまっているのだと考えられる。これについては何かサイト側で対策をとってもよいような気がするのだが、とりあえずはしばらくこのままにしておこうと思う。
きれいなホッテントリ(ポジティブ順)については、技術系のエントリが上がってくることが多いような印象を受ける。これは、技術系エントリについては、ディスるようなコメントがほとんどつきにくいという特徴があるので、これはこれで正しく機能しているのかなという気はしている。
揺れホッテントリ(ネガポジの幅が大きい順)については、正直よくわからない。コメントが賛否両論に割れているような…いやそうはなってはいないような…といった感じで、まぁこれはおまけで出力しているだけだと考えていただければよいと思う。


全体を通してみてみると、「闇ホッテントリ」入りするエントリはそんなに数が多くないような印象で、これについては完全に予想外だった。ぼくにとってのはてブとは、もっと憎悪と罵詈雑言の渦巻いたろくでもない世界のような気がしていたのだが、いたってキレイで健全な世界が広がっていたのだということがわかる。
というわけで、まぁともかく少々難はあるものの、当初の目的であった「はてブの闇(と光)を可視化する」という点については、ほぼほぼクリアできたのではないかと思っている。 

f:id:sakamoto2:20180412223315p:plain

 

 

これからのこと

ソースコードを公開して欲しいという声があったので、こちらで公開している
あとで、このソースコードについての解説記事を書こうと思っている。
対象とする読者としては、ひととおりプログラミング言語について学び終えて、これから自力で何かを作ってみたいと考えているような初級〜中級者くらいの方を想定していて、そういう方達に向けた実践的な記事にしたい。
いくつかWebサービスを作り続けていると、自分なりの「型」みたいなものができあがってくるので、僕なりにこれまで身につけてきた「型」について、うまく読者に伝えることができたらいいなと考えている。


また、今回の開発作業を通じて、GAEやPythonの使い方についてだいぶ思い出してきたので、この勢いにのって新たに次のWebサービスを作っていこうと思っている。とりあえずはYouTubeの懐メロ動画検索サイトを作ろうかなと。(昔々にそういうサイトを作って公開していたのだが、それの焼き直しになる予定。)

 

 

というわけで長々と書いてきてしまったが、最後に、この「ホッテントリ感情分析」を使ってくださった方は、ぜひこのサイトのトップページに対して、あなたの素直な感想コメントと共にブクマをつけていただくことをお願いしておきたい。
このサイトに対して一体どんなブクマコメントがついて、それによってこのサイトが「闇ホッテントリ」か、はたまた「きれいなホッテントリ」か、いずれのランキングに入ることになるのか、気になるところだ。