つぶやきとプログラミング

アメトーーク好きなWebエンジニア芸人

Twitterからハニホーの性格診断の結果を抜き出して、Jaccard係数を用いて性格をクラスタリングして分類してみる

  1. ハニホーの性格診断について
  2. 集計方法
  3. 結果
  4. 考察
  5. まとめ
  6. ソースコード

1.ハニホーの性格診断について

性格診断免許証というものがあって、順を追って何項目か入力していき、自分の性格を免許証という形で出してくれるやつです。免許証といえば、「なめ猫カード ~なめられたら無効~」を思い出しますね、小学生の時にお小遣いを費やしていました。
seikaku.hanihoh.com


性格診断系のウェブサイトは掃いて捨てるほどありますが、その中でも評判がいいものらしく、twitterの投稿でもちょいちょい見受けられます。やってみたところ、僕の特徴をおさえた免許証が発行されました。

ひたすら明るくぶっ飛んだ脳内
ひたすら明るくぶっ飛んだ脳内

ひたすら明るくぶっ飛んだ脳内、つまりはハッピー野郎ってことですね。
確かに映画作品でもJACKASSが大好きで中でもスティーヴォーが一番好きです。彼らは全員、真の意味でぶっ飛んでいて最高のいかれた野郎達です。男の子は誰しも憧れたことがあるはずです。
本筋に戻ると、「さて、こいつは面白い。そういやtwitterに転がってんな、集計してみっか」の発想から性格分類を作ってみようと至りました。

2.集計方法

  • 手法: TwitterからpythonのTwitterAPIを用いて集計します。
  • 取得の対象: ハニホーのウェブサイトから直接Twitterにシェアされた形式のものに限る
  • 期間: 2019/08/13 - 2019/10/07

ハニホーのウェブサイトから直接Twitterにシェアされたツイートが以下です。


【性格免許証】
ほっぴーyさんの性格を端的に表すと「xxx」です。yyyで例えると「zzz」。

特性:あああ,いいい,ううう,えええ…

ツイートの形式が上記のようになっていますので、取得する変数は、端的に表している部分と特性の項目です。すなわち、{xxx, yyy, zzz, あああ, いいい, ううう, えええ}が正規表現による抜き出し対象になります。

抜き出されたものをDBにぶち込んでいって、あとはクエリで煮るなり焼くなり、なんとでも可能です。
ぶち込まれた結果からSQLクエリを打って、性格の多い順とその属性を出します。その結果より、集合同士の類似度ということでJaccard係数を用いて性格同士の属性を比較して類似度を出します。
Jaccard係数が0.25以上の性格同士を抜き出し、重み付きグラフにしてから、クラスタ化、どの性格層がもっともホットなのかを算出します。

算出したJaccard係数より、クラスタリングを行います。クラスタリングに関しては、MathematicaのWeightedAdjacencyGraphからCommunityGraphPlotで行います。
Jaccard係数についてのわかりやすい解説は以下のウェブサイトをご覧ください。

mieruca-ai.com


3.結果

3.1 取得データ

  • サンプル数:1862
