特集 2020年2月11日

ツイートを分析して街の感情を色で表す

特定の地域のツイートを集めて、その内容をポジティブかネガティブか感情分析するプログラムを書いた。

これをつかって街の感情を可視化していきたいと思う。

大学中退→ニート→ママチャリ日本一周→webプログラマという経歴で、趣味でブログをやっていたら「おもしろ記事大賞」で賞をいただき、デイリーポータルZで記事を書かせてもらえるようになりました。嫌いな食べ物はプラスチック。(動画インタビュー

前の記事:仕事25分ごとにドラクエを5分挟むとはかどる

> 個人サイト ジャーニーとモアイとめがね

知らない駅を1人で歩いているときに、

「この街ってゆるい空気がするな〜」
「なんか全体的に暗いな……」

と、感じることがある。言葉では説明できない曖昧なものだが、誰しもが街の雰囲気のようなものを感覚で捉えたことがあると思う。

この街の雰囲気というのはそこにいる人たちが形成しているものだ。ということは『その街にいる人たちの感情を可視化』できれば、街の雰囲気という曖昧なものの輪郭が少しは見えてくるんじゃないかと思った。

思いついたらやってみるのがエンジニアの性なので、さっそく『街の感情を可視化するプログラム』を書いてみた。いやープログラムって便利だな〜

36233 copy.jpg
中野駅周辺

まずは例として中野駅周辺にいる人達の感情を可視化してみた。ポジティブなほど赤くて、ネガティブなほど青くしてある。温度を色で表すサーモグラフィーと同じ方式だ。

名称未設定 1.jpg
マップの色分けは6段階の感情で分類している

可視化する仕組みは以下のように実装した。

中野駅周辺のツイートを集める

ツイートの内容を解析してポジティブかネガティブかを6段階で分類する

Googleマップに色分けして表示する

 

名称未設定 1_1.jpg
こういうプログラムを書いている。ちなみにGolangで書いた。理由はカッコいいから。

プログラムをあまり知らない人からすると僕のことを天才ハッカーのように思うかもしれないが、僕が書いたプログラムはごく僅かだ。

Twitterのツイートを集めるAPIと、文章を感情分析できるGoogleのAPIをつなぎ合わせてるだけだ。つまり天才ハッカーなんかではなく偉大なる力を借りパクしているだけなのである。巨大な会社の足をなめて生きているのだ。

名称未設定 1.jpg
GoogleのCloud Natural Language APIを使うと文章の感情を分析してくれる。1.0が最高にポジティブで、-1.0が最低にネガティブとなる。

これらを使って街の感情を可視化していこうと思うのだが、始める前に注意してもらいたいことがある。

これらはあくまで正確なデータではなく、なんとなく可視化しているということを理解してもらいたい。

【注意点】
・日本語は複雑なのでGoogleの感情分析はまだ完璧じゃない。たとえば「アホだwwww」というのはどんな文脈でもネガティブ判定されてしまう

・マップにあるツイートの位置は重なって色が見にくくなってしまうため少しずらしている

・プライバシーがあるのでツイート内容は変更して記載している

・ツイート数は一つの地域でだいたい200〜400くらい取得している。このあたりけっこう適当。


あくまで遊びのプログラムの範疇なのでこのあたりは許してほしい。だから手元にもったそのマサカリをお納めください……

ということで仕組みがわかったところでさっそくいろんな街の感情を見にいってみよう!!

昼の渋谷は観光客が多いからポジティブな人が多い

昼の渋谷は「渋谷テンションあがるー!!!!」的な観光に来た人のツイートもあり、ポジティブな意見の割合が多かった。 

【主なツイート】
・渋谷初めて来た!めっちゃテンションあがる!!!
・今日〇〇行くのめっちゃ楽しみ
・クッソ並ぶな、このお店……
・待ち合わせ時間に遅れてきてマジ萎える

あと外国人がスクランブル交差点の写真とともに「wow!!!!」みたいに興奮しているツイートしているのもあった。スクランブル交差点を早足で歩いているのに誰ともぶつからない日本人を見ると感動するらしい。

ネガティブな意見の方では「人が多い」という都会ならではの意見が多かった。渋谷行くと本当に人が多くて疲弊するよね……

夜の渋谷はライブ終わりでテンションが高い

夜の渋谷は昼よりもネガティブなツイートが若干増えているように思ったのだが、逆に一番点数が高い超ポジティブなツイートも増えていた。昼よりも両極端になっていた。

【主なツイート】
・〇〇たちと久しぶりに飲んだけどやっぱり最高のメンツだわ!
・ライブ最高だったー!〇〇ちゃんの笑顔にやられて推し変するかもしれない…!
・今日も〇〇のギターがかっこよかった!充電できたから明日からまた仕事がんばろう!!
・今日は楽しかったけど明日から仕事だと考えるとテンション下がるわ
・帰りの電車混んでてまじムカつく

夜の渋谷はお酒を飲んでる人のツイートも目に入ってくるが、とにかくライブを見た感想のツイートが多い。

アイドルファンやバンドのおっかけの人たちの熱量が高いのだ。

いや〜気持ちわかるな…!好きなバンドのライブ見たあとって自分も熱くなっちゃってツイートしたくなるよね。そんで次の日恥ずかしくなってそのツイート消すまでがライブの醍醐味だよね。

36234 copy.jpg
渋谷に出社していたことがあったけどあの人の多さには最後まで慣れなかったな……

 

いったん広告です

観光地ではない八王子はどうなのか

渋谷は観光客が多いため『その街に住んでる人』のツイートはかなり少ない。もっと街に密着した意見も見てみたい。

ということで、今度はファミリー層や一人暮らしが多い場所でやってみることにした。ということでまずは『なにもないって聞いてたけど実際に住んでみたら本当になにもなかった』でおなじみの八王子を調べてみることに。

【主なツイート】
・うちの子供が本当に可愛いから早く帰ってギューってしたい
・はなまるうどんうまかった
・遊ぶところないから早く引っ越したいなー!

観光地の渋谷と違って家族の意見や日常のなんでもない感想のツイートが多く見られた。子供を愛でるツイートは見ているだけで癒やされる。平和。あとはなまるうどんは美味いよね。

光が丘駅周辺はファミリー層の落差が激しい

次は住宅地+日曜の夜で調べてみることに。場所は光が丘駅周辺だ。このあたりはマンションとかも多いし、光が丘公園があってファミリー層が多く住んでいる。

【主なツイート】
・〇〇ちゃん、かわいい!「ママ」って言いながら大好きないちごをくれた!嬉しい!
・家族での初ディズニーランド楽しかったけど疲れたー!もう少し大きくなってみんな乗り物乗れるようになったらまた行きたいな
・サザエさん症候群が俺の中で完全に発動している。明日の仕事行きたくない
・まじでムカつくわ。なんで自分の家事くらいできないの?

家族愛あふれるツイートが多くて見ているこっちがニヤニヤしてしまう。しかし、その裏でネガティブなものは家族への憎悪をストレートにぶつけているものがありゾッとした。豪腕。

これ鍵アカウントのツイートは当然取得できないんだけど、もしファミリー層が住んでる地域の鍵アカツイートが全部見れたら……と考えるだけで背筋が凍る。どんなホラーよりも怖い。

IMG_2903 copy.jpg
板橋に住んでいた頃に「子供がでいたら光が丘駅周辺に住むのは良いよな……」と歩いたときに思った

福岡は東京よりもポジティブ

ここまでは東京ばかりを調べて来たので、今度は他の都市を調べてみることにした。まずは福岡から。

【主なツイート】
・ぽていとおいしい
・ちょっと最近疲れてるな〜こんなんで一人暮らしはじめられるのかな〜〜でも楽しい〜〜〜
・天神いつぶりだろうか?友達に会うの楽しみ!!

福岡は東京に比べてポジティブな割合が多い。マップが全体的に黄色い。「気候は性格に影響する」という説を聞いたことがあるのだけれど、暖かい地域のほうがポジティブになるのだろうか?

寒いけれど明るい札幌

【主なツイート】
札幌雪まつりが始まりました!本当に寒いのでホッカイロは必須!ポーランド広場のホットミルクが安いしあったまるのでおすすめ!!
雲ひとつない快晴だけど気温は氷点下10.8…寒い((´д`))
・今日は楽しく終われてよかった!帰ったら除雪しないと

寒い地域の冬だとネガティブなツイートが多いのかな…と勝手に思っていたのだけれど、まったくそんなことはなかった。

北海道じゃ雪なんて当たり前だからいちいちイライラしていたらやっていけないのかもな。「気候は性格に影響する」という説が20秒で崩壊した。

いったん広告です

名古屋、秋田、そしてニューヨーク…… 

さてさて。ここまで見てもらって気づいた人も多くいるかもしれないのでハッキリと言っておこう。

今回の検証だと地域によってそれほど色に違いがでない!!

多少の違いはあるものの「北海道はめちゃくちゃポジティブで赤い!!」とか「東京はネガティブな発言が多いから青いな……」とかはそこまでハッキリでなかった。

グラフ.jpg
感情を数値にしたものを平均化するとだいたい0に近くなる。最高でも0.01くらい。ポジティブとネガティブの割合がだいたい半々くらいというのがわかる。
名称未設定 1.jpg
基本的にポジティブとネガティブのどちらかが多くても、だいたい6:4を保っている。世界の感情の黄金比なのかもしれない。

もっとポジティブとネガティブに差が地域によって色分けが出てハッキリしてくれればおもしろいかったのに……と思ったもののどっこいこれが現実なのである。やってみればこんなものなのだ。

あーあ、どこかに誰もが幸せな場所ってないのかな……

……

あった!!!!!

やっぱり強いぜ夢の国

さすが夢の国!!!

他の地域と比べたらネガティブな意見がかなり少ない。記事として差がでてくる場所が見つかってよかった…!

もちろんネガティブな意見もあって「並び疲れた…」「帰りたい」というのもあったが、全体的には圧倒的にポジティブだ。

ああ、よかった。夢の国を調べて差がでなかったら記事として一辺倒で終わりだから助かった……

ということで今回の記事はTwitterとGoogleと夢の国の偉大な力を借りてオチまで書ききることができた。やはり巨大な会社の足をなめてでもこれからも生きていこう。


地域の知らない人のツイートを見るのがおもしろかった

超ポジティブ〜超ネガティブに分類して色分けするのもおもしろかったけれど、どっかの地域の誰かもわからない人のなんでもないツイートを見るのにハマっていた。

「この人今ちょうど同じテレビ見てる!!」
「ああ〜、ガストのハンバーグって美味いよね」
「子供を褒めてるツイートは癒やされるな…」

とか1人で勝手に楽しんでいた。APIで取得するとツイートの文面しかわからないから、どんな人がツイートしているのか想像するのもおもしろかった。

しかし、それと同時に知らない人のツイートを楽しむという行為が、ストーカーの始まりなのかもしれないと自分に恐怖も抱いた。超ネガティブ。

 

▽デイリーポータルZトップへ
20240626banner.jpg
傑作選!シャツ!袋状の便利な布(取っ手付き)買って応援してよう

 

デイリーポータルZのTwitterをフォローすると、あなたのタイムラインに「役には立たないけどなんかいい情報」がとどきます!

→→→  ←←←

 

デイリーポータルZは、Amazonアソシエイト・プログラムに参加しています。

デイリーポータルZを

 

バックナンバー

バックナンバー

▲デイリーポータルZトップへ バックナンバーいちらんへ