性格 該当する人数 性格が持つ属性(多い順に4個抜粋)
世知辛い社会に合わない優しい人 167 プライド無,悲観的,お人好し,飽きっぽい
社会や人の波に呑まれ苦悩の日々 152 悲観的,飽きっぽい,プライド無,手際が悪い
愛想笑いで損ばかりの悩める人 112 お人好し,柔軟な考え,無害,迫力不足
ひたすら明るくぶっ飛んだ脳内 96 楽観的,自然体,良い人,何かに没頭
人柄が良すぎて我慢の連続 87 委縮,悲観的,プライド無,気遣い疲れ
万能でカリスマを帯びた天才 71 高い企画力,ギラつき,自然体,良い人
人に優しいが自分はギリギリ 61 悲観的,飽きっぽい,コミュ力,柔軟な考え
自分の世界で暴走する変態的天才 55 奇抜な脳内,こだわり強,非論理的,柔軟な考え
芸術的で魅力的な個性のカタマリ 53 自然体,芸術脳,華がある,幸せな脳内
穏やかさの中に芯がある隠れ頑固者 53 良い人,無責任,ブレない,三日坊主
芯がなく周りに振り回される性格 50 迫力不足,プライド無,無責任,社会が苦手
優れたセンスと弱々しい生き様 48 悲観的,貧弱,飽きっぽい,寝つき悪い
幅広く愛される人気者 48 楽観的,自然体,柔軟な考え,良い人
穏やかで朗らかな田舎の爺さん 48 自然体,柔軟な考え,高い好感度,無害
なかなか報われない真面目さ 40 悲観的,社会が苦手,飽きっぽい,手際が悪い
分かりやすく不器用で善良な市民 40 悲観的,迫力不足,飽きっぽい,よく愚痴る
不遇と不器用さのダブルパンチ 39 悲観的,飽きっぽい,よく愚痴る,プライド無
人間愛と強い信念を備えた人 35 自然体,良い人,無害,何かに没頭
誰も傷つけない朗らかな善人 34 幸せな脳内,人間愛,楽観的,無害
成熟した人柄と切れ味のない言動 33 良い人,よく愚痴る,自然体,悲観的
気を張って生きるも晴れない心 32 悲観的,よく愚痴る,社会が苦手,狭量
ニコニコした若年おばあちゃん 29 お人好し,高い好感度,徹夜は不可,柔軟な考え
美しくこだわりを持って生きる人 29 こだわり強,柔軟な考え,幸せな脳内,楽観的
頑固で不器用ゆえに悪戦苦闘 28 悲観的,飽きっぽい,手際が悪い,ブレない
風潮に流されない漬物石 27 ブレない,無責任,三日坊主,徹夜は不可
穏やかさにつけこまれる損な性格 26 お人好し,こだわり強,社会が苦手,手際が悪い
芸術的に光り輝く変態 24 芸術脳,幹事向き,高い企画力,奇才
報われない人柄と堅実さ 23 悲観的,飽きっぽい,柔軟な考え,よく愚痴る
ただ淡々と安定して生きる人 23 楽観的,無責任,無害,迫力不足
誰にも見出されない変態的個性 22 芸術脳,お人好し,高い企画力,柔軟な考え
芸術的な変人かつ鬼才 20 柔軟な考え,高い企画力,根性なし,悲観的
パワーと個性がほとばしる変人 19 奇抜な脳内,非論理的,柔軟な考え,迫力不足
人に影響されない頑強な性格 19 社会が苦手,言葉にトゲ,かわいげ無,飽きっぽい
要領の良さとセンスの持ち腐れ 18 高い企画力,三日坊主,強い存在感,よく愚痴る
人を惹きつける魅力のお化け 16 高い企画力,ギラつき,ブレない,変態
真っ当で良識が備わった賢人 16 何かに没頭,楽観的,疲れ知らず,ブレない
実直で確かな力量も苦悩の日々 14 悲観的,狭量,飽きっぽい,かわいげ無
上手に美しくまとめる小綺麗な人 14 お人好し,高い企画力,迫力不足,三日坊主
太陽のような光線を放つ人 13 コミュ力,自然体,ギラつき,良い人
尊敬されないが強烈な存在感 10 攻撃性あり,楽観的,危険人物,三日坊主
人脈づくり以外はほぼ万能 10 幹事向き,ブレない,流されない,言葉にトゲ
優しくないが賢くて目立つ人 9 楽観的,要注意人物,何かに没頭,無責任
真面目さと迫力のなさに疲弊 8 プライド無,委縮,こだわり強,迫力不足
不器用さと主張の弱さで損する人 8 迫力不足,社会が苦手,プライド無,三日坊主
真っ当で間違いのない性格と賢さ 7 良い人,自然体,こだわり強,強い責任感
説得力と存在感がピカイチ 7 ブレない,高い好感度,強い存在感,強い自尊心
確かなセンスと強力な発信力 7 根性なし,芸術脳,悲観的,よく愚痴る
才気は感じさせないが良識ある善人 6 無害,非論理的,奇抜な脳内,手際が悪い
負けず嫌いと確かな能力 6 排他的,ブレない,要注意人物,よく愚痴る
堅実で真面目な役人気質 6 楽観的,無害,こだわり強,疲れ知らず
淡々と我が道をゆく哲学者 6 ブレない,楽観的,幸せな脳内,かわいげ無
完全なる生徒会長タイプ 4 幹事向き,怠惰,寝つき悪い,高い企画力
華やかでセンス溢れるカリスマ 4 柔軟な考え,変態,華がある,超危険人物
強力な影響力を有する電波塔 4 ブレない,強い存在感,カリスマ,高飛車
安定して賢く面白い深みある人 3 かわいげ無,孤高の人,高い企画力,カリスマ
手段を選ばず結果を出す怖い人 3 根性なし,強い存在感,自然体,こだわり強
顔が広い朗らかなおばちゃん 3 広い人脈,奇才,カ,博愛主義
シャープで回転の速い論理脳 3 こだわり強,騙されない,自然体,ブレな
淡々と我が道をゆく普通の人 3 高飛車,流されない,楽観的,コミュ力
安心感とカリスマと素質の融合 2 疲れ知らず,騙されない,コミュ,良い人
堅実で有能な善人 2 こだわり強,無害,幸せな脳内,人間愛
華やかな舞台が似合うスター 2 デザイナー,楽観的,広い人脈,ブレない
黙々と根性と信念で生き抜く鉄人 2 ノリ良し,幸せな脳内,委縮,疲れ知らず
優れたセンスと自分を疑う弱い心 1 狭量,気遣い疲れ,飽きっぽい,委縮
才能も人脈もフル活用する才人 1 背負い過ぎ,ギラつき,悲観的,コミュ力
個性と良識を兼ね備えた稀有な人 1 ブレない,良い人,何かに没頭

表1.性格とその属性

性格に該当する人数が多い順に並べました。表彰台に上ったのは「世知辛い社会に合わない優しい人:167」「社会や人の波に呑まれ苦悩の日々:152」「愛想笑いで損ばかりの悩める人:112」の3性格でなんだか字面を見た感じ同類気味な性格ですね。次いで4位が「ひたすら明るくぶっ飛んだ脳内」、僕の性格が見事ランクインしています。全体の5.16%を占める性格で、これはクラスに2人くらいぶっ飛んだ脳内君が平均的に存在することを示す結果になりました。
下位(珍しい性格)を見ていくと、「ブレない」「流されない」「コミュ力」といった属性がピックアップされています。自分の芯をしっかり持っていながら、かつ高いコミュ力を備えている人物は極めて希少だということがわかります。

3.2 Jaccard係数

続けて、性格の属性同士を比較してJaccard係数を算出します。
すべての結果を載せるとえらく長ったらしいので、例として1位の「世知辛い社会に合わない優しい人」と「それ以外のすべての性格」同士の結果を載せます。

世知辛い社会に合わない優しい人とのJaccard係数
社会や人の波に呑まれ苦悩の日々 0.452991452991453
愛想笑いで損ばかりの悩める人 0.3739130434782609
ひたすら明るくぶっ飛んだ脳内 0.16666666666666666
人柄が良すぎて我慢の連続 0.41284403669724773
万能でカリスマを帯びた天才 0.07857142857142857
人に優しいが自分はギリギリ 0.3474576271186441
自分の世界で暴走する変態的天才 0.2396694214876033
穏やかさの中に芯がある隠れ頑固者 0.19658119658119658
芸術的で魅力的な個性のカタマリ 0.13286713286713286
芯がなく周りに振り回される性格 0.3142857142857143
幅広く愛される人気者 0.19548872180451127
穏やかで朗らかな田舎の爺さん 0.20833333333333334
優れたセンスと弱々しい生き様 0.3181818181818182
分かりやすく不器用で善良な市民 0.34831460674157305
なかなか報われない真面目さ 0.2803738317757009
不遇と不器用さのダブルパンチ 0.297029702970297
人間愛と強い信念を備えた人 0.1592920353982301
誰も傷つけない朗らかな善人 0.1885245901639344
成熟した人柄と切れ味のない言動 0.2692307692307692
気を張って生きるも晴れない心 0.22429906542056074
美しくこだわりを持って生きる人 0.16379310344827586
ニコニコした若年おばあちゃん 0.24107142857142858
頑固で不器用ゆえに悪戦苦闘 0.2755102040816326
風潮に流されない漬物石 0.15178571428571427
穏やかさにつけこまれる損な性格 0.24489795918367346
芸術的に光り輝く変態 0.10743801652892562
報われない人柄と堅実さ 0.21359223300970873
ただ淡々と安定して生きる人 0.1941747572815534
誰にも見出されない変態的個性 0.16216216216216217
芸術的な変人かつ鬼才 0.24324324324324326
パワーと個性がほとばしる変人 0.21782178217821782
人に影響されない頑強な性格 0.1485148514851485
要領の良さとセンスの持ち腐れ 0.20909090909090908
人を惹きつける魅力のお化け 0.061946902654867256
真っ当で良識が備わった賢人 0.08108108108108109
実直で確かな力量も苦悩の日々 0.1717171717171717
上手に美しくまとめる小綺麗な人 0.11214953271028037
太陽のような光線を放つ人 0.0625
尊敬されないが強烈な存在感 0.0784313725490196
人脈づくり以外はほぼ万能 0.08333333333333333
優しくないが賢くて目立つ人 0.049019607843137254
不器用さと主張の弱さで損する人 0.15384615384615385
真面目さと迫力のなさに疲弊 0.14285714285714285
真っ当で間違いのない性格と賢さ 0.061224489795918366
説得力と存在感がピカイチ 0.04854368932038835
確かなセンスと強力な発信力 0.08247422680412371
負けず嫌いと確かな能力 0.1
堅実で真面目な役人気質 0.041237113402061855
淡々と我が道をゆく哲学者 0.09090909090909091
才気は感じさせないが良識ある善人 0.07291666666666667
華やかでセンス溢れるカリスマ 0.061224489795918366
強力な影響力を有する電波塔 0.061224489795918366
完全なる生徒会長タイプ 0.0625
顔が広い朗らかなおばちゃん 0.030927835051546393
シャープで回転の速い論理脳 0.043010752688172046
淡々と我が道をゆく普通の人 0.0
安定して賢く面白い深みある人 0.020618556701030927
手段を選ばず結果を出す怖い人 0.10112359550561797
堅実で有能な善人 0.045454545454545456
華やかな舞台が似合うスター 0.021052631578947368
黙々と根性と信念で生き抜く鉄人 0.011363636363636364
安心感とカリスマと素質の融合 0.010869565217391304
才能も人脈もフル活用する才人 0.022988505747126436
個性と良識を兼ね備えた稀有な人 0.0

表2.世知辛い社会に合わない優しい人とそれ以外の性格のJaccard係数

この結果から、「世知辛い社会に合わない優しい人」と類似する性格は「社会や人の波に呑まれ苦悩の日々:0.453」「人柄が良すぎて我慢の連続:0.413」「愛想笑いで損ばかりの悩める人:0.374」の順だということが明らかになりました。字面の雰囲気だけでなく、データからも類似している関係性がいえます。

3.3 クラスタリング

クラスタリング結果が以下です。
クラスタの近くにクラスタの内の性格の人数を総計したものを載せています。

性格クラスタ
性格クラスタ
クラスタの割合
クラスタの割合

Aクラスタ Bクラスタ Cクラスタ
安定して賢く面白い深みある人 穏やかさにつけこまれる損な性格 顔が広い朗らかなおばちゃん
才気は感じさせないが良識ある善人 愛想笑いで損ばかりの悩める人 真っ当で良識で備わった賢人
説得力と存在感がピカイチ 真面目さと迫力のなさに疲弊 万能でカリスマを帯びた天才
真っ当で間違いのない性格と賢さ 人間愛と強い信念を備えた人 太陽のような光線を放つ人
優しくないが賢くて目立つ人 人にやさしいが自分はギリギリ 人を引き付ける魅力のお化け
手段を選ばず結果を出す怖い人 芯がなく周りに振り回される性格 芸術的で魅力的な個性のカタマリ
強力な影響力を有する電波塔 人に影響されない頑強な性格 幅広く愛される人気者
華やかでセンス溢れるカリスマ 報われない人柄と堅実さ 穏やかで朗らかな田舎のじいさん
尊敬されないが強烈な存在感 成熟した人柄と切れ味のない言動 ひたすら明るくぶっ飛んだ脳内
人脈づくり以外はほぼ万能 優れたセンスと弱々しい生き様 美しくこだわりを持って生きる人
風潮に流されない漬物石 人柄が良すぎて我慢の連続 誰にも見出されない変態的個性
要領の良さとセンスの持ち腐れ なかなか報われない真面目さ 芸術的に光り輝く変態
淡々と我が道をゆく哲学者 社会や人の波に呑まれ苦悩の日々 ニコニコした若年おばあちゃん
負けず嫌いと確かな能力 世知辛い社会に合わない優しい人 自分の世界で暴走する変態的天才
淡々と我が道をゆく普通の人 分かりやすく不器用で善良な市民 パワーと個性がほとばしる変人
堅実で真面目な役人気質 頑固で不器用ゆえに悪戦苦闘 穏やかさの中に芯がある隠れ頑固者
華やかな舞台が似合うスター 気を張って生きるも晴れない心 誰も気つけない朗らかな善人
堅実で有能な善人 不器用さと主張の弱さで損する人 上手に美しくまとめる小綺麗な人
実直で確かな力量も苦悩の日々 芸術的な変人かつ鬼才
不遇と不器用さのダブルパンチ ただ淡々と安定して生きる人

表3.クラスタによる性格分類

3.4 各クラスタの特徴

クラスタが含むすべての属性を載せると長くなってしまうので多い順に8つ抜粋します。

3.4.1 Aクラスタの性格群と属性

Aクラスタには133人が該当します。

Aクラスタ
Aクラスタ

属性 該当数
ブレない 38
高い企画力 24
無責任 24
三日坊主 22
楽観的 20
幹事向き 17
強い存在感 17
流されない 17


表4.Aクラスタの属性と該当数

3.4.2 Bクラスタの性格群と属性

Bクラスタの性格群には961人が該当します。これは全体の51.6%を占める割合で、最も多い性格群です。

Bクラスタ
Bクラスタ

属性 該当数
悲観的 283
飽きっぽい 246
プライド無 218
社会が苦手 210
手際が悪い 209
柔軟な考え 199
迫力不足 191
貧弱 142


表5.Bクラスタの属性と該当数

3.4.3 Cクラスタの性格群と属性

Cクラスタの性格群には572人が該当します。

Cクラスタ
Cクラスタ

属性 該当数
自然体 138
柔軟な考え 128
良い人 126
楽観的 104
何かに没頭 90
高い企画力 89
無責任 85
こだわり強 80


表6.Cクラスタの属性と該当数

4.考察

ハニホーの診断結果から性格分類を行うと性格は大きく3つに分類されることがわかりました。それぞれの属性からざっとどういう人なのか表すとAタイプの人は、地に足のついた人。Bタイプの人は、悲観的な人。Cタイプの人は、楽観的な人と表せます。

4.1 Bタイプが多いのは悲観的な人が多いということなのか

結果からいえば、半数以上の人がBタイプの「悲観的な性格」に属しているという驚きの結果になりました。
ただ、依然サンプル数が少ないために、単に悲観的なタイプの人が他タイプの人よりも頻繁に性格診断を行うゆえの結果の可能性を残しています。つまり、本当に半数以上の人が悲観的なのか、それとも悲観的な人が診断大好きなのか、はたまた自信たっぷりの人が診断をやらないだけなのかをはっきり言うことができません。
ざっと5:3:1の人数比にはなっていますが、悲観的な人は手相占いだったり星座占いだったりの不明確なものによる断定的な判断が好きなイメージがあり、反対に自信満々な人は、「診断?やらんよ」みたいなタイプが多いと思うので、そういった影響を測る必要があり人数比を明確に示すことは難しいでしょう。

4.2 分類数について

今回の性格分類によると大きく3タイプでした。ディズニー映画の『インサイド・ヘッド』のようにもっと「怒りっぽい」や「ビビり」といった性格分類がでるのかと思いきや、案外想定よりも少ない分類数となりました。これには関してはクラスタリングの際にクラスタの粒度を適宜調整して検証していけば、もっとわかりやすいクラスタに分類することができると思います。自分にはその技術がないので、これまでで打ち止めとしました。

4.3 クラスタに漏れた性格について

クラスタ外に出た性格はレアケースなものです。「個性と良識を兼ね備えた稀有な人」の割合は1/1862ですから、0.054%でAB型のRHマイナスの割合とほぼ一緒です。本当に稀有な人ですね。クラスタ外にあるのは、ヒットしたサンプルの少なさから属性が少ないためにJaccard係数の閾値の0.25を下回っているからです。

4.4 クラスタの密度

Aクラスタに比べて、Bクラスタ・Cクラスタは、内部の結合がより密です。これは、BとCクラスタは性格の傾向がAクラスタよりも強く出ていると考えられます。つまり、Aクラスタの人はAクラスタの内部同士であってもバリエーションに富むのに対して、BクラスタとCクラスタの人同士だと直感的に似たもの同士だと感じるということになります。また、クラスタ内の中心の方の性格ほど、よりそのクラスタの象徴的な性格であるといえます。つまり、クラスタ内の中心的性格はそのクラスタ内の性格に対してはシンパシーが高くなり、異なるクラスタの性格とははっきりとした違いを感じることになります。例えば、Cクラスタの中心の「ひたすら明るくぶっ飛んだ脳内」とBクラスタの中心の「なかなか報われない真面目さ」の人同士は根本的に正反対の性格と考え方を持っている可能性が高いです。

5. まとめ

性格分類は大きく3つに分かれる。なかでも悲観的な人と楽観的な人ははっきり区別され、その指向性が強い。